4 實時數(shù)據(jù)傳輸處理
因為各種原因,使得系統(tǒng)參數(shù)發(fā)生了變化,因此,監(jiān)控系統(tǒng)必須具備實時性要求,也就是說,只要設備狀態(tài)一改變,監(jiān)控系統(tǒng)就將信息采集并傳送到計算機,以便監(jiān)控人員及時了解現(xiàn)場,對現(xiàn)場情況作出判斷、進行相應的操作。實時性包括計算機與plc實時通信以及plc實時監(jiān)控所聯(lián)設備狀態(tài)兩方面內容。
4.1 計算機實時數(shù)據(jù)處理
該部分由vb的timer控件完成。通過引發(fā)timer事件(timer事件是vb模擬實時計時器的事件),timer控件可以定時執(zhí)行規(guī)定的操作,使得plc所連接的設備狀態(tài)信息及時傳送到計算機。
timer控件主要屬性如表3,該部分的程序框圖如圖1所示。
4.2 plc實時數(shù)據(jù)處理
由于s7-200系列plc在自由口模式下,通信協(xié)議完全由梯形圖程序控制。s7-200cpu連續(xù)掃描用戶程序、執(zhí)行用戶任務。plc在程序執(zhí)行過程中,基于穩(wěn)定、快速、靈活等方面考慮,cpu每個掃描周期都通過輸入輸出映像寄存器來執(zhí)行實際輸入輸出操作,即讀實際輸入點值到映像寄存器、寫映像寄存器值到實際輸出點。由于在中斷中不能順利進行數(shù)據(jù)讀寫操作,因此,可通過編程,利用plc循環(huán)掃描執(zhí)行程序的特點,使得在程序掃描期間實現(xiàn)數(shù)據(jù)存儲區(qū)與輸入輸出映像寄存器區(qū)交換數(shù)據(jù),也就是說,計算機只要通過與數(shù)據(jù)存儲區(qū)實時完成通信就可達到實時監(jiān)控實際輸入輸出點的效果。
該部分的程序段如下:
主程序部分:
ld sm0.1 file://首次掃描閉合
call subr_0 file://調用子程序0
movb 1,vb0 file://vb0.0置1
ld vb0.0 file://設置數(shù)據(jù)存儲區(qū)與映像區(qū)交換數(shù)據(jù)條件
call subr_1 file://調用子程序1
┇
end file://主程序結束
子程序1部分程序如下:
ld sm0.0 file://始終閉合
movd vd101,id0 file://數(shù)據(jù)存儲區(qū)寫數(shù)據(jù)到數(shù)字量輸入
file://映像區(qū)
movd id0,vd101 file://讀數(shù)字量輸入映像區(qū)數(shù)據(jù)到數(shù)據(jù)
file://存儲區(qū)
movd vd201,qd0 file://數(shù)據(jù)存儲區(qū)寫數(shù)據(jù)到數(shù)字量輸
file://出映像區(qū)
movd qd0,vd201 file://讀數(shù)字量輸出映像區(qū)數(shù)據(jù)到數(shù)
file://據(jù)存儲區(qū)
movw aiw0,vw301 file://讀模擬量輸入映像區(qū)到數(shù)據(jù)存
file://儲區(qū)
movw vw401,aqw0 file://數(shù)據(jù)存儲區(qū)寫數(shù)據(jù)到模擬量輸
file://出映像區(qū)
┇
cret file://子程序返回
發(fā)送、接收部分:
rcv vb500,0 file://從端口0接收數(shù)據(jù)存于vb500單元
file://起始的連續(xù)單元
xmt vb55,0 file://將vb55單元后的指定數(shù)據(jù)從端口0
file://連續(xù)發(fā)出
5 結束語
從以上敘述,可以看到,由計算機與plc組建實時監(jiān)控系統(tǒng)關鍵在于解決計算機與plc實時通信、plc對設備狀態(tài)實時監(jiān)控問題。計算機與plc組建的實時監(jiān)控系統(tǒng)開發(fā)成本低、實時性好、操作簡便、通用性強,利用計算機易組網(wǎng)功能,既可以做到工廠內部網(wǎng)絡互聯(lián)、信息共享,又可通過調制解調器連接因特網(wǎng),使異地信息共享、遠程監(jiān)控變?yōu)楝F(xiàn)實。實際工程中,該系統(tǒng)在惡劣的工業(yè)環(huán)境下工作穩(wěn)定、可靠,具有一定的應用推廣價值。
轉載請注明出處。