首頁 > 新聞係統 > PLC > PLC案例分析 正文 > 論壇 返回 打印

基於嵌入式PLC芯片組的多路模擬量PLC的開發

   摘要:本文介紹了一種新的PLC開發過程――嵌入式PLC的開發。嵌入式PLC以用戶的應用為中心,軟硬件可由用戶根據工藝需要來裁剪,很好地滿足了用戶的個性化需求。

  關鍵詞:嵌入式PLC芯片組  係統軟件  內核    
如今工業控製產品已發展到一個追求個性化、差異化的階段。傳統的PLC產品已經無法滿足更加細分化的市場需求,為了滿足這種需求,出現了嵌入式PLC產品。

一、嵌入式PLC
  嵌入式PLC是將PLC係統軟件構建於控製器內,根據用戶控製需要定製硬件,以PLC的應用方式解決對象控製問題的PLC。它由兩部分組成:嵌入式PLC係統軟件和芯片組

1、嵌入式PLC係統軟件

  嵌入式PLC係統軟件將PLC語言(梯形圖語言)、CAN總線嵌入到單片機中,使單片機的產品開發從使用彙編語言變為使用PLC梯形圖語言,並具有CAN總線的互連特性。

  該係統軟件具有以下特點:1.以梯形圖語言為內核,添加了中斷管理係統,能實現PLC無法實現的硬實時操作;2.強化運算能力,增加了CANBUS函數庫、浮點數庫、專家自整定PID、嵌入式WEB等,豐富了PLC的功能;3.提供開放式擴展結構,支持第三方開發擴展單元的接線;4.增加了網絡互連功能,在遠程端加載專用瀏覽器後,即可實現遠程監控。

  係統軟件包括三個部分。

  ①嵌入式PLC內核: 它完成實時任務調度、梯形圖語言解釋、執行、通訊等基本功能,並提供二次開發驅動接口;
  ②二次開發驅動程序 通過係統軟件提供的外掛任務,使用內核開發各種麵向具體對象個性化、差異化的驅動程序;
  ③終端應用程序 指麵向工藝流程控製的梯形圖語言程序

2、嵌入式PLC芯片組

  EASY CORE 1.00 是一個加載了嵌入式PLC係統軟件的核心芯片組,作為一款加載了係統軟件的硬件平台,可以用來設計通用和專用PLC。
1)芯片組基本性能:
① 供電:+5V 200mA,RAM掉電保護5年。
② CPU: C8051F040。
③ 嵌入擴展能力
●32 I/O:可複用成SPI、I2C接口及外中斷、外計數、AD等。
●4 AD: 12位精度,100 KPS。
●2 DA: 12位精度,100 KPS。
④ 通信接口
●CANBUS:係統軟件管理,使用工具軟件CANSet構建CANBUS總線網絡。
●UART0:係統軟件管理,用於梯形圖編程、監控,支持人機界麵及用戶驅動程序下載。
●UART1:係統軟件管理,用於下載CANBUS網絡參數、構建RS485網絡及支持第三方設備互連。


2)芯片組原理框圖:


二、應用開發
  基於加載了係統軟件的核心芯片組,我們可以根據工藝需要來開發自己的嵌入式PLC產品。下麵就介紹基於嵌入式PLC芯片組開發的16路輸入的模擬量PLC產品(可輸入標準信號或熱電偶信號)。

1、硬件設計

硬件整體結構圖如下:


  AI0是芯片組內的一個AD轉換通道,P1.0―P1.4作為模擬開關的通道控製線來進行16個模擬信號通道間的切換。

(1)信號采集電路
用AD公司的高精密放大器OP07構成模擬信號放大電路,OP07具有低輸入偏移電壓(10uV)、低漂移電壓(0.2uV/℃)和寬範圍的供電電壓(±3V-±18V), 可以很好地滿足該產品的要求。在這裏OP07由±5V供電,R18、R79作為調零電阻,輸出電壓由下式給出:Vout=Vin(1+R98/R56)。


(2)信號選擇電路

  選擇16通道的模擬開關CD4067構成信號選擇電路,A、B、C、D、INH接到芯片組的P1.0-P1.4引腳,做為模擬開關的通道選擇控製信號。OUT引腳接到芯片組的AIN0,即第一個AD轉換通道。


 
2、軟件開發

  嵌入式PLC是基於Cygnal公司的C8051f040芯片開發的,所以二次程序的開發使用51彙編語言。開發選擇的編譯器是KEIL C51,因為它可以生成我們所需要的.HEX文件。

  內核留出了七個用戶嵌入程序接口,我們隻需要充分理解各個接口的功能就可了進行二次開發了,需要熟悉如下內容:a、內核功能b、內核結構c、內核任務管理d、內核存儲空間分配。【1】由於係統軟件中已經加入了232通信、485通信和CAN通信的功能,所以16路模擬量PLC的二次驅動軟件的開發主要集中在模擬量的AD轉換和PLC資源區中AD值的實時刷新上。

