日本在线www-日本在线播放一区-日本在线不卡免费视频一区-日本在线不卡视频-成人影院久久久久久影院-成人影院一区二区三区

ABB25年11月
關(guān)注中國自動化產(chǎn)業(yè)發(fā)展的先行者!
工業(yè)智能邊緣計算2025年會
2025工業(yè)安全大會
CAIAC 2025
OICT公益講堂
當(dāng)前位置:首頁 >> 案例 >> 案例首頁

案例頻道

用歐姆龍PLC與上位機通信實現(xiàn)振動磨的變頻控制
  摘要:本文給出了用VC++6.0實現(xiàn)OMRON可編程控制器與上位機之間的通信程序設(shè)計方法,并提供了利用RS232串行通訊端口實現(xiàn)計算機與可編程控制器通訊的方法。此方案成功應(yīng)用在振動磨的變頻控制中。

  關(guān)鍵詞:上位機;PLC;串口通信;VC++6.0;振動磨

  1.引 言

    當(dāng)今,在自動化的工業(yè)生產(chǎn)中,變頻控制往往與計算機遠程控制相聯(lián)系在一起,從而實現(xiàn)電機的遠程變頻控制。可編程序控制器系統(tǒng)不僅可作為單一的機電控制設(shè)備,而且作為通用的自動控制設(shè)備,也被大量地用于過程工業(yè)的自動控制。歐姆龍最新推出的可編程控制器SYSMAC CP1H,具有“高度擴張性”的端子臺型一體化[1]。與以往產(chǎn)品CPM2A 40 點輸入輸出型為相同尺寸,但處理速度可達到約10倍的性能。本課題通過控制機(即為PLC)設(shè)定比例運行參數(shù),然后控制機通過D/A轉(zhuǎn)換模件發(fā)出控制變頻調(diào)速器的指令,使變頻調(diào)速器帶動振動磨電機按輸入的速度和時間運轉(zhuǎn)。基于OMRON PLC的鏈接通信(有通信協(xié)議),我們采用功能強大的Visual C++6.0語言來實現(xiàn)這種小型集散控制系統(tǒng)的上、下位機的通信和友好的監(jiān)控界面,實現(xiàn)了上位機與PLC間的通信。

  2.通訊軟件的設(shè)計

    在本項目中,上位機選用計算機, 下位機選用日本Omron公司的CP1H系列XA40DR-A可編程序控制器。在計算機外設(shè)中,RS-232串口因為其組成方式簡單,編程控制方便而成為應(yīng)用最為廣泛的I/O通道之一。32 位下串口通信程序通常采用兩種方法實現(xiàn):一是利用ActiveX控件; 二是使用API通信函數(shù)。使用ActiveX控件, 程序?qū)崿F(xiàn)非常簡單, 結(jié)構(gòu)清晰,缺點是欠靈活; 使用API通信函數(shù)的優(yōu)缺點則基本上相反[2]。VC++6.0的MSComm是Microsoft 公司提供的簡化Windows 下串行通信編程的ActiveX控件,它為應(yīng)用程序提供了通過串行接口收發(fā)數(shù)據(jù)的簡便方法,筆者采用了這種方法。其端口接線見附圖。



  2.1 上位機與PLC的通訊協(xié)議

    HOST Link系統(tǒng)使用HOST Link 通信協(xié)議進行通信,上位機具有傳送優(yōu)先權(quán),總是首先發(fā)出命令并啟動通信,HOST Link 通信單元收到命令交由PLC執(zhí)行,然后將執(zhí)行結(jié)果返回上位機,兩者以幀為單位輪流交換數(shù)據(jù)。

  2.2 上位機的PLC鏈接通訊

    通信時一組傳送的數(shù)據(jù)稱為塊,它是命令或響應(yīng)的單位,從上位機發(fā)送到HOSTLink 單元的數(shù)據(jù)稱為命令塊,相應(yīng)的,從HOSTLink單元發(fā)送到上位機的數(shù)據(jù)稱為響應(yīng)塊。多點通信時,單幀發(fā)送的最大數(shù)據(jù)塊為131 個字符,因此當(dāng)一個數(shù)據(jù)塊含有132 個或更多字符時,要分成兩幀或多幀進行發(fā)送。多幀發(fā)送時中間幀的格式為:正文、FCS、分界符。起始幀、中間幀的長度為131 ,結(jié)束幀的長度最多為131 個字符。

    Omron系列的PLC 通過RS232 口與主機通信有兩種方式,第一種是由上位機向PLC 發(fā)送初始命令,第二種是由PLC 向上位機發(fā)送初始命令[3]。在監(jiān)測系統(tǒng)中一般采用第一種方式。有關(guān)通信協(xié)議如下所述:

  2.2.1上位機→PLC 的命令格式

    其中:

    (1)@為起始標(biāo)志符;

    (2)N2 、N1 為PLC 節(jié)點標(biāo)志碼,由兩位十進制數(shù)表示,它們用來指定與上位機通信的PLC。而PLC 自己的通信節(jié)點碼可由它的DM6648 和DM6653 來設(shè)置;

    (3)CMD2 、CMD1 為兩字節(jié)命令碼;

    (4)MT 為命令內(nèi)容,用來設(shè)置具體的命令參數(shù);

    (5)V2、V1 為兩字節(jié)的幀校驗碼,它是從開始符“@”到MT碼結(jié)束的所有字符的ASCII 碼按位異或的結(jié)果; 幀校驗和是一個轉(zhuǎn)換成2 個ASCII 字符的8 位數(shù)據(jù)。它把幀中每一個字符順序地進行異或操作而得到的結(jié)果,即把幀的第一個字符到正文結(jié)束的所有字符轉(zhuǎn)換成二進制形式的ASCII 碼后,逐個異或而得到的[4]。當(dāng)發(fā)送命令時,將其加在命令格式中,作為幀的一部分發(fā)送到接收端。當(dāng)接收數(shù)據(jù)時,按上述步驟重新計算FCS ,當(dāng)計算結(jié)果與數(shù)據(jù)塊中所帶的FCS 相同時,說明傳輸無誤,否則,說明接收到的數(shù)據(jù)不正確。

    (6)“*”和“CR”兩字符表示命令結(jié)束。

    例如,@00WD00060500表示寫一個數(shù)500到節(jié)點為0的PLC的DM0006中。

  2.2.2 PLC→上位機的響應(yīng)格式




    其中S2 、S1 為命令結(jié)束狀態(tài)碼,如00 表示正常結(jié)束,01 表示RUN 模態(tài)下PLC 無法完成上位機命令,其余符號代碼意義同上。實現(xiàn)上位機與HOST Link 通信單元的通信只需編寫上位機程序,因為HOST Link 通信單元自身帶有通信程序,上位機下發(fā)命令,地址相符的PLC 自動上傳響應(yīng)幀,所以這一部分程序不需要客戶編寫,但是,編寫上位機的通信程序時,通信參數(shù)的設(shè)置必須保證與PLC 的通信參數(shù)一致性。

  3.用VC++6.0編寫串行通信程序


    首先建立一個基于對話框的MFC應(yīng)用程序SCommTest,支持ActiveX控件,電話形狀的控件是在系統(tǒng)中注冊過的MicrosoftCommunications Control, version 6.0,接受缺省的選項。

  1.打開串口設(shè)置串口參數(shù)

    在主對話框CSCommTestDlg::OnInitDialog()中打開串口,加入如下代碼:

    if(m_ctrlComm.GetPortOpen())

    m_ctrlComm.SetPortOpen(FALSE);

    m_ctrlComm.SetCommPort(1); //選擇com1

    i f ( ! m _ c t r l C o m m . G e t P o r t O p e n ( ) ) m _ c t r l C o m m .

  SetPortOpen(TRUE);//打開串口

    else

    AfxMessageBox("cannot open serial port");

    m_ctrlComm.SetSettings("9600,E,7,2"); //波特率9600,偶校驗,7個數(shù)據(jù)位,2個停止位
