時間:2006-05-18 11:33:00來源:0
 二、應(yīng)用開發(fā)
基于加載了系統(tǒng)軟件的核心芯片組,我們可以根據(jù)工藝需要來開發(fā)自己的嵌入式PLC產(chǎn)品。下面就介紹基于嵌入式PLC芯片組開發(fā)的16路輸入的模擬量PLC產(chǎn)品(可輸入標準信號或熱電偶信號)。
1、硬件設(shè)計
硬件整體結(jié)構(gòu)圖如下:
二、應(yīng)用開發(fā)
基于加載了系統(tǒng)軟件的核心芯片組,我們可以根據(jù)工藝需要來開發(fā)自己的嵌入式PLC產(chǎn)品。下面就介紹基于嵌入式PLC芯片組開發(fā)的16路輸入的模擬量PLC產(chǎn)品(可輸入標準信號或熱電偶信號)。
1、硬件設(shè)計
硬件整體結(jié)構(gòu)圖如下:
 AI0是芯片組內(nèi)的一個AD轉(zhuǎn)換通道,P1.0—P1.4作為模擬開關(guān)的通道控制線來進行16個模擬信號通道間的切換。
       (1)信號采集電路
     用AD公司的高精密放大器OP07構(gòu)成模擬信號放大電路,OP07具有低輸入偏移電壓(10uV)、低漂移電壓(0.2uV/℃)和寬范圍的供電電壓(±3V-±18V), 可以很好地滿足該產(chǎn)品的要求。在這里OP07由±5V供電,R18、R79作為調(diào)零電阻,輸出電壓由下式給出:Vout=Vin(1+R98/R56)。
AI0是芯片組內(nèi)的一個AD轉(zhuǎn)換通道,P1.0—P1.4作為模擬開關(guān)的通道控制線來進行16個模擬信號通道間的切換。
       (1)信號采集電路
     用AD公司的高精密放大器OP07構(gòu)成模擬信號放大電路,OP07具有低輸入偏移電壓(10uV)、低漂移電壓(0.2uV/℃)和寬范圍的供電電壓(±3V-±18V), 可以很好地滿足該產(chǎn)品的要求。在這里OP07由±5V供電,R18、R79作為調(diào)零電阻,輸出電壓由下式給出:Vout=Vin(1+R98/R56)。
 (2)信號選擇電路
選擇16通道的模擬開關(guān)CD4067構(gòu)成信號選擇電路,A、B、C、D、INH接到芯片組的P1.0-P1.4引腳,做為模擬開關(guān)的通道選擇控制信號。OUT引腳接到芯片組的AIN0,即第一個AD轉(zhuǎn)換通道。
(2)信號選擇電路
選擇16通道的模擬開關(guān)CD4067構(gòu)成信號選擇電路,A、B、C、D、INH接到芯片組的P1.0-P1.4引腳,做為模擬開關(guān)的通道選擇控制信號。OUT引腳接到芯片組的AIN0,即第一個AD轉(zhuǎn)換通道。
 
 2、軟件開發(fā)
嵌入式PLC是基于Cygnal公司的C8051f040芯片開發(fā)的,所以二次程序的開發(fā)使用51匯編語言。開發(fā)選擇的編譯器是KEIL C51,因為它可以生成我們所需要的.HEX文件。
內(nèi)核留出了七個用戶嵌入程序接口,我們只需要充分理解各個接口的功能就可了進行二次開發(fā)了,需要熟悉如下內(nèi)容:a、內(nèi)核功能b、內(nèi)核結(jié)構(gòu)c、內(nèi)核任務(wù)管理d、內(nèi)核存儲空間分配。【1】由于系統(tǒng)軟件中已經(jīng)加入了232通信、485通信和CAN通信的功能,所以16路模擬量PLC的二次驅(qū)動軟件的開發(fā)主要集中在模擬量的AD轉(zhuǎn)換和PLC資源區(qū)中AD值的實時刷新上。
(1)程序規(guī)劃                
T4中斷:完成AD轉(zhuǎn)換和16個通道的切換程序
USER_SCAN:PLC資源區(qū)中AD值的刷新。
AD轉(zhuǎn)換過程如下:每一通道連續(xù)采樣16次,采樣完后得到累加和,然后啟動下一通道的AD轉(zhuǎn)換。
PLC資源區(qū)中AD值的刷新過程如下:在梯形圖掃描周期結(jié)束時進行,把各路AD值的累加和求平均值后放入PLC的資源區(qū)的對應(yīng)位置處。
(2)程序代碼
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
                                 ;采樣轉(zhuǎn)換時鐘=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、驅(qū)動程序的嵌入
