System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() PLC程序热转移方法、热备用实现方法、装置及电子设备制造方法及图纸_技高网

PLC程序热转移方法、热备用实现方法、装置及电子设备制造方法及图纸

技术编号:40986091 阅读:2 留言:0更新日期:2024-04-18 21:30
本申请公开了一种PLC程序热转移方法、热备用实现方法、装置及电子设备,涉及工业控制技术领域和计算机技术领域,包括:第一PLC引擎加载兼容版本PLC程序到内存中,兼容版本PLC程序为WebAssembly代码;通过解析兼容版本PLC程序,生成兼容版本的WebAssembly模块数据结构;对兼容版本的WebAssembly模块数据结构执行实例化操作,得到兼容版本的WebAssembly模块实例,兼容版本的WebAssembly模块实例的WebAssembly内存布局,与在第二PLC引擎上当前运行的PLC程序的当前WebAssembly模块实例的WebAssembly内存布局相同;将当前WebAssembly模块实例的WebAssembly内存布局中的内存数据,复制到兼容版本的WebAssembly模块实例的WebAssembly内存布局中;通过启用兼容版本PLC程序的任务执行入口,运行兼容版本PLC程序。采用该方案,实现了PLC程序的热转移。

【技术实现步骤摘要】

本申请涉及工业控制和计算机,尤其涉及一种plc程序热转移方法、热备用实现方法、装置及电子设备。


技术介绍

1、plc(可编程逻辑控制器,programmable logic controller)在工业控制领域具有广泛的应用,工业plc是工业自动化控制系统中重要的组成部分,plc在运行时会不断读取输入信号状态,并根据当前运行的plc程序的逻辑进行处理,最终输出相应的结果。

2、因为可以执行实时的控制、管理和监控数据,确保生产线的精准运行和高效性能,因此plc的可靠性对生产线的正常运行和企业的生产效率具有重要影响。在现代工业生产中,有不断升级和改进的需求,因此支持不停机在线修改plc程序的工业plc产品具有很高的实用价值:

3、保证生产线的连续运行:plc是工业自动化控制系统中的核心技术之一,它能够监控并控制工业设备的运行,确保设备始终在最佳状态下运行,从而保证整条生产线的连续性和稳定性。

4、减少工业停机时间:一个高性能、可靠的plc系统能够及时检测并修复故障,这将减少设备的故障率、减少停机时间,提高生产线的运行效率、减少生产损失。

5、降低生产成本:利用plc控制工业设备可以优化生产流程,降低生产成本。通过实时监控和测量,plc可以精确地调整和优化生产过程,从而提高生产效率和设备利用率,降低能源消耗和材料使用。


技术实现思路

1、本申请实施例提供一种plc程序热转移方法、热备用实现方法、装置及电子设备,用以解决现有技术中存在的如何实现plc程序热转移的问题,以及如何实现plc程序的热备用的问题。

2、本申请实施例提供一种plc程序热转移方法,应用于第一plc引擎,包括:

3、加载兼容版本plc程序到内存中,所述兼容版本plc程序为webassembly代码;

4、通过解析所述兼容版本plc程序,生成兼容版本的webassembly模块数据结构;

5、对所述兼容版本的webassembly模块数据结构执行实例化操作,得到兼容版本的webassembly模块实例,所述兼容版本的webassembly模块实例的webassembly内存布局,与在第二plc引擎上当前运行的plc程序的当前webassembly模块实例的webassembly内存布局相同;

6、将所述当前webassembly模块实例的webassembly内存布局中的内存数据,复制到所述兼容版本的webassembly模块实例的webassembly内存布局中;

7、通过启用所述兼容版本plc程序的任务执行入口,运行所述兼容版本plc程序。

8、进一步的,在所述将所述当前webassembly模块实例的webassembly内存布局中的内存数据,复制到所述兼容版本的webassembly模块实例的webassembly内存布局中之前,还包括:

9、获取所述第二plc引擎在当前plc任务周期内的任务执行结束后,向所述第一plc引擎所位于的运行环境发送的所述当前webassembly模块实例的webassembly内存布局中的内存数据;或者

10、从所述第一plc引擎所位于的运行环境中,获取预先同步的所述当前webassembly模块实例的webassembly内存布局中的内存数据,预先同步的该内存数据为所述第二plc引擎在每个plc任务周期内的任务执行结束后,向所述第一plc引擎所位于的运行环境同步的,所述第一plc引擎与所述第二plc引擎位于不用的运行环境中。

11、进一步的,所述通过启用所述兼容版本plc程序的任务执行入口,运行所述兼容版本plc程序,包括:

12、从所述第二plc引擎上运行的该plc程序的当前plc任务周期的下一个plc任务周期开始,通过启用所述兼容版本plc程序的任务执行入口,运行所述兼容版本plc程序。

