變頻器控制方式vc_變頻器 - CSDN

2020-11-23 CSDN技術社區

基於ModBus協議的變頻器VC++控制系統

  1 前言

        在工業控制領域中,經常要用變頻器去控制交流電機的轉速、轉向等,儘管變頻器自身帶有控制面,具有簡單、有效的特點,但由於現場操作不夠方便,直觀性差以及僅能實現單機控制等缺點,針對這些缺點,現在的變頻器都帶有rs485通信接口,使用戶能方便靈活地選擇變頻器的強大功能,在windows下開發工控軟體,可利用windows的豐富資源,方便地生成各種採單及美觀大方的圖形界面。

       mobus協議是應用於電子控制器上的一種通用語言,通過此協議控制器之間可以相互通信,而visual c++ 6.0activex控制項----mscomm通信控制能夠滿足windows環境下開發微機的低層資源。本文介紹的方案使用mobus協議的asc傳輸模式,通過visual c++ 6.0編程實現windows環境下,臺達vfd-s變頻器的計算機控制系統

2 系統硬體設計

       現在一般的pc機都有rs232串口,但少有rs485口,而實現與變頻器進行長距離且抗噪音幹擾的通信,一般多採用一塊rs232/485轉換器,總體的系統方框圖如圖1 1

       目前,rs232/485轉換器有無源和有源兩種,如果通信距離較近,採用無源轉換即可。可以購買也可以自己設計。

3modbus協議下asc模式的通信過程及臺達vfd-s型變頻器的通信要求

    31mobus協議規定的通信過程

       modbus協議是一種可靠而有效的工業控制系統通信協議,得到了眾多硬體廠商的支持,並廣泛應用。modbus協議的數據通訊通過主機與從機之間查詢/回應的方式實現,查詢消息中的功能代碼告知從設備要執行何種功能,數據段包含了從設備要執行的功能的附加消息。從設備產生回應消息,回應消息中的功能代碼是查詢消息中功能代碼的回應,查詢消息、回應消息中都有用於判斷傳輸是否正確的錯誤檢測域。

    32 asc模式的通信數據格式

       modbus協議系統中有兩種有效的傳輸模式:asc(美國標準信息交換碼)模式和rtu(遠程終端裝置)模式,asc模式通信時,在消息中的每個8-bit數據由兩個asc字元所組成。例如,一個1-byte資料64h(十六進位表示法),以asc「64」表示,包含了『6』36h)及『4』34h)。

       asc模式:

 

        asc模式採用lrclongitudinal redundancy check誤值。lrc偵誤值是將adr1至最後一個資料內容加總,得到之結果以256為單位,超出部分去除(例如得到結果為1f2h時則只取f2h),然後計算二次反補後得到的結果即為lrc誤值。

    33臺達vfd-s型變頻器的通信要求

       vfd-s系列交流馬達驅動器是內建rs485串聯通訊介面,通訊埠(rj-11)位於控制迴路端子,端子定義如下:

2gnd   3sg  4sg  5:+5v

25pin為參數設定器操作盤之電源,做rs485通信時,請勿使用!
   
使用rs485串聯通訊介面時,每臺vfd-s型必須預先在(9-00)指定通訊地址,電腦便根據其個別地址實施控制。
4mscomm控制項介紹

      mscomm控制項是微軟公司開發的專門用於串行通信的控制項,它是高級語言編寫的串行通信程序和pc串口之間的橋梁,vc++ 6.0中提供了mscomm控制項,用戶可以在自己的應用程式嵌入mscomm控制項,利用它可以方便的進行計算機串口的通信管理。

       使用mscomm控制項時,其中一個難點是對輸入緩衝區或輸出緩衝區的數據進行處理,因為向輸出緩衝區寫入的數據及從輸入緩衝區讀出的數據都是variant類型的數據,而程序中常用的通信數據既可能是文本型的字符串,又可能是二進位的數值,因此必須處理好字符串與variant類型數據間的轉換及二進位數據與variant類型數據的轉換。

        以下代碼簡單介紹如何完成使用mscomm控制項時如何接收和發送字符串或二進位數值:

    、收字符串

variant    input1;     //定義一個variant結構的變量
char        *str
int      counts;
counts=mycomm.getinbuffercount();  //
獲取接收緩衝區中的字符數
if(counts>0)
{ input1=mycomm.getinput();   //
將接收緩衝區內容讀至input1
str=(char*)(unsigned char*)input1.parray->pvdata;//
input1變量的數據指針賦值給字符指針
}
……
    、發送字符串
cstring  senddata1;
senddata1=atz;
mycomm.setoutput(colevariant (senddata1));
、接收二進位數據
variant  input1
    //定義variant類型變量
byte   rxdata[2048],aa1;   //
定義存放二進位數據的數組
long   len1,k;
colesafearray  safearray1;   //
定義colesafearray類的實例
input1=mycomm.getinput();
safearray1=input1;        //
variant變量賦值colesafearray類的實例
len1=safearray1.getonedimsize(); //
使用colesafearray類的成員函數獲取數據長度
for(k=0;k safearray1.getelement(&k,rxdata+k); //
使用colesafearray類的成員函數將數據寫入數組
、發送二進位數據
cbytearray array1

array1.removeall();
array1.setsize(3);
array1.setat(0,12);array1.setat(1,79);array1.setat(2,0xe2);
mycomm.setoutput(colevariant(array1));

5、通信程序編寫

    下面給出了利用pc機對vfd-s型臺達變頻器的串行通信控制程序:

    埠設置界面(如圖3)

    通過設置埠參數使控制程序跟變頻器的(9-00 9-01 9-04)參數設定一致,從而能夠保證正常通信,同時設置變頻器的(2-00 2-01)參數,使得變頻器的控制由rs485通訊界面輸出。

    主界面(如圖4

     主界面用來發送控制信息給變頻器來控制電機的起止、反轉、寸動和頻率等。

    運行控制編程

      發送控制信號:  主要代碼(以正轉運行為例)
 
if(nid==idc_radio1)
 {   str0=":010620000012" ;
   b="0x01"+0x06+0x20+0x00+0x00+0x12;
   if(b>0xff)
    b="b"&0x0ff; 
    b="b"^c;  //
求校驗
   b="b"+1;
   str1.format("%02x",b);
 }
    str3=str0+str1+"/r/n";
 mycomm.setoutput(colevariant(str3));

       接收返回信息: 通過接收返回信息來監測變頻器的狀態,包括輸出頻率、輸出電流、運轉命令、變頻器狀態以及異常代碼等。

       為提高程序效率,通常接收數據的操作都在oncomm事件中進行的,主要代碼:
       …………
variant input1;   //
定義variant類型變量
 char rxdata[2048];                  //
定義存放二進位數據的數組
 long len1,k;
 colesafearray safearray1;           //
定義colesafearray類的實例
 cstring strdis;
 switch(mycomm.getcommevent())
 {  case 2:
  input1=mycomm.getinput();   //
收到 rthreshold 個字符
  safearray1=input1;      //
varaiant變量賦值給colesafearray類的實例
  len1=safearray1.getonedimsize();  //
使用colesafearray類的成員函數獲取數據長度
  for(k=0;k   safearray1.getelement(&k,rxdata+k);
  for(k=0;k   { strdis+=rxdata[k]; }
…………     //
處理接收的信息

6、小結

       本文介紹了通過vc++ 6.0mscomm控制項,遵照modbus協議中的asc模式實現了在windows環境下的計算機對變頻器的參數傳遞,運行及頻率控制以及實時監控。本人通過對整個控制系統的軟硬體設計,實現了變頻器的計算機控制,經試驗表明系統的頻率控制比使用外部avi輸入更加精確,並且該系統具有簡單、可靠、實用的優點。

 

相關焦點

  • 變頻器控制迴路接口包括什麼_變頻器 - CSDN
    ,經常要用變頻器去控制交流電機的轉速、轉向等,儘管變頻器自身帶有控制面,具有簡單、有效的特點,但由於現場操作不夠方便,直觀性差以及僅能實現單機控制等缺點,針對這些缺點,現在的變頻器都帶有rs485通信接口,使用戶能方便靈活地選擇變頻器的強大功能,在
  • 基於ModBus協議的變頻器VC++控制系統
    通過485或232組網,用戶可以通過PC或PLC實現在本地或遠程對變頻器進行參數設置、運行控制及集中監測,以滿足實際需求。1.1  適用範圍:     G﹑P全系列變頻器1.2  組網方式(主從方式)(1)   單主機多從機單一的RS485網最多可以連接31臺變頻器,系統可以採用廣播通訊的方式或根據各變頻器的地址找到需要通訊的變頻器。
  • 變頻器
    ,經常要用變頻器去控制交流電機的轉速、轉向等,儘管變頻器自身帶有控制面,具有簡單、有效的特點,但由於現場操作不夠方便,直觀性差以及僅能實現單機控制等缺點,針對這些缺點,現在的變頻器都帶有rs485通信接口,使用戶能方便靈活地選擇變頻器的強大功能,在
  • 變頻器原理及控制方式,你真得懂嗎?
    什麼是變頻器、變頻器工作原理、變頻器組成,為什麼要用變頻、及有哪些控制方式等等,這些你都真得懂嗎?三、變頻器的分類  變頻器的分類方法有多種,按照主電路工作方式分類,可以分為電壓型變頻器和電流型變頻器;按照開關方式分類,可以分為PAM控制變頻器、PWM控制變頻器和高載頻PWM控制變頻器;按照工作原理分類,可以分為V/f控制變頻器、轉差頻率控制變頻器和矢量控制變頻器等;按照用途分類,可以分為通用變頻器
  • 英威騰變頻器和ABB變頻器_英威騰 - CSDN
    在與英威騰(INVT)變頻器Modbus通訊時,採用自己編制主站通訊程序,參照西門子USS程序格式做成庫程序,在多個項目上應用,效果還是不錯。
  • 變頻器接線圖實例:變頻器控制接線實物圖
    打開APP 變頻器接線圖實例:變頻器控制接線實物圖 發表於 2017-08-22 09:21:55 變頻器一般都是採用交—直—交方式(VVVF變頻或矢量控制變頻),先把工頻交流電源通過整流器轉換成直流電源,然後再把直流電源轉換成頻率、電壓均可控制的交流電源以供給電動機。   這個時候需要特別注意的就是變頻器接線圖與變頻器控制接線圖,變頻器接線錯誤了就容易導致電機運作不了等重大故障,而如果變頻器控制接線錯誤的話甚至可能引發不必要的安全事故。
  • 西門子變頻器2/3線控制方式的說明
    什麼是2/3線控制方式:2線控制是一種開關觸點,閉合/斷開的啟停方式。3線控制是一種脈衝上升沿觸發的啟停方式。設置參數:P0727:2/3線控制方式選擇,但還需要與P0701~P0704配合使用,實現功能如下表所示:標準控制與2線控制的區別:P0727=1與P0727=0基本的啟停方式是一樣的,哪他們的區別我們通過下圖解釋下:1、P0727=0的方式
  • 怎麼用變頻器控制三相電機正反轉?怎麼用中間繼電器控制變頻器?
    朋友們大家好我是大俵哥,今天有個朋友諮詢--怎麼用中間繼電器控制變頻器?實現對電機的正反轉控制,今天俵哥簡單給大家講一下。還需要把啟動方式設置為端子控制,認準正轉和反轉分別短接哪兩個端子,如果需要調速可以外接個電位器。
  • 基於歐姆龍PLC 的臺達變頻器控制
    變頻器的控制可以採用PLC、單片機等作為控制核心,由於PLC 具備可靠性高、編程簡單、維護方便等突出優點,越來越多的工業控制場合選用PLC和變頻器用於電機的調速控制。  基於PLC的變頻器的控制包括模擬方式控制和串口通信方式控制,其中,串口通信包括有協議通信和無協議通信,有協議通信如文獻[1]所述,幾乎不用編程,正確連接後就能實現串口通信。本文著重介紹了基於歐姆龍CP1H 系列PLC 的臺達VFD 系列變頻器的模擬方式控制和無協議通信方式控制。
  • 4種常用的簡單控制變頻器方法
    4種常用的簡單控制變頻器方法很多變頻器使用方式都是大同小異的!下面小編給大家介紹4種常用簡單的控制變頻器的方法。這種控制方式是通過變頻器面板啟停變頻器修改頻率等。2、通過外部控制器或儀表控制方式。這種控制方式主要通過控制器如PLC給變頻器啟停信號和頻率信號,這種控制方式依據信號類型的不同又可以分為兩種。一種類型是開關量信號和模擬信號另外一種是通訊數位訊號。
  • 變頻器控制電機正反轉的方法
    變頻器的運轉指令源(正反轉控制)和頻率指令來源(速度控制)是兩個不同的參數設置,如果想要控制正轉和反轉的時候速度不一樣可以有很多方法,這在我們實際應用當中很常見,首先我們先說下它們都有哪些控制方式。
  • 無刷電機的變頻器控制原理
    直流無刷電機與直流有刷電機,最大的區別在於電機換向機構的不同,從電刷換向機構轉變為半導體換向元件,將電刷與整流子置換為變頻器電路。由於半導體換向元件沒有機械磨損,和因機械磨損而產生的噪聲,大大增加了控制的靈活性,便於先進電機控制技術的發展和應用。它們兩者的結構如下圖所示。
  • 變頻器控制電機,可以調到多大的頻率?
    使用變頻器的另一個作用就是對電機進行調速,很多場合需要控制電機的轉速以獲得更好的生產效率,而變頻器調速一直是它最大的亮點,變頻器通過改變電源的頻率以達到控制電機轉速的目的。變頻器控制方式都有哪些?變頻器控制電機最常用的五種方式如下:低壓通用變頻輸出電壓為380~650V,輸出功率為0.75~400kW,工作頻率為0~400Hz,它的主電路都採用交—直—交電路。其控制方式經歷了以下四代。
  • 詳解變頻器的電氣控制線路
    (2)不應以主迴路的通斷來進行變頻器的運行、停止操作。需要用控制面板上的運行鍵(RUN)和停止鍵(STOP)來操作。(3)變頻器輸出端子最好經熱繼電器再接到三相電動機上,當旋轉方向與設定不一致時,要調換U、V、W三相中的任意兩相。(4)星形接法電動機的中性點絕不可接地。
  • 變頻器故障診斷與維修_變頻器常見故障維修_變頻器故障處理方法
    所以,用戶在正確使用變頻器之前,要對變頻器參數時從以下幾個方面進行:   (1)確認電機參數,變頻器在參數中設定電機的功率、電流、電壓、轉速、最大頻率,這些參數可以從電機銘牌中直接得到。   (2)變頻器採取的控制方式,即速度控制、轉距控制、PID控制或其他方式。採取控制方式後,一般要根據控制精度,需要進行靜態或動態辨識。
  • 變頻器是怎樣控制電機轉速的
    另外,頻率能夠在電機的外面調節後再供給電機,這樣電機的旋轉速度就可以被自由的控制。因此,以控制頻率為目的的變頻器,是做為電機調速設備的優選設備。n=60f/pn:同步速度f:電源頻率p:電機極對數結論:改變頻率和電壓是最優的電機控制方法如果僅改變頻率而不改變電壓,頻率降低時會使電機出於過電壓(過勵磁),導致電機可能被燒壞。因此變頻器在改變頻率的同時必須要同時改變電壓。輸出頻率在額定頻率以上時,電壓卻不可以繼續增加,最高只能是等於電機的額定電壓。
  • 變頻器控制電機轉速的方法
    另外,頻率能夠在電機的外面調節後再供給電機,這樣電機的旋轉速度就可以被自由的控制。 因此,以控制頻率為目的的變頻器,是做為電機調速設備的優選設備。 n = 60f/p n: 同步速度 f: 電源頻率 p: 電機極對數 結論:改變頻率和電壓是最優的電機控制方法 如果僅改變頻率而不改變電壓,頻率降低時會使電機出於過電壓(過勵磁),導致電機可能被燒壞
  • 如何用PLC實現變頻器頻率的控制?
    有級調速就是不能連續對變頻器的頻率進行改變,只能用開關來選擇提前設置好的頻率,常見的有多段速設定和簡易PLC程序設定。 無極調速能夠實現變頻器的連續或者任意頻率的運行也是常用的變頻方法,主要有模擬量和通信控制的方法完成。
  • 變頻器工作原理,變頻器的主要用途
    變頻器的主要用途其原因在於變頻調速器對電機進行了調速控制。變頻器的組成主要包括控制電路和主電路兩個部分,為用戶節省了選型的麻煩系統兼容性的問題節約了成本。使整個設備和系統更加安全, 3.電機和設備停止方式可控,從而降低採購成本。變頻器有什麼用?
  • 變頻器的組成
    /article/283592.htm  變頻器,英文名稱為Variable-frequency Drive,簡寫為VFD,是利用變頻技術和微電子技術,通過改變電機工作電源的頻率方式來控制交流電動機的一種電力控制設備。