新四季網

最優編譯PLC命令的方法與流程

2023-06-01 19:20:01

本公開涉及一種最優編譯plc(可編程邏輯控制器)命令的方法,並且特別地,如下一種最優編譯plc命令的方法,其中,為了改進針對要由padt(編程和調試工具)編譯器編譯的plc命令的編譯處理方案,可以通過基於用戶的環境而選擇速率選項或大小選項而由針對速率或針對大小優化的編譯處理方案編譯該命令來優化用戶程序。



背景技術:

在工業現場處的系統例如工廠自動化系統採用了綜合控制裝置例如可編程邏輯控制器(plc)。plc配備有作為基礎單元的通用主處理單元(mpu)。mpu執行將用戶使用編程和調試工具(padt)編寫的程序轉換為plc可以識別的代碼的編譯過程。

因此,為了驅動plc,應該轉換由用戶使用padt編寫的程序以使得mpu可以識別它。

padt是執行編程、編輯和調試功能的軟體。padt執行在由用戶創建的項目中編譯命令以使得plc可以識別它並且然後下載到plc的功能。

此時,取決於採用的方法,該命令可以以多種方法由pdat編譯並可以例如在執行率和可修改性上改變。

同時,命令的處理速率和程序的大小是關於plc的性能的關鍵因素。具體地,處理速率越高,生產率可以增加,並且程序的大小越大,更多的輸入/輸出可以被控制。

在現有技術中,plc僅支持固定的命令處理速率和固定的程序大小,並且因此不能靈活地修改命令的處理速率和程序的大小來適合於系統的特性。

因此,存在以下問題:在實際應用中當命令處理速率很低或程序大小不足時,plc應該使用其較高的版本來替代或者應該改變系統。



技術實現要素:

本公開的一個方面是提供一種最優編譯plc(可編程邏輯控制器)命令的方法,並且特別地,如下一種最優編譯plc命令的方法,其中,為了改進針對要由padt(編程和調試工具)編譯器編譯的plc命令的編譯處理方案,可以通過基於用戶的環境而選擇速率選項或大小選項以使得可以由針對速率優化的編譯處理方案或針對大小優化的編譯處理方案編譯命令來優化用戶程序。

本公開的其他對象不限於上面描述的對象並且其他對象和優點可以由以下參照本公開的實施例描述的描述而領會。

根據本發明的一個方面,提供了一種編譯plc(可編程邏輯控制器)命令的方法,該方法包括:確定從針對要在plc中執行的程序中包含的命令的多個編譯處理方案選擇的一個編譯處理方案;並且基於所選編譯處理方案而執行針對速率或大小優化的命令編譯。

執行命令編譯可以包括:當所述所選編譯處理方案被確定為針對所述大小時,基於任意建立的標準確定所述所選編譯處理方案是否是簡單命令處理;當所述所選編譯處理方案被確定為簡單編譯處理方案時,由直接編譯處理方案以彙編語言執行所述命令編譯;並且當所述所選編譯處理方案被確定為不是簡單編譯處理方案時,通過參照針對所述速率優化的命令映射表識別以二進位文件存儲的命令處理函數的地址,然後調用所述命令處理函數,然後將被需要執行所述命令的命令處理函數複製到編譯區域以在當驅動所述plc時識別所述命令處理函數的地址,並且然後調用存儲的函數來執行所述命令,來以間接編譯處理方案執行所述命令編譯。

執行命令編譯可以包括:當所述所選編譯處理方案被確定為針對所述大小時,通過參照針對所述大小優化的命令映射表識別以二進位文件存儲的命令處理函數的地址,然後調用所述命令處理函數,然後將被需要執行所述命令的命令處理函數複製到編譯區域以在當驅動所述plc時識別所述命令處理函數的地址,並且然後調用所述存儲的函數以執行所述命令,來以間接編譯處理方案執行所述命令編譯。

執行命令編譯可以包括:當所述所選編譯處理方案被確定為默認時,基於任意建立的標準而確定所述所選編譯處理方案是否是簡單命令處理;當所述所選編譯處理方案被確定為簡單編譯處理方案時,由直接編譯處理方案執行所述命令編譯;並且當所述所選編譯處理方案被確定為不是簡單編譯處理方案時,通過參照默認下設置的命令映射表識別以二進位文件存儲的命令處理函數的地址,然後調用所述命令處理函數,然後將被需要執行所述命令的命令處理函數複製到編譯區域以在當驅動所述plc時識別所述命令處理函數的地址,並且然後調用所述存儲的函數以執行所述命令,來以間接編譯處理方案執行所述命令編譯。

