當前位置:自動化網>黃石市科威自控有限公司門戶>應用案例>嵌入式PLC——EmbeddedTypePLC

          嵌入式PLC——EmbeddedTypePLC

          發布時間:2005-10-25 14:33   類型:基礎知識   人瀏覽

          摘  要:本文通過對經典控制器的分析,提出了嵌入式PLC的概念,重點以EASYV1.00嵌入式PLC軟件內核結構作基本分析,以引導工控設計人員建立一種新的嵌入式系統設計理念。


           關鍵詞: 嵌入式    PLC    內核    CAN總線
           Abstract: By the analysis of the classical controller, the conception of embedded PLC is proposed. The emphases is to lead the designers of the controlling engineering to build a new notion of the design of embedded system by the basic analysis of the kernel configuration of the EASYV1.00 embedded PLC software.
           Key word:Embeded     PLC     Kernel      CAN bus
           [中圖分類號] TP23    [文獻標識碼] A    文章編號 1606-5123(2005)11-00


           1引言:嵌入式PLC概念
              嵌入式PLC是指在特定的控制裝置中實現PLC(Programable Logic Controller)梯形圖編程語言的解釋、執行,使特定裝置在自身專用功能基礎上具有PLC的基本功能。

              梯形圖是一種面向工廠自動化工程師的圖形化PLC編程語言。梯形圖具有簡潔、直觀,面向工藝流程等許多優點。PLC編程語言的出現使控制裝置中的硬件管和面向控制流程分離,PLC制造商專注于硬件及硬件管理,工廠自動化人員借助梯形圖語言作二次開發,使同一種PLC適用于不同的控制系統中,形成了可編程邏輯控制器(PLC)這種平臺級產品。

              但控制產品的設計已發展到一個追求個性化、差異化設計的階段。常規PLC無法進入的市場,通常面臨更多的是個性化、差異化的壓力。如成本控制、特殊功能等。出現了工控機(IPC)、單片機、嵌入板等更貼近個性化需求的控制產品。IPC在互連、表達、算法等方面優勢明顯,單片機系統在成本控制上更加靈活。IPC由于加載了操作系統(如NT)其實時性、穩定性難以滿足連續控制的苛刻要求,通常用于監控。低層通常用PLC。單片機系統將硬件管理和用戶工藝流程控制混在一起,制約了它的標準化,并最終失去成本競爭優勢。

               嵌入式PLC正是面向IPC和單片機系統開發的,它保留了PLC(借助梯形圖語言)硬件管理和工藝控制分離的優勢,結合IPC和單片機提供的更個性化、差異化的設計方法,形成一種新的控制器設計理念。當我們在IPC中嵌入PLC的功能時,我們稱之為基于PC Base的嵌入式PLC,當我們在單片機中嵌入PLC功能時,我們稱它為基于All ON One的嵌入式PLC(片級嵌入PLC)。未特別說明時,嵌入式PLC指片級嵌入式PLC,也就是本文提出的嵌入式PLC。以下描述以8位單片機C8051F040為硬件的以科威公司EASYV1.00版嵌入式PLC軟件架構。

              目前,關于專用PLC有軟PLC和客制式PLC兩種。軟PLC指高端嵌入的含通用實時操作系統的PLC軟件,客制式PLC是指根據用戶需求定向設計的PLC。相關技術在德國、臺灣、南韓均有突破,屬于嵌入式PLC的范疇。


           2 嵌入式PLC軟件架構
           2.1 總體結構
           EASY V1.00嵌入式PLC是一種實時性很強的操作系統軟件,總體結構包括三個層面,如圖1所示。
           (1)嵌入式PLC內核 它完成實時任務調度,梯形圖語言解釋、執行、通訊等基本功能,并提供二次開發驅動接口;
           (2)二次開發程序 通過內核提供的外掛任務,使用內核開發各種面向具體對象個性化差異化的驅動程序;
           (3)終端應用程序 指面向工藝流程控制的梯形圖語言編程;
            
           圖1  EASY V1.00總體結構


              對于二次開發人員開發面向個性化對象的驅動程序,必須了解嵌入式PLC內核結構,尤其是驅動接口設計方法,下面分塊介紹內核的各塊功能。

           2.2 實時OS
               面向小型單片機,一般的實時操作系統無法加載,OS/Ⅱ 占用了過多的資源,EASY V1.00內核根據任務的類別、實時要求、定制了一款專用實時OS,它無文件系統和內存管理兩部分。

           (1)硬實時狀態下的搶占式并發任務管理
           EASY V1.00內核提供2.5ms基準時基,它作為一種不可剝奪的任務循環執行用于各類任務的監控管理。
           對于工控應用中的異步事件采用并發式任務管理,通過各類中斷搶占任務的掛起、執行,每類異步任務執行前,在2.5ms任務中注冊,執行后注銷,通過2.5ms時基監控并發任務的流量及阻塞狀況并報字到上一級任務調度。

           (2)EASY  V1.00中異步任務
           · 通信數據鏈絡層的字節流
           · 梯形圖語言中的定時器
           · 二次開發驅動程序中的實時異步任務
           并發任務管理是EASY V1.00中最低層的任務管理,達到ms級實時效果,單位時間內(1ms)占用CPU機時峰值為:
           T并= 
           Ni——1ms內任務的最大執行次數,ti——任務的一次執行最大時間。
           EASY  V1.00并發任務實時數據見表1、表2。

           表1 EASY  V1.00并發任務實時數據
           任務類別 不可剝奪任務 通信字節流任務 梯形圖定時器 驅動并發任務
            2.5ms時基 串口0 串口1 CAN  
           執行次數(N1) 1 1 1 1 1 ND
           執行時間(T) 10μs+ΔT 25μs 25μs 50μs 40μs tD


           表2  EASY  V1.00并發任務實時數據
           任務類別 梯形圖 通訊 函數調用 用戶軟中斷
           任務個數 1 3 1 m4
           任務時間 1-20μs 1-10μs 1-5μs t4
           T片=3-45μs+t4
           t4為用戶軟中斷任務占用時間和。
           “掃描周期”指解釋、執行所有梯形圖指令并執行掃描結束處理所占用的時間,由于這期間有并發任務產生,“掃描周期”應包括并發任務占用時間。
           并發任務占用比:
           X=T并/ 1ms = (150μs+ΔT+ )/1000μs =15%-100%
           設用戶梯形圖含M條指令
           T掃=(M•T片+ΔTend)/X
           ΔTend為掃描結束處理占用時間。
           2.3 內存管理
              ESAYV1.00的運行數據空間包括64K外部RAM+256字節CPURAM,將其分解為系統占用區、PLC資源區、用戶嵌入數據區三部分。
           (1)系統占用區
           系統占用區是EASYV1.00運行時,進行數據緩存、狀態保持、系
           統堆棧等不對PLC及用戶開設的域區。這部分數據區的初始化運行中的監視都由實時OS管理,PLC及用戶嵌入程序不得非法侵入。
           (2)PLC資源區
           梯形圖語言管理的數據區包括位區、字區兩部分。通常以元件形式體現。
           ·輸入繼電器X:X0-X177  128點位型
           ·輸出繼電器Y:Y0-Y177  128點位型
           ·中間繼電器M:M0-M1535  1536點位型
           ·專用中間繼電器M8000-M8255 256點位型
           ·狀態繼電器S:S0-S999  1000點位型
           ·時間繼電器T:T0-T255  256點位型+字型
           ·計數器C:C0-C255      256點位型+字型
           ·通用數據寄存器D:D0-D7999 8000個字型
           ·專用數據寄存器D:D8000-D8255 256個字節
           所有PLC資源是梯形圖運行時進行數據存取的區域,是終端應用層可視化區域,用戶嵌入的驅動程序,可使用對應元件的絕對地址進行存取,實現了嵌入程序與PLC梯形圖之間的數據交換。
           (3)用戶嵌入數據區
           當用戶以EASYV1.00內核設計各種嵌入系統時,需針對具體硬件做必要的驅動程序,該部分程序的私有數據存放于用戶嵌入數據區,公有數據存放于PLC的資源區,用戶嵌入數據區分配如下:
           CPU內部:位區(bitRAM):20H-23H   4bytes
                    字節區(DRAM):58H-67H   16bytes
           外部數據存取器:字節區(XRAM):3600H-3FFFH   2560bytes
           2.4 梯形圖語言
           EASYV1.00梯形圖語言是一種解釋性語言,每一條梯形圖語句對應一個固定的函數調用,逐句掃描直至END為一個掃描周期,EASYV1.00支持86條梯形圖指令。
           (1)基本指令(27條) 
           助記符 名稱  助記符 名稱
           LD 讀取常開點  LDF 讀取下降沿
           LDI 讀取常閉點  ANDP 串接上升沿
           AND 串入常開點  ANDF 串接下降沿
           ANDI 串入常閉點  ORP 并接上升沿
           OR 并入常開點  ORF 并接下降沿
           ORI 并入常閉點  INV 運算觸點取反
           ANB 電路塊串聯  MPS 運算觸點壓棧
           ORB 電路塊并聯  MRD 讀出壓棧觸點
           OUT 線圈輸出  MPP 彈出壓棧觸點
           SET 線圈輸出保持  MC 主控
           RST 清除線圈輸出  MCR 主控結束
           PLS 上升沿輸出脈沖  NOP 空操作
           PLF 下降沿輸出脈沖  END 程序結束
           LDP 讀取上升沿   

           (2)步進順控指令(2條) 
           助記符 名稱  助記符 名稱
           STL 步進梯形圖開始  RET 步進梯形圖結束
           注:步序狀態轉移只能用SET,當用OUT時視作普通繼電器。

           (3)功能指令(56條)
            助記符 名稱   助記符 名稱
           程序流程 CJ 條件跳轉  浮點數運算 ECMP 2進制浮點數比較
            CALL 子程序調用   EZCP 2進制浮點數區域比較
            SRET 子程序返回   EBCD 2進制浮點數轉10進制浮點數
            FEND 主程序結束   EBIN 10進制浮點數轉2進制浮點數
            FOR 循環范圍開始   EADD 2進制浮點數加法
            NEXT 循環范圍結束   ESUB 2進制浮點數減法
           傳送與比較 CMP 比較   EMUL 2進制浮點數乘法
            ZCP 區域比較   EDIV 2進制浮點數除法
            MOV 傳送   ESQR 2進制浮點數開方
            CML 取反傳送   INT 2進制浮點數轉BIN整數
            BCD BCD轉換   FLT BIN整數轉2進制浮點數
            BIN BIN轉換  接點運算 LD= 讀取“等于比較節點”
           四則邏輯運算 ADD BIN加法   LD> 讀取“大于比較節點”
            SUB BIN減法   LD< 讀取“小于比較節點”
            MUL BIN乘法   LD<> 讀取“不等于比較節點”
            DIV BIN除法   LD≦ 讀取“小于等于比較節點”
            INC BIN加1   LD≧ 讀取“大于等于比較節點”
            DEC BIN減1   AND= 串聯“等于比較節點”
            WAND 邏輯字與   AND> 串聯“大于比較節點”
            WOR 邏輯字或   AND< 串聯“小于比較節點”
            WXOR 邏輯字異或   AND<> 串聯“不等于比較節點”
            NEG 求補碼   AND≦ 串聯“小于等于比較節點”
            SQR BIN開方   AND≧ 串聯“大于等于比較節點”
           循環與移位 ROR 循環右移   OR= 并聯“等于比較節點”
            ROL 循環左移   OR> 并聯“大于比較節點”
            RCR 帶進位循環右移   OR< 并聯“小于比較節點”
            RCL 帶進位循環左移   OR<> 并聯“不等于比較節點”
                OR≦ 并聯“小于等于比較節點”
                OR≧ 并聯“大于等于比較節點”

           (4)專家指令(1條)
           助記符 名稱
           PID 專家算法

           2.5 EASYV1.00通信
              EASYV1.00內核包括串口0、串口1、CANbus三個通信接口,每個接口均定制了相應的通信協議,適用于不同的應用場合。
           (1)串口0
           l 用戶嵌入程序下載
           在編程狀態下,通過串口0下載用戶嵌入程序.
           嵌入程序下載軟件為科威公司軟件Downhex.
           l 梯形圖下載
           在設置狀態下,通過串口0下載梯形圖程序.
           下載工具軟件為科威公司軟件EasyWin或三菱公司軟件FXGP_WIN-C.
           l 梯形圖程序監控
           在運行狀態下,通過串口0連接人機界面(如HITECH,EVIEW,DELTA,三菱等)和計算機,對梯形圖程序和控制參數進行監控.
           (2)串口1
           l 下載CAN網絡配置內容
           在設置(SET)狀態下,下載CAN網絡配置內容.
           編輯下載CAN網絡配置軟件為科威公司軟件CANSET.
           l RS485網絡連接端口
           在運行(RUN)狀態下,作為RS485主從式網絡的數據交換接口.
           該接口網絡通信協議由內核自動加載,遵循該協議的子節點可自動連入該網絡.如運動控制器的擴展鍵盤連接.
           (3)CANbus通信
             EASYV1.00內核含CANbus現場總線通信協議,在CAN2.0B基礎上,加載了專用的主從式結構的高層協議,借助梯形圖語言,對CANbus占用的PLC資源進行管理(CANbus文件寄存器)即可實現CANbus互連。
           2.6 函數調用
              EASYV1.00系統提供嵌入驅動程序函數調用,為嵌入程序設計系統提供了EASYCORE.LIB函數庫,用戶在嵌入時,只要包含該文件(include  EASYCORE.LIB)即可調用系統提供的各類應用函數,如整數、浮點數運算,數據變換等函數。
           2.7 用戶中斷系統
              EASYV1.00運行在C8051F040CPU上時,給用戶提供了13種中斷,如事件中斷、SPI、IIC、A/D、D/A、比較、捕獲等。
           系統中斷入口地址重定向為E000H開始的區域
           ADR=ADR0+E000H
           ADR0---F040中斷入口地址
           3 結束語
               嵌入式PLC提出了一種以過程控制語言(梯形圖語言)核心的新型嵌入系統設計理念。既可以作為PLC產品的開發平臺,也可以作為常規單片機系統的設計。以嵌入式PLC方式進行控制器設計提高了開發速度,更適應貼近客戶需求的個性化、差異化設計要求。面對工控市場日益細分的完備體系,嵌入式PLC在DCS、IPC、PLC、單片機的交叉市場中具有廣闊的應用前景。

           參考文獻
           [1] 鄔寬明.CAN總線原理和應用系統設計.北京:北京航空航天大學出版社,1996
           [2] 潘琢金,施國君.C8051Fxxx高速SOC單片機原理及應用.北京:北京航空航天大學出版社,2002
           [3] C8051F040 Datasheet.SILICON LABORATORIES.2003
           [4] 三菱FX系列編程手冊.三菱電機
           [5] 嵌入式PLC原理與應用.黃石市科威自控有限公司,2004























































































































































          本文地址:http://m.xznet110.com/apply/d_1nrutga2l07ma_1.html

          拷貝地址

          免責聲明:本文僅代表作者個人觀點,與中國自動化網無關。其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內容!

          留言反饋
          • 評價:

          • 關于:

          • 聯系人:

          • 聯系電話:

          • 聯系郵箱:

          • 需求意向:

          • 驗證碼:

            看不清楚?

          X
          下載企業APP

          成為企業會員免費生成APP!

          主站蜘蛛池模板: 毛片a级毛片免费观看品善网 | 999影院成人在线影院| 日韩a级无码免费视频| 亚洲狼人综合网| 网友自拍区一区二区三区| 国产日本欧美在线观看| 亚洲欧美精品一中文字幕| 视频一区二区三区欧美日韩| 国产精选之刘婷野战| 一级成人理伦片| 日韩不卡在线播放| 亚洲欧洲自拍拍偷综合| 国产精品揄拍一区二区久久| 天天操天天干天天操| 久久久久久一区国产精品| 真实乱视频国产免费观看| 国产精品拍拍拍| 一级做a爱片特黄在线观看yy | 欧美三级电影在线| 伊人久久大香线蕉亚洲五月天| 2021日本三级理论影院| 小sb是不是欠c流了那么多| 久久精品人人爽人人爽快| 欧美日韩一二区| 免费国产黄网站在线观看视频| 综合网激情五月| 好吊妞视频免费视频| 亚洲人成网站在线观看青青| 青苹果乐园影视免费观看电视剧hd| 娇妻之欲海泛舟白丽交换| 久久免费视频网| 男人的天堂av社区在线| 国产第一页在线观看| 中文字幕乱人伦视频在线| 最新亚洲人成无码网站| 动漫人物桶机动漫| 老司机激情影院| 在线观看片免费人成视频播放 | 国产三级免费电影| 欧美污视频网站| 小唐璜情史在线播放|