- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
協议宏功能在PLC串行通信中的应用
协议宏功能在PLC串行通信中的应用
PLC/串行通信/通信协议/校验
1? 引言近年来,随着工业自动化技术的快速发展,可编程逻辑控制(PLC)的功能日益强大,PLC早已不局限于替代传统继电器、接触器电路,实现逻辑控制功能,现在PLC已经集过程控制、运动控制、数据通信和网络通信等众多功能于一身。随着功能的提高和完善,PLC与工业现场设备之间的数据通信量也越来越大,越来越多的工业设备上集成一个RS232/485通信接口,提供自身的通信协议,PLC在进行数据采集和远程控制时,都需要通过串行通信来实现。
2? 串行通信简介在通信领域内,有两种数据通信方式:串行通信和并行通信。串行通信:是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。特别使用于PC与PC、PC与外设之间的远距离通信。串行接口按电气标准及协议来分包括RS-232-C、RS-422、RS485等。RS-232-C、RS-422与RS-485标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。
3? PLC常用串行通信程序编写方法1)? 串行通信由于没有一个标准的通信协议,所以自动化设备的通信协议非常多,常用的Modbus、Pofibus、Devicenet等,PLC一般都带有标准的硬件单元,所以在使用这些协议时,程序上只需要建立标准数据连接表就可以,无需在按照协议格式,填写头、数据、校验等内容。2)? 但是遇到一些没有标准协议的设备,比如一些仪表采用的SWP协议,就需要在程序中按照第三方设备的协议格式,将数据完整的填写在PLC内存中,然后再使用串行通信指令,将数据由制定的通信接口发送出去,然后再按照响应数据的格式编写接收响应数据的程序,而且遇到变量数据,校验码又不能提前计算好写入内存,只能在程序中编写校验程序,这样不可避免造成程序的编写量非常大,程序非常繁琐。3)? 如SWP系列仪表的通信协议,PLC读取仪表当前的数值(温度、压力等),需要按照协议内容发送命令,如“图1”PLC发送的数据(读取当前测量数值),“图2”仪表回送的响应数据,按照协议内容,该数据是一个ASC码格式的浮点数,在很长的响应数据中,只有“图2”中低字节、高字节、小数点,是当前需要的数据,所以需要在程序中使用数据处理指令,将有用的数据摘选出来,再将ASC码格式数据转换成16/10进制的数据,才完成仪表数据读取的工作。
4? 协议宏通信功能1)? 在遇到非标准协议时,如何能够像使用Modbus、Devicenet等硬件单元时,在程序中只建立数据连接表,填写有用的数据内容,对于仪表回送的数据,只把有用的数据保存到PLC内存。欧姆龙CJ系列PLC的协议宏功能,将协议格式使用第三方软件,方便的写入到串行通信模块中,在PLC程序中不需要编写过多程序,只需调用要按照串口模块中的协议序列号即可完成程序。2)? 对于数据串很长的回送响应,也可以在协议宏中添加变量数据,头、尾、校验等数据,可以通过变量数据进行区分,只将仪表的当前数值(温度、压力等)译码并写入到PLC指定的内存中,PLC在处理仪表当前数值时,只需要读取自身的寄存器就可以完成。3)? 协议宏通信功能:是用来控制PLC与第三方设备进行数据交换的另一种通信方式。PLC需要配备串行通信单元,通过RS232方式实现1:1的连接,也可以通过RS/422/485方式实现1:N的连接。通过带有的通信协议宏软件CX-Protocol可以对通信格式进行编程。
5? 串行通信程序设计传统的串行通信程序,如“图3”只截取了很小一部分,可以看出在PLC梯形图中完成串行通信所有数据的编写,程序量是非常巨大的。其中SWP使用的是CRC校验,虽然常用的校验计算在PLC有相关指令(如FCS、CRC等校验),但是要求进行校验的数据必须连续放置在寄存器中,中间如果有空位,校验指令会直接将“0”也作为一个数据进行校验,所以需要使用大量的数据处理指令将数据按照标准格式码放完成,才能使用校验指令进行计算,在PLC程序中编写校验是非常繁琐的。
使用协议宏通信完成SWP仪表的通信,将数据同时进行写入为例进行程序编制。按照SWP协议内容,将读取数据的指令写入到CX-Protocol中。Protocol中有固定的协议格式,按照对应表格内容填写通信指令,校验可以使用有专用工具添加。1)? 将SWP仪表通信指令写入,把“图1”的数据写入Protocol。(见图4)。
2)? 使用协议宏工具添加CRC-16校验。(见图5)
3)? 将回送的相应数据“图2”中,具体数值低字节、高字节、小数点三个字节,添加变量,并转换格式,保存到PLC内存D2000开始的寄存器中。(见图6)
4)? 在PLC中写入协议宏程序,所有通信协议数据通过CX-Protocol写入到串
文档评论(0)