xuzhanily
kakasese
级别: 探索解密
精华主题: 0
发帖数量: 76 个
工控威望: 196 点
下载积分: 1186 分
在线时间: 326(小时)
注册时间: 2012-03-28
最后登录: 2024-12-11
查看xuzhanily的 主题 / 回贴
楼主  发表于: 2021-07-29 11:38
我们通常在做非标设备的时候,经常会遇到需要不同品牌PLC之间数据交互,这里提出了一种简单易实现的解决方案(不需要增加硬件成本,不需要PLC双方写通讯指令)
下面是我做的一个测试的程序(一台威纶MT8102IE+1200PLC+台达AS332PLC)
前提是IP设置在同一个网段里,
威纶触摸屏写如下宏指令,周期执行即可!

macro_command main()
bool M=0
bool M1=0
int DTEMP1=0
GetData(M, "DELTA AS300 MODBUS TCP/IP", Y_Bit, 0, 1)
SetData(M, "Siemens S7-1200/S7-1500", Q, 10, 1)
GetData(M1, "DELTA AS300 MODBUS TCP/IP", Y_Bit, 2, 1)
SetData(M1, "Siemens S7-1200/S7-1500", Q, 11, 1)
GetData(DTEMP1, "DELTA AS300 MODBUS TCP/IP", D, 100, 1)
SetData(DTEMP1, "Siemens S7-1200/S7-1500", MW, 100, 1)
end macro_command
以上,供大家参考使用,并积极发表意见。
附件: 测试(威纶宏指令).rar (1456 K) 下载次数:87
网站提示: 请不要用迅雷下载附件,容易出错
工控勤哥
级别: 工控侠客
精华主题: 0
发帖数量: 255 个
工控威望: 3675 点
下载积分: 8556 分
在线时间: 203(小时)
注册时间: 2016-06-23
最后登录: 2024-12-10
查看工控勤哥的 主题 / 回贴
1楼  发表于: 2021-08-02 14:54
宏指令用数组,直接一次传多个数据,如果PLC间有位交换,建议在各自的PLC内处理成一个数据,这样可以提高通信效率。个人拙见,供参考!