如何读取西门子PLC的中文字符串?

随着信息化水平的不断提升,实际生产运行过程中,各类PLC不可避免地需要应对字符信息的应用场景,这种需求日益凸显,对于提高生产效率和数据管理的精准性至关重要。考虑到国内环境的需求,中文字符串的支持也成为项目改造和应用的重要环节。一些报警信息和事件如果可以通过中文字符串的形式展现出来,对工业现场的操作人员和运维人员来说将大大提高协同效率。

下面我们就以西门子1200/1500系列PLC为例介绍一下KEPServerEX如何读取西门子PLC的中文字符串数据。

对于西门子的S7-1200、S7-1500,有string和wstring两种字符串数据类型。那么这两种有什么区别吗?

1、

string一般针对ASCII编码格式,是以字符(char)数组的形式表示,最大空间是256字节。第一和第二字节记录的是分配长度和实际长度,所以实际的数据有效长度是254字节。

2、

wstring一般针对unicode编码格式,是以宽字符(wchar)数组的形式表示,最大空间是256个宽字符,也就是256*2=512个字节。跟string类型一样,在plc中第一和第二个wchar记录的事分配长度和实际长度,最终实际有效数据长度为254*2=508字节。

由于编码格式的不同,ASCII编码一共规定了128个字符编码,不在这范围内的符号就会显示乱码。而unicode几乎包含了全部的符号,每一个符号都有一个唯一对应的编码,包括中文汉字在内。

在了解了这些之后,相信大家对如何读取西门子PLC中的中文字符已经有了一定的思路和方向。这些了解将为您在实际应用中处理中文字符数据提供有力的支撑和参考。

当前KEPServerEX的Siemens和Siemens Plus驱动不支持unicode编码,所以无法直接读取到中文字符串数据。需要使用到OPC UA驱动才可以。

这样需要在PLC中开启OPC UA接口,并且将中文字符串数据类型改为wstring,在KEPServerEX中通过OPC UA Client驱动进行读取。

  1. 启用UA接口
  2. 开启UA访问权限
  3. 设置数据权限
  4. KEPServerEX使用OPC UA连接

  5. 读取数据正常

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值