fc10字符串比较的问题
112.95.251.214
发布于2014-04-30 17:41
1
0
标签:
做个程序,比较二个字符串是否相同,新建一个共享db1数据块里面有两个变量
1:name_1初始地址0.0类型string[32],
2;name_2初始地址34.0类型string[32],
现在在ob1中调用fc10如下
call"eq_strng"
s1:=db1.name_1//p#db1.dbx0.0
s2:=db1.name_2//p#db1.dbx34.0
ret_val:=m0.0
然后在wincc中做两个字符串变量,在wincc里把这两个变量改变为一样和不一样m0.0都没有变化,是什么原因呢?查了下fc10的功能帮助,显示在调用fc之前,必须在string数据类型的临时变量的管理字节“maximumstringlenght”输入定义的字符串长度,和这个有关系吗?如果有应该怎样改,另外,在step7的变量表里面怎样监视字符串变量呢,
佳答案
1、先回答后面的问题,如果是step7v5.5以前的版本,只能在变量表中一个字节一个字节的显示,头两个字节用十进制,后边用字符,这样就一目了然了;
2、前面的问题涉及到字符串头两个字节,他们有特定含义,个表示字符串总长度,例如程序中定义的,应该是32,而第二个字节是根据需要可以调整,在这可以叫需要比较的有效长度,比如需要比较32个字符中前8个的异同,那就把它赋值为8,就可以了。如果通过wincc给过来两个字符串的前8个字符都一样,那么返回值m0.0会置1。