可編程控制器系列與工業(yè)計算機通訊的應用(2)
5、PLC實時數(shù)據(jù)處理
由于s7-200系列plc在自由口模式下,通訊協(xié)議完全由梯形圖程序或stl編輯器控制,程序可以使用接收中斷、發(fā)送中斷、發(fā)送指令和接收指令來控制通訊操作。cpu連續(xù)掃描用戶程序,執(zhí)行用戶任務。plc在程序執(zhí)行過程中,基于穩(wěn)定、快速靈活等方面考慮,cpu每個掃描周期都通過輸入輸出映像寄存器來執(zhí)行實際輸入輸出操作,即讀實際輸入點值到映像寄存器、寫映像寄存器值到實際輸出點。由于在中斷中不能順利進行數(shù)據(jù)讀寫操作,因此,可通過編程,利用plc循環(huán)掃描執(zhí)行程序的特點,使得在程序掃描期間實現(xiàn)數(shù)據(jù)存儲區(qū)與輸入輸出映像寄存器區(qū)交換數(shù)據(jù)。
在本實例中,plc上電初始化后轉入接收字符中斷,當上位機發(fā)出查詢命令后,plc判斷所發(fā)命令的地址和地址補碼是否正確;如果正確判斷上位機是向plc發(fā)送命令還是查詢plc狀態(tài);如果執(zhí)行命令則plc轉入主程序執(zhí)行相關命令,如果查詢plc狀態(tài)則將協(xié)議定義的信息發(fā)送給上位機,上位機收到信息后發(fā)送應答幀給plc。
例:interrupt0//接收開始
network1
ldnsm3.0
ab=smb2,vb0
movw+0,ac0
movd&vb600,vd638
movbsmb2,*vd638
xorwsmw1,ac0
movbac0,vb300
atchint_1,8
atchint_6,11
creti
network2
ldsm0.0
dtch8
atchint_6,10
interrupt1//接收地址補碼
network1
ldnsm3.0
ansm1.0
movbsmb2,*vd638
xorwsmw1,ac0
network2
ldsm0.0
atchint_6,10
interrupt2//接收命令后判斷
…
network3//發(fā)送信息
ldw=ac2,+0
ab=vb301,vb604
ab=vb603,16#00
atchint_4,10
dtch11
creti
network4
ldsm0.0
wdr
…
network7
ldsm0.0
sm31.0,1
dtch11
atchint_5,10
interrupt3//接收應答字節(jié)
network1
ldnsm3.0
ansm1.0
movbsmb2,*vd638
incdvd638
xorwsmw1,ac0
decwac2
network2
ldw=ac2,16#0000
movwac0,vw300
network3
ldsm0.0
dtch8
atchint_6,10
interrupt4//發(fā)送信息碼
…
network6
ldsm0.0
movwac0,vw105
xmtvb100,0
atchint_6,9
…
interrupt5//發(fā)送應答幟
…
network9
ldsm0.0
movwac0,vw105
xmtvb100,0
rm31.0,1
atchint_6,9
…
interrupt6//轉入接受中斷
network1
ldsm0.0
dtch9
dtch10
dtch11
atchint_0,8
6、計算機實時數(shù)據(jù)處理
計算機程序由車輛級網(wǎng)絡供應商提供,根據(jù)雙方制定的通訊協(xié)議,通常采用vb或vc編寫,在此不做詳細描述。
7、結束語
從以上敘述可以看到,由車輛計算機與plc(或其它智能可編程設備)組建的車輛級實時監(jiān)控系統(tǒng)關鍵在于解決計算機與plc的實時通訊、plc對車上設備狀態(tài)實時監(jiān)控的問題。通過這種方式組建的車輛實時監(jiān)控系統(tǒng),只是在原有的設備控制器軟件內(nèi)增加了通訊程序,所以并沒有增加設備供應商的成本,因此這種監(jiān)控系統(tǒng)的開發(fā)成本低,而且實時性好、操作簡單、通用性強。再利用計算機易組網(wǎng)的功能,實現(xiàn)了整列車的實時監(jiān)控,大大提供了列車行駛中的可靠性和安全性,因此這種網(wǎng)絡系統(tǒng)在旅客列車、特別是高速列車上已普遍使用。
由于s7-200系列plc在自由口模式下,通訊協(xié)議完全由梯形圖程序或stl編輯器控制,程序可以使用接收中斷、發(fā)送中斷、發(fā)送指令和接收指令來控制通訊操作。cpu連續(xù)掃描用戶程序,執(zhí)行用戶任務。plc在程序執(zhí)行過程中,基于穩(wěn)定、快速靈活等方面考慮,cpu每個掃描周期都通過輸入輸出映像寄存器來執(zhí)行實際輸入輸出操作,即讀實際輸入點值到映像寄存器、寫映像寄存器值到實際輸出點。由于在中斷中不能順利進行數(shù)據(jù)讀寫操作,因此,可通過編程,利用plc循環(huán)掃描執(zhí)行程序的特點,使得在程序掃描期間實現(xiàn)數(shù)據(jù)存儲區(qū)與輸入輸出映像寄存器區(qū)交換數(shù)據(jù)。
在本實例中,plc上電初始化后轉入接收字符中斷,當上位機發(fā)出查詢命令后,plc判斷所發(fā)命令的地址和地址補碼是否正確;如果正確判斷上位機是向plc發(fā)送命令還是查詢plc狀態(tài);如果執(zhí)行命令則plc轉入主程序執(zhí)行相關命令,如果查詢plc狀態(tài)則將協(xié)議定義的信息發(fā)送給上位機,上位機收到信息后發(fā)送應答幀給plc。
例:interrupt0//接收開始
network1
ldnsm3.0
ab=smb2,vb0
movw+0,ac0
movd&vb600,vd638
movbsmb2,*vd638
xorwsmw1,ac0
movbac0,vb300
atchint_1,8
atchint_6,11
creti
network2
ldsm0.0
dtch8
atchint_6,10
interrupt1//接收地址補碼
network1
ldnsm3.0
ansm1.0
movbsmb2,*vd638
xorwsmw1,ac0
network2
ldsm0.0
atchint_6,10
interrupt2//接收命令后判斷
…
network3//發(fā)送信息
ldw=ac2,+0
ab=vb301,vb604
ab=vb603,16#00
atchint_4,10
dtch11
creti
network4
ldsm0.0
wdr
…
network7
ldsm0.0
sm31.0,1
dtch11
atchint_5,10
interrupt3//接收應答字節(jié)
network1
ldnsm3.0
ansm1.0
movbsmb2,*vd638
incdvd638
xorwsmw1,ac0
decwac2
network2
ldw=ac2,16#0000
movwac0,vw300
network3
ldsm0.0
dtch8
atchint_6,10
interrupt4//發(fā)送信息碼
…
network6
ldsm0.0
movwac0,vw105
xmtvb100,0
atchint_6,9
…
interrupt5//發(fā)送應答幟
…
network9
ldsm0.0
movwac0,vw105
xmtvb100,0
rm31.0,1
atchint_6,9
…
interrupt6//轉入接受中斷
network1
ldsm0.0
dtch9
dtch10
dtch11
atchint_0,8
6、計算機實時數(shù)據(jù)處理
計算機程序由車輛級網(wǎng)絡供應商提供,根據(jù)雙方制定的通訊協(xié)議,通常采用vb或vc編寫,在此不做詳細描述。
7、結束語
從以上敘述可以看到,由車輛計算機與plc(或其它智能可編程設備)組建的車輛級實時監(jiān)控系統(tǒng)關鍵在于解決計算機與plc的實時通訊、plc對車上設備狀態(tài)實時監(jiān)控的問題。通過這種方式組建的車輛實時監(jiān)控系統(tǒng),只是在原有的設備控制器軟件內(nèi)增加了通訊程序,所以并沒有增加設備供應商的成本,因此這種監(jiān)控系統(tǒng)的開發(fā)成本低,而且實時性好、操作簡單、通用性強。再利用計算機易組網(wǎng)的功能,實現(xiàn)了整列車的實時監(jiān)控,大大提供了列車行駛中的可靠性和安全性,因此這種網(wǎng)絡系統(tǒng)在旅客列車、特別是高速列車上已普遍使用。
本文標簽:可編程控制器系列與工業(yè)計算機通訊的應用(2)
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《可編程控制器系列與工業(yè)計算機通訊的應用(2)》相關權利人與機電之家網(wǎng)取得聯(lián)系。










