您现在的位置是:首页 > PLC技术 > PLC技术

IEC的STRING功能

来源:艾特贸易2017-06-05

简介STRING 功能允许使用字符串。如果执行过程中有错误发生,部分 STRING 功能将设置二进制结果 BR ,或 ENO 输出为 FALSE 。 STRING 功能检验实参的合法性(比如,应用到 STRING 变量的块参数的

    STRING功能允许使用字符串。如果执行过程中有错误发生,部分STRING功能将设置二进制结果BR,或ENO输出为FALSE

   STRING功能检验实参的合法性(比如,应用到STRING变量的块参数的长度是否足够)。如果在暂态局部数据中声明一个STRING变量,要把其作为实参来使用,必须首先给它赋值一个必需长度的(任意)字符串。原因是编译器不能给暂态局部数据中的变量预赋值。就是说,它们的值是半随机的,对于STRING变量,其最大字节和当前长度也是如此。当对字符串赋值时,这些字节才能接收有意义的值。

    1FC 21 LENSTRING变量的长度

    调用:int=LEN(string)

    功能FC 21 LEN输出字符串的当前长度(有效的字符数)作为功能值。空字符串的长度为0,最大长度值为254

    功能不报告错误。

    2FC 11 FIND在字符串中查找STRING变量的位置

    调用:int =FIND(IN1:=stringIN2:=string);

    功能FC 11 FIND返回第二个字符串(IN2)在第一个字符串(IN1)中的位置,查找从左边开始,只报告查找到的第一个字符串。如果第一个字符串不包含第二个字符串,则返回0

    功能不报告错误。

    3FC 20 LEFTSTRING变量的左边部分

    调用:string:=LEFt(IN:=string,L:=int);

    功能FC 20 LEFT返回字符串的前L个字符。如果L大于整个STRING变量的长度,则返回输入值。如果L=O或者输入一个空字符串,则返回一个空字符串。

    如果L是负值,将输出一个空字符串,二进制结果BRENO输出设置为FALSE

    4FC 32 RIGHTSTRING变量的右边部分

    调用:string:=RIGHt(IN:=string,L:=int);

    功能FC 32 RIGHT返回字符串的后L个字符,如果L大于整个STRING变量的长度,则返回输入值。如果L=O或者输入一个空字符串,则返回一个空字符串。

    如果L是负值,将输出一个空字符串,二进制结果BRENO输出设置为FALSE

    5FC 26 MIDSTRING变量的中间部分

    调用:string:=MId(IN:=string,L:=int,P:=int);

    功能FC 26返回字符串的中间部分[从第P个字符(包含在内)开始取L个字符]。如果L加上P的和超出STRING变量的当前长度,则返回第P个字符后面所有的字符。

    对于其他情况(P超出了当前长度,P/L的值为0或负值),都将输出一个空串,二进制结果BRENO输出设置为FALSE

    6FC 2 CONCAT连接两个STRING变量

    调用:string:=CONCAt(IN1=string, IN2=string);

    功能FC 2 CONCAT将两个STRING变量连接在一起形成一个变量。

    如果结果字符串的长度大于用作输出参数的变量,则结果字符串将限制在最大的设定长度,二进制结果BRENO输出设置为FALSE

    7FC 17 INSERT插入到一个STRING变量中

    调用:string=INSERT(IN1=string, IN2=string,P=int);

    功能FC 17 INSERT把参数IN2中的字符串插入到参数IN1中字符串的第P个字符之后。如果P等于0,则第二个字符串插入到第一个字符串前面。如果P大干第一个字符串的长度,第二个字符串附加在第一个的后面。

    如果P为负值,将输出一个空串,二进制结果BRENO输出将设为FALSE。如果结果字符串的长度大于输出参数指定的变量,二进制结果BRENO输出也将设为FALSE。此时,结果字符串限制在最大的设定长度。

    8FC 4 DELETE删除一个STRING变量

    调用:string:=DELETE(IN:=string,L:=int,P=int);

    功能FC 4 DELETE删除从字符串的第P个字符开始(包括在内)的L个字符。如果L/P等于0,或者P大干输入字符串的最大长度,将返回输入的字符串。如果LP的和大于输入的字符串,则将删除后面的所有字符。

    如果L/P是负值,将输出一个空串,二进制结果BRENO输出设为FALSE

    9FC 31 REPLACE替换一个STRING变量

    调用:string=REPLACE(IN1:=string,IN2:=string,L:=int,P:=int);

    功能FC 31 REPLACE使用第二个字符串(IN2)替换第一个字符串(IN1)中从第P个字符开始的(包括在内)L个字符。如果L等于0,则返回第一个字符串;如果P等于01,则替换从第一个字符开始(包括在内)。如果P超出了第一个字符串,则第二个字符串附加在第一个字符串后面。

    如果L/P是负值,将输出空串,且二进制结果BRENO输出设为FALSE。如果结果字符串的长度大于输出参数指定的变量,二进制结果BRENO输出也将设为FALSE。此时,结果字符串限制在最大的设定长度。