








一、前序
MOVE_BLK指令进行处理。

如果前后出现不固定位数的空格字符的时候,西门子自带的常规的指令就很难处理了。
今天我们分享一段SCL小程序,实现带有空格的字符串截取方法



//截取字符赋值#截取字符 := ' ';IF #截取触发 THEN //字符串总长度获取 #数据总长度 := LEN(#处理前字符串); //前空格截取 //循环查找需要截取字符 FOR #i := 1 TO #数据总长度 DO //循环截取1个符比较 #截取比较字符 := MID(IN := #处理前字符串, L := 1, P := #i); //循环截取字符没有找到后进行截取赋值,退出循环 IF #截取比较字符 <> ' ' THEN #字符串中转 := RIGHT(IN := #处理前字符串, L := #数据总长度 - (#i - 1)); //#字符串中转 := MID(IN := #处理前字符串, L := #数据总长度 - #i + 1, P := #i); EXIT; END_IF; END_FOR; //后空格处理 //找出需要截取的后空格符位置 #字符比较位置 := FIND(IN1 := #字符串中转, IN2 := #截取字符); //后字符比较判断 IF #字符比较位置 = 0 THEN //等于0表示没有找到要比较字符,则直接复制 #处理后字符串 := #字符串中转; ELSE //不等于0表示找到要比较字符,把检测到字符串位置减1,等于需要截取字符串总数 #处理后字符串 := MID(IN := #字符串中转, L := #字符比较位置 - 1, P := 1); END_IF; #截取触发 := FALSE;END_IF;


(1)字符后面,有空格字符处理效果

(2)字符前面,有空格字符处理效果

(3)字符前后,都有空格字符处理效果

| 成立日期 | 2022年11月17日 | ||
| 主营产品 | 西门子PLC代理商,plc变频器,伺服电机,人机界面,触摸屏,线缆,DP接头 | ||
| 公司简介 | 广东湘恒智能科技有限公司主要从事工业自动化产品的集成,销售与维修。致力于为您提供在机械、化工、水泥、电力、环保等领域的电气及自动化技术的完整解决方案,包括自动化产品及系统、工程项目执行及管理、主要过程控制领域技术支持,以及专业的售后服务、培训等。公司本着“以人矢志创新、追求卓越”的工作方针,致力于工业自动化控制领域的产品开发、工程配套和系统集成、销售,拥有丰富的自动为本、科 ... | ||









