需要安装Iconv、S7,下面以读取string[32]为例,S7的PLC设置就不演示了。
Node-Red读取PLC的string[32]类型为中文说明
首先是在PLC变量表中设置读取的类型为Byte
打印当前内容可以看到它输出以下内容:
西门子PLC的第一个byte表示string的实际长度
第二个byte表示string的已用长度
西门子的string不会清除之前写入的字符串只会覆盖然后修改第二个位的已用长度
下面要做的就比较简单了
10进制转GBK编码
在nod-red中安装iconv模块它是一个字符编码转换块
安装后要在
C:\Users\xingchuang\.node-red\settings.js
中编辑
找到一个functionGlobalContext
属性并定义iconv: require('iconv-lite')
然后重启node-red才会生效
在前面读取到10进制字符串后,要转为int数组
最后在适当地方调用即可。