在KEIL C51中編譯上述程序。使用下載工具軟件“DOWNHEX”,把生成的.HEX文件通過串口下載到芯片組的固定地址處,使得內(nèi)核可以調(diào)用它,從而完成二次驅(qū)動程序的開發(fā)。到此,16路模擬量PLC的開發(fā)工作基本完成。
三、功能介紹
基于嵌入式PLC開發(fā)的多路模擬量網(wǎng)絡(luò)節(jié)點具有以下功能:1、采集工業(yè)現(xiàn)場的多路熱電偶信號,2、支持三菱、臺達等多家人機界面, 3、支持梯形圖編程(86條指令), 4、支持CANbus互連(多機并聯(lián)運行或擴展單元連接)等。這里簡要介紹下該網(wǎng)絡(luò)節(jié)點的梯形圖功能應(yīng)用。
嵌入式PLC的系統(tǒng)軟件中內(nèi)置了溫度轉(zhuǎn)換函數(shù),其功能是把熱電偶毫伏信號對應(yīng)的AD值轉(zhuǎn)化成溫度值。適用于任意分度熱電偶輸入信號,應(yīng)用于不同的控溫場合,配合PID調(diào)節(jié),使受控溫度精度可達±1℃。
下面的梯形圖程序就是把一路熱電偶信號轉(zhuǎn)換成溫度值,該信號AD值放在D5000,轉(zhuǎn)換后的溫度值存放在D5160中。
2、軟件開發(fā)
嵌入式PLC是基于Cygnal公司的C8051f040芯片開發(fā)的,所以二次程序的開發(fā)使用51匯編語言。開發(fā)選擇的編譯器是KEIL C51,因為它可以生成我們所需要的.HEX文件。
內(nèi)核留出了七個用戶嵌入程序接口,我們只需要充分理解各個接口的功能就可了進行二次開發(fā)了,需要熟悉如下內(nèi)容:a、內(nèi)核功能b、內(nèi)核結(jié)構(gòu)c、內(nèi)核任務(wù)管理d、內(nèi)核存儲空間分配。【1】由于系統(tǒng)軟件中已經(jīng)加入了232通信、485通信和CAN通信的功能,所以16路模擬量PLC的二次驅(qū)動軟件的開發(fā)主要集中在模擬量的AD轉(zhuǎn)換和PLC資源區(qū)中AD值的實時刷新上。
(1)程序規(guī)劃                
T4中斷:完成AD轉(zhuǎn)換和16個通道的切換程序
USER_SCAN:PLC資源區(qū)中AD值的刷新。
AD轉(zhuǎn)換過程如下:每一通道連續(xù)采樣16次,采樣完后得到累加和,然后啟動下一通道的AD轉(zhuǎn)換。
PLC資源區(qū)中AD值的刷新過程如下:在梯形圖掃描周期結(jié)束時進行,把各路AD值的累加和求平均值后放入PLC的資源區(qū)的對應(yīng)位置處。
(2)程序代碼
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
                                 ;采樣轉(zhuǎn)換時鐘=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、驅(qū)動程序的嵌入
在KEIL C51中編譯上述程序。使用下載工具軟件“DOWNHEX”,把生成的.HEX文件通過串口下載到芯片組的固定地址處,使得內(nèi)核可以調(diào)用它,從而完成二次驅(qū)動程序的開發(fā)。到此,16路模擬量PLC的開發(fā)工作基本完成。
三、功能介紹
基于嵌入式PLC開發(fā)的多路模擬量網(wǎng)絡(luò)節(jié)點具有以下功能:1、采集工業(yè)現(xiàn)場的多路熱電偶信號,2、支持三菱、臺達等多家人機界面, 3、支持梯形圖編程(86條指令), 4、支持CANbus互連(多機并聯(lián)運行或擴展單元連接)等。這里簡要介紹下該網(wǎng)絡(luò)節(jié)點的梯形圖功能應(yīng)用。
嵌入式PLC的系統(tǒng)軟件中內(nèi)置了溫度轉(zhuǎn)換函數(shù),其功能是把熱電偶毫伏信號對應(yīng)的AD值轉(zhuǎn)化成溫度值。適用于任意分度熱電偶輸入信號,應(yīng)用于不同的控溫場合,配合PID調(diào)節(jié),使受控溫度精度可達±1℃。
下面的梯形圖程序就是把一路熱電偶信號轉(zhuǎn)換成溫度值,該信號AD值放在D5000,轉(zhuǎn)換后的溫度值存放在D5160中。
 四、結(jié)束語
筆者利用嵌入式PLC芯片組開發(fā)的的PLC產(chǎn)品的實例證明,本著軟硬件可裁剪的原則,開發(fā)出的產(chǎn)品可以很好的滿足用戶的個性化需求,節(jié)約了硬件成本、縮短了研發(fā)周期,并且得到了許多強大的功能,相信它的出現(xiàn)必將使得PLC生產(chǎn)廠家生產(chǎn)出越來越多的貼近終端市場的PLC。
 
參考文獻:
1. 黃石科威自控有限公司 《嵌入式PLC原理與應(yīng)用》
2. 沈陽新華龍有限公司  《C8051F040數(shù)據(jù)手冊》
3. 黃石科威自控有限公司 《EASY編程手冊》
4.《KEIL C51開發(fā)環(huán)境使用手冊》
四、結(jié)束語
筆者利用嵌入式PLC芯片組開發(fā)的的PLC產(chǎn)品的實例證明,本著軟硬件可裁剪的原則,開發(fā)出的產(chǎn)品可以很好的滿足用戶的個性化需求,節(jié)約了硬件成本、縮短了研發(fā)周期,并且得到了許多強大的功能,相信它的出現(xiàn)必將使得PLC生產(chǎn)廠家生產(chǎn)出越來越多的貼近終端市場的PLC。
 
參考文獻:
1. 黃石科威自控有限公司 《嵌入式PLC原理與應(yīng)用》
2. 沈陽新華龍有限公司  《C8051F040數(shù)據(jù)手冊》
3. 黃石科威自控有限公司 《EASY編程手冊》
4.《KEIL C51開發(fā)環(huán)境使用手冊》標簽:
                                 
                            
上一篇:隧道窯控制系統(tǒng)
傳動網(wǎng)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動網(wǎng)(www.wangxinlc.cn)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。
產(chǎn)品新聞
更多>2025-10-31
2025-10-22
2025-10-17
2025-10-11
2025-10-09
2025-09-23