TWI442316B - 可編程邏輯控制器程式編輯系統及方法 - Google Patents
可編程邏輯控制器程式編輯系統及方法 Download PDFInfo
- Publication number
- TWI442316B TWI442316B TW98102385A TW98102385A TWI442316B TW I442316 B TWI442316 B TW I442316B TW 98102385 A TW98102385 A TW 98102385A TW 98102385 A TW98102385 A TW 98102385A TW I442316 B TWI442316 B TW I442316B
- Authority
- TW
- Taiwan
- Prior art keywords
- instruction set
- dll file
- logic component
- different
- instruction
- Prior art date
Links
Landscapes
- Programmable Controllers (AREA)
Description
本發明係關於一種可編程邏輯控制器(Programmable Logic Controller,PLC),尤指一種可編程邏輯控制器程式的編輯系統及方法。
在工業控制領域,可編程邏輯控制器已被廣泛的應用,其可透過數位或類比訊號的輸入/輸出來控制機器設備、製造處理流程及其它控制模組。可編程邏輯控制器的系統程式一般在出廠前已經初始化完畢,用戶可以根據自己的需要自行編輯相應的用戶程式來滿足不同的自動化生產要求。
惟,在程式開發時,可能根據不同的硬體系統或不同的作業系統而對應編輯多組不同的程式碼,這種開發方法除造成開發程式的版本很多外,還會造成在維護及程式更新時的不便。
鑒於上述內容,有必要提供一種可便於多種系統環境下編程的可編程邏輯控制器程式編輯系統及方法。
一種可編程邏輯控制器程式編輯系統,包括:一梯形圖裝載單元,用於載入並存儲事先編好的梯形圖;一指令集裝載單元,用於存儲複數邏輯元件指令集;
一指令編譯單元,用於讀取該梯形圖及該等邏輯元件指令集,並將該梯形圖以該邏輯元件指令集的形式編譯成複數邏輯元件指令集語言指令;一作業系統裝載單元,存儲複數作業系統的DLL文件樣板;及一DLL文件生成單元,用於讀取該等編譯後的邏輯元件指令集語言指令及該等作業系統的DLL文件樣板並將該等編譯後邏輯元件指令集語言指令以該等作業系統的DLL文件樣板的形式生成複數標準的DLL文件。
一種可編程邏輯控制器程式編輯方法,包括以下步驟:載入事先編好的梯形圖;載入邏輯元件指令集;指令編譯單元將該梯形圖以該邏輯元件指令集的形式編譯成邏輯元件指令集語言指令;載入DLL文件樣板;及DLL文件生成單元將該編譯後的邏輯元件指令集語言指令以該DLL文件樣板的形式生成標準的DLL文件。
相較習知技術,該可編程邏輯控制器程式編輯系統及方法透過載入複數邏輯元件指令集編譯成複數邏輯元件指令集語言指令,再透過載入複數DLL文件樣板對應生成複數標準的DLL文件。該等標準的DLL文件可適用於多種軟硬體環境下的要求,且維護及更新非常方便。
10‧‧‧程式編輯系統
12‧‧‧指令集裝載單元
124‧‧‧ARM指令集模組
14‧‧‧作業系統裝載單元
144‧‧‧WinCE系統模組
11‧‧‧梯形圖裝載單元
122‧‧‧X86指令集模組
13‧‧‧指令編譯單元
142‧‧‧WinXP系統模組142
15‧‧‧DLL文件生成單元
圖1係本發明可編程邏輯控制器程式編輯系統較佳實施方式的框圖。
圖2係本發明可編程邏輯控制器程式編輯方法較佳實施方式的流程圖。
圖3係圖2中DLL文件的形成走向圖。
請參照圖1,本發明可編程邏輯控制器(Programmable Logic Controller,PLC)程式編輯系統10的較佳實施方式包括一編譯器,該編譯器包括一梯形圖裝載單元11、一指令集裝載單元12、一指令編譯單元13、一作業系統裝載單元14及一DLL(Dynamic Link Library,動態連結程式庫)文件生成單元15。
該梯形圖裝載單元11用於載入事先編好的梯形圖,並將載入的梯形圖儲存起來,該梯形圖為可編程邏輯控制器編程所通用的編程圖。
該指令集裝載單元12包括複數指令集模組,本實施方式中該指令集裝載單元12包括一X86指令集模組122及一ARM指令集模組124,該X86指令集模組122用於存儲X86邏輯元件指令集,該ARM指令集模組124用於存儲ARM邏輯元件指令集。其中X86邏輯元件指令集及ARM邏輯元件指令集均為一套通用的電腦邏輯元件指令集。在其他實施方式中,可以根據需要設置更多種類的電腦邏輯元件指令集,不拘泥於上述兩種。
該指令編譯單元13用於讀取該載入的梯形圖、該X86邏輯元件指令集及該ARM邏輯元件指令集,該指令編譯單元13還用於將該梯
形圖以該X86邏輯元件指令集的形式編譯成X86邏輯元件指令集語言指令,及用於將該梯形圖以該ARM邏輯元件指令集的形式編譯成ARM邏輯元件指令集語言指令。
該作業系統裝載單元14包括複數系統模組,本實施方式中該作業系統裝載單元14包括一WinXP(Window XP)系統模組142及一WinCE(Window CE)系統模組144,該WinXP系統模組142用於存儲WinXP作業系統的DLL文件樣板,該WinCE系統模組144用於存儲WinCE作業系統的DLL文件樣板。其中WinXP及WinCE作業系統的DLL文件樣板均為一用於生成對應系統的DLL文件的系統樣板。在其他實施方式中,可以根據需要設置更多種類作業系統的DLL文件樣板,不拘泥於上述兩種。
該DLL文件生成單元15用於讀取該編譯後X86邏輯元件指令集語言指令、該編譯成ARM邏輯元件指令集語言指令及該WinXP作業系統的DLL文件樣板、該WinCE作業系統的DLL文件樣板。
該DLL文件生成單元15還用於:將該編譯後X86邏輯元件指令集語言指令以WinXP作業系統的DLL文件樣板的形式生成標準的適用於X86邏輯元件指令集格式及WinXP作業系統的DLL文件,用於將該編譯後X86邏輯元件指令集語言指令以WinCE作業系統的DLL文件樣板的形式生成標準的適用於X86邏輯元件指令集格式及WinCE作業系統的DLL文件;將該編譯後ARM邏輯元件指令集語言指令以WinXP作業系統的DLL文件樣板的形式生成標準的適用於ARM邏輯元件指令集格式及WinXP作業系統的DLL文件;及將該編譯後ARM邏輯元件指令集語言指令以WinCE作業系統的DLL文件樣板的形式生成標準的適用於ARM邏輯元件指令集格式及WinCE作業系統的
DLL文件。
請繼續參考圖2,本發明可編程邏輯控制器程式編輯方法的較佳實施方式包括以下步驟:
S1:該梯形圖裝載單元11載入並儲存事先編好的梯形圖。
S2:該指令編譯單元13載入該梯形圖及該指令集裝載單元12存儲的邏輯元件指令集。
S3:該指令編譯單元13將該梯形圖以該X86邏輯元件指令集的形式編譯成X86邏輯元件指令集語言指令。
S4:該指令編譯單元13將該梯形圖以該ARM邏輯元件指令集的形式編譯成ARM邏輯元件指令集語言指令。
S5:該DLL文件生成單元15載入編譯後X86邏輯元件指令集語言指令及該作業系統裝載單元14存儲的DLL文件樣板。
S6:該DLL文件生成單元15將該編譯後X86邏輯元件指令集語言指令以WinXP作業系統的DLL文件樣板的形式生成標準的適用於X86邏輯元件指令集格式及WinXP作業系統的DLL文件,及將該編譯後ARM邏輯元件指令集語言指令以WinXP作業系統的DLL文件樣板的形式生成標準的適用於ARM邏輯元件指令集格式及WinXP作業系統的DLL文件。
S7:該DLL文件生成單元15將該編譯後X86邏輯元件指令集語言指令以WinCE作業系統的DLL文件樣板的形式生成標準的適用於X86邏輯元件指令集格式及WinCE作業系統的DLL文件,及將該編譯後ARM邏輯元件指令集語言指令以WinCE作業系統的DLL文件樣板的
形式生成標準的適用於ARM邏輯元件指令集格式及WinCE作業系統的DLL文件。
請繼續參考圖3,本發明可編程邏輯控制器程式編輯系統及方法首先從載入梯形圖31開始,再載入X86邏輯元件指令集32及ARM邏輯元件指令集33以編譯成對應的語言指令,再分別載入WinXP系統DLL文件樣板34及WinCE系統DLL文件樣板35,以最終生成四個對應的DLL文件,即分別為適用於X86邏輯元件指令集格式及WinXP作業系統的X86_XP.DLL文件36,適用於ARM邏輯元件指令集格式及WinXP作業系統的AMR_XP.DLL文件37,適用於X86邏輯元件指令集格式及WinCE作業系統的X86_CE.DLL文件38,及適用於ARM邏輯元件指令集格式及WinCE作業系統的ARM_CE.DLL文件39。
透過本發明編程邏輯控制器程式編輯系統及方法編譯後對應生成的多個DLL文件可適用於多種軟硬體環境下的要求,例如本實施方式適應四種軟硬體環境的要求。如需適應更多的軟硬體環境,只要對應增加該指令集裝載單元12內存儲的指令集類型及該作業系統裝載單元14存儲的DLL文件樣板類型即可。此外,此種編輯系統及方法在維護及程式更新時非常方便,僅需修改或增加個別DLL文件即可,不需改變整個系統程式。
綜上所述,本發明符合發明專利要件,爰依法提出專利申請。惟,以上所述者僅為本發明之較佳實施例,舉凡熟悉本案技藝之人士,在爰依本發明精神所作之等效修飾或變化,皆應涵蓋於以下之申請專利範圍內。
Claims (6)
- 一種可編程邏輯控制器程式編輯系統,包括:一梯形圖裝載單元,用於載入並存儲事先編好的梯形圖;一指令集裝載單元,用於存儲複數不同指令集架構的邏輯元件指令集;一指令編譯單元,用於讀取該梯形圖及該等不同指令集架構的邏輯元件指令集,並將該梯形圖分別以該等不同指令集架構的邏輯元件指令集的形式編譯成複數指令集架構的邏輯元件指令集語言指令;一作業系統裝載單元,存儲對應於複數不同類型的作業系統的DLL文件樣板;及一DLL文件生成單元,用於讀取該等編譯後的不同指令集架構的邏輯元件指令集語言指令及該等不同類型的作業系統的DLL文件樣板,並將各編譯後邏輯元件指令集語言指令分別以該等不同類型的作業系統的DLL文件樣板的形式生成標準的適用於對應不同指令集架構的邏輯元件指令集格式及對應類型的作業系統的DLL文件。
- 如專利申請範圍第1項所述之可編程邏輯控制器程式編輯系統,其中該指令集裝載單元包括一X86指令集模組及一ARM指令集模組,該X86指令集模組用於存儲X86邏輯元件指令集,該ARM指令集模組用於存儲ARM邏輯元件指令集。
- 如專利申請範圍第1項所述之可編程邏輯控制器程式編輯系統,其中該作業系統裝載單元包括一WinXP系統模組及一WinCE系統模組,該WinXP系統模組用於存儲WinXP作業系統的DLL文件樣板,該WinCE系統模組用於存儲WinCE作業系統的DLL文件樣板。
- 一種可編程邏輯控制器程式編輯方法,包括以下步驟: 載入事先編好的梯形圖;載入不同指令集架構的邏輯元件指令集;指令編譯單元將該梯形圖以該等不同指令集架構的邏輯元件指令集的形式分別編譯成對應於該等不同指令集架構的邏輯元件指令集的邏輯元件指令集語言指令;載入對應於複數不同類型的作業系統的DLL文件樣板;及將該等編譯後的不同指令集架構的邏輯元件指令集語言指令以該等不同類型的作業系統的DLL文件樣板的形式生成標準的適用於對應不同指令集架構的邏輯元件指令集格式及對應類型的作業系統的DLL文件。
- 如專利申請範圍第4項所述之可編程邏輯控制器程式編輯方法,其中該邏輯元件指令集包括一X86邏輯元件指令集及一ARM邏輯元件指令集。
- 如專利申請範圍第4項所述之可編程邏輯控制器程式編輯方法,其中該DLL文件樣板包括一WinXP作業系統的DLL文件樣板及一WinCE作業系統的DLL文件樣板。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98102385A TWI442316B (zh) | 2009-01-22 | 2009-01-22 | 可編程邏輯控制器程式編輯系統及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98102385A TWI442316B (zh) | 2009-01-22 | 2009-01-22 | 可編程邏輯控制器程式編輯系統及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201028916A TW201028916A (en) | 2010-08-01 |
TWI442316B true TWI442316B (zh) | 2014-06-21 |
Family
ID=44853848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW98102385A TWI442316B (zh) | 2009-01-22 | 2009-01-22 | 可編程邏輯控制器程式編輯系統及方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI442316B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113454546A (zh) * | 2019-04-16 | 2021-09-28 | 西门子股份公司 | Plc梯形图编程环境中的程序模块调用方法和装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5936769B2 (ja) * | 2013-04-08 | 2016-06-22 | 三菱電機株式会社 | プログラム編集装置、プログラム編集方法およびプログラム編集プログラム |
CN104820393B (zh) * | 2015-03-17 | 2017-06-23 | 浪潮集团有限公司 | 一种基于plc梯形图矩阵编译解释方法 |
CN110519092B (zh) * | 2019-08-27 | 2022-11-22 | 深圳力维智联技术有限公司 | 边缘网关、配置工具和软plc功能的脚本化实现方法 |
-
2009
- 2009-01-22 TW TW98102385A patent/TWI442316B/zh not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113454546A (zh) * | 2019-04-16 | 2021-09-28 | 西门子股份公司 | Plc梯形图编程环境中的程序模块调用方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
TW201028916A (en) | 2010-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9235381B2 (en) | Method and device for the programming and configuration of a programmable logic controller | |
AU2010201386B2 (en) | Method for executing sequential function charts as function blocks in a control system | |
US10606562B2 (en) | Method and system for generating PLC code with a connectivity model | |
CN101776877A (zh) | 可编程逻辑控制器程序编辑系统及方法 | |
TWI442316B (zh) | 可編程邏輯控制器程式編輯系統及方法 | |
CN111352620B (zh) | 可视化组态编程方法及系统 | |
US20190196798A1 (en) | Executable program creation device, executable program creation method, and executable program creation program | |
US20190012168A1 (en) | Program generating apparatus | |
Estévez et al. | PLCopen for achieving interoperability between development phases | |
CN104391731A (zh) | 一种基于c#的与数据类型无关的编辑方法 | |
JP5777837B2 (ja) | プログラム開発支援装置およびその方法 | |
JP2007087127A (ja) | データ生成プログラム、該プログラムを記憶した記憶媒体、オープンソースソフトウェア開発環境統合プログラム、該プログラムを記憶した記憶媒体 | |
JP6445029B2 (ja) | 自動化システムを構成するための処理装置および方法 | |
JP5205988B2 (ja) | Plcのグローバル変数定義方式 | |
JP2005141435A (ja) | ツール | |
JP6794668B2 (ja) | プログラミング装置 | |
JP3389592B2 (ja) | プログラマブルコントローラ | |
Julius et al. | A model-driven approach for transforming GRAFCET specification into PLC code including hierarchical structures | |
Lugato et al. | Model-Driven Engineering for High Performance Computing Applications | |
Frey et al. | A re-engineering approach for PLC programs using finite automata and UML | |
JP6566151B2 (ja) | システム設計支援装置およびシステム設計支援方法 | |
JP2006201841A (ja) | プログラム生成装置 | |
JP5224926B2 (ja) | エンジニアリングツール | |
Lugato | Model-driven engineering for high-performance computing applications | |
Schlereth et al. | Platform-independent specification of model transformations@ runtime using higher-order transformations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |