CN116431603A - Plc程序的存储和加载方法、装置和电子设备 - Google Patents
Plc程序的存储和加载方法、装置和电子设备 Download PDFInfo
- Publication number
- CN116431603A CN116431603A CN202310254302.0A CN202310254302A CN116431603A CN 116431603 A CN116431603 A CN 116431603A CN 202310254302 A CN202310254302 A CN 202310254302A CN 116431603 A CN116431603 A CN 116431603A
- Authority
- CN
- China
- Prior art keywords
- plc program
- version
- plc
- database
- loading
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000011068 loading method Methods 0.000 title claims abstract description 56
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000001514 detection method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000002253 acid Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2291—User-Defined Types; Storage management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种PLC程序的存储和加载方法、装置、电子设备和存储介质,涉及PLC技术领域。该方法包括以下步骤:打开PLC程序的数据库文件,并对PLC程序的数据库文件进行解密;PLC程序的数据库为SQLite数据库,PLC程序的数据库文件包括系统信息表,系统信息表记载了PLC程序的数据库的原始版本信息及可修改版本信息;检测可修改版本信息的版本,并将可修改版本信息的版本与PLC编程软件可匹配的最新版本进行比较;若可修改版本信息的版本不低于PLC编程软件可匹配的最新版本,则加载PLC程序。根据本发明的PLC程序的存储和加载方法,能够使得PLC程序的加载速度明显变快;而且,在版本更新时,编写加载PLC程序的代码不用增加版本开关,代码变得更容易维护。
Description
技术领域
本发明涉及PLC技术领域,尤其是涉及一种PLC程序的存储和加载方法、装置、电子设备和存储介质。
背景技术
PLC(Programmable Logic Controller,可编程逻辑控制器)程序的存储和加载是PLC编程软件不可或缺的组成部分,该部分涉及到PLC型号信息、系统配置、模块单元、梯形图元件、元件注解和寄存器状态监视等涵盖PLC编程系统各个方面的综合信息。PLC程序的存储首先要保证其可靠性,要求存储时不能丢失信息;其次要保证其安全性,由于行业数据的敏感性,要求存储后的文件不能随意被查看或者用其它工具还原。此外,随着电子电气行业的迅速发展,各种新技术不断涌现,对PLC程序或者PLC编程软件来说,新概念新元素也在不断增加,版本更新的频率越来越快,这就要求PLC程序的存储的文件格式能够兼容并且扩展,也就是该文件格式的设计需要能够适应需求的不断变化,所以其可维护性也是应该考虑的;而且,由于PLC程序越来越复杂,其代码量在逐渐增大,这也对其存储和加载的速度提出了新要求。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出了一种PLC程序的存储和加载方法、装置、电子设备和存储介质,加载速度快,可维护性强。
一方面,根据本发明实施例的PLC程序的存储和加载方法,包括以下步骤:
打开PLC程序的数据库文件,并对所述PLC程序的数据库文件进行解密;所述PLC程序的数据库为SQLite数据库,所述PLC程序的数据库文件包括系统信息表,所述系统信息表记载了所述PLC程序的数据库的原始版本信息及可修改版本信息;
检测所述可修改版本信息的版本,并将所述可修改版本信息的版本与PLC编程软件可匹配的最新版本进行比较;
若所述可修改版本信息的版本不低于所述PLC编程软件可匹配的最新版本,则加载所述PLC程序。
根据本发明的一些实施例,所述方法还包括以下步骤:
若所述可修改版本信息的版本低于所述PLC编程软件可匹配的最新版本,则对所述PLC程序的数据库执行升级操作;
将升级后的所述PLC程序的数据库的可修改版本信息修改为所述PLC编程软件的模板数据库的版本信息。
根据本发明的一些实施例,所述将升级后的所述PLC程序的数据库的可修改版本信息作为所述PLC编程软件的模板数据库的版本信息的步骤之后,还包括:
将此次升级操作的相关信息写入日志表。
根据本发明的一些实施例,所述方法还包括以下步骤:
若所述PLC程序加载失败,则显示错误报告;
关闭所述PLC程序的数据库文件。
根据本发明的一些实施例,所述方法还包括对PLC程序的存储步骤,所述存储步骤包括:
将PLC程序的内容转换为SQL语句;
调用执行启动事务命令,执行所述SQL语句;
执行成功后,执行提交事务命令,完成对所述PLC程序的存储。
根据本发明的一些实施例,所述存储步骤还包括:
若所述SQL语句执行失败,停止执行所述启动事务命令;
显示所述SQL语句执行失败的原因。
根据本发明的一些实施例,所述方法还包括对PLC程序的查询步骤,所述查询步骤包括:
通过SQL语句查询所述PLC程序的各项数据。
另一方面,根据本发明实施例的PLC程序的存储和加载装置,包括:
获取模块,用于打开PLC程序的数据库文件,并对所述PLC程序的数据库文件进行解密;所述PLC程序的数据库为SQLite数据库,所述PLC程序的数据库文件包括系统信息表,所述系统信息表记载了所述PLC程序的数据库的原始版本信息及可修改版本信息;
检测模块,用于检测所述可修改版本信息的版本,并将所述可修改版本信息的版本与PLC编程软件可匹配的最新版本进行比较;
加载模块,用于在所述可修改版本信息的版本不低于所述PLC编程软件可匹配的最新版本时,加载所述PLC程序。
另一方面,根据本发明实施例的电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行上述的PLC程序的存储和加载方法。
另一方面,根据本发明实施例的存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述的PLC程序的存储和加载方法。
根据本发明实施例的PLC程序的存储和加载方法、装置、电子设备和存储介质,至少具有如下有益效果:采用了SQLite数据库来存储PLC程序,可以提高加载PLC程序文件的速度;通过使用SQLite的加密方式,可以保证PLC程序存储的安全性要求;通过对SQLite数据库的版本升级控制,能够解决前后版本的文件存储的识别兼容问题,从而提升可维护性。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例的PLC程序的存储和加载方法的步骤流程图;
图2为本发明实施例的PLC程序的加载过程的流程示意图;
图3为本发明实施例的PLC程序的数据库的升级过程的流程示意图;
图4为本发明实施例的PLC程序的存储过程的流程示意图;
图5为本发明实施例的PLC程序的存储和加载装置的结构示意图;
附图标记:
获取模块100、检测模块200、加载模块300。
具体实施方式
本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
在现有技术中,PLC程序的存储主要有以下两种方法:
1、使用加密的Ini文件进行文件存储;Ini文件指的是Initialization File,初始化文件,是很多操作系统配置文件所采用的存储格式,统管操作系统的各项配置;
2、使用自定义格式的二进制格式的文件进行文件存储。
对于上述的第1种方式,使用加密的Ini文件的存储方式虽然很安全,在扩展性方面也很好,但是其在速度性方面的表现则不尽人意,尤其是在PLC程序文件很大的情况下。
对于上述的第2种方式,采用自定义格式的二进制格式的存储方式在安全性等方面没有问题,速度性方面表现也较为优越,但这种存储方式的可维护性不高,随着时间的推移,PLC程序会变得越来越难以维护。举个梯形图元件的例子,假设在开始的版本1.0中,梯形图元件的描述使用N个维度描述就可以满足要求,然后在后续的版本中,需要增加新的维度,在文件中的对应的变化就是:元件的记录结构增长了,因为增加了新的字段。这个时候用于存储PLC程序的文件的格式肯定要进行修改,进行版本升级,升级到1.1;同时,软件通常是要兼容之前的版本的存储文件,所以新编程软件加载时,必须能够解析1.0版本和1.1版本的文件,在软件的源代码里肯定需要增加版本开关,以适应多种版本;在版本很多的情况下,源代码会变得越来越复杂,难以维护。
为了既能够解决第1种方式所带来的PLC程序加载时间很长的问题,又能够解决第2种方式在版本很多的情况下,代码难以维护的问题,在本发明实施例中,采用了SQLite数据库来存储PLC程序。SQLite数据库是一种小巧、迅速、可靠的小型数据库,能够支持多种操作系统,并能够跟很多程序语言相结合,且处理速度比较快;同时,SQLite数据库具有ACID(原子性、隔离性、一致性、持久性)事务功能,并且是零配置,不需要额外的安装和管理。通过使用SQLite数据库,可以提高加载PLC程序文件的速度;通过使用SQLite的加密方式,可以保证PLC程序存储的安全性要求;通过对SQLite数据库的版本升级控制,能够解决前后版本的文件存储的识别兼容问题,从而提升可维护性。
如图1所示,根据本发明实施例的PLC程序的存储和加载方法,包括以下步骤:
步骤S100:打开PLC程序的数据库文件,并对PLC程序的数据库文件进行解密;所述PLC程序的数据库为SQLite数据库,所述PLC程序的数据库文件包括系统信息表,所述系统信息表记载了所述PLC程序的数据库的原始版本信息及可修改版本信息;
步骤S200:检测所述可修改版本信息的版本,并将所述可修改版本信息的版本与PLC编程软件可匹配的最新版本进行比较;
步骤S300:若所述可修改版本信息的版本不低于所述PLC编程软件可匹配的最新版本,则加载所述PLC程序。
具体地,如图2所示,首先,PLC编程软件调用sqlite3_open函数打开PLC程序的数据库文件;待连接成功后,调用sqlite3_key函数解密PLC程序的数据库文件,因为PLC程序的数据库文件是加密存储的。该PLC程序的数据库除了会有包括程序型号信息表、程序单元表、梯形图元件表等信息的业务信息表之外,还会有一张系统信息表,该表描述了本PLC程序的数据库的原始版本信息和可修改版本信息,两个版本信息最开始是完全相同的,只是按约定后者可以修改,而前者是只读的,不能被修改。系统信息表的其中一种具体实施例如表1所示:
字段名称 | 数据类型 | 描述 | 备注 |
sParaName | Varchar(255) | 参数名称 | 主键 |
sParaValue | Varchar(255) | 参数数值 | |
sParaDesc | VarChar(255) |
表1
该表有参数名称、参数数值和参数描述等字段,并附带有如下所示的原始版本信息和可修改的版本信息:
PLC程序的数据库内置PLC程序单元信息表(UnitInfo),如表2所示,该表有程序单元ID、程序单元名称、单元语言类型、梯形图类型、程序类型、单元注释等字段用于存储PLC程序单元的ID、名称、语言类型和描述等信息。
表2
PLC程序的数据库内置PLC程序元件信息表(Component),如表3所示,该表用于存储梯形图中的PLC元件信息,包括所属程序单元、元件标识、元件分类、坐标信息、是否启用脉冲以及元件的各个参数名称等信息。
表3
PLC程序的数据库内置装置注解信息表(ElementHint),如表4,该表用于存储装置的注解和提示信息。
字段名称 | 数据类型 | 描述 | 备注 |
sNo | Varchar(30) | 装置标识 | 主键 |
sPostil | Varchar(255) | 装置注解 | |
sHint | Varchar(100) | 装置提示 |
表4
PLC编程软件在发布时,会附带对应版本的数据库作为模板数据库,并且编程软件内部本身也保存了自身可匹配的最新PLC程序数据库版本(该版本和模板数据库中的版本完全相同)。在PLC编程软件打开PLC程序的数据库文件时,会自动检测该PLC程序的数据库文件的可修改版本信息的版本,并和PLC编程软件本身可匹配的最新的数据库版本进行比较,如果前者不低于后者,则认为该PLC程序的数据库文件是更新版本的编程软件产生的,更新版本的数据库的结构相对之前的版本,字段等只会多不会少,因此老版本的PLC编程软件可以兼容解析。因此,在可修改版本信息的版本不低于PLC编程软件可匹配的最新版本的情况下,执行select语句,把型号信息、单元列表、梯形图元件列表、注解信息等从数据库中读取处理,转换成PLC编程系统的内部结构;读取完后,调用sqlite3_close函数关闭PLC程序的数据库文件,完成PLC程序的加载。如果在加载过程中出现错误(如数据不完整等问题),未能成功加载PLC程序,则显示错误报告,并关闭PLC程序的数据库文件。
如图3所示,本发明实施例的PLC程序的存储和加载方法,还包括以下步骤:
若可修改版本信息的版本低于PLC编程软件可匹配的最新的数据库版本,对PLC程序的数据库执行升级操作;
将升级后的PLC程序的数据库的可修改版本信息修改为PLC编程软件的模板数据库的版本信息。
具体地,当编程软件发现可修改版本信息的版本低于PLC编程软件可匹配的最新的数据库版本,则进行提示并且自动对PLC程序的数据库进行升级,使其与PLC编程软件的模板数据库的版本保持同步;升级之后,将已经升级的PLC程序的数据库的可修改版本信息修改为编程软件的模板数据库的版本信息,并把此次升级的相关信息写入日志表。
如图4所示,本发明实施例的PLC程序的存储和加载方法,还包括对PLC程序的存储步骤,该存储步骤包括:
将PLC程序的内容转换为SQL语句;
调用执行启动事务命令,执行所述SQL语句;
执行成功后,执行提交事务命令,完成所述PLC程序的存储。
具体地,如图4所示,首先调用sqlite3_open函数打开PLC程序的数据库文件;待连接成功后,再调用sqlite3_key函数解密数据库文件;然后把PLC程序的内容,如型号信息、单元列表、梯形图元件列表、注解信息等转化为SQL语句;然后,调用执行启动事务命令,执行SQL语句;执行成功后,再执行提交事务命令,完成PLC程序的储存;最后,调用sqlite3_close函数关闭PLC程序的数据库文件。
如图4所示,在本发明的一些实施例中,上述的存储步骤还包括:
若SQL语句执行失败,停止执行所述启动事务命令;
显示所述SQL语句执行失败的原因,并关闭PLC程序的数据库文件。
本发明实施例的PLC程序的存储和加载方法,还包括对PLC程序的查询步骤,所述查询步骤包括:通过SQL语句查询所述PLC程序的各项数据。
在PLC程序文件很大的情况下,通过SQL语句查询PLC程序文件中的各种数据,不需要用其它编程语言编写额外的各种统计代码,更加方便快速。
根据本发明实施例的PLC程序的存储和加载方法,通过使用SQLite数据库存储SQL程序,能够使得PLC程序的加载速度明显变快;而且,在版本更新时,编写加载PLC程序的代码不用增加版本开关,代码变得更容易维护;使用了SQLite数据库的主键以及限制后,如果PLC编程系统产生的数据不正确,比如元件列表中元件ID重复或者寄存器列表中地址重复时,存储就会失败并且同时报告失败原因,这可以反过来检验PLC编程系统处理的数据和结构的正确性,对PLC编程系统的软件质量有促进作用;在PLC程序文件很大的情况下,使用本方法后,可以更方便快速灵活地使用SQL语句查询PLC程序文件中的各种数据,而不需要用其它编程语言编写额外的各种统计代码。
另一方面,基于上述的PLC程序的存储和加载方法,本发明实施例还提出了一种PLC程序的存储和加载装置,如图5所示,该装置包括:
获取模块100,用于打开PLC程序的数据库文件,并对所述PLC程序的数据库文件进行解密;所述PLC程序的数据库为SQLite数据库,所述PLC程序的数据库文件包括系统信息表,所述系统信息表记载了所述PLC程序的数据库的原始版本信息及可修改版本信息;
检测模块200,用于检测所述可修改版本信息的版本,并将所述可修改版本信息的版本与PLC编程软件匹配的最新版本进行比较;
加载模块300,用于在所述可修改版本信息的版本不低于所述PLC编程软件匹配的最新版本时,加载所述PLC程序。
需要说明的是。上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
另一方面,本发明实施例还提出了一种电子设备,其包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行上述的PLC程序的存储和加载方法。
另一方面,本发明实施例还提出了一种存储介质,该存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述的PLC程序的存储和加载方法。
尽管本文描述了具体实施方案,但是本领域中的普通技术人员将认识到,许多其它修改或另选的实施方案同样处于本公开的范围内。例如,结合特定设备或组件描述的功能和/或处理能力中的任一项可以由任何其它设备或部件来执行。另外,虽然已根据本公开的实施方案描述了各种示例性具体实施和架构,但是本领域中的普通技术人员将认识到,对本文所述的示例性具体实施和架构的许多其它修改也处于本公开的范围内。
上文参考根据示例性实施方案所述的系统、方法、系统和/或计算机程序产品的框图和流程图描述了本公开的某些方面。应当理解,框图和流程图中的一个或多个块以及框图和流程图中的块的组合可分别通过执行计算机可执行程序指令来实现。同样,根据一些实施方案,框图和流程图中的一些块可能无需按示出的顺序执行,或者可以无需全部执行。另外,超出框图和流程图中的块所示的那些部件和/或操作以外的附加部件和/或操作可存在于某些实施方案中。
因此,框图和流程图中的块支持用于执行指定功能的装置的组合、用于执行指定功能的元件或步骤的组合以及用于执行指定功能的程序指令装置。还应当理解,框图和流程图中的每个块以及框图和流程图中的块的组合可以由执行特定功能、元件或步骤的专用硬件计算机系统或者专用硬件和计算机指令的组合来实现。
本文所述的程序模块、应用程序等可包括一个或多个软件组件,包括例如软件对象、方法、数据结构等。每个此类软件组件可包括计算机可执行指令,所述计算机可执行指令响应于执行而使本文所述的功能的至少一部分(例如,本文所述的例示性方法的一种或多种操作)被执行。
软件组件可以用各种编程语言中的任一种来编码。一种例示性编程语言可以为低级编程语言,诸如与特定硬件体系结构和/或操作系统平台相关联的汇编语言。包括汇编语言指令的软件组件可能需要在由硬件架构和/或平台执行之前由汇编程序转换为可执行的机器代码。另一种示例性编程语言可以为更高级的编程语言,其可以跨多种架构移植。包括更高级编程语言的软件组件在执行之前可能需要由解释器或编译器转换为中间表示。编程语言的其它示例包括但不限于宏语言、外壳或命令语言、作业控制语言、脚本语言、数据库查询或搜索语言、或报告编写语言。在一个或多个示例性实施方案中,包含上述编程语言示例中的一者的指令的软件组件可直接由操作系统或其它软件组件执行,而无需首先转换成另一种形式。
软件组件可存储为文件或其它数据存储构造。具有相似类型或相关功能的软件组件可一起存储在诸如特定的目录、文件夹或库中。软件组件可为静态的(例如,预设的或固定的)或动态的(例如,在执行时创建或修改的)。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
Claims (10)
1.一种PLC程序的存储和加载方法,其特征在于,包括以下步骤:
打开PLC程序的数据库文件,并对所述PLC程序的数据库文件进行解密;所述PLC程序的数据库为SQLite数据库,所述PLC程序的数据库文件包括系统信息表,所述系统信息表记载了所述PLC程序的数据库的原始版本信息及可修改版本信息;
检测所述可修改版本信息的版本,并将所述可修改版本信息的版本与PLC编程软件可匹配的最新版本进行比较;
若所述可修改版本信息的版本不低于所述PLC编程软件可匹配的最新版本,则加载所述PLC程序。
2.根据权利要求1所述的PLC程序的存储和加载方法,其特征在于,所述方法还包括以下步骤:
若所述可修改版本信息的版本低于所述PLC编程软件可匹配的最新版本,则对所述PLC程序的数据库执行升级操作;
将升级后的所述PLC程序的数据库的可修改版本信息修改为所述PLC编程软件的模板数据库的版本信息。
3.根据权利要求2所述的PLC程序的存储和加载方法,其特征在于,所述将升级后的所述PLC程序的数据库的可修改版本信息作为所述PLC编程软件的模板数据库的版本信息的步骤之后,还包括:
将此次升级操作的相关信息写入日志表。
4.根据权利要求1所述的PLC程序的存储和加载方法,其特征在于,所述方法还包括以下步骤:
若所述PLC程序加载失败,则显示错误报告;
关闭所述PLC程序的数据库文件。
5.根据权利要求1所述的PLC程序的存储和加载方法,其特征在于,所述方法还包括对PLC程序的存储步骤,所述存储步骤包括:
将PLC程序的内容转换为SQL语句;
调用执行启动事务命令,执行所述SQL语句;
执行成功后,执行提交事务命令,完成对所述PLC程序的存储。
6.根据权利要求5所述的PLC程序的存储和加载方法,其特征在于,所述存储步骤还包括:
若所述SQL语句执行失败,停止执行所述启动事务命令;
显示所述SQL语句执行失败的原因。
7.根据权利要求1所述的PLC程序的存储和加载方法,其特征在于,所述方法还包括对PLC程序的查询步骤,所述查询步骤包括:
通过SQL语句查询所述PLC程序的各项数据。
8.一种PLC程序的存储和加载装置,其特征在于,包括:
获取模块,用于打开PLC程序的数据库文件,并对所述PLC程序的数据库文件进行解密;所述PLC程序的数据库为SQLite数据库,所述PLC程序的数据库文件包括系统信息表,所述系统信息表记载了所述PLC程序的数据库的原始版本信息及可修改版本信息;
检测模块,用于检测所述可修改版本信息的版本,并将所述可修改版本信息的版本与PLC编程软件可匹配的最新版本进行比较;
加载模块,用于在所述可修改版本信息的版本不低于所述PLC编程软件可匹配的最新版本时,加载所述PLC程序。
9.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行权利要求1-7中任一项所述的PLC程序的存储和加载方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1-7中任一项所述的PLC程序的存储和加载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310254302.0A CN116431603A (zh) | 2023-03-15 | 2023-03-15 | Plc程序的存储和加载方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310254302.0A CN116431603A (zh) | 2023-03-15 | 2023-03-15 | Plc程序的存储和加载方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116431603A true CN116431603A (zh) | 2023-07-14 |
Family
ID=87091724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310254302.0A Pending CN116431603A (zh) | 2023-03-15 | 2023-03-15 | Plc程序的存储和加载方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116431603A (zh) |
-
2023
- 2023-03-15 CN CN202310254302.0A patent/CN116431603A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107678936B (zh) | 业务系统预先稽查方法、服务器及计算机可读存储介质 | |
CN104572387A (zh) | 一种工程模式下调试终端的方法及装置 | |
US20210157929A1 (en) | Method for the analysis of source texts | |
CN114924737A (zh) | 一种电池管理系统源代码集成测试方法、测试装置及电子设备 | |
CN110837429A (zh) | 一种web端线上代码智能修复方法及装置 | |
CN111352842A (zh) | 基于嵌入式的软件调试方法 | |
CN111444208B (zh) | 一种数据更新方法及相关设备 | |
CN116431603A (zh) | Plc程序的存储和加载方法、装置和电子设备 | |
EP3336626B1 (en) | Memory analysis for industrial controllers | |
KR930003412B1 (ko) | 문자판독시스템 및 방법 | |
JP3048792B2 (ja) | オペレーティングシステムの自動入れ替え方法及びそれを利用した計算機システム | |
CN102460386B (zh) | 用于在引导过程期间加载文件的方法和装置 | |
CN111897583A (zh) | 一种设备启动方法及嵌入式设备 | |
US7877557B2 (en) | Information processing system, information processing method and program | |
CN110569068A (zh) | 一种Linux驱动加载程序的方法及装置 | |
CN117632114B (zh) | 一种基于文件分析的fmu文件的导入方法和装置 | |
CN111813431B (zh) | 一种软件升级方法、智能电视及存储介质 | |
CN109726131B (zh) | 缺陷检测方法及缺陷检测装置 | |
CN111949278B (zh) | 一种自动安装mcs系统的方法、系统、终端及存储介质 | |
CN110134458B (zh) | Qnx操作系统通用无源码软件参数调整方法及其系统、及系统的实现方法 | |
CN111367559B (zh) | 一种电控模组在线刷新补丁的刷新方法 | |
CN117688551A (zh) | 启动路径白名单更新方法、装置、电子设备及存储介质 | |
CN117762518A (zh) | 一种基本输入输出系统的设定方法、装置、设备及介质 | |
CN116028027A (zh) | 代码格式的标准化方法、装置、电子设备和存储介质 | |
CN117389660A (zh) | 检测jar包同名类的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |