可編程控制器與計(jì)算機(jī)通訊的應(yīng)用
發(fā)布時間:2012-11-23
- 提供商
上海欽順機(jī)械設(shè)備有限公司
- 資料大小
17.4KB
- 資料圖片
查看
- 下載次數(shù)
143次
- 資料類型
JPG 圖片
- 免費(fèi)下載
點(diǎn)擊下載
1引言
可編程控制器(plc)由于其結(jié)構(gòu)緊湊、可靠性高、編程簡單、指令強(qiáng)大、靈活性強(qiáng)、能分享微經(jīng)驗(yàn),讓更多的人受益,快去分享吧!!!
適用于比較惡劣環(huán)境等諸多優(yōu)點(diǎn),現(xiàn)已在工業(yè)控制領(lǐng)域得到廣泛應(yīng)用?,F(xiàn)普遍采用觸摸屏加plc的方法來監(jiān)控設(shè)備,但觸摸屏視角窄,不適應(yīng)惡劣環(huán)境,且數(shù)據(jù)存儲容量有限,不易實(shí)現(xiàn)大規(guī)模網(wǎng)絡(luò)互聯(lián)。因此我們采用plc與計(jì)算機(jī)通訊的方式實(shí)現(xiàn)實(shí)時監(jiān)控,克服了觸摸屏的缺點(diǎn)。
2s7-200cpu自由口通訊方式的應(yīng)用
世界的plc很多,如西門子、歐姆龍、松下、三菱等等,本人僅以西門子s7-200小型可編程控制器的cpu22×系列為例,介紹plc在計(jì)算機(jī)網(wǎng)絡(luò)中與計(jì)算機(jī)通訊的功能。
s7-200cpu支持多樣的通訊功能,根據(jù)所使用的s7-200cpu,其網(wǎng)絡(luò)可以支持一個或多個以下協(xié)議:
點(diǎn)到點(diǎn)(point-to-point)接口(ppi)
多點(diǎn)接口(multi-point)(mpi)
profibus
用戶定義協(xié)議(自由口)
自由口通訊是通過用戶程序可以控制s7-200
cpu通訊口的操作模式。利用自由口模式,可以實(shí)現(xiàn)用戶定義的通訊協(xié)議連接多種智能設(shè)備。通過使用接收中斷、發(fā)送中斷、發(fā)送指令和接收指令,用戶程序控制通訊口操作。在自由口通訊模式下,通訊協(xié)議*由用戶程序控制。通過smb30(口0)允許自由口模式,而且只有在cpu處于run模式時才能允許。當(dāng)cpu出于stop模式時,自由口通訊停止,通訊口轉(zhuǎn)換成正常的ppi協(xié)議操作。
近年來,隨著我國鐵路運(yùn)輸環(huán)境的改善,列車速度越來越高,勢必對鐵道車輛提出較高的要求,其表現(xiàn)在對列車的舒適性和運(yùn)行可靠性、安全性的要求提高,因此車輛上設(shè)備的自動化程度越來越高。自動化程度的提高,帶動了網(wǎng)絡(luò)技術(shù)在列車控制和監(jiān)控上的應(yīng)用。車輛網(wǎng)絡(luò)控制、監(jiān)控簡圖如圖1所示。
整列車設(shè)有車輛級計(jì)算機(jī),每個車廂設(shè)有本車計(jì)算機(jī),車輛級計(jì)算機(jī)與各個本車計(jì)算機(jī)組成車輛的主網(wǎng),本車計(jì)算機(jī)與本車廂內(nèi)的各個設(shè)備間組成子網(wǎng)。plc由于其自身的優(yōu)點(diǎn),作為控制核心在車輛上的多種設(shè)備中得以應(yīng)用,例如列車自動門的控制、列車空調(diào)機(jī)的控制等,使其可以作為整個列車網(wǎng)絡(luò)系統(tǒng)中的一個節(jié)點(diǎn)。
3通訊協(xié)議
siemens
s7-200系列plc可以采用用戶定義通訊協(xié)議(自由口)模式實(shí)現(xiàn)計(jì)算機(jī)與plc、plc與plc的通訊。筆者所描述的例子中,雖然車輛計(jì)算機(jī)系統(tǒng)和車輛上的其它設(shè)備分別是多個設(shè)備供應(yīng)商的產(chǎn)品,但是只要制定好通訊協(xié)議,就能滿足相互通訊的要求。s7-200系列的plc正是由于其自由口通訊是通過用戶程序控制cpu串行通訊口的操作模式,所以可以方便地與車輛計(jì)算機(jī)通訊。
計(jì)算機(jī)(主站)每隔100ms查詢plc(從站)一次,主站發(fā)出從站動作控制命令給從站,從站收到命令后發(fā)給主站應(yīng)答幀,從站接收到主站發(fā)送來的一幀數(shù)據(jù),計(jì)算出其校驗(yàn)碼fcs,與接收到的一幀數(shù)據(jù)中的fcs比較,檢查是否有數(shù)據(jù)錯誤。如果有數(shù)據(jù)有誤,從站發(fā)送信息給主站,請求重發(fā)。
l字符結(jié)構(gòu):每個字符由11位構(gòu)成,奇偶校驗(yàn)位采用奇校驗(yàn)方式。
起始位數(shù)據(jù)奇偶校驗(yàn)位停止位
1位8位d7…d01位1位
l傳輸數(shù)據(jù)幀格式
byte(0)…byte(n)fcs
byte(0)…byte(n)為字符串;
fcs為異或校驗(yàn)碼,是發(fā)送的所有數(shù)據(jù)字節(jié)和地址字節(jié)之異或值。
l主站命令幀結(jié)構(gòu)
從站地址從站地址補(bǔ)碼控制字節(jié)命令字節(jié)fcs
l從站應(yīng)答幀結(jié)構(gòu)
從站地址從站地址補(bǔ)碼控制字節(jié)應(yīng)答字節(jié)fcs
4通訊口初始化
plc內(nèi)部特殊存儲器位smb30和smb130分別配置通訊端口0和1,為自由端口通訊選擇波特率、奇偶校驗(yàn)和數(shù)據(jù)位數(shù)。自由端口的控制字節(jié)描述如表1所示。
例如:在通訊協(xié)議中規(guī)定奇偶校驗(yàn)為奇校驗(yàn)、每個字符的數(shù)據(jù)為8位、波特率為19200、自由口協(xié)議,采用通訊端口0,則在plc初始化程序中將smb30賦值為0c5h。
例://串口初始化
┋
network7
ldsm0.0
movb16#c5,smb30//波特率為19200奇校驗(yàn)//1起始位1停止位8數(shù)據(jù)位
eni//允許中斷
movb2,smb34
movb20,smb35
atchint_0,8
┋
5plc實(shí)時數(shù)據(jù)處理
由于s7-200系列plc在自由口模式下,通訊協(xié)議*由梯形圖程序或stl編輯器控制,程序可以使用接收中斷、發(fā)送中斷、發(fā)送指令和接收指令來控制通訊操作。cpu連續(xù)掃描用戶程序,執(zhí)行用戶任務(wù)。plc在程序執(zhí)行過程中,基于穩(wěn)定、快速靈活等方面考慮,cpu每個掃描周期都通過輸入輸出映像寄存器來執(zhí)行實(shí)際輸入輸出操作,即讀實(shí)際輸入點(diǎn)值到映像寄存器、寫映像寄存器值到實(shí)際輸出點(diǎn)。由于在中斷中不能順利進(jìn)行數(shù)據(jù)讀寫操作,因此,可通過編程,利用plc循環(huán)掃描執(zhí)行程序的特點(diǎn),使得在程序掃描期間實(shí)現(xiàn)數(shù)據(jù)存儲區(qū)與輸入輸出映像寄存器區(qū)交換數(shù)據(jù)。
在本實(shí)例中,plc上電初始化后轉(zhuǎn)入接收字符中斷,當(dāng)上位機(jī)發(fā)出查詢命令后,plc判斷所發(fā)命令的地址和地址補(bǔ)碼是否正確;如果正確判斷上位機(jī)是向plc發(fā)送命令還是查詢plc狀態(tài);如果執(zhí)行命令則plc轉(zhuǎn)入主程序執(zhí)行相關(guān)命令,如果查詢plc狀態(tài)則將協(xié)議定義的信息發(fā)送給上位機(jī),上位機(jī)收到信息后發(fā)送應(yīng)答幀給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//接收地址補(bǔ)碼
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//接收應(yīng)答字節(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ā)送應(yīng)答幟
┋
network9
ldsm0.0
movwac0,vw105
xmtvb100,0
rm31.0,1
atchint_6,9
┋
interrupt6//轉(zhuǎn)入接受中斷
network1
ldsm0.0
dtch9
dtch10
dtch11
atchint_0,8
6計(jì)算機(jī)實(shí)時數(shù)據(jù)處理
計(jì)算機(jī)程序由車輛級網(wǎng)絡(luò)供應(yīng)商提供,根據(jù)雙方制定的通訊協(xié)議,通常采用vb或vc編寫,在此不做詳細(xì)描述。
7結(jié)束語
從以上敘述可以看到,由車輛計(jì)算機(jī)與plc(或其它智能可編程設(shè)備)組建的車輛級實(shí)時監(jiān)控系統(tǒng)關(guān)鍵在于解決計(jì)算機(jī)與plc的實(shí)時通訊、plc對車上設(shè)備狀態(tài)實(shí)時監(jiān)控的問題。通過這種方式組建的車輛實(shí)時監(jiān)控系統(tǒng),只是在原有的設(shè)備控制器軟件內(nèi)增加了通訊程序,所以并沒有增加設(shè)備供應(yīng)商的成本,因此這種監(jiān)控系統(tǒng)的開發(fā)成本低,而且實(shí)時性好、操作簡單、通用性強(qiáng)。再利用計(jì)算機(jī)易組網(wǎng)的功能,實(shí)現(xiàn)了整列車的實(shí)時監(jiān)控,大大提供了列車行駛中的可靠性和安全性,因此這種網(wǎng)絡(luò)系統(tǒng)在旅客列車、特別是高速列車上已普遍使用。