PLC协议S7欧姆龙FINS三菱MC

2023-08-14 08:36:18
微图
3705
最后编辑:微图 于 2026-03-10 15:40:12
分享链接
摘要:注意:读西门子时,PLC本身(1)允许远程对象put/get√上,(2)要读DB块时,优化的块访问√得去掉,不然node-red读报错。 PLC协议西门子S7欧姆龙FINS三菱MC

关键字 s7 in


读200SmartPLC

文档:https://zhuanlan.zhihu.com/p/200779050?utm_id=0

视频:https://www.douyin.com/video/7267548307751259449

写PLC

发现node-red只能写正数:0-4294967295

有负数的数存全局变量,在服务器上算


var init = msg.payload.init;
//node-red只能给PLC写正数,写个绝对值正数,让其有变化就行
msg.payload = Math.abs(init);

//init存到全局变量
var topic = msg.topic + '/init';

global.set(topic, init);

return msg;
var topic = 'kb/ys1' + '/init';
msg.payload.ct = (global.get(topic) || 0) + msg.payload.mQty;
return msg;
测试数据



{
    "ename": "ys15",
    "init": -1,
    "mQty": 111
}

连1200测试

没勾允许远程对象的put/get通信访问,就会报错。


PLC error [0x8104]: This service is not implemented on the module or a frame error was reported



读1200DB块时,优化的块访问√得去掉,不然node-red读不到。

虚拟PLC地址对应

坑:1.用hsl 跑s7虚拟服务,跨区读点会报错,而真PLC不会。


如同时读I区和Q区,或者同时读DB1区和Q区


2.读没建立的DB块或者DB块的变量是会导致node-red断开的。

3.PLC的路由要设置,路由器映射端口服务时,外层设备才能访问到


发表评论
评论通过审核后显示。
  • 在线客服
  • 关注微信
    • 客服帆帆
    • 客服娜娜
    • 客服美美
    • 客服龙龙
  • 扫一扫关注微信