一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种处理PLC字符串中无效字符的方法、装置及设备与流程

2022-04-27 02:52:06 来源:中国专利 TAG:

一种处理plc字符串中无效字符的方法、装置及设备
技术领域
1.本发明涉及数据处理技术领域,特别涉及一种处理plc字符串中无效字符的方法、装置及设备。


背景技术:

2.plc作为工厂数据存储最常见的载体,也是mes系统进行数据采集的一个常用底层数据源。
3.然而目前plc的品牌与型号多种多样,采集的数据类型也有很多,部分型号plc对字符串类型的数据长度无法进行有效处理,或者由于数据长度变化后执行端未进行及时清理数据、此型号plc不支持清空数据等原因,在字符串长度变化之后会生成一部分无效的字符,而在opcserver端无法判断哪些字符属于有效字符,从而导致采集到的数据包含一部分“脏数据”。
4.以西门子s7-300型号plc为例,在设定字符串长度为64位的点位中,实际有效字符从30位改为28位后,前28位字符内容发生了改变,但第29位和第30位还是保留了原本的数据,从而导致采集过来的依然是包含两位无效字符在内的30位字符串数据,影响系统数据的正常展示。


技术实现要素:

5.本发明提供一种处理plc字符串中无效字符的方法、装置及设备,实现了不同品牌型号plc采集字符串中无效字符的处理。
6.为了解决上述技术问题,本发明实施例提供如下技术方案:
7.第一方面,本发明实施例提供一种处理plc字符串中无效字符的方法,包括以下步骤:
8.针对待处理字符串定义有效长度位;
9.获取待处理字符串的有效长度;
10.基于所述有效长度,截取所述待处理字符串数据位数据满足所述有效长度的数据;
11.将所述截取的数据作为有效数据。
12.优选地,所述待处理字符串由数据块地址、起始位和字符串长度组成。
13.优选地,还包括步骤:针对待处理字符串定义最大长度位和数据位,所述最大长度位、所述有效长度位和所述数据位依序排列。
14.优选地,所述最大长度与字符串长度一致。
15.第二方面,本发明实施例提供了一种处理plc字符串中无效字符的装置,包括:
16.定义模块,用于针对待处理字符串定义有效长度位;
17.获取模块,用于获取待处理字符串的有效长度;
18.截取模块,用于基于所述有效长度,截取所述待处理字符串数据位数据满足所述
有效长度的数据;
19.有效数据模块,用于将所述截取的数据作为有效数据。
20.优选地,所述待处理字符串由数据块地址、起始位和字符串长度组成。
21.优选地,所述定义模块还用于针对待处理字符串定义最大长度位和数据位,所述最大长度位、所述有效长度位和所述数据位依序排列。
22.优选地,所述最大长度与字符串长度一致。
23.第三方面,本发明实施例提供了一种设备,包括:处理器以及存储有计算机程序的存储器;
24.所述处理器,用于执行所述计算机程序,以用于:
25.针对待处理字符串定义有效长度位;
26.获取待处理字符串的有效长度;
27.基于所述有效长度,截取所述待处理字符串数据位数据满足所述有效长度的数据;
28.将所述截取的数据作为有效数据。
29.第四方面,本发明实施例提供了一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器实现第一方面任一项所述方法中的步骤。
30.采用上述技术方案,通过定义有效长度位,获取字符串的有效长度,根据有效长度截取满足有效长度的数据,如此得到实际字符串数据,得到有效字符,去除了无效字符。本方案可以在采集plc的字符串数据时,不用考虑不同型号的plc差异,形成一个标准化的采集与处理方式,将采集方式与系统前端的处理方式进行统一。
附图说明
31.图1为本发明实施例所提供的一种处理plc字符串中无效字符的方法的流程图;
32.图2为本发明实施例所提供的一种处理plc字符串中无效字符的方法的示例图;
33.图3为本发明实施例所提供的一种处理plc字符串中无效字符的装置的框架图。
具体实施方式
34.下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
35.其中,在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本技术实施例的描述中,“多个”是指两个或多于两个。
36.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
37.plc作为工厂数据存储最常见的载体,也是mes系统进行数据采集的一个常用底层数据源。
38.然而目前plc的品牌与型号多种多样,采集的数据类型也有很多,部分型号plc对字符串类型的数据长度无法进行有效处理,或者由于数据长度变化后执行端未进行及时清理数据、此型号plc不支持清空数据等原因,在字符串长度变化之后会生成一部分无效的字符,而在opcserver端无法判断哪些字符属于有效字符,从而导致采集到的数据包含一部分“脏数据”。
39.以西门子s7-300型号plc为例,在设定字符串长度为64位的点位中,实际有效字符从30位改为28位后,前28位字符内容发生了改变,但第29位和第30位还是保留了原本的数据,从而导致采集过来的依然是包含两位无效字符在内的30位字符串数据,影响系统数据的正常展示。
40.基于以上存在的种种问题,第一方面,本发明实施例提供了一种处理plc字符串中无效字符的方法,如图1所示,包括以下步骤:
41.步骤s101、针对待处理字符串定义有效长度位;
42.在plc上定义一个有效长度位,用于存储字符串的有效长度。
43.该有效长度占用2个字节。
44.步骤s102、获取待处理字符串的有效长度;
45.步骤s103、基于有效长度,截取待处理字符串数据位数据满足有效长度的数据;
46.步骤s104、将截取的数据作为有效数据。
47.采用上述技术方案,通过定义有效长度位,获取字符串的有效长度,根据有效长度截取满足有效长度的数据,如此得到实际字符串数据,得到有效字符,去除了无效字符。本方案可以在采集plc的字符串数据时,不用考虑不同型号的plc差异,形成一个标准化的采集与处理方式,将采集方式与系统前端的处理方式进行统一。
48.作为一种优选的实施方式,待处理字符串由数据块地址、起始位和字符串长度组成。
49.作为一种优选的实施方式,还包括步骤:针对待处理字符串定义最大长度位和数据位,最大长度位、有效长度位和数据位依序排列。
50.作为一种优选的实施方式,最大长度与字符串长度一致。
51.下面以图2为例进行详细说明,如图2所示,字符串在plc中是通过一个个字符与一个长度组合而成,以字符串db42.dbb550.64为例,展示的是plc的db42模块第550位到第613位组合而成的数据,对于这种字符串数据无效数据的处理,需要在plc上定义一个有效长度(db42.dbb551),实际采集数据时通过实际字符串的第三位,也是就db42.dbb552开始采集,即,需要采集的点位为db42.dbb551(char)与db42.dbb552.64(string)两个。
52.系统处理:通过上述两个点位,我们可以知道这个字符串的实际有效长度,在系统的展示时,通过有效长度(db42.dbb551)采集到的数据,对实际数据(db42.dbb552.64)进行截取,截取时,遵循ascii码的解码规则,取实际有效长度进行展示。
53.第二方面,本发明实施例提供了本发明实施例提供了一种处理plc字符串中无效字符的装置,如图3所示,包括:
54.定义模块21,用于针对待处理字符串定义有效长度位;
55.获取模块22,用于获取待处理字符串的有效长度;
56.截取模块23,用于基于有效长度,截取待处理字符串数据位数据满足有效长度的数据;
57.有效数据模块24,用于将截取的数据作为有效数据。
58.作为一种优选的实施方式,待处理字符串由数据块地址、起始位和字符串长度组成。
59.作为一种优选的实施方式,定义模块21还用于针对待处理字符串定义最大长度位和数据位,最大长度位、有效长度位和数据位依序排列。
60.作为一种优选的实施方式,最大长度与字符串长度一致。
61.本实施例以上所述的一种处理plc字符串中无效字符的装置,可以用于执行上述各对应方法实施例中的技术方案,其实现原理和技术效果类似,其中各个模块的功能可以参考方法实施例中相应的描述,此处不再赘述。
62.第三方面,本发明实施例提供了一种设备,包括:处理器以及存储有计算机程序的存储器;
63.所述处理器,用于执行所述计算机程序,以用于:
64.针对待处理字符串定义有效长度位;
65.获取待处理字符串的有效长度;
66.基于有效长度,截取待处理字符串数据位数据满足有效长度的数据;
67.将截取的数据作为有效数据。
68.第四方面,本发明实施例提供了一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器实现第一方面任一项所述方法中的步骤。
69.存储器包括但不限于是随机存储记忆体(random access memory,ram)、只读存储器(read-only memory,rom)、可擦除可编程只读存储器(erasable programmable read only memory,eprom)、或便携式只读存储器(compact disc read-only memory,cd-rom),该存储器用于相关指令及数据。处理器可以是中央处理器(central processing unit,cpu)。
70.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程设备。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digital subscriber line,dsl))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digital versatile disc,dvd))、或者半导体介质(例如:固态硬盘(solid state disk,
ssd))等。
71.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
72.以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献