一屏多机,即一台触摸屏控制多台PLC。一般有PLC与PLC通讯,然后一台PLC与触摸屏通讯;PLC与PLC通讯,触摸屏再与各PLC通讯;触摸屏与各PLC单独通讯。
最近做了几个一屏多机的项目,用的是最后一种触摸屏与各PLC单独通讯,PLC少,只有两台,做起来也方便,节约成本。今天遇到了一个要PLC与PLC之间数据交换的问题,这个问题只有通过触摸屏来转换传输资料了,查了查资料,实验OK,下面与大家来一起分享下。
硬件配置:
三菱PLC:
FX3G-14MT/ES-A 一台
FX3U-128MT/ES-A 一台
FX3U-485-BD模块 一块
威纶通触摸屏: TK6100I
触摸屏、PLC设置:参见帖子 一台触摸屏屏控制多台PLC http://bbs.gongkong.com/d/201505/621715_1.shtml
不再多述。
使用指令:
GetDataEx(a, "Mitsubishi FX3U/FX3G", M, 800, 1),此指令的意思为读取Mitsubishi FX3U/FX3G(为3G )PLC变量 M800的状态到变量a中。
SetData(a, "FX3U-485-BD", M, 801, 1)此指令的意思为把变量a的状态写到FX3U-485-BD(为3U)PLC变量 到M801中。
整体宏程序
macro_command main()
short a
GetDataEx(a, "Mitsubishi FX3U/FX3G", M, 800, 1)
SetData(a, "FX3U-485-BD", M, 801, 1)
end macro_command
制作按钮
制作指示灯
模拟效果
一切OK
也可以传送数据,若需回传数据,再多写一个读写宏指令