现在是从300PLC 里读上来的字符串变量,在VBS里直接用csng函数转换成浮点数,再插入SQL,奇怪的是同一句语句,在做试验的时候(一个小工程和PLCSIM联锁仿真)没问题,能正常转换,但是在放到现有工程里的时候,就VBS就报错,指示csng对象不匹配,仿真和实际工程的PLC程序一样,访问的变量地址、数据类型一样,到底是什么原因呢?急得我一晚上没睡好
下面是我的报错的脚本:
If EZ002 =1 Then
maxt= CSng(HMIRuntime.Tags("MTZ002").read)
MTZ002是5位字符串变量
maxt是AS内部变量
希望高人指点,还是我函数用的不对?
最佳答案
maxt是WinCC内部变量?而不是脚本里的变量吗?
如果是WinCC内部变量,应该这样写
HMIRuntime.Tags("maxt").Write CSng(HMIRuntime.Tags("MTZ002").read)
提问者对于答案的评价:
谢谢您!仔细查过了 是因为在PLC程序里对字符串变量初始化的时候 初始化为‘ ’,即空,所以CSNG才会报错
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc263226.html