《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于K60的GCPLC系統的設計與實現
基于K60的GCPLC系統的設計與實現
2017年電子技術應用第2期
司蕭俊,王宜懷,白 聰
蘇州大學 計算機科學與技術學院,江蘇 蘇州215000
摘要: 提出研制圖形構件化可編程邏輯控制器(GCPLC)的方案,它是傳統可編程邏輯控制器(PLC)的革新與新模式。與傳統PLC相比,GCPLC具有圖形拖動編程、開放的二次編程架構、構件組合、開發環境兼容、構件定制擴充、RTOS架構融入等特點。其目標是使GCPLC相對于傳統PLC,在技術架構、技術方法、設計思想及實現方式等方面能夠有新突破,在應用方面能夠逐步取代傳統PLC。
中圖分類號: TP391
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.02.010
中文引用格式: 司蕭俊,王宜懷,白聰. 基于K60的GCPLC系統的設計與實現[J].電子技術應用,2017,43(2):47-50.
英文引用格式: Si Xiaojun,Wang Yihuai,Bai Cong. Design and implementation of GCPLC based on K60[J].Application of Electronic Technique,2017,43(2):47-50.
Design and implementation of GCPLC based on K60
Si Xiaojun,Wang Yihuai,Bai Cong
multitask;GCPLC;graphic component;RTOS
Abstract: This topic proposes the scheme of developing Graphic Component Programmable Logic Controller(GCPLC),which is the innovation and new mode of traditional Programmable Logic Controller(PLC). The GCPLC has many characteristics, for instance, graphical drag programming, open twice programming architecture, component combination, development environment compatible, component extendible and the integration of RTOS. In addition, aimed at obtain breakthrough in technology architecture and method alone with the design ideas, the GCPLC has advantages of less difficulties in terminal-user programming, excellent division in technology and expansion in user-control. The GCPLC will replace traditional PLC in application.
Key words : multitask;GCPLC;graphic component;RTOS

0 引言

    傳統可編程邏輯控制器(Programmable Logic Controller,PLC)從提出至今已經發展四十多年,形成了全世界每年300億美元以上的巨大市場,涉及自動控制、機械、裝備、醫療電子等諸多應用領域,為一線基層技術人員利用嵌入式計算機生產實踐提供了基礎技術平臺。但也存在CPU選擇受限、硬件耦合性差、變量設置簡單、梯形圖編程功能深度不夠、二次編程困難、構件組合靈活性差、開發環境受限、新構件融入難度大等問題。雖然經過多年改進與發展,從不同角度改進了技術,但由于技術架構未變,本質問題無法根本解決。

    本文基于多任務操作系統MQX、嵌入式ARM處理器、CAN總線等技術,設計了一套包含圖形構件化編程軟件及基于恩智浦K60微處理器的圖形構件化可編程邏輯控制器(Graphic Component Programmable Logic Controller,GCPLC)硬件的完整系統,并對整個系統進行簡要介紹,重點闡述了圖形構件化的軟件開發環境。

1 GCPLC的體系總體設計與工作原理

    GCPLC的系統結構框圖如圖1所示。

qrs1-t1.gif

    圖1中的上半部分是GCPLC的軟件開發環境部分,主要完成圖形化編程、C語言文件的生成、程序編譯等功能,并且負責向硬件部分燒寫程序以及實現實時監控。下半部分的GCPLC硬件部分為整個系統的核心,負責執行程序。硬件部分帶有多路普通/高速的GPIO接口、高速PWM以及差分輸入輸出接口、CAN總線接口、485信號接口和232接口,可以實現普通PLC具備的功能。

    GCPLC系統將開發環節和運行環節分開操作。在開發階段,使用圖形構件化編程軟件編寫程序,并同時將嵌入式實時操作系統MQX融入其中;在執行階段,硬件部分執行程序,有序對各個任務進行調度,并且通過串口與PC通信,從而將硬件部分的信息傳遞給軟件部分,以實現實時監控。

