PLC编程C语言

华中数控培训讲义 · PLC编程 C语言编程 PLC控制的范围 数控机床所受到的控制可分为两类:数字控制和顺序控制。 数字控制主要指对各进给轴进行精确的位置控制,包括:轴移 动距离、插补、补偿等。 顺序控制主要指以CNC内部和机床各行程开关,传感器,按 钮,继电器等的开关量信号状态为条件,并按照预先规定的逻辑顺 序对诸如主轴的起停,刀具的转换,工件的夹紧松开,液压,冷 却,润滑系统的运行等进行的控制。 与“数字控制”比较,“顺序控制”的信息主要是开关量信号。 PLC控制的范围包括全部顺序控制和简单的数字控制(如:轴 点动) 寄存器是数控系统、PLC、机床三者之间交流的载体,是PLC控制的主要对象,也是PLC程序的最小单元。 寄存器的分类 寄存器的个数 PLC源代码的基本构成 初始化函数void init(); 仅上电时调用一次 高速扫描函数void plc1(); 每隔8ms被调用一次 低速扫描函数void plc2(); 每隔128ms被调用一次 PLC执行程序的生成 运行环境---MSDOS6.22 编译器---Borland C++ 3.1 BC31的路径需要加入OS的环境变量 编译环境---各种信息定义文件(*.inc) PLC源文件 铣---plc_21mu.cld 车---plc-21.cpp PLC头文件 车---plc_map.h (主要包含IO点的定义) PLC头文件的生成 plctab_t.dat (IO点信息文件) standplc.exe(标准PLC配置软件) plc_map.h 寄存器的数值说明 以R寄存器为例,不同的类型有着不同的取值范围。(注:PLC不支持浮点运算) 定义自己的R寄存器 正确的定义方式 #define spdl_ctrl R[20]//主轴控制(0停止1正转2反转) #define spdl_cmdR_i[22/2]//主轴转速 #define spdl_dwellR_ui[24/2]//主轴定时器 #define Lube_dwellR_ul[28/4]//润滑定时器 C语言编程中,使用带有含义的变量,往往比直接对R寄存器操作更加直观。定义自己需要的R寄存器,是编程的第一步。 一般说来,类似记录开关量的状态,用char型的变量。如果需要记录类似主轴转速或用作短时间计时器的话,则用int型的变量,而记录轴的位置或用作长时间计时器,则需要用long型的变量。 错误的定义方式 #define spdl_ctrl R[20/2]//主轴控制(0停止1正转2反转) #define spdl_cmdR_i[22]//主轴转速 #define spdl_dwellR_ui[23/2]//主轴定时器 #define Lube_dwellR_ul[26/4]//润滑定时器 PLC常用指令浅析一 #define bit(x,b) ((x)&(1<

