System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 精品无码黑人又粗又大又长 ,国产av无码专区亚洲av果冻传媒,亚洲av无码一区二区三区人妖
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種用于在線更新的PLC程序生成方法、裝置及電子設備制造方法及圖紙

    技術編號:40787284 閱讀:17 留言:0更新日期:2024-03-28 19:18
    本申請公開了一種用于在線更新的PLC程序生成方法、裝置及電子設備,涉及工業控制技術領域和計算機技術領域,包括:獲取新版本PLC程序源代碼,新版本PLC程序源代碼中包含多個代碼單元,多個代碼單元與老版本PLC程序源代碼包含的多個老版代碼單元一一對應;將新版本PLC程序源代碼編譯為WebAssembly代碼,作為新版WebAssembly代碼,新版WebAssembly代碼中包含與多個代碼單元一一對應的多個代碼塊,新版代碼單元對應的代碼塊為新版代碼塊,多個代碼塊與老版WebAssembly代碼包含的多個老版代碼塊一一對應,老版WebAssembly代碼為對老版本PLC程序源代碼進行編譯得到的;在老版WebAssembly代碼中,添加新版代碼塊,得到用于更新的WebAssembly代碼。采用本方案,能夠生成用于在線更新的PLC程序。

    【技術實現步驟摘要】

    本申請涉及工業控制和計算機,尤其涉及一種用于在線更新的plc程序生成方法、裝置及電子設備。


    技術介紹

    1、plc(可編程邏輯控制器,programmable?logic?controller)在工業控制領域具有廣泛的應用,工業plc是工業自動化控制系統中重要的組成部分,plc在運行時會不斷讀取輸入信號狀態,并根據當前運行的plc程序的邏輯進行處理,最終輸出相應的結果。

    2、因為可以執行實時的控制、管理和監控數據,確保生產線的精準運行和高效性能,因此plc的可靠性對生產線的正常運行和企業的生產效率具有重要影響。在現代工業生產中,有不斷升級和改進的需求,因此支持不停機在線修改plc程序的工業plc產品具有很高的實用價值:

    3、保證生產線的連續運行:plc是工業自動化控制系統中的核心技術之一,它能夠監控并控制工業設備的運行,確保設備始終在最佳狀態下運行,從而保證整條生產線的連續性和穩定性。

    4、減少工業停機時間:一個高性能、可靠的plc系統能夠及時檢測并修復故障,這將減少設備的故障率、減少停機時間,提高生產線的運行效率、減少生產損失。

    5、降低生產成本:利用plc控制工業設備可以優化生產流程,降低生產成本。通過實時監控和測量,plc可以精確地調整和優化生產過程,從而提高生產效率和設備利用率,降低能源消耗和材料使用。


    技術實現思路

    1、本申請實施例提供一種用于在線更新的plc程序生成方法、裝置及電子設備,用以解決現有技術中存在的如何生成用于在線更新的plc程序的問題。

    2、本申請實施例提供一種用于在線更新的plc程序生成方法,包括:

    3、獲取新版本plc程序源代碼,所述新版本plc程序源代碼中包含多個代碼單元,所述多個代碼單元與老版本plc程序源代碼包含的多個老版代碼單元一一對應,所述多個代碼單元中部分代碼單元相比對應的老版代碼單元不變,其余代碼單元為相比對應的老板代碼單元存在修改的新版代碼單元,所述新版代碼單元的接口與對應的老版代碼單元的接口保持一致;

    4、將所述新版本plc程序源代碼編譯為webassembly代碼,作為新版webassembly代碼,所述新版webassembly代碼中包含與所述多個代碼單元一一對應的多個代碼塊,所述新版代碼單元對應的代碼塊為新版代碼塊,所述多個代碼塊與老版webassembly代碼包含的多個老版代碼塊一一對應,所述老版webassembly代碼為對所述老版本plc程序源代碼進行編譯得到的;

    5、在所述老版webassembly代碼中,添加所述新版代碼塊,得到用于更新的webassembly代碼。

    6、進一步的,在所述在所述老版webassembly代碼中,添加所述新版代碼塊之前,還包括:

    7、獲取所述新版webassembly代碼的所述新版代碼塊的數據結構布局,所述數據結構布局為在編譯所述新版本plc程序源代碼的過程中,在webassembly線性空間中為所述新版代碼塊分配的;

    8、如果所述新版代碼塊的數據結構布局,與所述新版代碼塊對應的老版代碼塊的數據結構布局一致,執行所述在所述老版webassembly代碼中,添加所述新版代碼塊的步驟,所述老版代碼塊的數據結構布局為在編譯所述老版本plc程序源代碼的過程中,在webassembly線性空間中為所述老版代碼塊分配的。

    9、進一步的,所述新版代碼塊的數據結構布局,包括:所述新版代碼塊的功能塊數據結構和全局變量的內存布局。

    10、進一步的,在所述在所述老版webassembly代碼中,添加所述新版代碼塊之前,還包括:

    11、基于在編譯所述新版本plc程序源代碼的過程中生成的導出信息中代碼單元的標識信息,從所述新版webassembly代碼中獲取所述新版代碼塊。

    12、進一步的,所述在所述老版webassembly代碼中,添加所述新版代碼塊,得到用于更新的webassembly代碼,包括:

    13、在所述老版webassembly代碼的各所述老版代碼塊的后面,追加所述新版代碼塊,得到用于更新的webassembly代碼;并將所述老版webassembly代碼對應的函數段中所述老版代碼塊的索引,修改為指向對應的所述新版代碼塊的偏移位置,得到與用于更新的webassembly代碼對應的函數段;或者

    14、在所述老版webassembly代碼中,使用所述新版代碼塊替換對應的老版代碼塊,得到用于更新的webassembly代碼。

    15、進一步的,所述在所述老版webassembly代碼中,使用所述新版代碼塊替換對應的老版代碼塊,得到用于更新的webassembly代碼,包括:

    16、在所述老版webassembly代碼的各所述老版代碼塊中,基于各所述老版代碼塊的排列位置,刪除所述新版代碼塊對應的老版代碼塊,并將所述新版代碼塊添加到對應的所述老版代碼塊所處的排列位置,得到用于更新的webassembly代碼;并按照替換后包括的各保留的所述老版代碼塊和所述新版代碼塊的偏移位置,在所述老版webassembly代碼對應的函數段中修改各代碼塊指向的偏移位置,得到與用于更新的webassembly代碼對應的函數段;或者

    17、將所述新版代碼塊,以及所述老版webassembly代碼的各所述老版代碼塊,轉換為文本格式的代碼塊,得到新版文本代碼塊和老版文本代碼塊;并使用所述新版文本代碼塊,替換對應的老板文本代碼塊,得到文本格式的用于更新的文本代碼;以及將所述文本代碼編譯為webassembly代碼,得到用于更新的webassembly代碼,并生成與該用于更新的webassembly代碼對應的函數段。

    18、本申請實施例還提供一種用于在線更新的plc程序生成方法,包括:

    19、獲取新版本plc程序源代碼,所述新版本plc程序源代碼中包含多個代碼單元,所述多個代碼單元與老版本plc程序源代碼包含的多個老版代碼單元一一對應,所述多個代碼單元中部分代碼單元相比對應的老版代碼單元不變,其余代碼單元為相比對應的老板代碼單元存在修改的新版代碼單元,所述新版代碼單元的接口與對應的老版代碼單元的接口保持一致;

    20、將所述新版本plc程序源代碼編譯為webassembly代碼,作為新版webassembly代碼,所述新版webassembly代碼中包含與所述多個代碼單元一一對應的多個代碼塊,所述新版代碼單元對應的代碼塊為新版代碼塊,所述多個代碼塊與老版webassembly代碼包含的多個老版代碼塊一一對應,所述老版webassembly代碼為對所述老版本plc程序源代碼進行編譯得到的;

    21、獲取所述新版webassembly代碼的所述多個代碼塊的數據結構布局,所述數據結構布局為在編譯所述新版本plc程序源代碼的過程中,在webassembly線性空間中為所述多個代碼塊分配的;

    本文檔來自技高網...

    【技術保護點】

    1.一種用于在線更新的PLC程序生成方法,其特征在于,包括:

    2.如權利要求1所述的方法,其特征在于,在所述在所述老版WebAssembly代碼中,添加所述新版代碼塊之前,還包括:

    3.如權利要求2所述的方法,其特征在于,所述新版代碼塊的數據結構布局,包括:所述新版代碼塊的功能塊數據結構和全局變量的內存布局。

    4.如權利要求1所述的方法,其特征在于,在所述在所述老版WebAssembly代碼中,添加所述新版代碼塊之前,還包括:

    5.如權利要求1所述的方法,其特征在于,所述在所述老版WebAssembly代碼中,添加所述新版代碼塊,得到用于更新的WebAssembly代碼,包括:

    6.如權利要求5所述的方法,其特征在于,所述在所述老版WebAssembly代碼中,使用所述新版代碼塊替換對應的老版代碼塊,得到用于更新的WebAssembly代碼,包括:

    7.一種用于在線更新的PLC程序生成方法,其特征在于,包括:

    8.如權利要求7所述的方法,其特征在于,所述多個代碼塊的數據結構布局,包括:所述多個代碼塊的功能塊數據結構和全局變量的內存布局。

    9.如權利要求7所述的方法,其特征在于,還包括:

    10.如權利要求9所述的方法,其特征在于,所述在所述老版WebAssembly代碼中,添加所述新版代碼塊,得到用于更新的WebAssembly代碼,包括:

    ...

    【技術特征摘要】

    1.一種用于在線更新的plc程序生成方法,其特征在于,包括:

    2.如權利要求1所述的方法,其特征在于,在所述在所述老版webassembly代碼中,添加所述新版代碼塊之前,還包括:

    3.如權利要求2所述的方法,其特征在于,所述新版代碼塊的數據結構布局,包括:所述新版代碼塊的功能塊數據結構和全局變量的內存布局。

    4.如權利要求1所述的方法,其特征在于,在所述在所述老版webassembly代碼中,添加所述新版代碼塊之前,還包括:

    5.如權利要求1所述的方法,其特征在于,所述在所述老版webassembly代碼中,添加所述新版代碼塊,得到用于更新的webassembly代碼,包括:...

    【專利技術屬性】
    技術研發人員:王鑫
    申請(專利權)人:蘇州虹鯨智能科技有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 伊人无码精品久久一区二区| 92午夜少妇极品福利无码电影| 无码孕妇孕交在线观看| 国产V亚洲V天堂无码久久久| 久久精品中文无码资源站| 成人无码a级毛片免费| 曰产无码久久久久久精品| 无码成人AAAAA毛片| 亚洲最大av资源站无码av网址| 亚洲高清无码综合性爱视频| 亚洲av无码电影网| 精品一区二区三区无码免费视频| 日韩少妇无码喷潮系列一二三| 无码人妻丰满熟妇区毛片18| 无码精品人妻一区二区三区人妻斩| 高h纯肉无码视频在线观看| 无码人妻一区二区三区av| 精品亚洲成在人线AV无码| 在线a亚洲v天堂网2019无码 | 无码日韩AV一区二区三区| 无码人妻丝袜在线视频| 亚洲色中文字幕无码AV| 无码av最新无码av专区| 丝袜无码一区二区三区| 精品无码久久久久久尤物| 亚洲中文久久精品无码ww16| 精品无码人妻久久久久久| 少妇无码太爽了不卡视频在线看 | 亚洲男人在线无码视频| 在线无码午夜福利高潮视频| 亚洲av永久中文无码精品综合| 久久久久久久久免费看无码| 亚洲人成无码网WWW| 无码人妻少妇久久中文字幕| 狼人无码精华AV午夜精品| 人妻无码久久精品| 久久久久成人精品无码| 国产精品视频一区二区三区无码 | av无码aV天天aV天天爽| 人妻av无码专区| 亚洲自偷自偷偷色无码中文|