亚洲色五月,180久久曰,亚洲人妻视频二区,玖玖精品视频8,国产精品一区二区视频,999久久精,老鸭窝在线视频1,欧美熟妇精品一二三区,美女高潮喷水

推廣 熱搜: 資訊  涂料  國內(nèi)  衛(wèi)浴  塑料  科技  中國  管材  有限公司  板材 

如何通過rs-485控制多臺(tái)變頻器

   日期:2026-03-08 09:45     來源:中國建材網(wǎng)    十環(huán)網(wǎng)整理     
核心提示:周捷(南京東南大學(xué)儀器科學(xué)與工程系) 程春玲(南京郵電學(xué)院信息所) 摘 要:MicroMaster變頻器的RS-485通信協(xié)議,利用VC5.0中的ActiveX控件MSCOMM通信控件實(shí)現(xiàn)了W

     周捷(南京東南大學(xué)儀器科學(xué)與工程系) 程春玲(南京郵電學(xué)院信息所)
  
  摘 要:MicroMaster變頻器的RS-485通信協(xié)議,利用VC5.0中的ActiveX控件MSCOMM通信控件實(shí)現(xiàn)了Windows95下單臺(tái)微機(jī)與多臺(tái)變頻器的串行通信控制,并能實(shí)時(shí)檢測(cè)各變頻器的運(yùn)行狀態(tài)。
  
  關(guān)鍵詞:工控PC機(jī) ActiveX控件 RS-485通信協(xié)議 變頻器控制
  
    工業(yè)場(chǎng)合中,經(jīng)常要用變頻器去控制交流電機(jī)的轉(zhuǎn)速、轉(zhuǎn)向。在某些場(chǎng)合,需要用1臺(tái)工控PC機(jī)靈活地控制多臺(tái)變頻器,以達(dá)到控制各交流電機(jī)的目的。針對(duì)這一需要,一些公司(如德國西門子、日本東芝、三菱等公司)推出了帶有RS-485通信接口的變頻器,使用戶能方便靈活地選擇變頻器的強(qiáng)大功能來設(shè)計(jì)各自的工業(yè)控制系統(tǒng)。
    在Windows95下開發(fā)工控軟件,可利用Windows95的豐富資源,方便地生成各種菜單及美觀大方的圖形界面,軟件產(chǎn)品質(zhì)量高且開發(fā)周期短。Visual C++5.0是Microsoft公司最新推出功能最強(qiáng)的Windows開發(fā)軟件,由于只能在Win95下運(yùn)行開發(fā)32位的應(yīng)用程序,而在Windows環(huán)境下,系統(tǒng)完全接管{TodayHot}了各種硬件資源,不允許用戶直接控制串行口的中斷管理,因此如何在Windows環(huán)境下開發(fā)微機(jī)的底層資源,已成為當(dāng)今工業(yè)控制軟件的一大熱點(diǎn)及難點(diǎn)。
    本文利用VC5.0的ActiveX控件——Microsoft Communication控件,方便地實(shí)現(xiàn)了Win95環(huán)境下與多個(gè)西門子MicroMaster變頻器的串行通信接口,成功地實(shí)現(xiàn)了用單臺(tái)工控PC機(jī)對(duì)多臺(tái)交流異步電機(jī)的靈活控制。
  
  一、系統(tǒng)的總體設(shè)計(jì)
  
    圖1為系統(tǒng)的總體設(shè)計(jì)方框圖,這里只重點(diǎn)突出工控PC機(jī)與變頻器RS-485的接口部分。RS-485的驅(qū)動(dòng)器可帶32個(gè)接收器,在波特率為100Kb/s時(shí),通信距離可達(dá)到1200m;通信距離為15m時(shí),波特率可達(dá)10Mb/s。在工業(yè)現(xiàn)場(chǎng),RS-485是應(yīng)用較多的一種通信方式。圖中工控PC機(jī)通過485通信接口卡與多個(gè)變頻器相連接,最多可達(dá)到32臺(tái)。每個(gè)變頻器被賦予各自的地址碼用以識(shí)別身份,這樣上位機(jī)便能通過485通信線對(duì)掛在上面的所有變頻器進(jìn)行控制操作。
   
  二、變頻器的串口通信協(xié)議
  
  對(duì)于西門子的MicroMaster變頻器,其通信方式為RS-485,波特率最高可達(dá)到19200b/s;1位起始位;8位數(shù)據(jù)位;1位偶校驗(yàn);1位停止位。變頻器接收控制的通信協(xié)議如下:
  


    與上位機(jī)向變頻器發(fā)送的控制字相比,變頻器回送的狀態(tài)字只是以ZSW代替了STW,HIW代替了HSW,其余的字的含義是一樣的。ZSW是16位的狀態(tài)字來指示變頻器的當(dāng)前運(yùn)行狀態(tài),各位的具體含義見說明書;HIW也是16位的字{HotTag}代表變頻器的輸出頻率,其定義與HSW是一樣的。
    因此,對(duì)于變頻器能通過面板按鍵設(shè)置的功能,通過以上的通信協(xié)議也一樣能實(shí)現(xiàn)。并且通過RS-485通信線最多能同時(shí)控制32臺(tái)變頻器,同時(shí)各變頻器的運(yùn)行狀態(tài)也能實(shí)時(shí)地回送給上位機(jī),這就大大方便了用戶,增加了控制系統(tǒng)的靈活性。 
  
  三、Visual C++5.0下對(duì)變頻器進(jìn)行串行通信控制
  
  1、ActiveX控件Microsoft Comm Control 5.0
  
  在Windows環(huán)境下,操作系統(tǒng)完全接管了各種硬件資源,不允許用戶直接控制串行口的中斷管理。以往程序員只能通過數(shù)目眾多的API函數(shù)來控制串口。
    VC5.0下提供了1個(gè)ActiveX控件Microsoft Communication Control 5.0,簡(jiǎn)稱MSComm控件。用戶可以在自己的應(yīng)用程序中嵌入MSComm控件,利用它可以方便地進(jìn)行計(jì)算機(jī)串口的通信管理。VC5.0中的ActiveX控件MSComm與VC4.0中的OLE通信控件相比,增加了一些新的功能,其中最為有用的1個(gè)改進(jìn)是將Input(從緩沖區(qū)讀取接收數(shù)據(jù))的數(shù)據(jù)類型從CString改成Variant,同時(shí)新增1個(gè)屬性InputMode,使程序能方便地選擇從緩沖區(qū)讀取數(shù)據(jù)的格式:字符串格式或2進(jìn)制格式。
    在VC5.0開發(fā)環(huán)境中,選擇Microsoft Communication Control 5.0控件插入程序,則系統(tǒng)自動(dòng)為所插入的控件定義1個(gè)CMSComm類,與其相關(guān)的文件保存在mscomm.h和mscomm.cpp文件中。確認(rèn)以上菜單選擇后,則MSComm控件已嵌入到項(xiàng)目文件中。
    MSComm控件有許多屬性,其中一些重要的屬性如下:
    CommPort:設(shè)置串口號(hào),類型:short;
    Settings:設(shè)置串口通信參數(shù),類型:CString;
    PortOpen:設(shè)置或返回通信口的狀態(tài),類型:BOOL;
    InputMode:設(shè)置從緩沖區(qū)讀取數(shù)據(jù)的格式,類型:long;
    Input:從接收緩沖區(qū)讀取數(shù)據(jù),類型:VARIANT;
    Output:向發(fā)送緩沖區(qū)寫入數(shù)據(jù),類型:VARIANT;
    InBufferSize:接收緩沖區(qū)的大小,類型:short;
    InBufferCount:接收緩沖區(qū)的字節(jié)數(shù),類型:short;
    OutBufferSize:發(fā)送緩沖區(qū)的大小,類型:short;
    OutBufferCount:發(fā)送緩沖區(qū)中的字節(jié)數(shù),類型:short;
    InputLen:設(shè)置或返回Input每次讀出的字節(jié)數(shù),類型:short;
    CommEvent:串口事件,類型:short。
    其中串口號(hào)(CommPort)設(shè)置為1、2等表示COMM1、COMM2。參數(shù)設(shè)置(Settings)的格式為“B,P,D,S”,B表示波特率,P表示奇偶校驗(yàn)(N-無校驗(yàn),E-偶校驗(yàn),O-奇校驗(yàn)),D表示字節(jié)有效位數(shù),S表示停止位數(shù)。串口狀態(tài)(PortOpen)為BOOL變量,TRUE表示打開串口,F(xiàn)ALSE表示關(guān)閉串口。InputMode使程序能方便地選擇從緩沖區(qū)讀取數(shù)據(jù)的格式,設(shè)置為0時(shí)字符串格式,設(shè)置為1時(shí)表示2進(jìn)制格式。InputLen設(shè)置或返回的是用Input從緩沖區(qū)讀字符串時(shí)每次讀出的字符個(gè)數(shù),這個(gè)性質(zhì)對(duì)于讀出數(shù)據(jù)塊中定長(zhǎng)數(shù)據(jù)串非常有用。
    另外,MSComm控件提供了2種方法來處理串口通信,上面屬性的InBufferCount和OutBufferCount用于串口的查詢方式。對(duì)于較復(fù)雜的通信任務(wù),可通過SetCommEvent()函數(shù)設(shè)置串口要響應(yīng)的事件,當(dāng)相應(yīng)事件或串口錯(cuò)誤事件發(fā)生時(shí),系統(tǒng)會(huì)激活OnComm()事件,在OnComm()中添加用戶的處理代碼,則可實(shí)現(xiàn)類似DOS中斷的串口處理程序。
  
  2、變頻器串口通信控制檢測(cè)軟件的編制
  
  在項(xiàng)目文件嵌入MSComm控件的頭文件mscomm.h及實(shí)現(xiàn)文件mscomm.cpp之后,為了用該控件控制1個(gè)串口進(jìn)行通信操作,還必須在應(yīng)用程序中插入該控件。為此,我們?yōu)槌绦虻哪硞€(gè)對(duì)話框插入MSComm控件,控件ID為IDC_M(jìn)SCOMM1,并利用Class Wizard為其添加變量CCMSComm m_Coml,則程序中對(duì)串口的各種操作都可通過變量m_Coml來實(shí)現(xiàn)。
    MicroMaster變頻器回送的狀態(tài)信息1幀為14B。為此,程序編制上采用事件驅(qū)動(dòng)的通信方式,串口每接收14個(gè)字符便激活1個(gè)OnComm()事件,在OnComm()消息處理函數(shù)中加入相應(yīng)的處理代碼,用來讀取狀態(tài)字ZSW和HIW各位的狀態(tài)參數(shù),并作出相應(yīng)的處理,如顯示、報(bào)警等。下面簡(jiǎn)要給出用事件驅(qū)動(dòng)方式讀出變頻器回送狀態(tài)字的程序源代碼。設(shè)RS-485卡的口地址為工控PC機(jī)的串口4的地址,波特率為9600b/s。
    串口初始化程序如下:
    m_Coml.SetCommPort(4); //設(shè)置串口4
    if(! m_Coml.GetPortOpen())
      m_Coml.SetPortOpen(TRUE); //打開串口
    m_Coml.SetSettings(″9600,e,8,1″); //串口參數(shù)設(shè)置
    m_Coml.SetInputMode(1); //設(shè)置Binary緩沖輸入方式
    m_Coml.SetRThreshold(14); //每接收1個(gè)字符時(shí)//激發(fā)OnComm()事件
    工控PC機(jī)控制變頻器的參數(shù)通過類ColeVariant的構(gòu)造函數(shù)來實(shí)現(xiàn),ColeVariant可以接受各種類型的數(shù)據(jù)(如字符串、整數(shù)、浮點(diǎn)數(shù)等)并自動(dòng)將其轉(zhuǎn)換為符合VARIANT要求的數(shù)據(jù)。程序代碼如下:
    m_Coml.SetOutput(ColeVariant(″\x02″)); //發(fā)送起始//字符02H
    m_Coml.SetOutput(ColeVariant(″\x0C″)); //發(fā)送數(shù)據(jù)//長(zhǎng)度字符0CH
    ……      //發(fā)送其它的控制參數(shù)
    對(duì)于變頻器回送的狀態(tài)信息則利用Windows的消息處理函數(shù)OnComm()進(jìn)行處理。利用ClassWizard為MSComm控件IDC_M(jìn)SCOMM1添加消息處理函數(shù)OnOnCommMscomm1(),在OnOnCommMscomm1()中加入處理代碼如下(最后2個(gè)語句為添加的程序代碼,其余代碼由ClassWizard自動(dòng)生成):
    void CGpsdataDlg::OnOnCommMscomm1()
    {
    //TODO:Add your control notification handler //code here
    m_Coml.SetInputLen(0); //讀取串口緩沖區(qū)全//部數(shù)據(jù)
    VARIANT Parameter=m_Coml.GetInput(); //數(shù)據(jù)賦給VARIANT變量
    ……   //具體程序處理代碼
    }
  ?在消息處理函數(shù)OnOnCommMscomm1()中,將變頻器回送的14個(gè)狀態(tài)字每一次全部讀到VARIANT變量Parameter中,然后程序再從VARIANT類型的數(shù)組變量Parameter中分別讀取各狀態(tài)字節(jié),在屏幕上顯示、判斷并報(bào)警。
    本文利用VC5.0下的ActiveX控件和MicroMaster變頻器RS-485的串行通信功能,實(shí)現(xiàn)了在Windows95環(huán)境下用單臺(tái)工控PC機(jī)控制多臺(tái)變頻器的任務(wù),并能實(shí)時(shí)檢測(cè)各變頻器的運(yùn)行狀態(tài)。整個(gè)控制系統(tǒng)靈活方便,具有很大的實(shí)用性。

 
