Modbus RTU是基于串口的一种通信协议,协议开放,多用于连接现场仪表设备,通信距离与串行通信定义相同。由于报文简单、开发成本比较低,许多现场仪表仍然使用Modbus RTU协议通信。Modbus RTU格式通信协议以主从的方式进行数据传输,主站发送数据请求报文到从站,从站返回相应报文。 CP341发送模块的设计而发送程序主要是通过调用功能块FB8来实现,FB8是基于上升沿触发工作的.来一个上升沿FB8工作一次向总线上发送一个请求数据包,所以在程序中一定要设计一个触发代码段,来不断的使REQ:=M50.0循环往复的置“1”置“0”,这样FB8就可以正常运行了。 在设计程序时一定要注意FB8的参数SF:=‘S’及R_TYP:=‘X’的值都是大写否则程序调试不成功。FB8需要一个背景数据块.这一背景数据块一般由系统自动生成.以上程序中为DB3;对于通过CP34 1的Modbus Master驱动通讯的发送模块需要设计发送数据块DB块.用来对主站发送参数进行设置和初始化。 接收程序是调用FB7来实现的,由于CP341可以处理接收程序的细节部分.因此对于设计者来说只需要进行简单的设计就可以实现数据的接收。 对于Modbus多从站的通信(CP341带硬件狗为主站),编程时尤为需要注意,对于地址和站号等的轮询需要合理安排,否则会引起从站间的数据混乱。同时注意读上来的高低字节问题。 按照CP341用户手册接线--------然后按照下面的手册进行配置和修改下载例程。 A0081 应用文档 CP340/341/440/441通讯及编程(更新版) 2010/05/24 3.87MB
注意两个容易忽略的问题: 1,硬件狗的安装,我同事有次通讯不上就是因为忘了安装Dongle; 2,注意CP341的版本号,硬件配置要和实际一致。 1CH02与1CH01的区别连接 http://support.automation./CN/view/zh/32813363
|