5. 标签变量的类型只支持单个DINT或DINT数组、单个REAL或REAL数组,或者UDT(用户自定义结构数据);
6. 其他详细特点请参考《1756-PM011J-EN-P》手册,发表日期2018年11月.
1. Studio 5000 Logix Emulate v30
2. Studio 5000 v30
3. RSLinx Classic 4.00
1. 主站PLC(MCP)同时发送数据到两个子站PLC(PLC1、PLC2);
2. 两个子站PLC(PLC1、PLC2)分别发送数据至主站(MCP).
1. 打开Studio 5000 Logix Emulate,如下图,分别在2、3、4号槽建立MCP、PLC1、PLC2共计3个模拟CPU.
2. 打开Studio 5000,新建项目MCP,其硬件组态如下图.
3. 打开Studio 5000,新建项目PLC1,其硬件组态如下图.
4. 打开Studio 5000,新建项目PLC2,其硬件组态如下图.
5. 在主站MCP的控制器标签里,建立变量生产者标签MCP_to_PLC,把该数据发送给子站PLC1和PLC2,Data Type为DINT[5], Type选择Produced,Max Consumers填写2.
6. 在主站MCP的控制器标签里,建立变量消费者标签PLC1_to_MCP,其用于接受子站PLC1发过来的数据,Data Type为DINT[3],Type选择Consumed,Producer选择PLC1,Remote Tag Name填写PLC_to_MCP,RPI(ms)填写100.
7. 在主站MCP的控制器标签里,建立变量消费者PLC2_to_MCP,其用于接受子站PLC2发过来的数据,Data Type为DINT[3],Type选择Consumed,Producer选择PLC2,Remote Tag Name填写PLC_to_MCP,RPI(ms)填写100.
8. 在子站站PLC1、PLC2的控制器标签里,建立变量消费者标签MCP_to_PLC,其用于接受主站MCP发过来的数据,Data Type为DINT[5],Type选择Consumed,Producer选择MCP,Remote Tag Name填写MCP_to_PLC,RPI(ms)填写100. 9. 在子站站PLC1、PLC2的控制器标签里,建立变量生产者标签PLC_to_MCP,Data Type为DINT[3], 把该数据发送给子主站MCP,Type选择Produced,Max Consumers填写1.
1、分别将MCP、PLC1、PLC2的程序下载到仿真器,并将CPU处于Run状态.
2、在MCP控制器标签里,将生产者标签MCP_to_PLC赋值,打开PLC1、PLC2控制器标签里,监视消费者MCP_to_PLC值,结果发现和MCP里的值一样,说明主站MCP已经将数据成功发送给子站PLC1和PLC2了,详见下图:
3、在PLC1和PLC2控制器标签里,将生产者标签PLC_to_MCP赋值,打开MCP控制器标签里,监视消费者PLC1_to_MCP、PLC2_to_MCP的值,结果发现分别和PLC1、PLC2里的值一样,说明子站PLC1、PLC2已经将数据成功发送给主站MCP了,详见下图: 结束语:至此,通过仿真软件模拟生产者/消费者的通信成功完成,在实际的项目开发过程中,方法和以上步骤一样,只是常用于网络中进行数据交换,如ControNet网络或EtherNet/IP网络。如需要仿真源代码,请发邮件联系我们:abseme@126.com
坚持原创 注重实用
---
【AB PLC工作室】
微信公众号ID:abseme
我们专注:罗克韦尔AB PLC等产品的应用
新浪博客:http://blog.sina.com.cn/loogv