標(biāo)簽: 變頻器
 
更多>同類資訊
已關(guān)閉相關(guān)評(píng)論
推薦圖文
推薦資訊
點(diǎn)擊排行
熱門主題:
資訊詞庫     2019 2018 資訊 國內(nèi) 化工 塑料 產(chǎn)品 家居 市場(chǎng) 行業(yè) 涂料 動(dòng)態(tài) 價(jià)格 中國 地板 政策 玻璃 環(huán)保 法規(guī) 能源 產(chǎn)業(yè) 公司 衛(wèi)浴 國際 智能 建筑 管材 項(xiàng)目 全球
詞庫分頁     [1-2000]    [2001-4000]    [4001-6000]    [6001-8000]    [8001-10000]    [10001-12000]    [12001-14000]    [14001-16000]    [16001-18000]
[18001-20000]    [20001-22000]    [22001-24000]    [24001-260000]    [26001-28000]    [28001-30000]    [30001-32300]
 
網(wǎng)站首頁  | 
维西| 清徐县| 米林县| 江孜县| 威远县| 泌阳县| 成安县| 昭通市| 明光市| 探索| 义马市| 四子王旗| 彝良县| 涡阳县| 海晏县| 高唐县| 阿合奇县| 柘城县| 皮山县| 泰宁县| 察雅县| 富阳市| 泾阳县| 凌源市| 凭祥市| 鲜城| 云霄县| 九寨沟县| 鸡东县| 遂溪县| 高雄市| 新巴尔虎左旗| 阳原县| 福州市| 郑州市| 仁布县| 环江| 牡丹江市| 鄱阳县| 连平县| 噶尔县|