技术论坛

modbus tcp通讯困惑

作者 主题
侠士

经验值: 1307
发帖数: 91
精华帖: 0
主题:【求助】modbus tcp通讯困惑


只看楼主 楼主 2020-03-03 18:39:31

工程描述:选用200smart(服务器)与第三方设备(客户端)modbus tcp通讯,第三方设备(客户端)已经确定了通讯协议,只能采用04与16功能码读写服务器数据(见下图)。

问题:200smart的数据有250个放在V寄存器供客户端读取,客户端只能支持04功能码而不能改到03功能码,请问有什么方法可以让客户端读到200smart内的寄存器?比如加什么硬件等





 
以下网友喜欢您的帖子:

  
重要声明:

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

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

至圣

经验值: 17195
发帖数: 2948
精华帖: 6
回复:modbus tcp通讯困惑


只看楼主 1楼 2020-03-03 21:33:51

 还有不支持03功能码的MODBUS上位机?前所未闻。


只能支持04功能码,也就是只能读30001 开始总共120个,AIW0-118.  虽然AIW0-118中间有很多地址在程序中是空闲的,但是这些地址并不能接受V存储器传输的数据,所以使用30001 开始的某些地址来传输V存储器的数据是困难的。

  03功能码是MODBUS的标准,我就不相信做上位机的能做出没有03功能码的MODBUS程序来。不支持03功能码没道理。你还是去与上位机商量,提供03功能码。16功能码没有问题。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 30306
发帖数: 4513
精华帖: 26
回复:modbus tcp通讯困惑


只看楼主 2楼 2020-03-03 21:36:54

读和写的区别不是很大的,你只要把客户端的信息读上来,那写入客户端也就不是问题了


 
以下网友喜欢您的帖子:

  
至圣

经验值: 17195
发帖数: 2948
精华帖: 6
回复:modbus tcp通讯困惑


只看楼主 3楼 2020-03-04 19:46:01

 说实话,作为上位机,他没有选择不支持03功能码的权利,除非你们与他们签订的技术协议答应了人家的不合理要求。

作为上位机,他只有选择不支持不符合国际标准的通信协议。这些都是行业默认的规矩。

按照一般常规,双方既然选择了modbus tcp协议,你只要严格按照这个协议做,不出错就没有你的事。当然合同和技术协议规定的也要遵守。


 
以下网友喜欢您的帖子:

  
游侠

经验值: 366
发帖数: 65
精华帖: 0
回复:modbus tcp通讯困惑


只看楼主 4楼 2020-03-15 21:32:16

设计肯定有他的合理性,查了下SMART系统说明书,模拟量模块最多56个数据。肯定不需要全部读,可能就只是你几通道的数据,你说的2百多个数据肯定大部分16功能写的。一个CPU能带载这么多模拟量看300或400能行么?


 
以下网友喜欢您的帖子:

  
新手

经验值: 47
发帖数: 1
精华帖: 0
回复:modbus tcp通讯困惑


只看楼主 5楼 2020-03-16 22:11:34

使用两台PLC,其中一台接受16功能码并用模拟量输出模块接另一台PLC的AI,把要04功能码的数据用AO传过去


 
以下网友喜欢您的帖子:

  
游民

经验值: 113
发帖数: 4
精华帖: 0
回复:modbus tcp通讯困惑


只看楼主 6楼 2020-07-03 14:46:12

是否可以反过来,200SMART作为客户端,第三方设备作为服务器


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
modbus tcp通讯困惑
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。