2 GCPLC系統硬件設計

    GCPLC硬件的主要應用目標是工業控制,而可靠性和抗干擾能力是衡量工業控制中電氣設備性能的關鍵指標,因此在設計內部電路時,采用了抗干擾技術,其中包括光耦隔離電路、場效應管隔離電路等。選用的硬件是具有極高隔離性能的元件,其中包括高速光耦6N137、場效應管LR120N等。下面著重介紹高速GPIO輸入電路和高速PWM差分輸出電路。

2.1 高速GPIO輸入電路

    為了能夠滿足工業控制中對GPIO輸入的實時性和高效率需求,為GPPLC硬件設計了帶有電氣隔離特性的高速GPIO輸入電路,如圖2所示。

qrs1-t2.gif

    該電路使用6N137單通道高速光耦合器進行輸入輸出,并在輸出端對輸出進行濾波后輸出給K60核心板。該電路具有溫度、電流和電壓的補償功能,具有高輸入輸出隔離及抗干擾能力強的特性,電路典型的輸入速率為10 MB/s。

2.2 高速PWM差分輸出電路

    電機驅動是一種很常見的工業控制方式,機械臂的運作、機器人的行走都離不開電機驅動。為了提高PWM的輸出效率,設計了具有差分能力的高速PWM電路,如圖3所示。

qrs1-t3.gif

    圖3是PWM的輸出部分,在其他部分利用SGM4717雙擲模擬開關芯片,切換PWM的差分和普通輸出模式。在正常情況下,該PWM的輸出速率可達到100 KB/s以上,可以在工業控制中對電機進行穩定的驅動和控制。

3 GCPLC圖形化開發環境設計

    在GCPLC系統中,PC可以為用戶提供一個良好的軟件開發調試環境,因此運行在計算機控制系統上的圖形化開發環境需要重點進行開發。GCPLC軟件開發環境是為了給GCPLC系統提供一個直觀、方便、可拖動、高效的程序開發平臺。該平臺主要支持圖形化的拖動、C語言的生成、程序編譯、程序寫入、實時監控等功能。

    該平臺采用PC作為基本編程工具,應用Visual Studio 2012作為開發環境,編程語言舍棄了傳統PLC采用的梯形圖編程方式,選用了全新的圖標拖動及連接的編程語言,使得程序的二次開發變得更加容易,程序結構也變得更加清晰,并且添加了復制、剪切、刪除、粘貼、右鍵菜單等人性化的快捷操作。在燒寫程序之前,需要對程序進行編譯,由編譯器負責檢查用戶編寫的程序,并且將錯誤反饋給用戶。若編譯程序無誤,則可以將用戶程序寫入GCPLC硬件板。該開發平臺主要由以下模塊組成:

    (1)圖標控件模塊。包含了編寫程序需要的所有控件,控件分為執行控件、傳感器控件、通信控件、流程控件、任務控件5個大類。每個大類下又包含了若干個具體的子控件。

    (2)控件連接及屬性設置模塊。該模塊是進行控件拖拉和連線的模塊,也是整個開發環境的關鍵。在編寫程序時可以從上述的圖標控件模塊中選擇自己需要的控件,選出控件后可以放置在此模塊上。每個控件的頂部和底部都有一塊三角形區域,當選定了若干個控件后,將這些控件的三角形區域連線,則可以組成一段程序。

    (3)代碼更新顯示模塊。當連接好控件連接模塊中的控件后,該模塊便會自動生成相應的代碼。使用者只需要簡單的C語言基礎,便可以更好地理解這整段程序實現的功能。

