歐姆龍plc網絡與通訊
幀發送時,FCS置于結束符前以檢查是否發生數據錯誤。FCS是轉換成2個ASCⅡ字符的8位數據,這個8位數據對幀開始的數據直到此幀正文結束的數據進行“異或”運算的結果。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
幀發送檢查格式如圖3.4所示。

圖3.4幀發送檢查
3.3PLC與上位計算機通信程序
上位機通信軟件是用VB開發的。VB具有強大的圖形顯示功能,可以容易開發出界面良好的圖形用戶界面,同時VB還提供了串行端口控件MSCOMM,程序員在利用該控件時,只需設置、監視其屬性和事件,即可完成對串口初始化和數據的傳輸工作。通信程序如下:
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為網絡系統中的PLC個數
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)+“測試通信失敗,檢查線睡后再測試”
Endif
Endsub
4、結束語
OMRONPLC已廣泛應用于工業過程控制,隨著網絡技術的不斷提高和推廣,PLC的控制能力和控制范圍從設備級的控制發展到生產線級的控制乃至工廠級的控制。大力推廣PLC的網絡技術,必將加快我國工業企業向自動化、智能化發展的步伐。
評論