版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Wang
yang信捷PLC培训第9.3课时1信以致远捷行弘毅W
y2第9.3章通讯C语言Modbus
通讯Block自由格式信以致远捷行弘毅W
y3触摸屏如何实现可以实时显示PLC的状态?PLC与变频器通讯程序改怎么编写?信以致远捷行弘毅W
y4通讯概述信以致远捷行弘毅W
y5XX1COMCOM
X0X2X3X4X5
X7X6X10X11X12X13X14X15X16X17X20X21X22X23X24X25X26X27X30X37X40X36X35X34X33X32X31X41X42X43Y27Y26Y25Y24Y15COM6Y21Y20Y22
COM9
Y23Y17Y16
COM8Y14Y12
COM7Y11
Y13Y10COM4Y4
COM5
Y7Y5
Y6Y3Y1Y2COM2
COM3Y0COM1COM0CAN+CAN-AB0V24VPORT1
PORT2XC3-60R-EYPWRRUNERR0
1
2
3
4
5
6
70
1
2
3
4
5
6
7通讯口1通讯口2的232通讯口2的4851、通讯口XC2、XC3、XC5、XCM以及XCC系列可编程控制器都支持Modbus协议、自由协议通讯功能。信以致远捷行弘毅W
y6站号Modbus站号1~254、255
(FF
)为自由格式通讯波特率
300bps~115.2Kbps数据位 8个数据位、
7
个数据位停止位 2个停止位、
1
位停止位校验偶校验、奇校验、无校验2、通讯参数设置通过上述通讯口,我们可以使两个串行通讯设备任意通信,但是在通讯之前,必须设置相互可以辨识的参数,具体见表通讯口默认参数:站号为1、波特率19200bps、8个数据位、1个停止位、偶校验。信以致远捷行弘毅W
y7XCPPro编程软件中集成了修改通讯口的模块,如下图所示:通过软件来修改通讯口参数,方便直观,且不易出错,修改完成后,重新上电才能生效。信以致远捷行弘毅W
y83、通讯相关指令指令和自由格式信捷通讯指令包括mudbus指令两大类。信以致远捷行弘毅W
y9modbus
通讯信以致远捷行弘毅W
y10(1)modbus通讯指令Modbus
指令,分为线圈读写、寄存器读写,采用标准的
mudbus-RTU
协议。下面具体介绍这些指令的用法。
a线圈读[COLR]线圈读是将指定局号中指定线圈状态读到本机内指定线圈中的指令。指令说明如图所示:COLRK1K500K3M1X0K2S1·S2·S3·D1·D2·第一节
Modbus
通讯信以致远捷行弘毅W
y11S1指定远端通讯局号S2指定远端线圈首地址编号S3指定线圈个数的数值D1指定本地接收线圈的首地址D2指定串口编号当X0由OFF到ON变化时,将站号为1的远端设备的modbus地址为M1和M2两个线圈。本通讯K500和K501的两个线圈状态映射到本机的指令通过PLC的port2发送。第一节
Modbus
通讯其中个操作数的含义如下表:信以致远捷行弘毅W
y12B
单个线圈写[COLW]单个线圈写是将本机内指定线圈状态写到指定局号中指定线圈的指令。指令说明如图所示:COLWK1K500M1X0K2D1·D2·S1·S2·操作数作用D1指定远端通讯局号D2指定远端线圈首地址编号S1指定本地发送线圈首地址编号S2指定串口编号第一节
Modbus
通讯信以致远捷行弘毅W
y13C多个线圈写[[MMCCLLWW]]多个线圈写是将本机内指定的多个线圈的状态写到指定局号中指定线圈的指令。指令说明如图所示:MCLWK1K500K3M1X0K2D1·S1·S2·D2·D3·操作数作用D1指定远端通讯局号D2指定远端线圈首地址编号D3指定线圈个数的数值S1指定本地发送线圈首地址编号S2指定串口编号第一节
Modbus
通讯信以致远捷行弘毅W
y14D寄存器读[[RREEGGRR]]寄存器读是将指定局号指定寄存器读到本机内指定寄存器的指令。指令说明如图所示:REGRK1K500K3D1X0K2S1·S2·S3·D1·D2·操作数作用S1指定远端通讯局号S2指定远端寄存器首地址编号S3指定寄存器个数的数值D1指定本地接收寄存器首地址编号D2指定串口编号第一节
Modbus
通讯信以致远捷行弘毅W
y15E单个寄存器写[[RREEGGWW]]单个寄存器写[是将本机内指定寄存器写到指定局号指定寄存器的指令。指令说明如图所示:REGWK1K500D1X0K2D1·S1·S2·D2·操作数作用D1指定远端通讯局号的数值D2指定远端寄存器首地址编号S1指定本地发送寄存器首地址编号S2指定串口编号第一节
Modbus
通讯信以致远捷行弘毅W
y16操作数作用D1指定远端通讯局号D2指定远端寄存器首地址编号D3指定寄存器个数的数值S1指定本地发送寄存器首地址编号S2指定串口编号F多个寄存器写[MRGW]多个寄存器写是将本机内指定的多个寄存器写到指定局号指定寄存器的指令。指令说明如图所示:MRGWK1K500K3D1X0K2D1·D2·D3·S1·S2·第一节
Modbus
通讯信以致远捷行弘毅W
y17Mudbus
通讯举例1一台信捷XC系列PLC
“A”控制1台XC系列PLC
“B”,要求“A”PLC的X0导通时,“B”PLC的Y0导通。可编程控制器的软元件modbus地址见手册!第一节
Modbus
通讯信以致远捷行弘毅W
y18COLWK1H4800X1M8012K2ABA
B第一节
Modbus
通讯信以致远捷行弘毅W
y19Mudbus
通讯举例2一台信捷XC系列PLC
“A”控制1台信捷变频器,要求可通过通讯,更改变频器的运行频率以及运行命令。变频器的软元件modbus地址及参数修改详见变频器用户手册!第一节
Modbus
通讯信以致远捷行弘毅W
y20REGWK1H2001D0M8012K2REGWK1H2000D1M8012K2ABA
B第一节
Modbus
通讯信以致远捷行弘毅W
y21自由格式通讯信以致远捷行弘毅W
y22(2
)自由格式指令所谓自由格式,即自定义协议通讯,现在市场上很多智能设备都支持RS232或者RS485通讯,而各家产品所使用的协议不尽相同,例如:信捷PLC使用标准的Modbus-RTU些温度控制器厂家使用的自定义协议;如果用信捷协议,一
PLC和温度控制器通讯,读取温度控制器采集的当前温度,则需使用自由格式通讯,完全按照仪表厂家的协议来发送数据,这样即可通讯上。第二节自由格式通讯信以致远捷行弘毅W
y24M0的一次上升沿发送一次数据,发送字符的个数由D100的值决定,时开始终止数据序图如图所示:M0M8132发送数据在数据发送过程中‘正在发送"标志位M8132(通讯口2)置ON。第二节自由格式通讯信以致远捷行弘毅W
y25操作数作用S1指定本地接收数据的首地址编号S2指定接收字符个数的数据或软元件地址编号n指定通讯口编号B接收数据[[RRCCVV]]接收数据是将指定局号的数据写到本机内指定地址的指令。指令说明如图所示:RCVD20D2
0S1·S2·nK2M1第二节自由格式通讯信以致远捷行弘毅W
y26M0的一次上升沿接收一次数据,接收字符的个数由
定,时序图如图所示,在数据接收过程中‘正在接收"标志位D200的值决M8134开始终止数据(通讯口2)置ON。M1M8134接收数据第二节自由格式通讯信以致远捷行弘毅W
y27在举例之前,我们需要先了解一下Modbus-RTU协议,以及C功能的使用。第二节自由格式通讯信以致远捷行弘毅W
y28Modbus
通讯协议Modbus
是由Modicon(现为施耐德电气公司的一个品牌)在1979
年发明的,是全球第一个真正用于工业现场的总线
协议。Modbus
协议是应用于
电子控制器
上的一种通用语言。通过此协议,
控制器相互之间、控制器经由网络(例如
以太网)和其它设备之间可以通信。它已
经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成
工业网络
,进行集中监控。此协议定义了一个
控制器
能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一
控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。第二节自由格式通讯信以致远捷行弘毅W
y29协议,不Modbus
的Modbus
具有以下几个特点:(1
)标准、开放,用户可以免费、放心地使用
Modbus需要交纳许可证费,也不会侵犯知识产权。目前,支持厂家超过400
家,支持Modbus
的产品超过
600
种。Modbus
可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。Modbus
的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。第二节自由格式通讯信以致远捷行弘毅W
y30控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:
可编程控制器
。主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。
Modbus
协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。从设备回应消息也由
Modbus
协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。第二节自由格式通讯信以致远捷行弘毅W
y31)中的任何一种在标准控制器能设置为两种传输模式(
ASCII
或RTU的Modbus
网络通信。用户选择想要的模式,包括
串口通信
参数(
波特率、校验方式等),在配置每个
控制器
的时候,在一个
Modbus
网络上的所有设备都必须选择相同的传输模式和串口参数。所选的ASCII
或RTU
方式仅适用于标准的
Modbus
网络,它定义了在这些网络上连续传输的消息段的每一位,以及决定怎样将信息打包成消息域和如何解码。第二节自由格式通讯信以致远捷行弘毅W
y32C
语言功能信以致远捷行弘毅W
y33C语言功能梯形图一直以来都是
PLC最主流的编程方式,它有着能最让人理解的方式去完成程序编写的优势,但是随着工艺要求的复杂化与多元化,传统的梯形图编程语言在很多功能上的实现需要花费很多的精力才能完成程序的编写,而大量的梯形图语言会比较大的影响到整个系统的扫描周期,导致一些无法预料的问题出现,同时在运动控制上面如果依靠梯形图语言来进行误差补偿,可能达不到比较好的效果。而
C
语言高强度适应性的特点则可以很大程序的去解决梯形图无法解决的问题,因而信捷特别在开发了编程软件在支持梯形图的同时,最大程度的能够兼容 C
语言的编写。第三节C语言功能信以致远捷行弘毅W
y34C语言功能的使用方法四步操作法完成C语言的使用(演示)
:添加C语言功能块编辑C语言功能块调用C语言功能块在进行c函数调用的时候,d0,m0分别表示函数里面W[0],B[0]的初始地址,W[0]表示为d0,B[0]表示为m0,如果调用程序时写为PAIXU
D10M10,则C程序中W[0]表示的值为的D[10],B[10]标志的值为0M[]2。第三节C语言功能信以致远捷行弘毅W
y35功能:?支持几乎所有的C语言函数;?
在涉及到复杂的数学运算时 C
语言的优势更加明显;?增强了程序的保密性(无论何种方式下载,C语言部分都无法上传);?可进行多处调用和不同文件的调用,大大提高了编程人员的效率。第三节C语言功能信以致远捷行弘毅W
y36自由格式通讯举例1一台信捷XC系列PLC
“A”控制1台信捷变频器,要求可
通过自由格式通讯,更改变频器的运行频率以及读取设定频率。第三节C语言功能信以致远捷行弘毅W
y37A
BA
B第三节C语言功能信以致远捷行弘毅W
y38第三节
C
语言功能信以致远捷行弘毅W
y39字符含义:数据开始R读功能T温度CR回车,数据结束自由格式通讯举例2信捷PLC与温控仪表通讯,而仪表使用自己的通讯协议,协议规定读取温度需发送“:”“R”“T”“CR”四个字符,各字符含义如下:第三节C语言功能信以致远捷行弘毅W
y40字符对应ASCII码值:3AR52T54CR0DPLC需要将上述字符的ASCII码发送到仪表,才能读取到仪表测得的当前温度值。通过查询
ASCII码表可得到各字符的
ASCII码值(十六进制):显然按照上面描述的情况,使用MODBUS指令不能通讯,这个时候就需要使用自由格式通讯。第三节C
语言功能信以致远捷行弘毅W
y41操作步骤:①先将硬件线路连接好。②
按照温控仪表的通讯参数将 PLC
的串口参数设定好(注意自由通讯PLC站号设置成255
),参数设置好后重新上电才能生效。③按照上一页中描述的协议编写程序。读取温度需发送:
“:”
“R
”
“T”
“CR
”“:”----数据开始“R”----读功能“T”----温度“CR”----回车,数据结束第三节C语言功能信以致远捷行弘毅W
y42M0M0读取开关MOV
H3A
D0D0:“:”ascii码值MOV
H52
D1D1:“R”ascii码值MOV
H54
D2D2:“T”ascii码值MOV
H0D
D3D1:“CR”ascii码值SEND
D0
K4
K2D0:“:”ascii码值M8132串口
2RS232正在发送标志读取开关RCV
D10
K4
K2D10:接收起始寄存器【控制程序】第三节C语言功能信以致远捷行弘毅W
y43BLOCK
功能块信以致远捷行弘毅
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 胸痛急诊护理中的团队协作
- 2026年森林公园生态保护与修复项目
- 肠癌患者的造口用品选择与使用
- 2026年食品加工设备拆卸清洗操作规程
- 2026年CNC加工常见报警与故障排除
- 自媒体内容合作推广合同书
- 网络新闻编辑合作协议2026修订
- 核电工程合同履约监督方法协议2026
- 2026年产后腹直肌分离修复方法指导
- 胃肠疾病患者的心理支持技巧
- 2026河北青年管理干部学院使用总量控制数公开招聘工作人员18名考试参考题库及答案解析
- 珙县2026年公开招聘社区专职网格岗(34人)笔试参考题库及答案解析
- 2025-2026学年人教版(2024)二年级数学下册期末综合素养评价卷(二)(含答案)
- 播音系配音课件
- (2026年)全科住培基地导师制带教的体会课件
- 2026年少先队入队考核通关试题库审定版附答案详解
- 教育培训行业拉新绩效考核细则
- 电网企业收入审计制度
- 30-华为蓝血十杰(6版)
- 公众号推文培训
- DBJ50-T-271-2017 城市轨道交通结构检测监测技术标准
评论
0/150
提交评论