五、上位計(jì)算機(jī)WINDOWS下的通訊程序設(shè)計(jì)
上位機(jī)通訊軟件是用VB開發(fā)的,因VB具有強(qiáng)大的圖形顯示功能,可以開發(fā)出界面良好的WINDOWS標(biāo)準(zhǔn)風(fēng)格的圖形用戶界面。同時(shí)VB還提供了串行端口控件MSCOMM,程序員在利用該控件時(shí),只需設(shè)置、監(jiān)視其屬性和事件,即可完成對串行口的初始化和數(shù)據(jù)的傳輸工作。
Sub forml_load()
Mscomml.comport = 1
Mscomml.settings = "9600,n,8,1"
End sub
Sub commandl_click
Mscomml.inputlen = 0
If mscomml.portopen = false then
Mscomml.portopen = true
End if
For I = 1 to n ;N為網(wǎng)絡(luò)系統(tǒng)中的PLC個(gè)數(shù)
If i<10 then
S$ = "@"+"0"+str$(i)+"ts"+"abcd"
Else
S$ = "@"+str$(i)+ts"+"abcd" ;abcd為測試字符
Endif
… ;形成上位機(jī)測試命令數(shù)據(jù)塊sedata$;
Mscomml.output = sedata$
Timerl_on = false
Timetl.enable = true
Do until (mscomml.inbuffercountá?0)
or (timerl_on = true)
Domy = doevents()
Loop
Timerl.enable = false
…
Redata$ = mscomml.input
If redata$ = sedata$
… ;轉(zhuǎn)入正常通訊數(shù)據(jù)處理
Else
Labell.caption = str$(i)+“測試通訊失敗,檢查線路后再測試”
Endif
Endsub