关于Modbus-RTU用MB_MASTER指令块使用的问题

1200PLC做MODBUS通讯主站程序时,需要调用MB_COMM_LOAD这个块用于初始化模块,这个块有个MB_DB管脚是连接MB_MASTER通讯块的背景数据块的,但在程序中需要多次调用MB_MASTER这个块,每次调用都会生成一个背景数据块,假设我有两个MB_MASTER这个块,分别有两个背景数据块,在初始化的时候如何同时初始化这两个背景数据块?还是MB_MASTER用一个背景数据库即可?通讯的轮询方式和200的一样?

问题补充:
我想知道的是我调用MB_MASTER如果有多少个是否可以共用一个背景数据块?MB_MASTER的使能端我采用上次调用的完成信号来启动,上次通讯的完成信号同时复位上次MB_MASTER的使能端;这样做可以吗?如果不可以的情况下做MODBUS通讯时有多少个MB_MASTER就得有多少个MB_CONN_LOAD?这样是不是有点太麻烦了?

最佳答案

"必须调用“MB_COMM_LOAD”一次以组态该端口使用 Modbus RTU 协议。 完成组态后,“MB_MASTER”和“MB_SLAVE”指令可以使用该端口。

"MB_COMM_LOAD" 只需再(注意这个再字)被调用一次,就可修改某个通信参数。 每次“MB_COMM_LOAD”调用将删除通信缓冲区中的内容。 为避免通信期间数据丢失,应避免不必要地调用该指令。

所以只要你执行某个MB_MASTER块前都执行一次MB_COMM_LOAD,而这个MB_COMM_LOAD的MB_DB管脚与要执行MB_MASTER块相对应就可以

对补充的回复:
1、你的想法可以,多个MB_MASTER可以共用一个背景数据块(见附图)
2、如果不是特殊原因,一个通信端口最好用一个MB_MASTER就可以了,多站轮询访问只需要在调用MB_MASTER之前整理好相关变量数据,从站地址、从站读取起始地址、读取字数、存放地址都可以是变量,做一个通信指针不停的去改变这些变量就可以

图片说明:

关于Modbus-RTU用MB_MASTER指令块使用的问题  

提问者对于答案的评价:
谢谢了

专家置评

已阅,最佳答案正确。
请参阅以下链接中多站轮寻的例子。
如何使用 STEP 7 (TIA Portal) V11 为 SIMATIC S7-1200 建立 MODBUS-RTU 通讯?
http://support.automation.siemens.com/CN/view/zh/47756141

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc199326.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年10月24日
下一篇 2017年10月24日

相关推荐

  • TIA V13 s71200 有没有周期脉冲指令?

    TIA V13 s71200 有没有周期脉冲指令?实现每隔一段时间接通的效果。 最佳答案 系统自身有固定的脉冲,需要手动触发,设备视图—系统和时钟存储…

    SIMATIC S7-1200 2017年8月15日
  • 在线无法访问

    本人使用的是TIA V11编程软件,在 在线访问一栏使用无线网连接CPU,但是始终显示不出“更新可访问的设备。但连接有线时就可以搜索出来并能上传下载CPU内容 …

    2017年11月4日
  • 博图v14怎么不能同时仿真两个1200以太网通讯

    我的两个1200 tcpip通讯,怎么不能同时在线仿真啊,报错显示已取消与plc-2建立在线连接,这是因为plc-1已连接同一个设备,我用的是1215C &nb…

    SIMATIC S7-1200 2017年6月10日
  • 1200轴控制

    s7-1200的运动控制可以做凸轮控制吗?如果可以,怎么做?能给个资料或样例,谢谢。 最佳答案 1200不支持凸轮控制,凸轮要用300TCPU,要求速度及精度高的话就要用simot…

    SIMATIC S7-1200 2017年6月19日
  • 我的S7-200要与五个RS485设备用自由协议通讯怎么办

    我的S7-200要与五个RS485设备用自由协议通讯怎么办,要加什么模块 最佳答案 1,要与5个设备通讯,采用自由口通信协议。2,西门子S7-200系列PLC支持自由口通信协议。所…

    SIMATIC S7-1200 2017年11月16日
  • v11出现下面界面怎么处理

    v11出现下面界面怎么处理 图片说明:    最佳答案 软件未授权,你要安装授权(秘钥)保护知识产权用的,原则上要买的,如果你买硬件的话可以让你的硬件供货商给你…

    2017年10月31日
  • S7-1200连接OPC服务器时遇到问题

    我按照官方教程,用S7-1200连接Station Configurator做OPC服务器,下载硬件组态时遇到“已组态模块与目标模块之间差异”问题,无法下载,电脑用的是D…

    2017年11月12日
  • INT转换为REAL,为什么要乘100?

    在一个PID温度控制的例子中看到,将INT类型的温度设定值转换为REAL类型,通过NORM_X指令已经转换为REAL类型了,但后面还要乘100。为什么已经转换成REAL类型了,还要…

    2017年6月6日
  • s7-1200温度出现负值

    我用PT100 传感器,三根线,两根红线接一起和一根黑线分别接在热电阻模块的I+,I-两个端子上,可是,在线时出现负值或者极限值,是怎么回事?谢谢! 图片说明: &nbs…

    2017年10月31日
  • 通讯模块亮红灯,CPU报错

    CPU 为1212,通讯模块CM1242-5,模拟输入模块SM1231,总共就3个东东,程序编译无错,出现一个警告,下载后CPU运行报错,DP模块亮红灯,模拟量模块正常,…

    SIMATIC S7-1200 2017年11月6日