System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及plc編程軟件文本化編程,具體涉及一種基于c++語言的plc編程方法。
技術介紹
1、plc指可編程邏輯控制器,是一種以微處理器為基礎,綜合了計算機技術、自動控制技術和通信技術而發展起來的一種通用的工業自動控制裝置,具有體積小、功能強、程序設計簡單、靈活通用、維護方便等一系列的優點,特別是它的高可靠性和較強的適應惡劣工業環境的能力,使其目前廣泛應用于各種工業領域。
2、iec61131-3標準提供了五種plc的標準編程語言,包括梯形圖(ld)、功能塊圖(fbd)、順序功能圖(sfc)、結構化文本(st)、指令表(il)。在模塊化程序設計環境下,程序組織單元pou(program?organization?unit)是用戶程序中最小的、獨立的軟件單元,在iec61131-3標準中定義了三種類型的pou,按其功能的遞增順序依次為函數(function,fun)、功能塊(function?block,fb)和程序(program,prog)。
3、iec61131-3標準提供的五種plc編程語言可以滿足用戶大部分情況下的使用需求,但是面對復雜邏輯處理和算法實現的應用場景時,常規的plc編程語言難以完成全部的程序編寫,相比而言,c/c++語言更加靈活和強大,具有強大的計算能力和豐富的庫函數,可以實現復雜的邏輯處理和算法,滿足特殊的應用需求。而且,使用c/c++語言可以方便用戶快速移植現有成熟可靠的算法和邏輯,滿足控制系統的快速升級改造,因此,專利技術一種基于c++語言的plc編程方法,顯得尤為重要。
4、現有技術如公告號為:“cn202410150287.x一種plc編程組態擴展c語言功能的方法及裝置”,該專利支持在iec61131-3程序中調用c語言函數方法、在plc運行時中運行c語言功能。該方法首先新建c語言類型的用戶函數,編寫具體實現,通過預編譯分配c語言函數編號并生成注冊函數地址的代碼,通過plc運行時的交叉編譯工具鏈生成擴展c語言函數動態庫,然后在plc編程組態軟件的用戶程序中調用c語言函數。將用戶程序和c語言函數動態庫下載到plc主控制器模塊后,在plc程序任務啟動前,plc運行時初始化加載c語言用戶函數動態庫,并調用clibinit函數注冊用戶函數編號與地址映射表,當plc程序任務運行執行到c語言用戶函數編號調用指令時先查詢所述地址映射表,然后再跳轉到具體的所述函數地址執行已編譯的c語言用戶函數。
5、現有技術還存在以下缺陷,具體體現在:1、現有技術缺少一種基于c++語言的plc編程方法,包括基于c++語言功能塊和程序的創建方法,以及在iec61131-3標準語言用戶程序和功能塊中的調用方法
6、2、現有技術缺少在功能塊(function?block,fb)和程序(program,prog)類型的pou層面擴展符合iec61131-3標準的基于c/c++語言的plc編程方法,削減了plc編程組態軟件的編程環境,降低了軟件靈活性和實用性。
7、3、現有技術缺少一種基于c++語言的plc編程方法可以實現復雜的邏輯處理和算法,難以滿足特殊的應用需求,增加了用戶移植現有成熟可靠的算法和邏輯難度,降低了控制系統的快速升級改造的可行性。
技術實現思路
1、本專利技術的目的在于提供的一種基于c++語言的plc編程方法,解決了
技術介紹
中存在的問題。
2、為解決上述技術問題,本專利技術采用如下技術方案:本專利技術提供一種基于c++語言的plc編程方法,包括:步驟一、在plc編程組態軟件中使用c++語言編寫功能塊。
3、步驟二、在iec61131-3標準語言用戶程序中使用c++功能塊。
4、步驟三、在plc編程組態軟件中使用c++語言編寫程序。
5、步驟四、在iec61131-3標準語言用戶程序中調用c++程序。
6、步驟五、生成指定格式文件。
7、步驟六、下載程序。
8、步驟七、執行程序。
9、優選地,所述在plc編程組態軟件中使用c++語言編寫功能塊,具體分析方法為:在plc編程組態軟件中使用c++語言編寫功能塊,新建自定義功能塊,選擇類型為c/c++,編輯參數和內部變量,進行功能塊定義,確認后,根據配置自動生成基礎框架代碼。
10、優選地,所述在iec61131-3標準語言用戶程序中使用c++功能塊,具體分析方法為:采用調用功能塊實例的方式,支持在iec61131-3標準語言用戶程序中直接調用c++功能塊,此時會默認創建一個c++功能塊實例,并生成唯一的實例名稱。
11、優選地,所述在plc編程組態軟件中使用c++語言編寫程序,具體分析方法為:新建用戶程序,選擇類型為c/c++,編輯程序名稱、所屬任務或中斷、程序描述等信息,確認后,自動生成基礎框架代碼。
12、優選地,所述在iec61131-3標準語言用戶程序中調用c++程序,具體分析方法為:借助call功能塊,當程序執行到調用功能模塊call時,掃描立刻進入指定的子程序塊,完成對該子程序的掃描后,程序又回到原調用點,接著往下掃描。
13、優選地,所述生成指定格式文件,具體分析方法為:所有c++程序和功能塊編輯完成后,同iec61131-3標準語言程序和功能塊,需要通過定制的編譯器編譯生成下位機plc設備主控制器模塊能夠識別并運行的指定格式文件。
14、優選地,所述下載程序,具體分析方法為:編譯成功后,將iec61131-3標準語言用戶程序和功能塊連同c++類型的用戶程序和功能塊一起下載到下位機plc設備主控制器模塊上。
15、優選地,所述執行程序,具體分析方法為:下位機plc設備主控制器模塊啟動時,加載所有程序和功能塊,當程序邏輯執行到c++程序或功能塊時,自動跳轉到c++程序或功能塊的入口函數,繼而執行c++語言編寫的用戶邏輯,執行完成后,返回原調用點繼續執行后續邏輯。
16、本專利技術的有益效果在于:1、本專利技術實現了一種基于c++語言的plc編程方法,包括基于c++語言功能塊和程序的創建方法,以及在iec61131-3標準語言用戶程序和功能塊中的調用方法。
17、2、本專利技術在功能塊(function?block,fb)和程序(program,prog)類型的pou層面擴展了符合iec61131-3標準的基于c/c++語言的plc編程方法,豐富了plc編程組態軟件的編程環境,提高了軟件靈活性和實用性。
18、3、本專利技術所述一種基于c++語言的plc編程方法可以實現復雜的邏輯處理和算法,滿足特殊的應用需求,本專利技術所述方法可以方便用戶快速移植現有成熟可靠的算法和邏輯,滿足控制系統的快速升級改造。
本文檔來自技高網...【技術保護點】
1.一種基于C++語言的PLC編程方法,其特征在于,包括:
2.根據權利要求1所述的一種基于C++語言的PLC編程方法,其特征在于,所述在PLC編程組態軟件中使用C++語言編寫功能塊,具體分析方法為:
3.根據權利要求1所述的一種基于C++語言的PLC編程方法,其特征在于,所述在IEC61131-3標準語言用戶程序中使用C++功能塊,具體分析方法為:
4.根據權利要求1所述的一種基于C++語言的PLC編程方法,其特征在于,所述在PLC編程組態軟件中使用C++語言編寫程序,具體分析方法為:
5.根據權利要求1所述的一種基于C++語言的PLC編程方法,其特征在于,所述在IEC61131-3標準語言用戶程序中調用C++程序,具體分析方法為:
6.根據權利要求1所述的一種基于C++語言的PLC編程方法,其特征在于,所述生成指定格式文件,具體分析方法為:
7.根據權利要求1所述的一種基于C++語言的PLC編程方法,其特征在于,所述下載程序,具體分析方法為:
8.根據權利要求1所述的一種基于C++語言的PLC
...【技術特征摘要】
1.一種基于c++語言的plc編程方法,其特征在于,包括:
2.根據權利要求1所述的一種基于c++語言的plc編程方法,其特征在于,所述在plc編程組態軟件中使用c++語言編寫功能塊,具體分析方法為:
3.根據權利要求1所述的一種基于c++語言的plc編程方法,其特征在于,所述在iec61131-3標準語言用戶程序中使用c++功能塊,具體分析方法為:
4.根據權利要求1所述的一種基于c++語言的plc編程方法,其特征在于,所述在plc編程組態軟件中使用c++語言編寫程序,具體分析方法...
【專利技術屬性】
技術研發人員:丁佳佳,路達,胡艷萍,
申請(專利權)人:傲拓科技股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。