摘  要:RS-485串行通信能夠保證快速、穩定、遠距離地傳輸數據,已經越來越多地應用于工業控制。文中介紹了基于RS-485三墾變頻器與PC機串行通信的硬件特性、通信協議及軟件實現。實驗表明:該通信軟件性能穩定、實用效果良好。
關鍵詞:串行通信; RS-485; 變頻器
[b][align=center]Implementation of Serial Communication between SANKEN 
Inverter and PC Based on RS-485[/align][/b]
He Ankun Zhang Jingwu Chen Ming
Abstract:RS-485 serial communication ensure the transmission data quickly, steadily and further, which has been used to the industry control more and more.This paper introduce the hardware performance,communication protocol and software implementation of serial communication between SANKEN inverter and PC based on RS-485. Experiment display the software performance is steadily and real effect is good.
Keywords:serial communication;RS-485;inverter
1引言
  目前,在我國現場控制總線中,RS-485使用最為普遍。RS-485 總線的共模輸出電壓在-7V 至+12V 之間,具有抑制共模干擾的能力,數據傳輸速率最大為10Mbit/s,當波特率為1200bps 時最大的傳輸距離理論上可達15 千米。RS-485網絡所具有的設備簡單、容易實現、傳輸距離遠、維護方便等優點而被許多變頻器廠家所采用。文章分析了工業環境中串行通信選擇RS-485的原因,論述了基于RS-485 三墾變頻器與PC機串行通信的硬件特性,通信協議及軟件實現,實驗表明該通信軟件穩定可靠,能直觀的觀看變頻器的實際運行狀態,并能比較方便的進行多組參數的設定和改寫。通過此軟件,極大的方便了工程師和客戶對變頻器的操控和掌握。
2 RS-232與RS-485的比較
  常用的串行通信有兩種,一種為RS-232串行通信,一種為RS-485串行通信。由于串行通信使用方式簡便易用,工業控制領域大多都使用串行通信作為其數據交換的手段。但是工業設備的使用環境經常比較惡劣,可能會存在噪聲或者電源諧波的干擾,RS-232在如此環境下抗干擾的能力遠不及RS-485,除此之外,RS-232只能是一對一控制,而RS-485則可以實現一對多控制;RS-232一般是9針公頭,而RS-485則是兩根線就可以控制。因此工業環境下的串行通信大多都采取RS-485串行通信方式。
