久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于VB和RS-485總線技術的變頻器遠程監控系統設計

基于VB和RS-485總線技術的變頻器遠程監控系統設計

作者: 時間:2016-12-13 來源:網絡 收藏
  1 引言

  隨著電力電子技術、微電子技術的發展,變頻器已廣泛應用于交流電動機的速度控制上,尤其是近年來越來越多地利用rs232/rs485串行通訊和工業現場總線技術進行變頻器的網絡通訊和遠程監控,以實現生產線設備之間的實時自動控制及生產流程的實時監控。為滿足應用的需要,變頻器大多都帶有通訊接口。由于rs485網絡具有設備簡單、容易實現、傳輸距離遠、維護方便等優點而被許多變頻器廠家所采用,用戶可通過上位機開發通訊程序,監控變頻器的運行。本文以emerson(原 avansys)公司 td3000變頻器為例,介紹基于rs485總線的計算機對多臺變頻器的實時監控系統的設計。

本文引用地址:http://cqxgywz.com/article/201612/329547.htm

  2 系統的硬件連接

  td3000是 emerson公司推出的高性能矢量控制變頻器,能以很高的控制精度進行寬范圍的調速運行,它帶有內置的標準rs485通訊口,通過轉換器可方便地與上位機進行串行通訊,實現上位機對變頻器功能碼的快速修改及運行狀態的直觀監控,并實現組網監控運行[2]。本系統組成如圖1。

  

  圖1 系統配置圖

  計算機的rs-232口通過一個rs232/rs485轉換器轉換為rs-485構成通訊網絡,以td3000變頻器作為從機組成“單主多從”通訊控制網(單監控主機多變頻器從機),通訊介質為屏蔽雙絞線,屏蔽層一點接地。變頻器串行通訊接口端子的接線如圖2。

  

  圖2 通訊端口接線圖

  3 td3000變頻器的串行通訊協議及相關參數設置

  td3000的通訊協議中,其上位機與變頻器的通信,通過上位機與變頻器之間交換命令和應答實現的。

  (1) 物理接口

  rs485總線接口:異步、半雙工;

  總線上每段最多32個站(最多31個從站),可用中繼器擴展至127個站(包含中繼器)。

  (2) 數據格式

  1位起始位、8位數據位、1位停止位、無校驗;

  1位起始位、8位數據位、1位停止位、奇校驗;

  1位起始位、8位數據位、1位停止位、偶校驗;

  默認:1位起始位、8位數據位、1位停止位、無校驗。

  (3) 波特率

  9600bps、19200bps、38400bps、125kbps。

  默認: 9600bps。

  (4) 通信地址

  從機的本機地址設置范圍2~126。

  127號為廣播地址,主機廣播時,從機不允許應答。

  (5) 通信方式

  上位機為主機,變頻器為從機。采用主機“輪詢”,從機“應答”方式。

  (6) 協議類型

  協議采用長短幀結構:

  短幀—用于獨立傳送自動控制系統所需的控制字和狀態字;

  長幀—既包括控制字和狀態字又含有涉及到操作控制、觀測、維護以及診斷等的內容(所具有的內容受變頻器自身功能的限制);

  特殊報文—用于獲取從站的軟件版本和機器型號[3]。

  表1 數據幀結構

  

  (7) td3000變頻器的參數設置

  使用通訊方式控制變頻器時,應對變頻器的通訊數據格式、波特率、通訊地址等進行設置,具體通過設置相應的功能碼來完成。下面是對td3000變頻器的參數設置:

  f0.03=6 頻率設定方式選擇“通訊給定”

  f0.05=2 運行命令選擇“通訊控制”

  f9.00=3 串行通訊時的波特率設定為9600bps

  f9.01=0 串行通訊時的數據格式采用“n,8,1”,即1位起始位,8位數據位,1位停止位,無校驗

  f9.02=2 本機地址設置2號從機

  4 數據幀結構描述

  (1) 數據幀結構為:幀頭、用戶數據、幀尾(見表1)。

  幀頭包括:起始字節(特殊報文:68h;短幀:7eh;長幀:02h)

  從機地址(范圍2-126,127為廣播地址,0、1號地址保留)。

  幀尾包括:校驗數據(異或校驗,計算方法為本幀數據字節的連續異或結果)。

  用戶數據包括:參數數據和過程數據兩部分(在短幀中沒有參數數據)。其中參數數據包括:功能碼操作命令/響應、功能碼號、功能碼設定/實際值。過程數據包括:主機控制命令/從機狀態響應、主機運行主設定/從機運行實際值。當主機發送時為“命令”或“設定值”,如對變頻器進行開機、關機、正反轉、頻率設置、參數讀取等,當從機(變頻器)發送時為對主機命令的“響應”或工作狀態及參數“實際值”的反饋。數據遵循先發高字節,再發低字節的原則;如果功能碼操作不正確,則用低字節返回操作錯誤代碼,此時高字節為0。

  (2) 變頻器的運行控制既可以用長幀實現,也可以用短幀實現。本文中僅以長幀為例進行說明,其幀格式如下:

  ● 計算機到變頻器:

  

  ●變頻器到計算機:

  



  5 通訊程序及監控界面的設計

  目前監控系統上位機一般采用windows平臺,windows平臺下的串行通訊程序設計一般有2種途徑:一是直接調用windowsapi函數,響應速度快,但程序設計較復雜;二是采用mscomm串行通訊控件,靈活性稍差,但控件的使用使得通訊程序設計大為簡單。在一般控制要求并不太高的情況下,通過第二種途徑進行程序開發既能滿足控制要求,又能簡化程序設計。

  visual basic以其面向組件的新技術及對硬件控制能力強而著稱,vb提供的mscomm控件是grescent sortware inc公司提供的activex控件,它通過串行端口傳輸和接收數據,為應用程序提供串行通訊功能[1]。應用時首先要求注冊它,把它放到表單上,然后設置其屬性:

  commport=1, 通訊端口號

  inbuffersize=1024, 收緩沖大小

  inputlen=0,

  outbuffersize=1024 發緩沖大小

  rthreshold=18, 串口接字符觸發事件

  rtsenable=false,

  setting=9600,n,8,1 (波特率為9600,校驗碼為無校驗,8位數據位,1位停止位)。

  

  圖3 人機界面

  圖3是監控系統的主控制界面,對td3000的開機、關機、正轉、反轉、點動正轉、點動反轉、自由停車、緊急停車、故障復位等控制,通過點擊窗口上相應的運行控制按鈕來實現;如果點擊右邊的“運行參數”按鈕,即可進入變頻器運行參數監控界面,實時監視變頻器的運行頻率、設定頻率、運行轉速、設定轉速、輸出電流、輸出電壓、閉環反饋、閉環設定、變頻器當前狀態等。

  下面以分別以“設定發送數據長幀格式子函數”、“計算校驗和子函數”以及“以50hz運行2#變頻器”程序段為例加以說明。

  表2 計算機向變頻器發送數據幀

  

  (1) 設定發送數據長幀格式子函數

  public function sendlcode2(a as string)

  長幀發送函數

  dim outdatabyte() as byte

  dim i as integer

  sendlcode2 = "02" + a

  redim outdatabyte(len(sendlcode2)/2)

  重新定義發送數組長度

  for i = 1 to len(sendlcode2)/2

  outdatabyte(i) = cbyte(val("&h" & mid(sendlcode2, i * 2 - 1, 2)))

  把字符串變成字節數組

  next

  form1.mscomm1.output=outdatabyte 發送

  end function

  (2) 計算校驗和子函數

  public function fcs(sendstr as string)

  校驗和函數

  dim str

  dim i as integer

  str = val("&h" & mid(sendstr, 1, 2))

  i = 3

  do

  str = str xor val("&h" & mid(sendstr, i, 2))

  i = i + 2

  loop while i < len(sendstr)

  fcs = hex$(str)

  end function

  (3)以50hz運行2#變頻器。

  td3000頻率的定標為1:100,要使變頻器以50hz運轉,主設定應為1388h(5000),故計算機向變頻器發送數據幀為(見表2):

  其對應部分程序段為:

  private sub command1_click() 開機命令

  mscomm1.portopen=true 打開端口接入總線

  dim str1, sendstring,bcc 定義變量

  str1="0200000000047f1388" 賦值以50hz運行2#變頻器的數據變量

  bcc=cstr(fcs(str1)) 調用異或校驗函數生成校驗碼

  sendstring=str1+bcc 生成完整待發送字符串

  sendlcode2 (sendstring) 調用長幀格式函數把字

  符串變成字節并發送

  end sub

  6 結束語

  本系統通過基于rs485總線的計算機對變頻器通訊,實現了上位機對多臺變頻器的控制及實時監控功能,利用vb編制的人機界面使操作簡便,取得了良好的實用效果。針對通訊過程中應注意的事項總結如下:

  (1) 在實際的運行過程中,長幀和短幀的發送,有時會出現不能同時發送的情況,這是因為變頻器對指令的處理時間與我們所設置的波特率不協調,以至不能辨認數據幀,這時可以改變一下波特率,使之協調。

  (2) 兩個通信幀之間要保證有2個字節以上傳輸時間的間隔,確保準確識別報文頭。

  (3) 在讀取參數時,會出現所返回的數據不能夠穩定地固定在某一個范圍內,返回錯誤數據。這是因為發送數據與接收數據的間隔設置不當引起的,以至于變頻器還沒有正確處理完數據時,就已經讀出錯誤數據。

  (4) 使用mscomm控件時,不能以數字串的形式直接發送,而是要以字節形式發送;同時在接收時,要用二進制的形式來取回數據,否則通訊就不能成功。

  參考文獻

  [1] microsoft corporation.visual basic 5.0 active x控件參考手冊[m]. 北京:科學出版社,1998.

  [2] 安圣電氣有限公司. td3000高性能矢量控制變頻器用戶手冊[m]. 深圳:安圣電氣有限公司,2001.

  [3] 安圣電氣有限公司. td3000變頻器串行通信協議[m]. 深圳:安圣電氣有限公司,2001.



評論


技術專區

關閉