Modbus RTU 通讯例 通过 ptp 模块与 PAC3100 或 PAC3200 通讯1. 组态 ptp 模块翻开模块属性对通讯信息进展编写。协议:自由口/Modbus,传输率:19200,奇偶校验:无,数据位 8 位 完毕位 2。与许通讯设备端口参数一致。模式:2 线制操作模式。接线图:端子 12:A-段子 14:A+端子 15/16:PE/COM外部通讯参数图:PAC3100/3200Moudbus 功能代码2. 编写程序。通讯需要用到 2 个功能块分别是Modbus_Comm_Load 和 Modbus_Master 它们分别是通讯组态模块和 Modbus 主站通讯。 调用并建立背景数据块3. 程序编写。在 OB30 中调用 Modbus_Comm_LoadREQ:功能块启动位当接收到启动点的上升沿该功能块运行。(该快只在上升沿信号后运行一次,后功能块处于块空闲状态。)PORT:连接 ptp 模块的硬件标识符。 BAUD:通讯速率 PARITY:奇偶校验,0 表示无 MB_DB:连接 Modbus_Master DB 块DONE:表示无错误运行 ERROR:有故障 STATUS:故障代码具体在博图中按 F1 查询。在 OB1 中调用 Modbus_MasterREQ:启动位接通时该功能块运行。MB_ADDR:Modbus 地址设定为 1 与通信设备地址相对于。MODE: 0 为读 1 为写DATA_ADDR:读写设备的启始地址。PAC3100/PAC3200 为 40002 开场。每个数据的长度为 32位.DATA_LEN:读取地址的长度。图中为 10 即读取 10 个 32 位的数据。DATA_PTR:储存的位置。这里不要用 M 位,图中用的 DB3 背景数据块。数据类型和引脚写法如上图。NONE:无错误输出位。BUSY:命令执行,数据交换中。ERROR:出现错误。STATUS:故障代码。与多个设备进展通讯。方法 1.更改 Modbus_Master 引脚中的 MB_ADDR 位。来实行循环切换。但输出储存的 DB3 块的数据也要进展循环提出。方法 2.建立多个 DB2。图一图二由于都是使用 DB2,多个块不能同时接通,不然后面的块不会运行。块于快之间要互锁。〔当一个运行其他停止,以此循环。〕图二中的数据储存放在 DB4 中,该设备地址为二。故障代码读取:切换程序:运行循环位移。位移数据中有一位为 1,如 00000001.没 2 秒上升沿触发循环一次 1 就会像左移动一位。图中 MB600 中的那个位在一个周期就会接通 2 秒。来到达其中一个接通其他断开的目的。