引言:廈門宇電公司生產(chǎn)的AI系列儀表具有良好的通訊功能,可以構成以 AIBUS通訊協(xié)議為基礎的現(xiàn)場總線。廠方提供的AIDCS應用軟件,可運行在中文WINDOWS 98/ME/XP等操作系統(tǒng)下,能實現(xiàn)對1~200臺AI系列各種型號儀表的集中監(jiān)控和管理。在大規(guī)模應用的場合下,以監(jiān)測、變送、通訊儀表和上位計算機 為主構成的集散控制系統(tǒng)(DCS)無疑是一個較好的控制方案,本文試圖從程序設計方面探討AI儀表與常見的工業(yè)PLC控制系統(tǒng)的結合使用,這種多種通訊協(xié) 議結合的應用具有相當?shù)膹V泛性和代表性。
工業(yè)PLC選用LG公司的MK-120S系列DR-30U,屬于中小型PLC,CPU處理速度0.1US/步,用戶程序容量7k步。它具備 RS232和RS485兩個通訊接口。一般場合應用,RS232可連接一臺人機界面,用以集中監(jiān)控智能表,RS485遠程連接多臺AI-518智能表;復 雜場合應用時,RS232可通過兼容EIA/TIA的標準串行接口RS232<=>485轉換器連接多臺AI-518智能表,RS485用來接兼容相同 RS485協(xié)議的人機界面和多臺變頻器。這種靈活多變的控制方案具有性價比良好的優(yōu)點,能夠以***少的硬件投資取得***好的控制特性,當然這是與宇電表具備人 工智能調節(jié)、通訊傳輸可靠的優(yōu)點分不開的。
程序設計以14臺AI-518智能表為例,對應第1臺智能表,在AIBUS中的地址參數(shù)為1,在人機界面和PLC中定義的變量值為:測量值 DATA1,給定值DATA2,報警變量PARA1,對應第2臺智能表,它在AIBUS中的地址為2,其變量值為:測量值DATA3,給定值DATA4, 報警變量PARA2...,以下如此類推,其中DATA1-28和PARA1-14均為PLC的數(shù)據(jù)寄存器。由于宇電的AIBUS通訊協(xié)議使用方便,且以 RS485為基礎的硬件通訊兼容性好,本文在PLC程序中將與智能表通訊及顯示的參數(shù)變量都給出定義方法,很容易把它推廣應用到其它廠家的PLC上。
1、程序的設計流程敘述如下("http://"后為程序段備注):2、智能表的“給定值DATAX”寫條件編程方法
1號表的舊給定值保存在“DOLD1” 中,當要在人機界面上進行1號表的寫“給定值DATA1”操作時,由于改變的新“給定值DATA1”與舊值“DOLD1”不同, 將此賦值給1號表寫入標志M1(M1為PLC的輔助繼電器),再將“給定值DATA1”傳送到舊給定值“DOLD1”中去,同時將1號表的地址寫指針P賦 為1,并將“給定值DATA1”傳送到14臺表的公共寫入值“DWRITE”中;對應地址參數(shù)不同的智能表應以此類推。
3、智能表報警信息的編程方法
由于接收幀的第3字的高字節(jié)為報警信息,所以應將第3字的高低字 節(jié)倒置,得到報警的8位字節(jié)“HEX-ALARM”。按照AIBUS的標準,這8位字節(jié)的0-5位置1狀態(tài)分別代表上限、下限、正偏差、負偏差和超量程報 警,將“HEX-ALARM”與“HEX1F”按位相與,其結果賦值給“DD-ALARM”。在智能表的正常狀態(tài),“DD-ALARM”的值均為0;在報 警狀態(tài)下,其值必不為零。將“DD-ALARM”是否為零的狀態(tài)賦值給“DALARM”,以顯示對應智能表的報警狀態(tài)。按照這種思路,稍稍修改程序,就可 以在人機界面上集中顯示多臺智能表是否發(fā)生上限、下限、正偏差、負偏差和超量程報警,從而讓我們更好地了解控制現(xiàn)場的情況。
4、智能表讀/寫子程序的設計流程
由于僅僅要讀測量值/寫給定值,按AIBUS通訊協(xié)議的要求,PLC對儀表的參數(shù)代號00H(給定值)進行加法操作就可以。因此智能表讀/寫子程序的設計流程如下:
1、地址循環(huán)變量P+80->P1; //P1為PLC的數(shù)據(jù)寄存器
2、P1*H100->P2;//P2為PLC的數(shù)據(jù)寄存器
3、P1+P2->PP; //PP為智能表在AIBUS中的協(xié)議地址,定義在發(fā)送幀中第1字
4、M-write條件成立時:
(1)傳送HEX43到發(fā)送幀的第2字;//HEX43為寫智能表標志
(2)傳送“DWRITE”到發(fā)送幀的第3字;
(3)“DWRITE”+HEX43+地址循環(huán)變量P,其結果傳送到發(fā)送幀的第4字;//進行寫字節(jié)校驗
5、M-write條件不成立時:
(1)傳送HEX52到發(fā)送幀的第2字;//HEX52為讀智能表標志
(2)傳送HEX00到發(fā)送幀的第3字;
(3)HEX43+地址循環(huán)變量P,其結果傳送到發(fā)送幀的第4字;//進行讀字節(jié)校驗