3 三墾變頻器與PC的串行通信
  3.1 軟硬件環境
  硬件配置:PC(配備標準RS-232)一臺、RS-232/RS-485轉換卡一個、ISI通信卡一塊、Inverter 三臺(三墾變頻器ES-0.4KW、SPF-11KW、IPF-90KW)。
  軟件包括:Windows XP操作系統、Microsoft Visual Basic 6.0中文版、三墾變頻器通信協議指導手冊等。
  3.2 通信協議
  三墾各個系列變頻器所提供的通信協議格式如下:
  1、 指令格式:指令格式如圖1所示,各字段含義如表1。
  2、指令的詳細解釋
  圖1顯示了指令的格式,共25條指令,由操作碼(OP)決定,分別由A-Q及R、S、x、y、z、a、b、c組成。以指令C和N說明指令的詳細構成,如表2。
  表1 指令各字段含義
  3、變頻器所進行的通信錯誤處理
  變頻器如果從上位機接收到的指令中檢查出錯誤,將進行以下處理:
 ?、?在奇偶錯誤、校驗和錯誤或指令代碼未定義時:
  回傳的錯誤指令為指令代碼“?”。同時,DT項回傳一個字節的通信錯誤代碼。
 ?、?在DT項的數據過長或不足,不能解釋數據內容時:
  如果接收指令的各個指令所定義的數據過長或不足、或者接收指令無法解釋時,其錯誤處理同①。
  ③ 超時處理:
  接收開始代碼后,如果不能在150ms 以內接收全部指令將進行超時處理,強制完成接收狀態。這時變頻器將返回通信錯誤代碼“d”。
 ?、?通信錯誤代碼分別為:“p”代表奇偶錯誤;“s”代表檢驗和錯誤;“u”代表未定義操作代碼;“d”代表數據過長、數據不足或者數據無法解釋。
 ?、?其它錯誤
  有關接收計算機指令的錯誤,在上述情況以外,將進行超時處理,對計算機而言為“無應答”。
  4、變頻器和計算機的指令發送接收方法
  串行通信的基本程序是一臺計算機將指令發送給一臺變頻器,之后變頻器回傳應答給計算機。所以,變頻器在接收到了計算機發送出的指令后必須回傳應答。如果計算機在沒有得到應答時,仍連續發送多條指令則無法確保正常的工作。
  由于變頻器異?;蛘咄ㄐ啪€路異常,計算機可能無法接收到變頻器的應答。為了避免由于等待變頻器的應答而造成的通信程序鎖定,計算機將按照所設定的2 秒或更長以上的時間來執行接收超時處理。
  表2 指令詳細內容舉例

  3.3 串行通信的程序實現
  由于篇幅所限,這里僅介紹通信部分的實現代碼,主要包括:通信端口的定義,通信速率的設定,通信發送、通信接受、通信錯誤處理以及退出等。
  主要代碼如下:
  …
  MSComm1.CommPort=1 ‘選擇1號通信端口
  MSComm1.Settings="4800,o,8,1" ‘設定為4800bps,奇數、數據8位、停止1位
  MSComm1.RThreshold=1 ‘Commm Evert 發生當接收到一個字符時
  MSComm1.InputLen=0 ‘輸入緩沖數據清零?
  MSComm1.PortOpen=True ‘通信端口打開?
  Timer1.Interval=1000 ‘接收超時時間(ms)1秒
  Tx=“*01C”? ‘設定向變頻器傳送的數據
  TxLen=Len( Tx ) ‘ 得到傳送數據長度(校驗和與停止位除外)
  Sum=0
  For i=1 To TxLen
  Sum=Sum+Asc(Mid(Tx, i, 1))
  Next i
  Sum=((0-Sum)And 127) Or 64
  Tx=Tx+Chr(Sum)+vbCrLf ‘在傳送代碼上添加校驗和與停止位(CR+LF)
  Timer1.Enabled=True ‘ 啟動接收超時檢出計數器
  MSComm1.Output=Tx ‘向變頻器傳送數據
  End Sub
  Private Sub MSComm1_OnComm() ‘[通過Comm事件接收數據]
  Dim Rx As String, RxLen As Integer,Sum As Integer
  Dim Msg As String
  If MSComm1.CommEvent<>comEvReceive Then Exit Sub ‘確認接收的數據是Comm事件
  Do
  Rx=Rx+MSComm1.Input ‘接收變頻器的數據
  DoEvents
  Loop Until Right(Rx,2)=(Chr(13)& Chr(10)) ‘找到停止位
  Timer1.Enabled=False ‘取消超時定時器
  RxLen=Len(Rx)-2 ‘接收數據字長(停止位除外)
  Sum=0 ‘接收到的校驗和的計算
  For i=1 To RxLen-1
  Sum=Sum+Asc(Mid(Rx , i,1))
  Next i
  Sum=((0-Sum)And 127)Or 64
  If Mid(Rx, RxLen, 1)=Chr(Sum) Then ‘校驗和的檢查
  Msg=Left(Rx, RxLen) ‘ 接收數據(包括校驗和,不包括停止位)
  Else
  Msg=“Check Sum NG”? ‘校驗和錯誤顯示
  End If
  MsgBox “Received Data=” & Msg ‘顯示接收數據
  MSComm1.PortOpen=False ‘[ 關閉通信端口]
  End Sub
  ‘ 在變頻器的輸出頻率為2 0 H z 時,運行該程序,在信息框中將顯示“*01C02000@”
4 結論
  文章首先對RS-232與RS-485進行了比較,然后介紹了基于RS-485三墾變頻器與上位機串行通信的實現,實驗表明:利用VB編制的人機界面操作簡便,取得了良好的實用效果。利用RS-485協議進行串行通信,可以保證快速、穩定遠距離地傳輸數據。在目前以及以后的工業控制和其他方面必將得到越來越多的應用。
參考文獻
  [1].范逸之 陳立元.Visual basic 與RS-232串行通訊控制[M].清華大學出版社,2004-6.
  [2].三菱電機株式會社.變頻器原理與引用教程[M].國防工業出版社,1998-9
  [3].陽憲惠等.現場總線技術及其應用[M].清華大學出版社,2001-2
  [4].王明衍 趙毅.一種基于RS-485接口的通信方法[J].微計算機信息.2006-2(1).P220-222
  論文創新點:完成了三墾變頻器與PC機串行通信的設計,該通信軟件穩定可靠,能直觀的觀看變頻器的實際運行狀態,并能比較方便的進行多組參數的設定和改寫。通過此軟件,極大的方便了工程師和客戶對變頻器的操控和掌握。
作者簡介:
  賀安坤:男, 1972年6月生,漢族,講師,碩士,研究方向:單片機與嵌入式系統開發,計算機應用。Email: hak9000@sohu.com