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通讯软件这边,重新读取数据,就可以看到值变化了。



本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:
本帖最后由 勇哥,很想停止 于 2025-01-04 15:14:53 编辑

发表评论:

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

会员中心
搜索
«    2025年4月    »
123456
78910111213
14151617181920
21222324252627
282930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864