少有人走的路

勇哥的工业自动化技术网站

PLCSIM Advanced仿真测试ModbusTcp Server


博图新建一个项目。

在Main程序中添加一个MB_SERVER模块。

image.png


image.png

数据块中需要对两个引脚REG和Connect赋值。

它们是在全局数据块中创建两上变量做到的。

下面是赋值过程:


双击“添加新块”,添加一个全局数据块,起名为ModbusData。

image.png

创建一个变量PARA,数据类型是一个结构体TCON_IP_v4。

下面是它展开后我们要填写的项目。

image.png


(1)InterfaceId

这一项可以通过查询系统常量,如下面步骤:


双击设备组态。

image.png


双击plc,出现属性项目。

image.png


找到系统常数,查到划红线项止的常数是64。

image.png

(2)其它数据项

意义如下图所示:

image.png

填好数据结构后的内容如下:

image.png


创建第二个数据块变量ServerData。

它的数据类型是Word数组,100个元素。

image.png


设置REG引脚和CONNECT引脚为上面定义的数据块。

image.png


点击编译。

image.png

如果无错误,点击下载到plc。

image.png


点击“启用/禁用监视”。

转入运行监视模式。

image.png

此时你应该观察到MB_SERVER块的Status是7002。就是等待连接状态。



打开ModbusTCP通讯软件

填plc的IP地址,它可以在仿真器的设备列表中查到 。

image.png

端口号502,功能码是读写保持继电器Holding Register。

点击打开。

可以看到接收日志中显示已经连接成功。

image.png


在博图这边,我们也看到了MB_SERVER的Status状态变为了7006,它表示已经有Mater端连接过来了,正在传送数据。

image.png


先在modbusTcP软件中,读取10个数据。

如下图:

可以看到读取了10组数据。

image.png


我们在Modbus/TCP通讯软件中,双击40001地址的word单元格,修改值,

可以看到博图那边的数据块中,值对应的发生了变化。

证明修改ModbusServe的寄存器的值是有效的。

image.png


你还可以试下在plc端修改值,就是双击数据块的值。

在Modubs/TCP通讯软件这边,重新读取数据,就可以看到值变化了。



发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年11月    »
12
3456789
10111213141516
17181920212223
24252627282930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.3

Copyright www.skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864