博图新建一个项目。
在Main程序中添加一个MB_SERVER模块。
数据块中需要对两个引脚REG和Connect赋值。
它们是在全局数据块中创建两上变量做到的。
下面是赋值过程:
双击“添加新块”,添加一个全局数据块,起名为ModbusData。
创建一个变量PARA,数据类型是一个结构体TCON_IP_v4。
下面是它展开后我们要填写的项目。
(1)InterfaceId
这一项可以通过查询系统常量,如下面步骤:
双击设备组态。
双击plc,出现属性项目。
找到系统常数,查到划红线项止的常数是64。
(2)其它数据项
意义如下图所示:
填好数据结构后的内容如下:
创建第二个数据块变量ServerData。
它的数据类型是Word数组,100个元素。
设置REG引脚和CONNECT引脚为上面定义的数据块。
点击编译。
如果无错误,点击下载到plc。
点击“启用/禁用监视”。
转入运行监视模式。
此时你应该观察到MB_SERVER块的Status是7002。就是等待连接状态。
打开ModbusTCP通讯软件
填plc的IP地址,它可以在仿真器的设备列表中查到 。
端口号502,功能码是读写保持继电器Holding Register。
点击打开。
可以看到接收日志中显示已经连接成功。
在博图这边,我们也看到了MB_SERVER的Status状态变为了7006,它表示已经有Mater端连接过来了,正在传送数据。
先在modbusTcP软件中,读取10个数据。
如下图:
可以看到读取了10组数据。
我们在Modbus/TCP通讯软件中,双击40001地址的word单元格,修改值,
可以看到博图那边的数据块中,值对应的发生了变化。
证明修改ModbusServe的寄存器的值是有效的。
你还可以试下在plc端修改值,就是双击数据块的值。
在Modubs/TCP通讯软件这边,重新读取数据,就可以看到值变化了。