確定一個編譯處理方案可以包括:提供對應於速率的第一選項框以及對應於大小的第二選項框;並且確定如果勾選了所述第一選項框,則所述速率選項被選中;如果勾選了所述第二選項框,則所述大小選項被選中;並且如果沒有選項框被勾選,則所述默認被選中。

最優編譯plc命令的方法可以基於所述plc中的程序大小或剩餘數據存儲容量而設置為自動選擇針對所述命令的多個編譯處理方案中的一個編譯處理方案。

設置為自動選擇一個編譯處理方案:可以設置為在正常情況下選擇針對所述速率的編譯處理方案或在當所述程序大小超過任意參考大小時選擇針對所述大小的編譯處理方案。

設置為自動選擇一個編譯處理方案可以設置為在正常情況下選擇針對所述速率的編譯處理方案或在當所述plc中的剩餘數據存儲容量低於任意參考容量時選擇針對所述大小的編譯處理方案。

根據本發明的另一個方面,本公開可以以下面的方式在padt(編程和調試工具)編譯器中改進編譯處理方案:基於用戶的環境選擇速率選項或大小選項來基於針對速率或大小優化的編譯處理方案而編譯命令,從而優化用戶程序。

根據本發明的又一方面,一種最優編譯plc程序的方法致使用戶選擇任意編譯處理方案以使得該plc程序可以被靈活地應用於各種系統。

例如,當選擇速率選項時,可以通過提供針對速率優化的編譯處理方案以各種方式來提高其速率。相反,當選擇大小選項時,其大小被優化以增加程序存儲容量的效率,並且當沒有選擇選項時,可以使用基本目標代碼來執行編譯。

附圖說明

圖1是示出了根據本公開的實施例的最優編譯plc命令的方法中的用戶代碼的框圖。

圖2是示出了根據本公開的實施例的最優編譯plc命令的方法中的開發人員的代碼的框圖。

圖3是示出了根據本公開的實施例的最優編譯plc命令的方法中的命令處理的框圖。

圖4是示出了根據本公開的實施例的最優編譯plc命令的方法的流程圖。

圖5是示出了根據本公開的實施例的設置編譯處理方案以最優編譯plc命令的過程的視圖。

圖6是示出了根據本公開的實施例的在最優編譯plc命令的方法中的生成目標文件的過程的框圖。

圖7是示出了根據本公開的實施例的最優編譯plc命令的方法的視圖。

圖8是示出了根據本公開的實施例的在最優編譯plc命令的方法中的直接編譯的視圖。

圖9是示出了根據本公開的實施例的在最優編譯plc命令的方法中的間接編譯的流程圖。

圖10是示出了根據本公開的另一個實施例的最優編譯plc命令的方法的流程圖。

具體實施方式

本公開可以被各種修改並且包括各種實施例。因此,一些具體實施例將藉由插圖在附圖中被舉例說明並且在下面的詳細描述中被描述。然而,這無意將本公開限制於具體實施例,並且要理解的是,它們涵蓋落入本公開的精神和保護範圍中所有修改、等同物或改變。

以下,根據本公開的優選實施例將參照附圖進行詳細地描述。

圖1是示出了根據本公開的實施例的最優編譯plc命令的方法中的用戶代碼的框圖。

參照圖1,用戶通過使用編程和調試工具(padt)編寫程序1。

圖2是示出了根據本公開的實施例的最優編譯plc命令的方法中的開發人員的代碼的框圖。

參照圖2,開發人員通過使用源編輯工具來創建命令處理函數代碼2。命令處理函數代碼2可以是例如voidmove(void)。由開發人員創建的命令處理函數代碼2由mpu專用編譯器3編譯為二進位格式的目標代碼4。mpu專用編譯器3可以為c語言或c++編譯器。

編譯後的二進位格式的目標代碼4在其上存儲命令處理函數。這些目標代碼4被用於基於命令而提取起始地址和大小,使得命令映射表被創建。

圖3是示出了根據本公開的實施例的最優編譯plc命令的方法中的命令處理的框圖。

參照圖3,示出了當用戶已在padt中編寫move命令時執行的過程。padt編譯器5可以基本上將由用戶編寫的程序轉換為使能plc運行的格式。為了執行該命令,應該基於該命令調用處理函數。

當用戶已通過padt編寫了move命令6時,在處理程序7期間可以調用move命令處理函數(8)。

如果調用了move命令,則參照命令映射表9識別存儲在二進位文件10中的move命令處理函數的地址(11),並且然後調用存儲在二進位文件10中的move命令處理函數代碼(12)。隨後,將move命令處理函數代碼插入到編譯區域中(13)。當如上面描述的編譯處理完成時,生成plc驅動文件14。

