歐姆龍plc網(wǎng)絡(luò )與通訊
幀發(fā)送時(shí),FCS置于結束符前以檢查是否發(fā)生數據錯誤。FCS是轉換成2個(gè)ASCⅡ字符的8位數據,這個(gè)8位數據對幀開(kāi)始的數據直到此幀正文結束的數據進(jìn)行“異或”運算的結果。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開(kāi)發(fā)的。VB具有強大的圖形顯示功能,可以容易開(kāi)發(fā)出界面良好的圖形用戶(hù)界面,同時(shí)VB還提供了串行端口控件MSCOMM,程序員在利用該控件時(shí),只需設置、監視其屬性和事件,即可完成對串口初始化和數據的傳輸工作。通信程序如下:
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ò )系統中的PLC個(gè)數
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$
……;轉入正常通信數據處理
Else
Labell.Cation=str$(i)+“測試通信失敗,檢查線(xiàn)睡后再測試”
Endif
Endsub
4、結束語(yǔ)
OMRONPLC已廣泛應用于工業(yè)過(guò)程控制,隨著(zhù)網(wǎng)絡(luò )技術(shù)的不斷提高和推廣,PLC的控制能力和控制范圍從設備級的控制發(fā)展到生產(chǎn)線(xiàn)級的控制乃至工廠(chǎng)級的控制。大力推廣PLC的網(wǎng)絡(luò )技術(shù),必將加快我國工業(yè)企業(yè)向自動(dòng)化、智能化發(fā)展的步伐。
評論