技术论坛

西门子1500modbus tcp通讯如何实现同时读写同一ip,id,端口号为502的设备数据

作者 主题
新手

经验值: 4
发帖数: 1
精华帖: 0
主题:【求助】西门子1500modbus tcp通讯如何实现同时读写同一ip,id,端口号为502的设备数据


只看楼主 楼主 2021-09-15 10:15:52

plc作为客户端如何对同一个ip,id,端口号为502的施耐德plc进行modbus tcp通讯读写功能,读写数据地址不同,读写功能可以同时实现吗,怎么同时实现,


 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1715789&b_id=66&s_id=0&num=3

侠圣

经验值: 2625
发帖数: 734
精华帖: 3
回复:西门子1500modbus tcp通讯如何实现同时读写同一ip,id,端口号为502的设备数据


只看楼主 1楼 2021-09-15 11:11:26

论坛上关于轮询的讨论其实蛮多的,可以搜索借鉴下。

如果从来没做过,又只能靠自己的话,得一步一步来:

1)先摸清楚MB_Client的功能,单个读写功能进行下测试,顺便熟悉指令用法;

2)指令上手之后,就是增加轮询的功能。一个一个增加,考虑清楚切换的时序控制;务必确保在上一条指令执行成功或者错误(包括超时)之后,再切换下一个功能。

3)切换功能的方法,一是可以修改MB_Client的接口数据(mode,mb_data_addr,mb_data_len。mb_data_ptr不好修改,使用公用数据区); 二是可以调用多个MB_Client功能块,但要确保使用同一背景数据块和同样的Connect参数,不同功能的mode,mb_data_addr,mb_data_len, mb_data_ptr等参数事先配置好。


 
以下网友喜欢您的帖子:

  
版主

经验值: 76199
发帖数: 19143
精华帖: 378
回复:西门子1500modbus tcp通讯如何实现同时读写同一ip,id,端口号为502的设备数据


只看楼主 2楼 2021-09-15 23:09:12

读和写其实是一回事儿,都是一个任务


Zane 注册自动化系统工程师 Always save before download
以下网友喜欢您的帖子:

  
游民

经验值: 85
发帖数: 11
精华帖: 0
回复:西门子1500modbus tcp通讯如何实现同时读写同一ip,id,端口号为502的设备数据


只看楼主 3楼 2022-11-12 15:10:46

程序可以分成三步来写:

  1. 开机第一个上上升沿启动读指令。

  2. 读指令的DONE触发写指令。

  3. 写指令的DONE触发读指令。

  4. 此时读指令和写指令之间构成一个循环,在PLC的第一个扫描周期,MB_Clien指令读,在下一个扫描周期,MB_Clien指令写,再下一个扫描周期,MB_Clien指令读,周而复始。


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
西门子1500modbus tcp通讯如何实现同时读写同一ip,id,端口号为502的设备数据
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。