1、信捷PLC 通讯信捷PLC在与其它设备通讯的时候,如果作为下位机,则尚未机必须按照MODBUS RTU的数据格式与其进行数据交换;如果信捷PLC作为上位机,当下位机也支持MODBUS RTU协议的时候,可直接使用相关通讯指令进行通讯,使程序编写更简单,效率更高,如果下位机不直接支持MODBUS RTU协议,则可使用自由格式通讯,下面为大家讲解相关使用:1. 什么是MODBUS RTU协议?请阅读 Modbus协议中文版.pdf ,通过这个介绍你会对MODBUS 协议有所了解,其中还详细介绍了modbus 通讯的另一种模式 MODBUS ASCII 模式,关于两者之间的区别,在此不再重复阐述,M
2、odbus协议中文版.pdf 上都有介绍,使用中请区分RTU 和 ASCII 模式,不能笼统的认为使用的协议时MODBUS 协议。2. MODBUS RTU 的数据格式:举例与1号站通讯:主机发送的数据(通过串口调试工具监控,在调试串口通讯的时候,建议使用串口调试工具,这样可以直接看发送接收的数据内容,信捷推荐T-COM 点击下载):这是监控到的数据,由于PLC没有连接下位机,所以系统自动重拨,共三次如果通讯任然失败,则视本次通讯完成。下面对数据进行讲解:01(下位机站号) 0F(modbus多个线圈写功能码) 00 01(下位机目标地址) 00 03 (线圈个数) 01(字节数) 01(数据
3、内容M0为1其余为0组成的字大小为1) 73(CRC校验高位) 57(CRC校验低位)下面用写9个线圈作对比:(其中M8为ON 其余OFF)下面是T-COM监控数据:01(下位机站号) 0F(modbus多个线圈写功能码) 00 01(下位机目标地址) 00 09 (线圈个数) 02(字节数) 00(数据内容低位) 01(数据内容高位) 25(CRC校验高位) 6D(CRC校验低位) 写三个线圈 写九个线圈比较两组数据不难发现:线圈个数导致字节数、数据内容不同,一个字节是8位,写九个线圈的时候占用两个字节,同时写的数据内容也超过8位因此要占用两个寄存器来存放数据内容。下面是常用modbus 功
4、能码及其功能,3.参数设置说明: 在调试通讯程序之前,必须对硬件连接和通讯数进行检查,在确保这些都完善的情况下再继续工作。 信捷PLC支持的总线有:RS232 RS485,以下结合PLC操作面板给大家说下:14点机型:Port1 支持 RS232 请勿修改此端口参数,修改将导致PLC与电脑连接不上此处AB 属于 port 2 在使用时候需将此端口参数设置成和通讯设备相同参数设置:打开XCPPro 编程软件,连接PLC,点击“PLC设置”-“PLC串口设置” 出现以下窗口:在这里修改参数,修改完成后写入PLC,然后重新给PLC上电。自由格式通讯:所谓自由格式,就是当下位机通讯协议与PLC协议不匹
5、配时候,PLC内部自定义数据格式来发送数据,这样可以和很多下位机进行通讯,下面介绍下信捷PLC自由格式通讯,相关使用方法:1 硬件连接 RS232/RS485 2 参数设置:自由通讯参数设置方法与上面讲的一样,只需将通 讯模式改成自由格式,其余参数方法相同 上图为自由格式通讯多出来的部分,当数据格式确定,如果每帧数据都有起始符和终止符的话,则可以直接在这里设置,程序里就无需再做处理,下面举例说明上图是程序和参数设置,下图是给D0设置成十进制16的时候T-COM监控到的数据:可以看出,在软件中设置起始符和终止符是对应ASCII 码的十进制数 设置的 65 监控到的是十六进制的 41 也就是 AS
6、CII 码 “A” 的值。 Ascii 码表点此链接关于功能的大致介绍到此为止,至于PLC编程指令的格式,请参考信捷XC系列用户使用手册指令篇第七章;大家可以下载一个T-COM 然后结合PLC 一起,编写程序,边监控,看看数据格式是什么样的,MODBUS RTU的协议对于格式有什么问题的可以参考Modbus协议中文版.pdf ,至于自由格式就没什么特殊要说的,一切以监控到的数据为准,遇到通讯数据设置好了,一切都正常了,就是通讯不上的时候,强烈建议使用串口调试工具监控,最好是先使用串口调试工具直接与下位机通讯,待通讯成功之后,确定了数据格式,然后再编写PLC的程序,这样效率更高。此文档可自行编辑修改,如有侵权请告知删除,感谢您的支持,我们会努力把内容做得更好
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1