產品分類

      當前位置: 首頁 > 工業控制產品 > 自動化控制 > PLC可編程控制器

      類型分類:
      科普知識
      數據分類:
      PLC可編程控制器

      Embedded Type 嵌入式PLC介紹

      發布日期:2022-04-22 點擊率:63 品牌:EMB

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

         1引言:嵌入式PLC概念

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

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

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

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

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

          2嵌入式PLC軟件架構

          2.1總體結構

          EASYV1.00嵌入式PLC是一種實時性很強的操作系統軟件,總體結構包括三個層面,如圖1所示。

          (1)嵌入式PLC內核它完成實時任務調度,梯形圖語言解釋、執行、通訊等基本功能,并提供二次開發驅動接口;

          (2)二次開發程序通過內核提供的外掛任務,使用內核開發各種面向具體對象個性化差異化的驅動程序;

          (3)終端應用程序指面向工藝流程控制的梯形圖語言編程;

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

          2.2實時OS

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

          (1)硬實時狀態下的搶占式并發任務管理

          EASYV1.00內核提供2.5ms基準時基,它作為一種不可剝奪的任務循環執行用于各類任務的監控管理。

          對于工控應用中的異步事件采用并發式任務管理,通過各類中斷搶占任務的掛起、執行,每類異步任務執行前,在2.5ms任務中注冊,執行后注銷,通過2.5ms時基監控并發任務的流量及阻塞狀況并報字到上一級任務調度。

          (2)EASYV1.00中異步任務

          ·通信數據鏈絡層的字節流

          ·梯形圖語言中的定時器

          ·二次開發驅動程序中的實時異步任務

          并發任務管理是EASYV1.00中最低層的任務管理,達到ms級實時效果,單位時間內(1ms)占用CPU機時峰值為:

          T并=

          Ni——1ms內任務的最大執行次數,ti——任務的一次執行最大時間。

          EASYV1.00并發任務實時數據見表1、表2。

          表1EASYV1.00并發任務實時數據

          任務類別不可剝奪任務通信字節流任務梯形圖定時器驅動并發任務

          2.5ms時基串口0串口1CAN

          執行次數(N1)11111ND

          執行時間(T)10μs+ΔT25μs25μs50μs40μstD

          表2EASYV1.00并發任務實時數據

          任務類別梯形圖通訊函數調用用戶軟中斷

          任務個數131m4

          任務時間1-20μs1-10μs1-5μst4

          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-X177128點位型

          ·輸出繼電器Y:Y0-Y177128點位型

          ·中間繼電器M:M0-M15351536點位型

          ·專用中間繼電器M8000-M8255256點位型

          ·狀態繼電器S:S0-S9991000點位型

          ·時間繼電器T:T0-T255256點位型+字型

          ·計數器C:C0-C255256點位型+字型

          ·通用數據寄存器D:D0-D79998000個字型

          ·專用數據寄存器D:D8000-D8255256個字節

          所有PLC資源是梯形圖運行時進行數據存取的區域,是終端應用層可視化區域,用戶嵌入的驅動程序,可使用對應元件的絕對地址進行存取,實現了嵌入程序與PLC梯形圖之間的數據交換。

          (3)用戶嵌入數據區

          當用戶以EASYV1.00內核設計各種嵌入系統時,需針對具體硬件做必要的驅動程序,該部分程序的私有數據存放于用戶嵌入數據區,公有數據存放于PLC的資源區,用戶嵌入數據區分配如下:

          CPU內部:位區(bitRAM):20H-23H4bytes

          字節區(DRAM):58H-67H16bytes

          外部數據存取器:字節區(XRAM):3600H-3FFFH2560bytes

          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條件跳轉浮點數運算ECMP2進制浮點數比較

          CALL子程序調用EZCP2進制浮點數區域比較

          SRET子程序返回EBCD2進制浮點數轉10進制浮點數

          FEND主程序結束EBIN10進制浮點數轉2進制浮點數

          FOR循環范圍開始EADD2進制浮點數加法

          NEXT循環范圍結束ESUB2進制浮點數減法

          傳送與比較CMP比較EMUL2進制浮點數乘法

          ZCP區域比較EDIV2進制浮點數除法

          MOV傳送ESQR2進制浮點數開方

          CML取反傳送INT2進制浮點數轉BIN整數

          BCDBCD轉換FLTBIN整數轉2進制浮點數

          BINBIN轉換接點運算LD=讀取“等于比較節點”

          四則邏輯運算ADDBIN加法LD>讀取“大于比較節點”

          SUBBIN減法LD<讀取“小于比較節點”

          MULBIN乘法LD<>讀取“不等于比較節點”

          DIVBIN除法LD≦讀取“小于等于比較節點”

          INCBIN加1LD≧讀取“大于等于比較節點”

          DECBIN減1AND=串聯“等于比較節點”

          WAND邏輯字與AND>串聯“大于比較節點”

          WOR邏輯字或AND<串聯“小于比較節點”

          WXOR邏輯字異或AND<>串聯“不等于比較節點”

          NEG求補碼AND≦串聯“小于等于比較節點”

          SQRBIN開方AND≧串聯“大于等于比較節點”

          循環與移位ROR循環右移OR=并聯“等于比較節點”

          ROL循環左移OR>并聯“大于比較節點”

          RCR帶進位循環右移OR<并聯“小于比較節點”

          RCL帶進位循環左移OR<>并聯“不等于比較節點”

          OR≦并聯“小于等于比較節點”

          OR≧并聯“大于等于比較節點”

          (4)專家指令(1條)

          助記符名稱

          PID專家算法

          2.5EASYV1.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.

          lRS485網絡連接端口

          在運行(RUN)狀態下,作為RS485主從式網絡的數據交換接口.

          該接口網絡通信協議由內核自動加載,遵循該協議的子節點可自動連入該網絡.如運動控制器的擴展鍵盤連接.

          (3)CANbus通信

          EASYV1.00內核含CANbus現場總線通信協議,在CAN2.0B基礎上,加載了專用的主從式結構的高層協議,借助梯形圖語言,對CANbus占用的PLC資源進行管理(CANbus文件寄存器)即可實現CANbus互連。

          2.6函數調用

          EASYV1.00系統提供嵌入驅動程序函數調用,為嵌入程序設計系統提供了EASYCORE.LIB函數庫,用戶在嵌入時,只要包含該文件(includeEASYCORE.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]C8051F040Datasheet.SILICONLABORATORIES.2003
        [4]三菱FX系列編程手冊.三菱電機
          [5]嵌入式PLC原理與應用.黃石市科威自控有限公司,2004

      下一篇: PLC、DCS、FCS三大控

      上一篇: 索爾維全系列Solef?PV

      推薦產品

      更多
      主站蜘蛛池模板: 无码播放一区二区三区| 天天躁日日躁狠狠躁一区| 亚欧色一区W666天堂| 一区二区三区www| 亚洲av综合av一区二区三区| 亚洲AV无码第一区二区三区| 色狠狠一区二区三区香蕉蜜桃| 久久久久国产一区二区三区| 一区二区日韩国产精品| 性盈盈影院免费视频观看在线一区 | 一区二区三区精品| 精品少妇ay一区二区三区 | 亚洲av无码一区二区三区在线播放| 精品深夜AV无码一区二区老年 | 日产一区日产2区| 国产精品揄拍一区二区久久| 午夜视频在线观看一区| 在线精品亚洲一区二区三区| 麻豆AV一区二区三区| 久久久精品人妻一区亚美研究所| 久久se精品一区二区| 国产品无码一区二区三区在线| 精品在线一区二区| 久久91精品国产一区二区| 本免费AV无码专区一区| 亚洲av乱码一区二区三区按摩| 色一情一乱一伦一区二区三欧美 | 国模少妇一区二区三区| 欧洲精品无码一区二区三区在线播放| 精品人妻一区二区三区毛片| 久久免费区一区二区三波多野| 亚洲国产一区二区a毛片| 伊人久久大香线蕉AV一区二区| 又紧又大又爽精品一区二区| 国产午夜毛片一区二区三区 | 日韩好片一区二区在线看| 无码人妻久久一区二区三区免费| 伊人无码精品久久一区二区| 蜜桃无码一区二区三区| 国产福利电影一区二区三区| 一区免费在线观看|