三菱FX5U中字符串的查找与替换怎么用?(附程序案例)

boyanx4个月前技术教程15
今天我们来讲一下字符串的查找,当在通信过程中,我们收到的是一系列的字符串,我们要在一系列字符串中查找有用的信息并进行与协议对比,然后得出对比结果并进行相应的处理,字符串的查找一般会用在PLC与其他设备通信中,前面我们讲过了一些列的字符串处理方法:
三菱FX5U中如何在一串字符串中随意截取部分字符串-字符串提取指令的应用
三菱FX5U字符串长度检测指令的应用
三菱FX5U字符串传递及字符串转化为浮点型数据相关指令的应用
三菱FX5U与上位机Socket通信(PLC作为客户端,附详细程序及注解)
一、指令介绍
字符串查找指令: INSTR
官方解释:从(s2)中指定的软元件编号以后中存储的字符串数据的左侧第(s3)字符开始,搜索(s1)中指定的软元件编号以后中存储的字符串数据,将搜索结果存储到(d)中指定的软元件中。
内容、范围、数据类型:

(s1): 搜索字符串或存储了搜索字符串的软元件起始编号 字符串类型

(s2): 搜索的字符串或存储了搜索的字符串的软元件起始编号 字符串类型

(d) : 存储搜索结果的软元件起始编号 有符号BIN16位

(s3): 搜索开始位置 有符号BIN16位

可以使用的软元件:

出错代码 (SD0/SD8067)

2820H:

(s1)中指定的软元件以后,相应软元件的范围内没有NULL代码(00H)时。

(s2)中指定的软元件以后,相应软元件的范围内没有NULL代码(00H)时。

3405H:

(s3)的值超过了(s2)的字符数时。

(s1)的字符串超过了16383字符时。

(s2)的字符串超过了16383字符时。

二、程序测试

官方解释永远都是非常晦涩难懂,我们用程序案例来讲解这个指令的使用:

我们将字符串“adcd1234”传送到D122

将字符串“cd”传送到D156

将字符串“12”传送到D158

我们分别在D122中查找D156与D158中的字符串,直接看结果:

我们可以看到,字符串“cd”在字符串“adcd1234”中的位置是从第三个字符开始,所以D166中的数据为“3”,并且我们设置的是从D122的左侧第一个字符开始搜索。

我们又设置了从 D122的左侧第二个字符开始搜索,搜索字符串“12”在D122中的位置,结果发现,搜索结果为“5”,就是不管从第几位开始搜索,字符串的位置始终为从D122第一位开始排序。

注意: 搜索开始位置(s3)为负数或“0”的情况下,不进行处理。如下:

将字符串“12”传送到D160

我们可以看到,指令执行过后,因为S3的值设置的为“0”,所以D170的值没有发生变化。


相关文章

刘心向学(37)__repr__ 与 __str__:深入理解对象的字符串表示

分享兴趣,传播快乐, 增长见闻,留下美好! 亲爱的您,这里是LearningYard新学苑。 今天小编为大家带来文章 “刘心向学(37):__repr__ 与 __str__:深入理解对象的字符串表示...

Python学不会来打我(8)字符串string类型深度解析

2025年全球开发者调查显示,90%的Python项目涉及字符串处理,而高效使用字符串可提升代码效率40%。本文系统拆解字符串核心操作,涵盖文本处理、数据清洗、模板生成等八大场景,助你掌握字符串编程精...

必看!Concatenate 函数 , 字符串拼装的 “拼接大师”,快学起来!

在 Excel 的函数大家庭里,Concatenate 函数就像是一位勤劳的 “拼接大师”,专门负责把多个文本字符串合并成一个连贯的文本字符串 。无论是处理姓名、地址,还是组合各种数据信息,它都能轻松...

AI 编码史诗级翻车现场!刚刚,Replit 一键删光客户整个生产数据库,官方连夜补锅

整理|冬梅策划|Tina1 网友痛斥 Replit AI 失控,删除了他们整个数据库昨夜,一位 X ID 名为 Jason 的用户发帖痛斥开发协作平台 Replit 在数据库事故处理中的混乱表现,引发...

[oeasy]python0129_unicode中文字符序号十三道大辙_字符编码解码

unicode 中文字符分类 回忆上次内容字符集从博多码到 ascii再到 iso-8859 系列各自割据如何把世界上各种字符统进行编码unicode顺势而生不断进化不过字符总量超过了65536每个汉...

Go语言字符串拼接性能对比与最佳实践 - 深度优化指南

字符串拼接在日常开发中非常的常见,go 也有多种方式可以进行字符串拼接,但是当数据量足够大的情况下,不同的拼接方式会产生显著的性能差异。本文通过基准测试数据,带您深入理解Go语言字符串操作的底层机制,...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。