3.1 圖標控件模塊

    為了方便二次開發,在設計開發平臺時決定放棄傳統PLC的使用的梯形圖編程方法,轉而設計了開發者門檻更低、更加容易理解的圖標形式的控件,一段完整的程序要能夠穩定、成功地運行,則需要C語言執行所需要的基本流程,基于程序執行的基本流程,將圖標控件模塊劃分為之前所闡述的5個大類。

    執行控件主要包括一些需要執行的操作,例如開關中斷、設置延時、設置IO輸入/輸出等;傳感器控件包含GCPLC需要的傳感器,例如超聲波傳感器、AD傳感器等;通信控件包含與硬件核心板通信相關的控件,例如I2C、SPI、UART等;流程控件則是與程序執行相關,所以包含IF判斷、條件循環、計數循環之類的控件;任務控件則是為了程序的多任務協調執行而設置的,所以每當用戶添加一個任務,任務控件中也會生成相應的控件。

    為了使開發平臺自身更具有拓展性,設計了一套從Access數據庫讀取控件名稱和控件圖片等相關屬性的算法,當需要增加某種控件時,只需要設置好該控件的相應屬性,存入數據庫即可。而對于每一個用戶程序,其中的任務控件也是各有不同的,因此實現任務控件的動態存取也十分重要。而在設計控件時,為了實現程序的通用性,設計了圖標控件Icon類,其關鍵代碼如下:

    public LinkIconType IconType;//控件的類型

    public string ModuleName;//控件名字

    public int IconArrNum;//控件在控件數組中的下標

    public int IconDbNum;//控件在數據庫中的序號

    public PictureBox IconPicBox;//控件的圖片

    public PictureBox MoveToIconPicBox;//鼠標移動到控件上時顯示的圖片

    public int IconLeftDotNum; //控件圖標的左側的Dotsize個數

    public int IconTopDotNum; //控件圖標的上側的Dotsize個數

3.2 控件連接及屬性設置模塊

    控件連接及屬性設置模塊是進行控件拖拉、連線、程序順序設計的模塊,也是整個開發平臺的核心所在,若干個控件通過不同的順序連接,將會生成截然不同的程序。

    在這個界面中,可以通過雙擊每個控件以編輯該控件的屬性。例如,當點擊PWM初始化控件時,便會跳出“PWM初始化”屬性窗口,如圖4所示。

qrs1-t4.gif

    該窗口用于設置GCPLC硬件上的PWM波的輸出頻率,只需要在文本框中輸入想要的頻率,點擊確定后就可以成功配置PWM的輸出頻率。使用者在編程時可以很容易掌握。其他的控件也具各自的屬性窗口。

    當從圖標控件模塊拖出控件時,每個控件之間都是各自獨立的,即使設置好控件的屬性,這些控件仍然不具備實際功能,只有通過每個控件頂部和底部的三角形區域將需要的控件連接起來時,這些控件才會真正起作用,在開發環境中新建一個項目文件后會自動生成一個Main圖標控件,這個控件是不可編輯的,表示為每個程序的開始。

    為了能適應程序較小或者較大的情況,設計了可縮放的編程界面,當需要編寫程序量較大的程序時,可以縮小界面以便于查看完整的程序結構。另外,開發環境吸取了PLC編程中梯形圖多行編寫的優點,設計了多行顯示的程序結構。同時,當控件圖標過多超過當前顯示頁面時,設計一套實時刷新的算法,提升了軟件執行效率。

    當GCPLC系統需要執行多任務程序時,為了使得各個任務之間的劃分更加清晰,為主任務程序和每個子任務都開辟了單獨的窗口,用戶每添加一個任務,都會在主任務窗體中生成一個子任務控件圖標,雙擊任務控件圖標后可以編輯相應的任務屬性,如任務名稱、任務棧大小、任務優先級等。

3.3 代碼更新顯示模塊

    在控件連接及屬性設置模塊將各個圖標按照自己預想的順序連線完成后,如果沒有任何可以參照修改的功能,很有可能使得最后燒寫的程序無法正常運行,而且僅僅是圖標連接也會使得開發者感覺很疑惑。為了解決這些問題,設計了代碼顯示區域。該區域顯示的代碼與控件連接模塊的連線方式是一一對應的,如圖5所示。

qrs1-t5.gif