(1)程序規劃
  T4中斷:完成AD轉換和16個通道的切換程序
  USER_SCAN:PLC資源區中AD值的刷新。
  AD轉換過程如下:每一通道連續采樣16次,采樣完後得到累加和,然後啟動下一通道的AD轉換。
  PLC資源區中AD值的刷新過程如下:在梯形圖掃描周期結束時進行,把各路AD值的累加和求平均值後放入PLC的資源區的對應位置處。

(2)程序代碼
INIT_AD: ;AD初始化
 MOV  SFRPAGE,  #ADC0_PAGE
 MOV  REF0CN,  #07H ;內部參考電壓/輸出到VERF
         ;啟動內部溫度傳感器
 MOV  AMX0CF,  #00H ;單極性輸入
 MOV  ADC0CF,  #0B8H ;D7--D3=SYSCLK/采樣時鍾-1
         ;采樣轉換時鍾=1US
         ;D2--D0=GAIN
         ;000 GAIN=1
 MOV  ADC0CN,  #90H ;啟動AD采樣
 MOV  AD_CHANNEL, #00H ;AD通道號,初值為0
MOV  AD_COUNT,  #00H ;16次采樣次數計數。初值為0 
RET

SAMPLE_AD:         ;AD采樣開始
MOV  SFRPAGE, #ADC0_PAGE ;AD控製寄存器頁     
MOV  A,  AD_CHANNEL  ;采樣值的累加和是一個字基地址         ;為#XAI,偏移地址為AD_CHANNEL
   RL  A
  
   MOV  DPTR,  #XAI  ;XAI存放16次采樣值的累加和
   ADD  A,   DPL   ;低字節相加
   MOV  DPL,  A
   MOVX A,   @DPTR
   MOV  B,   A
   MOV  A,   ADC0L
   CLR  C
   ADDC A,   B
   MOVX @DPTR,  A

   INC  DPTR     ;高字節相加
   MOVX A,   @DPTR
   MOV  B,   A
   MOV  A,   ADC0H
   ANL  A,   #0FH
   ADDC A,   B
   MOVX @DPTR,  A   ;#XAI中存放格式為低字節、高字節

   MOV  SFRPAGE, #ADC0_PAGE ;AD控製寄存器頁
   MOV  ADC0CN, #090H  ;啟動下次AD采樣 
   
   INC  AD_COUNT
   MOV  A,   AD_COUNT
   CLR  C
   SUBB A,   #16  
  JNC  FILL_XAI_XAD   ;當16次采樣完成後,把XAI中16          ;個采樣和(2字節)存放到XAD
RET



3、驅動程序的嵌入

  在KEIL C51中編譯上述程序。使用下載工具軟件“DOWNHEX”,把生成的.HEX文件通過串口下載到芯片組的固定地址處,使得內核可以調用它,從而完成二次驅動程序的開發。到此,16路模擬量PLC的開發工作基本完成。

三、功能介紹

  基於嵌入式PLC開發的多路模擬量網絡節點具有以下功能:1、采集工業現場的多路熱電偶信號,2、支持三菱、台達等多家人機界麵, 3、支持梯形圖編程(86條指令), 4、支持CANbus互連(多機並聯運行或擴展單元連接)等。這裏簡要介紹下該網絡節點的梯形圖功能應用。

  嵌入式PLC的係統軟件中內置了溫度轉換函數,其功能是把熱電偶毫伏信號對應的AD值轉化成溫度值。適用於任意分度熱電偶輸入信號,應用於不同的控溫場合,配合PID調節,使受控溫度精度可達±1℃。

  下麵的梯形圖程序就是把一路熱電偶信號轉換成溫度值,該信號AD值放在D5000,轉換後的溫度值存放在D5160中。


四、結束語
  筆者利用嵌入式PLC芯片組開發的的PLC產品的實例證明,本著軟硬件可裁剪的原則,開發出的產品可以很好的滿足用戶的個性化需求,節約了硬件成本、縮短了研發周期,並且得到了許多強大的功能,相信它的出現必將使得PLC生產廠家生產出越來越多的貼近終端市場的PLC。

參考文獻:
1. 黃石科威自控有限公司 《嵌入式PLC原理與應用》
2. 沈陽新華龍有限公司 《C8051F040數據手冊》
3. 黃石科威自控有限公司 《EASY編程手冊》
4.《KEIL C51開發環境使用手冊》



http://www.autooo.net/autooo/PLC/PLC-Case/2007-10-20/18831.html