找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
MB_CLIENT指令背景数据块,同一个服务器端,背景数据块要用同一个数据块。不同服务器端的背景数据不能一样。你这正在建立连接,说明你PLC没有和客户端没有建立连接。你截图中的REQ管脚都没有接通,怎么能有数据。而且你MB_CLIENT指令中CONNECT管脚关联的地址不一样,你 MB_CLIENT指令背景数据块还共用DB80,这些都是编程错误。你访问每一个从站 MB_CLIENT指令背景数据块需要一样,访问不同从站 MB_CLIENT指令背景数据块不能一样,需要分开使用。你服务端的端口一定要和CONNECT管脚关联参数的端口号一致。
S7-1500作为Modbus TCP客户端访问多个设备的方法:
https://support.industry.siemens.com/cs/cn/zh/view/109782521
MODBUS TCP 应用例程:
补充问题回答:
我不明白的是我要访问的是不同的从站且从站地址端口及ID都不同,MB_Client是需要多个背景数据块还是公用一个,应该如何设置,我看的手册都是相同的地址而我需要的是不同的地址啊!
回答:对同一服务器端轮询时MB_CLIENT指令的背景数据要是同一个,不同服务端轮询时,每个服务器中的MB_CLIENT背景数据块不能共用。也即是你服务器1用10条MB_CLIENT指令轮训,这时候这个服务器1中的MB_CLIENT指令的背景数据块要用同一个。你服务器2用了10条MB_CLIENT指令轮训,这时服务器2的MB_CLIENT地址背景数据块不能和服务器1一样,但是服务器2中的10条MB_CLIENT指令背景数据要一样。同样服务器3,4,5都是这样的原理。
简单点说就是服务器1的10条MB_CLIENT指令背景数据块为DB1服务器2的10条MB_CLIENT指令背景数据块为DB2。服务器3的10条MB_CLIENT指令背景数据块为DB3。这样一次类推。其他端口号每一个服务器都要单独,不能一样,ID也是。
点赞({{answerDetail.Q_Positive}})
评论
评论
精探推荐
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城