圖4是示出了根據本公開的實施例的最優編譯plc命令的方法的流程圖。圖5是示出了根據本公開的實施例的設置編譯處理方案以最優編譯plc命令的過程的視圖。

參照圖4,通過使用padt的階梯程序創建要在plc中執行的程序代碼(s100)。

此後,設置針對要在plc中執行的程序中包括的命令的多個編譯處理方案中的一個編譯處理方案(s200)。

例如,當前公開可以致使用戶勾選或釋放速率選項和大小選項以使得用於最優編譯處理的方案可以被設置。此時,如果沒有選項被選中,則可以設置的是,利用基本目標代碼的編譯被執行。同時,如果大小選項被選中,則可以設置的是,針對大小優化的編譯被執行。

參考圖5,示出了選擇速率選項或大小選項的選擇框10。選擇框10可以包括對應於速率選項的第一選擇框11和對應於大小選項的第二選擇框12。

如果第一框11已被勾選,則確定出該速率選項被選中。相反,如果第二選擇框12已被勾選,則確定出大小選項被選中。然而,如果在第一選擇框11和第二選擇框12上不存在任意勾選,則確定出默認選項被選中。

根據針對在要在plc中執行的程序中包含的命令的多個編譯處理方案中的一個所選編譯處理方案來執行命令編譯,並且因此生成plc驅動文件(s300)。

為了這樣做,確定出已從針對要在plc中執行的程序中包含的命令的多個編譯處理方案選擇了哪個編譯處理方案(s200)。

參照圖6,當所選編譯處理方案被確定為針對速率時,mpu專用編譯器以針對速率優化的二進位文件的格式生成目標代碼。

當所選編譯處理方案被確定為針對大小時,mpu專用編譯器以針對大小優化的二進位文件的格式生成目標代碼。

當所選編譯處理方案被確定為默認時,mpu專用編譯器以默認下設置的二進位格式生成目標代碼。

此後,當處理命令時,padt編譯器將由用戶編寫的程序轉換為使能plc運行的格式。

即,當所選編譯處理方案為針對速率時,padt編譯器使用針對速率優化的目標代碼來執行針對速率優化的命令編譯,從而生成plc驅動文件。同時,當所選編譯處理方案為針對大小時,padt編譯器使用針對大小優化的目標代碼來執行針對大小優化的命令編譯,從而生成plc驅動文件。

進一步地,當所選編譯處理方案為默認時,padt編譯器使用默認下設置的目標代碼來執行命令編譯,從而生成plc驅動文件。

如上面描述而生成的plc驅動文件被下載到plc(s400)。

圖7是示出了根據本公開的實施例的最優編譯plc命令的方法的視圖。

參照圖7,確定出針對要在plc中執行的程序中包含的命令的多個編譯處理方案選擇了哪個編譯處理方案(s301)。

當在s301中所選編譯處理方案被確定為針對速率時,基於任意建立的標準確定出所選編譯處理方案是否是簡單命令處理(s302)。關於其是否是簡單命令處理的標準為命令是否可以被直接編譯。如果該命令可以被直接編譯,則其符合簡單命令。

像這樣,當速率選項被選中時,padt編譯器檢查使用中的命令來確定該使用中的命令是否是一個可以由直接編譯處理方案編譯的命令。

例如,如果一個命令的代碼非常長並且複雜,則直接編譯不能被執行,這是因為其可能在cpu中被寫為c代碼。因此,當確定出該命令可以被直接編譯時,padt編譯器在針對速率優化的彙編語言中直接執行編譯。然而,當確定出該命令不能被直接編譯時,padt編譯器遵循與速率選項有關的被寫為c代碼的命令執行例程。

在此,如圖8中示出的,直接編譯是padt編譯器通過其執行並存儲命令的任意編譯處理方案。當用戶編寫任意命令時,padt編譯器在編譯時允許用於處理被存儲在plc編譯區域上的命令的所有代碼。然後,如果存在在程序處理中使用的任意命令,則可以在不需要調用任意單獨函數的情況下執行命令,這是因為針對該命令的執行代碼已被存儲在編譯區域上。

同時,針對間接編譯,當用戶由如圖9中示出的階梯程序編寫任意指令時,padt編譯器在處理編譯的同時檢查命令。padt編譯器參照存儲在padt上的命令映射表識別存儲在二進位文件中的命令處理函數的地址,並且然後調用該命令處理函數。然後,被需要執行該命令的命令處理函數被複製到plc的編譯區域中的結束部分。因此,當驅動該plc時,可以通過識別命令處理函數的地址並調用存儲的函數來進行命令處理。

