歐姆龍plc網(wǎng)絡(luò)與通訊
幀發(fā)送時,F(xiàn)CS置于結(jié)束符前以檢查是否發(fā)生數(shù)據(jù)錯誤。FCS是轉(zhuǎn)換成2個ASCⅡ字符的8位數(shù)據(jù),這個8位數(shù)據(jù)對幀開始的數(shù)據(jù)直到此幀正文結(jié)束的數(shù)據(jù)進行“異或”運算的結(jié)果。FCS檢查程序如下:
400*FCSCHECK
410L=LEN(RESPONSE$)’
420Q=0:FCSCK$=“”
430A$=RIGHT$(RESPONSE$,1)
440PRINTRESPONSE$,AS,L
450IFA$=“*”THENLENGS=LEN(RESPONSE$)-3
ELSELENGS=LEN(RESPONSE$)-2
460FCSP$=MID(RESPONSE$,LENGS+1,2)’
470FORI=1TOLENGS’
480Q=ASC(MID$(RESPONSE$,I,1))XORQ
490NEXTI
500FCSD$=HEX$(Q)
510IFLEN(FCSD$)=1,THEN,FCSD$=”0”+FCSD$’
520IFFCSS$<>FCSP$,THENFCSCK$=“ERR”
530PRINT“FCSD$=”;FCSD$,“FCSP$=”;FCSP$,“FCSCK$=”;FCSCK$
540RETURN
幀發(fā)送檢查格式如圖3.4所示。
圖3.4幀發(fā)送檢查
3.3PLC與上位計算機通信程序
上位機通信軟件是用VB開發(fā)的。VB具有強大的圖形顯示功能,可以容易開發(fā)出界面良好的圖形用戶界面,同時VB還提供了串行端口控件MSCOMM,程序員在利用該控件時,只需設(shè)置、監(jiān)視其屬性和事件,即可完成對串口初始化和數(shù)據(jù)的傳輸工作。通信程序如下:
Subformlload()
Mscomml.Comport=1
Mscomml.Settings=“9600,n,8,1”
Endsub
Subcommandlclick
Mscomml.Inputlen=0
Ifmscomml.Portopen=falsethen
Mscomml.Portopen=true
Endif
ForI=1toN;N為網(wǎng)絡(luò)系統(tǒng)中的PLC個數(shù)
Ifi<10then
S$=“@”+“0”+str$(i)+“ts”+“abcd”
Else
S$=“@”+str$(i)+“ts”+“abcd”;abcd為測試字符
Endif
……;
Mscomml.Lutprt=sedate$
Timer1on=false
Timerl.Enable=true
Dountil(mscomml.inbuffercount<>0)
Or(timer1on=true)
Domy=doevents()
Loop
Timer1.enable=false
……
Redata,$=msconmml.Input
Ifrdata$=sedate$
……;轉(zhuǎn)入正常通信數(shù)據(jù)處理
Else
Labell.Cation=str$(i)+“測試通信失敗,檢查線睡后再測試”
Endif
Endsub
4、結(jié)束語
OMRONPLC已廣泛應(yīng)用于工業(yè)過程控制,隨著網(wǎng)絡(luò)技術(shù)的不斷提高和推廣,PLC的控制能力和控制范圍從設(shè)備級的控制發(fā)展到生產(chǎn)線級的控制乃至工廠級的控制。大力推廣PLC的網(wǎng)絡(luò)技術(shù),必將加快我國工業(yè)企業(yè)向自動化、智能化發(fā)展的步伐。
評論