m_ctrlComm.SetInputModel(1); //1:表示以二進制方式檢取數(shù)據(jù)m_ctrlComm.SetRThreshold(1);

    //參數(shù)1表示每當(dāng)串口接收緩沖區(qū)中有多于或等于1個字符時將引發(fā)一個接收數(shù)據(jù)的OnComm事件

    m_ctrlComm.SetInputLen(0); //設(shè)置當(dāng)前接收區(qū)數(shù)據(jù)長度為0

    m_ctrlComm.GetInput();//先預(yù)讀緩沖區(qū)以清除殘留數(shù)據(jù)

  2.發(fā)送數(shù)據(jù)

    為發(fā)送按鈕添加一個單擊消息BN_CLICKED處理函數(shù),選擇IDC_BUTTON_MANUALSEND,添加OnButtonManualsend()函數(shù),并在函數(shù)中添加如下代碼:

    UpdateData(TRUE); //讀取編輯框內(nèi)容

    SendData(m_strTXData1,6);

    // m_strTXData1表示發(fā)送速度命令的具體數(shù)值,6表示寫數(shù)據(jù)的地址DM0006

    Sleep(100);

    SendData(m_strTXData2,12); //m_strTXData1表示發(fā)送時間命令的具體數(shù)值,12表示寫數(shù)據(jù)的地址DM00123.發(fā)送命令

    按照命令格式,本課題主要發(fā)送兩個WD命令:

    (1)數(shù)據(jù)采用十進制發(fā)送,向DM0006中寫入速度指令;

    (2)數(shù)據(jù)采用十進制發(fā)送,向DM0012中寫入時間指令。部分程序如下:

    Void CSCommTestDlg::SendData(int m_TobeSend,intm_address)

    { CByteArray Array;

    unsigned char auchMsg[45]={0}

    auchMsg[0]=64; // 起始標(biāo)志符

    auchMsg[1]=0x0; //節(jié)點號

    auchMsg[2]=0x0; auchMsg[3]=‘W‘; //命令符

    auchMsg[4]=‘D‘;

    auchMsg[5]=m_address/1000;

    auchMsg[6]=(m_address%1000)/100;

    auchMsg[7]=(m_address%100)/10;

    auchMsg[8]=m_address%10;

    auchMsg[9]=m_TobeSend/1000;

    auchMsg[10]=(m_TobeSend%1000)/10;

    auchMsg[11]=(m_TobeSend%100)/10;

    auchMsg[12]=m_TobeSend%10;

    LRC(auchMsg,13);

    //auchMsg[13] ,auchMsg[14] ,保存FCS值

    auchMsg[15]=‘*‘; //命令結(jié)束符

    auchMsg[16]=13;

    Array.RemoveAll();

    for (Count=0;Count<17;Count++)

    Array.Add(auchMsg[Count]);

    m _ c t r l C o m m . S e t O u t p u t ( C O l e Va r i a n t ( A r r a y ) ) ;

  4.計算校驗碼函數(shù)

    unsigned char uchLRC = 0 ; 初始值設(shè)定

    while (usDataLen——)

    {uchLRC ︿= *auchMsg++; }

    unsigned char high=0xF0;

    //high為校驗碼的高位

    unsigned char low=0x0F;

    //low為校驗碼的低位

    high&=uchLRC;

    low&=uchLRC;

    high>>=4;右移四位

    if(high<=9)

    high=high+48;

    else

    high=high+55;

    if(low<=9)

    low=low+48;

    else

    low=low+55;

    *auchMsg++=high;

    *auchMsg++=low;

  四.結(jié)束語

    此程序在VC++6.0中運行通過,并成功應(yīng)用于振動磨的控制中。該系統(tǒng)采用OMRON XA40DR-A PLC與上位機連接組成控制系統(tǒng),上位機通過串行口向PLC發(fā)出寫命令及數(shù)據(jù),PLC接受數(shù)據(jù)后,通過D/A轉(zhuǎn)換模塊,將模擬量發(fā)給變頻器,從而實現(xiàn)了振動磨振動速度和時間的控制。

  參考文獻

  [1]OMRON公司.CP1H操作手冊.2005

  [2]萬曼影.視窗環(huán)境下歐姆龍PLC的實時通信.微處理機.2004(6)

  [3]何華東,趙喜榮.PLC與上位計算機的串行通信程序設(shè)計.機電工程.2002(6)

  [4]OMRON公司.CPM編程手冊.2003基金項目:國家自然科學(xué)基金資助項目(編號:50575147)

  作者簡介:蘇丹(1982-),女,在讀碩士;

  王樹林(1951—),男,教授,博士生導(dǎo)師。

熱點新聞

推薦產(chǎn)品

x
  • 在線反饋
1.我有以下需求:



2.詳細(xì)的需求:
姓名:
單位:
電話:
郵件:
国产麻豆精品视频| 尤物视频网站在线观看| 天天做人人爱夜夜爽2020毛片| 可以免费看污视频的网站| 日韩一级精品视频在线观看| 超级乱淫黄漫画免费| 一级片片| 日韩中文字幕在线播放| 999久久66久6只有精品| 黄视频网站在线看| 台湾毛片| 亚洲女人国产香蕉久久精品| 毛片电影网| 成人av在线播放| 欧美a级成人淫片免费看| 香蕉视频久久| 四虎影视久久| 一级片片| 日韩在线观看视频免费| 黄色免费网站在线| 亚欧成人乱码一区二区| 国产国产人免费视频成69堂| 国产一区二区精品| 国产精品123| 黄视频网站在线免费观看| 99久久精品国产高清一区二区| 午夜激情视频在线观看| 99热精品在线| 久久精品免视看国产成人2021| 亚洲天堂免费观看| 天天做日日爱夜夜爽| 欧美日本韩国| 久草免费在线色站| 日韩中文字幕在线观看视频| 国产伦精品一区二区三区在线观看| 日韩欧美一二三区| 国产国语在线播放视频| 国产综合成人观看在线| 国产亚洲男人的天堂在线观看| 你懂的在线观看视频| 可以免费看污视频的网站| 91麻豆精品国产自产在线| 午夜激情视频在线观看| 99久久精品国产片| 韩国三级香港三级日本三级la| 日本特黄特色aaa大片免费| 91麻豆高清国产在线播放| 国产麻豆精品免费密入口| 欧美电影免费看大全| 国产精品1024永久免费视频| 黄色免费网站在线| 欧美一区二区三区性| 成人a大片高清在线观看| 精品国产一区二区三区久 | 久久国产精品自由自在| 国产视频一区在线| 国产亚洲精品成人a在线| 久久久久久久网| 一本伊大人香蕉高清在线观看| 香蕉视频三级| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 台湾毛片| 精品国产一区二区三区久| 欧美电影免费看大全| 精品在线观看国产| 久草免费在线色站| 国产视频一区在线| 久久精品大片| 亚洲第一视频在线播放| 四虎影视精品永久免费网站| 999精品在线| 中文字幕一区二区三区 精品| 韩国三级视频在线观看| 国产91精品露脸国语对白| 精品久久久久久中文| 日韩在线观看视频免费| 亚洲 国产精品 日韩| 日韩免费在线视频| 韩国三级香港三级日本三级| 精品国产一区二区三区国产馆| 日韩在线观看视频网站| 中文字幕Aⅴ资源网| 一级毛片视频在线观看| 91麻豆精品国产自产在线观看一区| 亚洲精品影院久久久久久| 国产麻豆精品| 亚洲 国产精品 日韩| 欧美日本韩国| 日韩专区在线播放| 在线观看导航| 黄色福利| 亚洲精品久久玖玖玖玖| a级精品九九九大片免费看| 日韩中文字幕一区二区不卡| 日韩欧美一二三区| 免费的黄视频| 欧美另类videosbestsex久久| 中文字幕Aⅴ资源网| 韩国毛片基地| 日韩免费在线视频| 国产一区二区精品在线观看| 欧美另类videosbestsex| 欧美激情一区二区三区视频| 青青青草视频在线观看| 亚洲精品永久一区| 精品久久久久久中文字幕一区| 久久成人亚洲| 高清一级毛片一本到免费观看| 欧美激情伊人| 四虎久久影院| 成人免费一级纶理片| 日韩专区一区| 精品视频一区二区三区免费| 精品国产三级a| 999久久狠狠免费精品| 美女免费精品视频在线观看| 999精品视频在线| 日韩免费在线视频| 黄视频网站免费观看| 精品久久久久久影院免费| 精品视频在线观看一区二区 | 天堂网中文字幕| 午夜家庭影院| 日韩免费片| 日韩字幕在线| 欧美激情一区二区三区中文字幕| 九九久久国产精品大片| 国产伦理精品| 999精品在线| 国产极品白嫩美女在线观看看| 国产成人精品影视| 日韩一级精品视频在线观看| 国产视频网站在线观看| 国产视频一区二区三区四区| 日本在线www| 91麻豆精品国产自产在线| 国产成人女人在线视频观看 | 91麻豆国产福利精品| 久久久久久久免费视频| 精品视频在线观看视频免费视频| 日韩av片免费播放| 深夜做爰性大片中文| 欧美a级成人淫片免费看| 台湾毛片| 国产视频久久久| 超级乱淫黄漫画免费| 午夜在线影院| 亚洲第一视频在线播放| 欧美激情一区二区三区视频 | 91麻豆tv| 亚洲 欧美 91| 亚洲精品中文一区不卡| 国产91丝袜在线播放0| 亚洲第一页乱| 天天做人人爱夜夜爽2020| 日日日夜夜操| 天天做人人爱夜夜爽2020毛片| 成人免费高清视频| 欧美a级大片| 国产一区免费观看| 香蕉视频久久| 日本特黄特色aa大片免费| 毛片成人永久免费视频| 黄视频网站免费看| 深夜做爰性大片中文| 久久成人亚洲| 国产91视频网| 尤物视频网站在线观看| 91麻豆国产级在线| 精品国产一区二区三区久| 中文字幕Aⅴ资源网| 99久久网站| 日韩一级黄色| 久久久成人影院| 麻豆污视频| 日韩一级黄色| 久久国产影视免费精品| 欧美α片无限看在线观看免费| 欧美国产日韩一区二区三区| 精品视频一区二区| 色综合久久久久综合体桃花网| 精品久久久久久中文字幕一区| 日韩欧美一二三区| 沈樵在线观看福利| 九九精品在线| 台湾毛片| 国产视频一区二区三区四区| 精品国产一区二区三区久 | 国产伦理精品| 午夜在线观看视频免费 成人| 天堂网中文字幕| 精品国产一区二区三区国产馆| 久草免费在线观看| 国产网站免费| 一级女性全黄久久生活片| 日本在线www| 国产极品精频在线观看| 二级片在线观看| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 韩国三级视频网站|