本文介紹了一種新的PLC開發(fā)過程——嵌入式PLC的開發(fā)。嵌入式PLC以用戶的應用為中心,軟硬件可由用戶根據(jù)工藝需要來裁剪,很好地滿足了用戶的個性化需求。   關鍵詞:嵌入式PLC芯片組 系統(tǒng)軟件 內(nèi)核   如今工業(yè)控制產(chǎn)品已發(fā)展到一個追求個性化、差異化的階段。傳統(tǒng)的PLC產(chǎn)品已經(jīng)無法滿足更加細分化的市場需求,為了滿足這種需求,出現(xiàn)了嵌入式PLC產(chǎn)品。  一、嵌入式PLC   嵌入式PLC是將PLC系統(tǒng)軟件構建于控制器內(nèi),根據(jù)用戶控制需要定制硬件,以PLC的應用方式解決對象控制問題的PLC。它由兩部分組成:嵌入式PLC系統(tǒng)軟件和芯片組  1、嵌入式PLC系統(tǒng)軟件  嵌入式PLC系統(tǒng)軟件將PLC語言(梯形圖語言)、CAN總線嵌入到單片機中,使單片機的產(chǎn)品開發(fā)從使用匯編語言變?yōu)槭褂肞LC梯形圖語言,并具有CAN總線的互連特性。  該系統(tǒng)軟件具有以下特點:  1.以梯形圖語言為內(nèi)核,添加了中斷管理系統(tǒng),能實現(xiàn)PLC無法實現(xiàn)的硬實時操作;  2.強化運算能力,增加了CANBUS函數(shù)庫、浮點數(shù)庫、專家自整定PID、嵌入式WEB等,豐富了PLC的功能;  3.提供開放式擴展結構,支持第三方開發(fā)擴展單元的接線;  4.增加了網(wǎng)絡互連功能,在遠程端加載專用瀏覽器后,即可實現(xiàn)遠程監(jiān)控。  系統(tǒng)軟件包括三個部分。 ?、偾度胧絇LC內(nèi)核: 它完成實時任務調(diào)度、梯形圖語言解釋、執(zhí)行、通訊等基本功能,并提供二次開發(fā)驅動接口; ?、诙伍_發(fā)驅動程序 通過系統(tǒng)軟件提供的外掛任務,使用內(nèi)核開發(fā)各種面向具體對象個性化、差異化的驅動程序; ③終端應用程序 指面向工藝流程控制的梯形圖語言程序   2、嵌入式PLC芯片組  EASY CORE 1.00 是一個加載了嵌入式PLC系統(tǒng)軟件的核心芯片組,作為一款加載了系統(tǒng)軟件的硬件平臺,可以用來設計通用和專用PLC?! ?)芯片組基本性能:  ① 供電:+5V 200mA,RAM掉電保護5年?! 、?CPU: C8051F040。 ?、?嵌入擴展能力    ●32 I/O:可復用成SPI、I2C接口及外中斷、外計數(shù)、AD等?!    ? AD: 12位精度,100 KPS。    ●2 DA: 12位精度,100 KPS。 ?、?通信接口    ●CANBUS:系統(tǒng)軟件管理,使用工具軟件CANSet構建CANBUS總線網(wǎng)絡?!    馯ART0:系統(tǒng)軟件管理,用于梯形圖編程、監(jiān)控,支持人機界面及用戶驅動程序下載?!    馯ART1:系統(tǒng)軟件管理,用于下載CANBUS網(wǎng)絡參數(shù)、構建RS485網(wǎng)絡及支持第三方設備互連?! ?)芯片組原理框圖:  二、應用開發(fā)  基于加載了系統(tǒng)軟件的核心芯片組,我們可以根據(jù)工藝需要來開發(fā)自己的嵌入式PLC產(chǎn)品。下面就介紹基于嵌入式PLC芯片組開發(fā)的16路輸入的模擬量PLC產(chǎn)品(可輸入標準信號或熱電偶信號)?! ?、硬件設計  硬件整體結構圖如下:  AI0是芯片組內(nèi)的一個AD轉換通道,P1.0—P1.4作為模擬開關的通道控制線來進行16個模擬信號通道間的切換?! 。?)信號采集電路  用AD公司的高精密放大器OP07構成模擬信號放大電路,OP07具有低輸入偏移電壓(10uV)、低漂移電壓(0.2uV/℃)和寬范圍的供電電壓(±3V-±18V), 可以很好地滿足該產(chǎn)品的要求。在這里OP07由±5V供電,R18、R79作為調(diào)零電阻,輸出電壓由下式給出:Vout=Vin(1+R98/R56)?! 。?)信號選擇電路  選擇16通道的模擬開關CD4067構成信號選擇電路,A、B、C、D、INH接到芯片組的P1.0-P1.4引腳,做為模擬開關的通道選擇控制信號。OUT引腳接到芯片組的AIN0,即第一個AD轉換通道。   2、軟件開發(fā)  嵌入式PLC是基于Cygnal公司的C8051f040芯片開發(fā)的,所以二次程序的開發(fā)使用51匯編語言。開發(fā)選擇的編譯器是KEIL C51,因為它可以生成我們所需要的.HEX文件?! ?nèi)核留出了七個用戶嵌入程序接口,我們只需要充分理解各個接口的功能就可了進行二次開發(fā)了,需要熟悉如下內(nèi)容:a、內(nèi)核功能b、內(nèi)核結構c、內(nèi)核任務管理d、內(nèi)核存儲空間分配?!  ?】由于系統(tǒng)軟件中已經(jīng)加入了232通信、485通信和CAN通信的功能,所以16路模擬量PLC的二次驅動軟件的開發(fā)主要集中在模擬量的AD轉換和PLC資源區(qū)中AD值的實時刷新上?! 。?)程序規(guī)劃    T4中斷:完成AD轉換和16個通道的切換程序    USER_SCAN:PLC資源區(qū)中AD值的刷新?!   D轉換過程如下:每一通道連續(xù)采樣16次,采樣完后得到累加和,然后啟動下一通道的AD轉換。    PLC資源區(qū)中AD值的刷新過程如下:在梯形圖掃描周期結束時進行,把各路AD值的累加和求平均值后放入PLC的資源區(qū)的對應位置處。 ?。?)程序代碼    INIT_AD: ;AD初始化    MOV SFRPAGE, #ADC0_PAGE    MOV REF0CN, #07H ;內(nèi)部參考電壓/輸出到VERF     ;啟動內(nèi)部溫度傳感器    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次采樣次數(shù)計數(shù)。初值為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 ;低字節(jié)相加     MOV DPL, A     MOVX A, @DPTR     MOV B, A     MOV A, ADC0L     CLR C     ADDC A, B     MOVX @DPTR, A     INC DPTR ;高字節(jié)相加     MOVX A, @DPTR     MOV B, A     MOV A, ADC0H     ANL A, #0FH     ADDC A, B     MOVX @DPTR, A ;#XAI中存放格式為低字節(jié)、高字節(jié)     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字節(jié))存放到XAD  RET  3、驅動程序的嵌入  在KEIL C51中編譯上述程序。使用下載工具軟件“DOWNHEX”,把生成的.HEX文件通過串口下載到芯片組的固定地址處,使得內(nèi)核可以調(diào)用它,從而完成二次驅動程序的開發(fā)。到此,16路模擬量PLC的開發(fā)工作基本完成。  三、功能介紹  基于嵌入式PLC開發(fā)的多路模擬量網(wǎng)絡節(jié)點具有以下功能:  1、采集工業(yè)現(xiàn)場的多路熱電偶信號,  2、支持三菱、臺達等多家人機界面,  3、支持梯形圖編程(86條指令),   4、支持CANbus互連(多機并聯(lián)運行或擴展單元連接)等。這里簡要介紹下該網(wǎng)絡節(jié)點的梯形圖功能應用?! ∏度胧絇LC的系統(tǒng)軟件中內(nèi)置了溫度轉換函數(shù),其功能是把熱電偶毫伏信號對應的AD值轉化成溫度值。適用于任意分度熱電偶輸入信號,應用于不同的控溫場合,配合PID調(diào)節(jié),使受控溫度精度可達±1℃。  下面的梯形圖程序就是把一路熱電偶信號轉換成溫度值,該信號AD值放在D5000,轉換后的溫度值存放在D5160中?! ∷?、結束語  筆者利用嵌入式PLC芯片組開發(fā)的的PLC產(chǎn)品的實例證明,本著軟硬件可裁剪的原則,開發(fā)出的產(chǎn)品可以很好的滿足用戶的個性化需求,節(jié)約了硬件成本、縮短了研發(fā)周期,并且得到了許多強大的功能,相信它的出現(xiàn)必將使得PLC生產(chǎn)廠家生產(chǎn)出越來越多的貼近終端市場的PLC。