塑料热切机:CP341 Modbus通信的编程与调试

来源:百度文库 编辑:中财网 时间:2024/04/29 14:34:27

 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.siemens.com/CN/view/zh/32813363