巴中西门子(中国)模块授权总代理商
编写通信程序
1、双击“添加新块”,创建发送数据块DB10和接收数据块DB11,发送数据块的名称为Send,接收数据块的名称为Rev;如下图所示,发送数据块中新建几个变量,从站地址为2,功能码为3,起始地址为0,读4个寄存器数据,具体功能码3 的使用参见手册“S7串行通信模板Modbus RTU主站可装载驱动的操作说明” 6.3章节的说明;如下图所示,接受数据块中新建1个数据类型Array的变量,数组元素的数据类型为Byte,数量为400。
图8
图9
2、进入主程序OB1,从通信->通信处理器->PtP链接:CP341,调用发送功能块P_SND_RK和接收功能块P_RCV_RK。P_SND_RK的背景数据块为DB1,P_RCV_RK的背景数据块为DB2。
图10
CP341的发送功能块P_SND_RK 的参数设置见下表。
管脚 | 解释描述 |
SF | ‘S’为发送,此处必须为大写的‘S’ |
LADDR | 硬件组态中的起始逻辑地址,本例中为256,见图11。 |
REQ | 发送数据触发位,上升沿触发,本例中为M0.5,为时钟存储器的位,见图12。 |
DB_NO | 发送数据块号,本例中为10(DB10) |
DBB_NO | 发送数据的起始地址,本例中为0(DB10.DBB0) |
LEN | 发送数据的长度,本例中为6 |
R_TYP | ‘X’为扩展的数据块,此处必须为大写的‘X’ |
R | 取消通讯,本例中不用 |
DONE | 发送完成位,发送完成后为TRUE,同时没有错误 |
ERROR | 错误位,为TRUE说明有错误 |
STATUS | 状态字,标识错误代码,查看Modbus Master手册获得相应的说明 |
其它参数 | 本例中不用 |
CP341的接收功能块P_RCV_RK 的参数设置见下表。