4 GCPLC整體運行實驗

    在本次實驗中,對GCPLC系統進行了一次整體上電自檢實驗測試。首先在GCPLC軟件開發環境中編寫好上電自檢的程序,這個上電自檢程序將打開GCPLC硬件系統中的所有GPIO、PWM、差分輸入/輸出、CAN總線、485、232和數碼管功能,并且將模塊初始化信息通過串口反饋出來。上電后的串口反饋信息如圖6所示。

qrs1-t6.gif

5 結論

    GCPLC系統將嵌入式系統、軟件開發系統融合在一起,形成一個開放式的體系結構,相比傳統的PLC具有更高的靈活性和可擴展性,從而使得計算機控制系統不再受傳統PLC硬件的限制,提高了可靠性和可操作性。本系統具有良好的通信能力,能夠完成比較復雜的多任務控制功能,可以滿足和實現當前和今后工業自動化領域控制系統開放性和柔性的要求,為工業自動化向更高層次的集成提供了可靠的計數保障,具有廣闊的應用前景。

參考文獻

[1] 嚴奎.嵌入式PLC編程軟件開發[J].工業控制計算機,2012,25(10):67-68,70.

[2] 張嵩,術守喜,丁廣乾.基于ARM的嵌入式PLC的設計[J].自動化與儀器儀表,2008(3):9-10,23.

[3] 廖常初.PLC編程及應用(第4版)[M].北京:機械工業出版社,2014.

[4] TROELSEN A.C#與.NET 4高級程序設計[M].北京:人民郵電出版社,2011.

[5] 王宜懷.嵌入式系統原理與實踐:ARM Cortex-M4 Kinetis微控制器[M].北京:電子工業出版社,2012.

[6] 吳玉香,周東霞,林錦赟.嵌入式軟PLC系統的研究和實現[J].計算機工程,2009(10).

[7] 謝春杰.嵌入式軟PLC的研究與設計[D].南京:南京理工大學,2014.

[8] 郭建勛.嵌入式軟PLC開發系統的設計[D].廣州:華南理工大學,2010.

[9] PRATUMSUWAN P,PONGAEN W.An embedded PLC development for teaching in mechatronics education[J].Industrial Electronics & Applications,IEEE,2011(6):1477-1481.

[10] 艾春麗,劉榮鵬,張鳳登.基于軟PLC的多任務并行控制系統的實時性研究[J].計算機應用,2007,27(12):272-274.



作者信息:

司蕭俊,王宜懷,白  聰

(蘇州大學 計算機科學與技術學院,江蘇 蘇州215000)

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 特级夫妻大片免费在线播放 | a级男女性高爱潮高清试 | 国产亚洲精品午夜高清影院 | 26uuu欧美日韩国产 | 在线看片成人 | 精品影视网站入口 | 456亚洲人成高清在线 | 欧美视频一区二区专区 | 欧美成人hd | 国产一区二区三区免费在线视频 | 日韩av.com| 一个人免费看的视频www | 一级裸片 | 碰碰碰人人澡人人爱摸 | 久久99精品久久久久久秒播放器 | 亚洲天堂午夜 | 日韩欧美国产精品第一页不卡 | 18一20岁一级毛片 | 亚洲激情文学 | 久久精品国产精品青草不卡 | 男女下面一进一出的视频免费 | 福利一区二区在线观看 | 亚洲欧洲日本精品 | 最近2019免费中文字幕6 | 天堂网免费视频 | 色日本视频 | 日本高清乱理论片 | 国产色婷婷免费视频 | 亚洲美女综合 | 婷婷操 | 一级做a毛片免费视频 | 国产成人福利免费观看 | 一级特黄aaa大片免费看 | 免费观看的成年网址 | 国产无卡一级毛片aaa | 97色偷偷| 日韩中文字幕久久精品 | 日本中文字幕永久在线 | 一区二区在线视频 | 欧美国产大片 | 日本免费一区二区三区中文 |