13、进一步的,webassembly内存布局中的内存数据,包括:

14、webassembly线性空间和webassembly globals表中的数据。

15、进一步的,所述webassembly线性空间中的数据,包括:

16、全局变量、功能块数据结构、程序常量数据和程序的堆空间数据;

17、所述webassembly globals表中的数据,包括:

18、webassembly global对象。

19、进一步的,所述兼容版本plc程序与在所述第二plc引擎上当前运行的该plc程序包含的代码块中包含相同的program对象,作为plc周期任务的执行入口。

20、进一步的,所述兼容版本plc程序与在第二plc引擎上当前运行的plc程序为相同的plc程序;或者

21、相比在第二plc引擎上当前运行的plc程序的版本,所述兼容版本plc程序的版本更新。

22、本申请实施例还提供一种plc程序的热备用实现方法,应用于备用plc引擎,包括:

23、所述备用plc引擎加载备用plc程序到内存中,所述备用plc程序与所述主用plc程序为webassembly代码;

24、通过解析所述备用plc程序,生成备用webassembly模块数据结构;

25、对所述备用webassembly模块数据结构执行实例化操作,得到备用webassembly模块实例,所述备用webassembly模块实例的webassembly内存布局,与所述主用plc程序的主用webassembly模块实例的webassembly内存布局相同;

26、将所述主用webassembly模块实例的webassembly内存布局中的内存数据,复制到所述备用webassembly模块实例的webassembly内存布局中,所述主用webassembly模块实例的webassembly内存布局中的内存数据,为所述主用plc引擎预先同步至所述备用plc引擎一侧的;

27、通过启用所述兼容版本plc程序的任务执行入口,运行所述兼容版本plc程序。

28、进一步的,所述备用plc引擎与所述主用plc引擎位于不同的运行环境中;

29、在所述主用plc引擎上运行的所述主用plc程序的每个plc任务周期内的任务执行结束后,所述主用webassembly模块实例的webassembly内存布局中修改的内存数据,被同步至所述备用plc引擎所位于的运行环境中;

30、在所述将所述主用webassembly模块实例的webassembly内存布局中的内存数据,复制到所述备用webassembly模块实例的webassembly内存布局中之前,还包括:

31、从所述备用plc引擎所位于的运行环境中,获取预先同步的所述主用webassembly模块实例的webassembly内存布局中的内存数据本文档来自技高网...

【技术保护点】

1.一种PLC程序热转移方法,其特征在于,应用于第一PLC引擎,包括:

2.如权利要求1所述的方法,其特征在于,在所述将所述当前WebAssembly模块实例的WebAssembly内存布局中的内存数据,复制到所述兼容版本的WebAssembly模块实例的WebAssembly内存布局中之前,还包括:

3.如权利要求2所述的方法,其特征在于,所述通过启用所述兼容版本PLC程序的任务执行入口,运行所述兼容版本PLC程序,包括:

4.如权利要求1-3任一项所述的方法,其特征在于,WebAssembly内存布局中的内存数据,包括:

5.如权利要求4所述的方法,其特征在于,所述WebAssembly线性空间中的数据,包括:

6.如权利要求3所述的方法,其特征在于,所述兼容版本PLC程序与在所述第二PLC引擎上当前运行的该PLC程序包含的代码块中包含相同的PROGRAM对象,作为PLC周期任务的执行入口。

7.如权利要求1所述的方法,其特征在于,所述兼容版本PLC程序与在第二PLC引擎上当前运行的PLC程序为相同的PLC程序;或者

8.一种PLC程序的热备用实现方法,其特征在于,应用于备用PLC引擎,包括:

9.如权利要求8所述的方法,其特征在于,所述备用PLC引擎与所述主用PLC引擎位于不同的运行环境中;

10.如权利要求8所述的方法,其特征在于,在所述将所述主用WebAssembly模块实例的WebAssembly内存布局中的内存数据,复制到所述备用WebAssembly模块实例的WebAssembly内存布局中之前,还包括:

...

【技术特征摘要】

1.一种plc程序热转移方法,其特征在于,应用于第一plc引擎,包括:

2.如权利要求1所述的方法,其特征在于,在所述将所述当前webassembly模块实例的webassembly内存布局中的内存数据,复制到所述兼容版本的webassembly模块实例的webassembly内存布局中之前,还包括:

3.如权利要求2所述的方法,其特征在于,所述通过启用所述兼容版本plc程序的任务执行入口,运行所述兼容版本plc程序,包括:

4.如权利要求1-3任一项所述的方法,其特征在于,webassembly内存布局中的内存数据,包括:

5.如权利要求4所述的方法,其特征在于,所述webassembly线性空间中的数据,包括:

6.如权利要求3所述的方法,其特征在于,所...

【专利技术属性】
技术研发人员:王鑫
申请(专利权)人:苏州虹鲸智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1