當在s302中所選編譯處理方案被確定為簡單命令處理時,命令編譯由直接編譯處理方案在彙編語言中執行(s303)。

同時,當在s302中所選編譯處理方案被確定為不是簡單命令處理時,padt編譯器參照針對速率優化的命令映射表識別存儲在二進位文件中的命令處理函數的地址(s304)。隨後,基於命令處理函數的地址而調用命令處理函數(s305),需要執行該命令的命令處理函數被複製到編譯區域以使得命令編譯由間接編譯處理方案執行(s306)。因此,當驅動該plc時,可以通過識別命令處理函數的地址並調用存儲的函數來執行該命令。

同時,當在s301中所選編譯處理方案被確定為針對大小時,padt編譯器參照針對大小優化的命令映射表識別存儲在二進位文件中的命令處理函數的地址(s307)。隨後,基於命令處理函數的地址而調用命令處理函數(s308),需要執行該命令的函數被複製到編譯區域以使得命令編譯由間接編譯處理方案執行(s309)。因此,當驅動該plc時,可以通過識別命令處理函數plc的地址並調用存儲的函數來執行該命令。

像這樣,如果所選編譯處理方案為針對大小,則padt編譯器對使用中的命令執行間接編譯。間接編譯處理方案對減少整體程序大小是有用的,這是因為其會相對於相同命令僅複製一次執行例程。進一步地,當處理間接編譯時可以關聯於大小選項編譯在c代碼中創建的命令執行例程,從而減少了程序大小。

同時,當在s301中所選編譯處理方案被確定為默認時,基於任意建立的標準確定出所選編譯處理方案是否是簡單命令處理(s310)。

當在s310中所選編譯處理方案被確定為簡單命令處理時,命令編譯由直接編譯處理方案執行(s311)。

然而,當在s301中所選編譯處理方案被確定為不是簡單命令處理時,識別出參照默認下設置的命令映射表以二進位文件存儲的命令處理函數的地址(s312)。隨後,基於命令處理函數的地址而調用命令處理函數(s313),需要執行該命令的函數被複製到編譯區域以使得命令編譯由間接編譯處理方案執行(s314)。因此,當驅動該plc時,可以通過識別命令處理函數的地址並調用存儲的函數來執行該命令。

像這樣,用戶可以選擇針對適合於系統環境的命令的編譯處理方案。如果速率選項被選中,則編譯該plc程序來優化處理速率並且因此以相對於現有技術的32%的增加速率使能該控制。此外,如果大小選項被選中,則該程序可以以其大小相對於現有程序大小增加達至30%而被使用。因此,採用本公開的plc以其中它可以覆蓋的其處理速率和程序大小而變得靈活,使得其可以被應用於各種系統。

根據本公開,一種最優編譯plc程序的方法致使用戶選擇任意編譯處理方案,使得該plc程序可以被靈活地應用於各種系統。

圖10是示出了根據本公開的另一個實施例的最優編譯plc命令的方法的流程圖。

參照圖10,要在plc中執行的程序代碼通過使用padt的階梯程序而編寫(s510)。

基於plc中的程序大小或剩餘數據存儲容量,程序被設置為自動選擇針對要在plc中執行的程序中包含的命令的多個編譯處理方案中的一個編譯處理方案(s520)。

例如,為了自動選擇一個編譯處理方案,可以設置該程序以使得在正常情況下選擇針對速率的編譯處理方案而當程序大小超過任意參考大小時選擇針對大小的編譯處理方案。

另一個示例,為了自動選擇一個編譯處理方案,可以設置該程序以使得在正常情況下選擇針對速率的編譯處理方案而當plc中的剩餘數據存儲容量低於任意參考容量時選擇針對大小的編譯處理方案。

根據自動地從針對要在plc中執行的程序中包含的命令的多個編譯處理方案所選的一個編譯處理方案來執行命令編譯,並且因此生成plc驅動文件(s530)。

為了這樣做,確定出從針對要在plc中執行的程序中包含的命令的多個編譯處理方案選擇出了哪個編譯處理方案。

當所選編譯處理方案被確定為針對速率時,執行針對速率優化的命令編譯。當所選編譯處理方案確定為針對大小時,執行針對大小優化的命令編譯。

當所選編譯處理方案被確定為默認時,執行默認下設置的命令編譯來生成目標代碼,並且因此生成plc驅動文件。生成的plc驅動文件被下載到plc(s540)。

雖然上面已經描述了根據本公開的實施例,但是它們只是示範性的,並且本領域中的那些技術人員將理解的是,由此得出的各種修改和改變可以在落入本公開的保護範圍中的等效範圍內實現。因此,本公開的真實技術範圍應由附屬的權利要求限定。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