BASIC語言在PLC控制系統(tǒng)中的應用
(2) ioctl_bbbbbb格式為:
baud(波特率),parity(校驗),databits(數(shù)據(jù)位),stopbits(停止位),flowctl(流控制方式),physical(物理協(xié)議如232/485/422),duplexmode(通訊模式,半雙工/全雙工)
如ioctl #8,“19200,n,8,1,n,232”
?。?) 從串口讀取數(shù)據(jù):inchr$(,,,,)
如restr=inchr$(ch%,10,“”,0,timeout%)
?。?) 向串口發(fā)送數(shù)據(jù):print,
如print #8,“hello world”
(5) megabasic程序對plc寄存器的訪問:
對于pcm模塊所在的plc系統(tǒng)中的寄存器如%i,%q,%r,%m等,basic程序中并不可直接引用,而需通過使用特定的功能指令來訪問它們。
a)訪問plc寄存器之前,先要使用sysbbbb指令。
sysbbbb,,[type]
local_name:basic程序內(nèi)部定義的變量
cpu_symbol:plc的寄存器名,外加雙引號(如“%r500”)
type:關聯(lián)數(shù)據(jù)的類型,如bool,byte,int16,uint,dint等
b) 讀、寫plc寄存器
sysread
syswrite
在sysbbbb指令執(zhí)行后,即可使用上面兩個指令分別讀、寫basic變量所關聯(lián)的plc寄存器。
2.4 系統(tǒng)編程過程簡介
根據(jù)minit ii通訊協(xié)議及megabasic語言的基本語法,在文本編輯器(如記事本)中寫好大致的程序,特別是對返回數(shù)據(jù)的解析編寫專門的函數(shù)來進行處理,以得到浮點數(shù)形式的電壓、電流、功率等數(shù)據(jù),其中重點要注意好對返回錯誤幀時的處理,還有采集不同數(shù)據(jù)時的協(xié)議上的差別,這一部分程序寫好后,利用pcm模塊的com1通過logicmaster軟件導入pcm模塊,用com1監(jiān)視運行,用com2通訊,進行聯(lián)機調(diào)試,根據(jù)調(diào)試情況加以修正完善,得到最終版本。
類似上述步驟,根據(jù)fx2n的通訊協(xié)議,寫好與fx2n通訊的程序,用com1監(jiān)視運行,用com2通訊,經(jīng)調(diào)試修正,得到最終版本。
將兩個版本的程序合并,并將與fx2n通訊的端口改為com1,去掉程序中用于監(jiān)視運行的輸出語句(print),再重新導入pcm模塊中,一個滿足系統(tǒng)要求的完整的通訊程序就這樣就寫成了。
3 結束語
用類似本系統(tǒng)中的pcm模塊完成通訊任務,筆者認為其相對利用plc梯形圖程序進行通訊優(yōu)點很明顯。首先由于其使用的是與微機系統(tǒng)中的basic語言語法相同的高級語言,易學易懂,處理復雜的數(shù)據(jù)運算時得心應手,在復雜的有大量通訊任務的系統(tǒng)中有很重大的推廣價值;再者在系統(tǒng)調(diào)試時也有明顯優(yōu)勢,一個端口正在通訊時,一個端口實時監(jiān)視程序的運行情況,并可以自然語言的形式輸出實時的調(diào)試信息,plc程序就不會有這么好的效果,那么結果是這種系統(tǒng)的開發(fā)周期必然大為縮短。
plc系統(tǒng)中采用basic語言的協(xié)處理器,筆者認為這是plc應用中一個新的發(fā)展,對簡化編程,減輕工控系統(tǒng)開發(fā)者的開發(fā)壓力可起到較大的作用,據(jù)了解,很多plc廠商都有類似功能的模塊生產(chǎn),如三菱公司就推出了ad51h高速智能通信組件,使用ad51h basic語言,支持四個通信口,具備384k內(nèi)存,大大提高了plc系統(tǒng)數(shù)據(jù)通信與收集方面的靈活性。










