我们经常遇到操作员要求在触摸屏或上位机输入用户姓名和登录密码等问题,尤其在有追踪需求的生产企业,那么我们在组态时对文本输入或字符串输入的情况,应该注意哪些细节呢。
以我近期碰到的例子简要说一下吧:
客户登录密码保护的参数设置页面需要输入用户名和密码,后台要核验用户名和密码是否满足登录条件,并记录登录时间,触摸屏上组态了字符串输入控件、对输入的字符串变量进入PLC后,CPU要判断是否需要高低字节互换,因为西门子和第三方HMI连接使用经常遇到高低字节颠倒问题,字符串顺序正常后再进行字符串校验等后续工作。
首先,组态触摸屏或PC的输入对话框时,最好组态字符串的起始地址为字节类型,如果是字类型,就需要进行高低字节调换,如下图:

这样就省去字节调换过程;虽然部分产品带有高低字节反转的功能选项,但是建议优先组态字节+字符长度的方式,这样就省去高低字互换过程;若字符串变量只能以字地址开始,需要在PLC中验证选中高低字反转功能是否满足需要,如果勾选高低字反转后仍达不到要求,需要用户自行在CPU中处理字符串顺序。
以下是我组态的字地址的字符串,然后自行在CPU中高低字节互换的程序:
Network 1
LD V45.0
MOVD &VB53, VD75
BMB MB1, VB53, 6
MOVW 0, VW65
S V45.1, 1
R M7.0, 1
Network 2
LD V45.1
FOR VW65, 1, 3
Network 3
LD V45.1
SWAP *VD75
+D 2, VD75
Network 4
NEXT
Network 5
LD V45.1
MOVB 21, MB21