node-red S7读取String中的中文


需要安装Iconv、S7,下面以读取string[32]为例,S7的PLC设置就不演示了。

Node-Red读取PLC的string[32]类型为中文说明

首先是在PLC变量表中设置读取的类型为Byte

演示图片

打印当前内容可以看到它输出以下内容:

输出内容

西门子PLC的第一个byte表示string的实际长度
第二个byte表示string的已用长度
西门子的string不会清除之前写入的字符串只会覆盖然后修改第二个位的已用长度
下面要做的就比较简单了

10进制转GBK编码

在nod-red中安装iconv模块它是一个字符编码转换块

安装iconv

安装后要在C:\Users\xingchuang\.node-red\settings.js中编辑
找到一个functionGlobalContext属性并定义iconv: require('iconv-lite')

导入iconv

然后重启node-red才会生效
在前面读取到10进制字符串后,要转为int数组

转换函数

最后在适当地方调用即可。


文章作者: Young
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Young !
评论
  目录