热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

上位机与台达DVPSS2PLC串口通讯

目标:上位机作为主站,PLC作为从站,采用标准的Modbus-rtu通讯协议,实现上位机对PLC的控制,例如读

目标:上位机作为主站,PLC作为从站,采用标准的Modbus-rtu通讯协议,实现上位机对PLC的控制,例如读取X,Y状态,设置Y的状态,读取D的值等等。

配置:上位机,串口调试软件,RS232串口,RS232转RS485通讯转换模块
           台达PLC,DVP-SS2。

说明:RS232与RS485通讯有什么区别?
           RS232通讯采用的是点对点通讯,传输距离短。
           RS485通讯采用差分信号,传输距离长,可以一对多。一个主站可以发命令给各个从站,相应的从站返回请求数据,但是从站不可以主动发数据给主站或从站。
           都遵循Modbus标准协议,相对于软件来说都一样,不同的是硬件端口。

调试过程:
          1、将上位机串口,串口调试软件串口与PLC串口的通讯格式设置一致。
               端口参数为:9600,8,n,1
          2、PLC串口用的是COM2,定义为RS485端口,通过软件更改串口参数。

D1120:波特率设置,9600
D1121:PLC的地址号
M1143:ON表示采用RTU,OFF表示采用ASCII
M1120:通讯格式保持

3、PLC的功能码

4、PLC的Modbus地址

5、串口通讯指令
     地址号    功能码    数据起始位置(低)    数据其实位置(高)    数据长度(低)    数据长度(高)CRC校验(低)CRC校验(高)
     
     读取X0-X3输入点的状态:发送01  02  04  00  00  04  78  F9     接收01  02  01  00  A1  88
     设置Y0的状态:发送01  05  05  00  FF  00  8C  F6     Y0=1,发送01 05 05 00 00 00 CD 06    Y0=0

6、CRC校验
      校验的目的是为了保证两边发送与接收的数据正确性,从地址码开始到数据长度结束,按照一定公式计算得到校验码,注意高低位,一般情况是低字节先进,高字节后进。
      02 05 05 00 FF 00 CRC16校验结果是8C C5

 


推荐阅读
author-avatar
小小闲森
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有