c语言和plc编程,PLC编程C语言.ppt相关推荐

  1. arm汇编和c语言混合编程实验报告,实验三C语言和ARM汇编混合编程指导书.doc

    实验三C语言和ARM汇编混合编程指导书 实验三 1. 实验目的 掌握C语言和ARM汇编混合编程方法. 2. 实验设备 硬件:PC 机 一台 软件:Windows98/XP/2000 系统,ADS 1. ...

  2. Go语言和Java、python等其他语言的对比分析

    一.Go语言设计初衷 1.设计Go语言是为了解决当时Google开发遇到的问题: 大量的C++代码,同时又引入了Java和Python 成千上万的工程师 数以万计行的代码 分布式的编译系统 数百万的服 ...

  3. 小白学习记录篇01---C语言和C++的区别以及C语言中文件的含义(不足之处欢迎大佬补充提醒。)

    1.C语言和C++的对比 (1)创建文件的后缀名不同,如果创建C语言的文件通常以.c结尾,而C++通常以.cpp结尾. <1>这里就想要补充两个文件的概念,什么是.c文件?什么是.cpp文 ...

  4. c语言和python区别,python和c语言的区别是什么

    Python可以说是目前最火的语言之一了,人工智能的兴起让Python一夜之间变得家喻户晓,Python号称目前最最简单易学的语言,现在有不少高校开始将Python作为大一新生的入门语言.本萌新也刚开 ...

  5. r语言和python-R VS Python:R语言是否真的过时了?

    ​自从CDA数据分析师开设了Level1 业务数据分析师 R专题之后,很多学生对此产生了疑惑.特别是在挖掘建模工具的选择上,甚至出现了选择恐惧症.在此,摘抄了 浩彬老撕 的文章,以及之前零零散散看的一 ...

  6. go语言和python结合_Go+Python双语言混合开发-第1章 【阶段一:Go语言基础】

    1-1 Go+Python双语言混合开发-课程导学 (11:35) 1-2 课程资源获取方式 - 非常重要!!! (06:07) 1-3 课程中需要用到的开发环境介绍 (03:47) 1-4 wind ...

  7. JS中的函数概念和C语言的概念是类似的,c语言和JavaScript的区别有哪些?

    c语言和JavaScript在语法结构上有很多相似(例如if条件语句.while循环.switch语句.do-while循环等),那么它们之间有什么不同?下面本篇文章就来给大家介绍一下c语言和Java ...

  8. java c 关系_C语言和java之间的关系

    近些年来,移动互联网在全世界范围内的迅速发展,使得计算机行业也迅速发展,那c语言和java语言作为计算机语言中两种,相应的逐渐被人们了解和关注,想学习和从事c语言和java的朋友也越来越多.那同样都是 ...

  9. C语言和Python,哪个更适合入门?

    这是一个比较有争议的话题,知乎上有很多神回复,提出这个问题,也是对我自己的一次灵魂拷问. C语言和 Python 是编程语言界的两个极端,从不同的语言入手学习,就是选择了两条不同的学习路径. C语言 ...

  10. 三大角度 PK ,Go 语言和 Node.js 谁胜谁负?

    百度智能云 云生态狂欢季 热门云产品1折起>>>   Node.js 与 Go 语言一直是互联网大战中的主战场,虽说按照普通的各项指标对比,那么这场战争可能在很长时间内都难分胜负,但 ...

最新文章

  1. 使用C# 3.0编译器编译 Asp.Net 项目代码
  2. 基于Python的验证码识别技术
  3. 技术分享连载(十八)
  4. 上线随想之2011-03-27
  5. 百度地图离线_“高德地图”和“百度地图”有什么差别? 专家: 细节决定成败!...
  6. 无法绑定由多个部分组成的标识符“System.Data.DataRowView”
  7. python怎样把两个图画到一起_python实现两张图片拼接为一张图片并保存
  8. 中专生计算机教案,[定稿]计算机基础教案中专V8.1(全文完整版)
  9. Silverlight:Dependency Property(依赖属性)学习笔记
  10. 关于对接网易云即时通信IM的心得
  11. eyoucms分页通用css样式
  12. python多线程爬机票_Python 爬取携程所有机票找出最低折扣机票,让你无忧回家过年...
  13. ssh2连接linux超时,解决SSH会话连接超时问题
  14. 2022年最新上海机动车签字授权人模拟试题及答案
  15. threshold 阈值,阀值,阙值
  16. LAME应用教学--HIFI级MP3制作之路
  17. java计算机毕业设计家庭理财管理系统源码+数据库+系统+lw文档+mybatis+运行部署
  18. 编写一个有两个线程的程序, 第一个线程用来计算2~100000之间的素数的个数, 第二个线程用来计算100000~200000之间的素数的个数,最后输出结果
  19. 如何利用clusterProfiler进行基因集的KEGG富集分析?
  20. Uncaught RangeError: Maximum call stack size exceeded 报错原因及解决方案

热门文章

  1. Regex pattern in openresty
  2. Zabbix 3.2.6 升级到 Zabbix 3.4.3
  3. 第一次作业:项目范围管理论文的提纲
  4. cocos2dx-3 addImageAsync陷阱
  5. Gartner:2013-2014年全球MSS市场分析
  6. 一起谈.NET技术,从.NET中委托写法的演变谈开去(中):Lambda表达式及其优势...
  7. 修改MS SQL2000数据库的所有者,很实用
  8. DataList之数据操作
  9. linux cal 命令详解
  10. servlce与filter的url-pattern介绍