您现在的位置是:首页 > PLC技术 > PLC技术
IEC的STRING功能
来源:艾特贸易2017-06-05
简介STRING 功能允许使用字符串。如果执行过程中有错误发生,部分 STRING 功能将设置二进制结果 BR ,或 ENO 输出为 FALSE 。 STRING 功能检验实参的合法性(比如,应用到 STRING 变量的块参数的
STRING功能允许使用字符串。如果执行过程中有错误发生,部分STRING功能将设置二进制结果BR,或ENO输出为FALSE。
STRING功能检验实参的合法性(比如,应用到STRING变量的块参数的长度是否足够)。如果在暂态局部数据中声明一个STRING变量,要把其作为实参来使用,必须首先给它赋值一个必需长度的(任意)字符串。原因是编译器不能给暂态局部数据中的变量预赋值。就是说,它们的值是半随机的,对于STRING变量,其最大字节和当前长度也是如此。当对字符串赋值时,这些字节才能接收有意义的值。
1.FC 21 LEN求STRING变量的长度
调用:int:=LEN(string);
功能FC 21 LEN输出字符串的当前长度(有效的字符数)作为功能值。空字符串的长度为0,最大长度值为254。
功能不报告错误。
2.FC 11 FIND在字符串中查找STRING变量的位置
调用:int :=FIND(IN1:=string,IN2:=string);
功能FC 11 FIND返回第二个字符串(IN2)在第一个字符串(IN1)中的位置,查找从左边开始,只报告查找到的第一个字符串。如果第一个字符串不包含第二个字符串,则返回0。
功能不报告错误。
3.FC 20 LEFT取STRING变量的左边部分
调用:string:=LEFt(IN:=string,L:=int);
功能FC 20 LEFT返回字符串的前L个字符。如果L大于整个STRING变量的长度,则返回输入值。如果L=O或者输入一个空字符串,则返回一个空字符串。
如果L是负值,将输出一个空字符串,二进制结果BR或ENO输出设置为FALSE。
4.FC 32 RIGHT取STRING变量的右边部分
调用:string:=RIGHt(IN:=string,L:=int);
功能FC 32 RIGHT返回字符串的后L个字符,如果L大于整个STRING变量的长度,则返回输入值。如果L=O或者输入一个空字符串,则返回一个空字符串。
如果L是负值,将输出一个空字符串,二进制结果BR或ENO输出设置为FALSE。
5.FC 26 MID取STRING变量的中间部分
调用:string:=MId(IN:=string,L:=int,P:=int);
功能FC 26返回字符串的中间部分[从第P个字符(包含在内)开始取L个字符]。如果L加上P的和超出STRING变量的当前长度,则返回第P个字符后面所有的字符。
对于其他情况(P超出了当前长度,P和/或L的值为0或负值),都将输出一个空串,二进制结果BR或ENO输出设置为FALSE。
6.FC 2 CONCAT连接两个STRING变量
调用:string:=CONCAt(IN1:=string, IN2:=string);
功能FC 2 CONCAT将两个STRING变量连接在一起形成一个变量。
如果结果字符串的长度大于用作输出参数的变量,则结果字符串将限制在最大的设定长度,二进制结果BR或ENO输出设置为FALSE。
7.FC 17 INSERT插入到一个STRING变量中
调用:string:=INSERT(IN1:=string, IN2:=string,P=int);
功能FC 17 INSERT把参数IN2中的字符串插入到参数IN1中字符串的第P个字符之后。如果P等于0,则第二个字符串插入到第一个字符串前面。如果P大干第一个字符串的长度,第二个字符串附加在第一个的后面。
如果P为负值,将输出一个空串,二进制结果BR或ENO输出将设为FALSE。如果结果字符串的长度大于输出参数指定的变量,二进制结果BR或ENO输出也将设为FALSE。此时,结果字符串限制在最大的设定长度。
8.FC 4 DELETE删除一个STRING变量
调用:string:=DELETE(IN:=string,L:=int,P:=int);
功能FC 4 DELETE删除从字符串的第P个字符开始(包括在内)的L个字符。如果L和/或P等于0,或者P大干输入字符串的最大长度,将返回输入的字符串。如果L加P的和大于输入的字符串,则将删除后面的所有字符。
如果L和/或P是负值,将输出一个空串,二进制结果BR或ENO输出设为FALSE。
9.FC 31 REPLACE替换一个STRING变量
调用:string=REPLACE(IN1:=string,IN2:=string,L:=int,P:=int);
功能FC 31 REPLACE使用第二个字符串(IN2)替换第一个字符串(IN1)中从第P个字符开始的(包括在内)L个字符。如果L等于0,则返回第一个字符串;如果P等于0或1,则替换从第一个字符开始(包括在内)。如果P超出了第一个字符串,则第二个字符串附加在第一个字符串后面。
如果L和/或P是负值,将输出空串,且二进制结果BR或ENO输出设为FALSE。如果结果字符串的长度大于输出参数指定的变量,二进制结果BR或ENO输出也将设为FALSE。此时,结果字符串限制在最大的设定长度。
点击排行
