基于EASY嵌入式PLC芯片構(gòu)建現(xiàn)場(chǎng)總線ETS系統(tǒng)
嵌入到嵌入式PLC芯片中的軟件基于科威公司提供的匯編語言框架編寫。首先解決使用通用IO來模擬IDT7202的讀寫操作,以下是讀寫IDT7202的程序:
FIFO_FF EQU P4.1
FIFO_EF EQU P4.0
C1_DIR EQU P3.3
C1_EN EQU P3.2
C1_WR EQU P3.1
C1_RD EQU P3.0
FIFO_PORT EQU P1
WRITE_FIFO: MOV SFRPAGE,#0FH
JNB FIFO_FF,WFIFO_L1
CLR C1_DIR
MOV FIFO_PORT,R7
CLR C1_EN
CLR C1_WR
SETB C1_WR
SETB C1_EN
MOV R6,#1
RET
WFIFO_L1: MOV R6,#0
RET
READ_FIFO: MOV SFRPAGE,#0FH
JNB FIFO_EF,RFIFO_L1
SETB C1_DIR
CLR C1_EN
CLR C1_RD
MOV FIFO_PORT,#0FFH
MOV A,FIFO_PORT
SETB C1_RD
SETB C1_EN
MOV R6,A
MOV R7,#1
RET
RFIFO_L1: MOV R7,#0
RET
在嵌入式PLC的STEP函數(shù)和SCAN函數(shù)中讀取IDT7202的數(shù)據(jù),每次讀取兩幀。數(shù)據(jù)解析后存入對(duì)應(yīng)的D寄存器,這樣就可以在梯形圖編程中使用這些數(shù)據(jù)。有一部分?jǐn)?shù)據(jù)是可寫的(即允許由PLC向TSI方向傳遞)。對(duì)這部分?jǐn)?shù)據(jù),在PLC的外部RAM開辟一塊內(nèi)存作為數(shù)據(jù)副本,初始化時(shí)將D寄存器與副本置為相同值,在運(yùn)行中于STEP函數(shù)和SCAN函數(shù)中監(jiān)視D寄存器和副本的值是否相同,若不同則將D寄存器值向P89V51RD2發(fā)送。
四、總結(jié)
基于EASY 嵌入式PLC 芯片構(gòu)建的現(xiàn)場(chǎng)總線ETS控制器目前已經(jīng)在工業(yè)現(xiàn)場(chǎng)得到實(shí)際運(yùn)用,總的情況良好。應(yīng)該說EASY 嵌入式PLC 芯片是一款成功的產(chǎn)品。
評(píng)論