《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 用歐姆龍PLC與上位機通信實現振動磨的變頻控制
用歐姆龍PLC與上位機通信實現振動磨的變頻控制
中國自動化網
摘要: 本文給出了用VC++6.0實現OMRON可編程控制器與上位機之間的通信程序設計方法,并提供了利用RS232串行通訊端口實現計算機與可編程控制器通訊的方法。此方案成功應用在振動磨的變頻控制中。
Abstract:
Key words :

摘要:本文給出了用VC++6.0實現OMRON可編程控制器與上位機之間的通信程序設計方法,并提供了利用RS232串行通訊端口實現計算機與可編程控制器通訊的方法。此方案成功應用在振動磨的變頻控制中。
關鍵詞:上位機;PLC;串口通信;VC++6.0;振動磨
Abstract:This article mainly introduces a method of programming design based on VC++6.0 to realize the communication of PLC and host omputer and also discusses how to use the RS232 communication port to realize the communication between PC and PLC. Thisprogram has been successfully applied in the frequency control of vibration mill.
Key words: Host computer, PLC, Serial communication, VC++6.0,Vibration mill
1.引 言
當今,在自動化的工業生產中,變頻控制往往與計算機遠程控制相聯系在一起,從而實現電機的遠程變頻控制。可編程序控制器系統不僅可作為單一的機電控制設備,而且作為通用的自動控制設備,也被大量地用于過程工業的自動控制。歐姆龍最新推出的可編程控制器SYSMAC CP1H,具有“高度擴張性”的端子臺型一體化[1]。與以往產品CPM2A 40 點輸入輸出型為相同尺寸,但處理速度可達到約10倍的性能。本課題通過控制機(即為PLC)設定比例運行參數,然后控制機通過D/A轉換模件發出控制變頻調速器的指令,使變頻調速器帶動振動磨電機按輸入的速度和時間運轉?;贠MRON PLC的鏈接通信(有通信協議),我們采用功能強大的Visual C++6.0語言來實現這種小型集散控制系統的上、下位機的通信和友好的監控界面,實現了上位機與PLC間的通信。
2.通訊軟件的設計
在本項目中,上位機選用計算機, 下位機選用日本Omron公司的CP1H系列XA40DR-A可編程序控制器。在計算機外設中,RS-232串口因為其組成方式簡單,編程控制方便而成為應用最為廣泛的I/O通道之一。32 位下串口通信程序通常采用兩種方法實現:一是利用ActiveX控件; 二是使用API通信函數。使用ActiveX控件, 程序實現非常簡單, 結構清晰,缺點是欠靈活; 使用API通信函數的優缺點則基本上相反[2]。VC++6.0的MSComm是Microsoft 公司提供的簡化Windows 下串行通信編程的ActiveX控件,它為應用程序提供了通過串行接口收發數據的簡便方法,筆者采用了這種方法。其端口接線見附圖。


2.1 上位機與PLC的通訊協議
HOST Link系統使用HOST Link 通信協議進行通信,上位機具有傳送優先權,總是首先發出命令并啟動通信,HOST Link 通信單元收到命令交由PLC執行,然后將執行結果返回上位機,兩者以幀為單位輪流交換數據。
2.2 上位機的PLC鏈接通訊
通信時一組傳送的數據稱為塊,它是命令或響應的單位,從上位機發送到HOSTLink 單元的數據稱為命令塊,相應的,從HOSTLink單元發送到上位機的數據稱為響應塊。多點通信時,單幀發送的最大數據塊為131 個字符,因此當一個數據塊含有132 個或更多字符時,要分成兩幀或多幀進行發送。多幀發送時中間幀的格式為:正文、FCS、分界符。起始幀、中間幀的長度為131 ,結束幀的長度最多為131 個字符。
Omron系列的PLC 通過RS232 口與主機通信有兩種方式,第一種是由上位機向PLC 發送初始命令,第二種是由PLC 向上位機發送初始命令[3]。在監測系統中一般采用第一種方式。有關通信協議如下所述:
2.2.1上位機→PLC 的命令格式
其中:
(1)@為起始標志符;
(2)N2 、N1 為PLC 節點標志碼,由兩位十進制數表示,它們用來指定與上位機通信的PLC。而PLC 自己的通信節點碼可由它的DM6648 和DM6653 來設置;
(3)CMD2 、CMD1 為兩字節命令碼;
(4)MT 為命令內容,用來設置具體的命令參數;
(5)V2、V1 為兩字節的幀校驗碼,它是從開始符“@”到MT碼結束的所有字符的ASCII 碼按位異或的結果; 幀校驗和是一個轉換成2 個ASCII 字符的8 位數據。它把幀中每一個字符順序地進行異或操作而得到的結果,即把幀的第一個字符到正文結束的所有字符轉換成二進制形式的ASCII 碼后,逐個異或而得到的[4]。當發送命令時,將其加在命令格式中,作為幀的一部分發送到接收端。當接收數據時,按上述步驟重新計算FCS ,當計算結果與數據塊中所帶的FCS 相同時,說明傳輸無誤,否則,說明接收到的數據不正確。
(6)“*”和“CR”兩字符表示命令結束。
例如,@00WD00060500表示寫一個數500到節點為0的PLC的DM0006中。
2.2.2 PLC→上位機的響應格式

其中S2 、S1 為命令結束狀態碼,如00 表示正常結束,01 表示RUN 模態下PLC 無法完成上位機命令,其余符號代碼意義同上。實現上位機與HOST Link 通信單元的通信只需編寫上位機程序,因為HOST Link 通信單元自身帶有通信程序,上位機下發命令,地址相符的PLC 自動上傳響應幀,所以這一部分程序不需要客戶編寫,但是,編寫上位機的通信程序時,通信參數的設置必須保證與PLC 的通信參數一致性。
3.用VC++6.0編寫串行通信程序
首先建立一個基于對話框的MFC應用程序SCommTest,支持ActiveX控件,電話形狀的控件是在系統中注冊過的MicrosoftCommunications Control, version 6.0,接受缺省的選項。
1.打開串口設置串口參數
在主對話框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個數據位,2個停止位m_ctrlComm.SetInputModel(1); //1:表示以二進制方式檢取數據m_ctrlComm.SetRThreshold(1);
//參數1表示每當串口接收緩沖區中有多于或等于1個字符時將引發一個接收數據的OnComm事件
m_ctrlComm.SetInputLen(0); //設置當前接收區數據長度為0
m_ctrlComm.GetInput();//先預讀緩沖區以清除殘留數據
2.發送數據
為發送按鈕添加一個單擊消息BN_CLICKED處理函數,選擇IDC_BUTTON_MANUALSEND,添加OnButtonManualsend()函數,并在函數中添加如下代碼:
UpdateData(TRUE); //讀取編輯框內容
SendData(m_strTXData1,6);
// m_strTXData1表示發送速度命令的具體數值,6表示寫數
據的地址DM0006
Sleep(100);
SendData(m_strTXData2,12); //m_strTXData1表示發送時間命令的具體數值,12表示寫數據的地址DM0012
3.發送命令
按照命令格式,本課題主要發送兩個WD命令:
(1)數據采用十進制發送,向DM0006中寫入速度指令;
(2)數據采用十進制發送,向DM0012中寫入時間指令。部分程序如下:
Void CSCommTestDlg::SendData(int m_TobeSend,intm_address)
{ CByteArray Array;
unsigned char auchMsg[45]={0}
auchMsg[0]=64; // 起始標志符
auchMsg[1]=0x0; //節點號
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]=‘*‘; //命令結束符
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.計算校驗碼函數
unsigned char uchLRC = 0 ; 初始值設定
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;
四.結束語
此程序在VC++6.0中運行通過,并成功應用于振動磨的控制中。該系統采用OMRON XA40DR-A PLC與上位機連接組成控制系統,上位機通過串行口向PLC發出寫命令及數據,PLC接受數據后,通過D/A轉換模塊,將模擬量發給變頻器,從而實現了振動磨振動速度和時間的控制。
參考文獻
[1]OMRON公司.CP1H操作手冊.2005
[2]萬曼影.視窗環境下歐姆龍PLC的實時通信.微處理
機.2004(6)
[3]何華東,趙喜榮.PLC與上位計算機的串行通信程序設
計.機電工程.2002(6)
[4]OMRON公司.CPM編程手冊.2003
基金項目:國家自然科學基金資助項目(編號:50575147)
作者簡介:蘇丹(1982-),女,在讀碩士;
王樹林(1951—),男,教授,博士生導師。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产精品手机视频| 欧美一级日韩一级| 欧美精品在线免费观看| 欧美高清在线视频观看不卡| 一区免费观看视频| 国产精品网站在线播放| 一区二区三区精品久久久| 国产精品三区www17con| 国产亚洲aⅴaaaaaa毛片| 国产日韩欧美中文在线播放| 亚洲一区www| 久久亚洲国产成人| 欧美久久精品午夜青青大伊人| 欧美日韩第一页| 国产精品一区二区三区观看| 欧美二区在线播放| 欧美大片在线观看一区二区| 国产欧美日本一区二区三区| 亚洲永久免费视频| 欧美在线视频观看| 亚洲性图久久| 亚洲黄页视频免费观看| 国产精品视频999| 香蕉久久夜色精品国产使用方法| 国产在线精品一区二区中文| 亚洲影院高清在线| 欧美大尺度在线观看| 国产精品二区二区三区| 久久亚洲一区二区| 久久精品水蜜桃av综合天堂| 亚洲伊人网站| 国产精品视频免费观看| 欧美日韩精品伦理作品在线免费观看| 亚洲免费视频中文字幕| 日韩午夜免费视频| 午夜亚洲福利| 欧美日韩国产欧美日美国产精品| 国产精品99久久久久久有的能看| 亚洲在线视频一区| 久久免费少妇高潮久久精品99| 蜜桃久久av一区| 欧美视频免费| 一区二区不卡在线视频 午夜欧美不卡在| 欧美黄色日本| 欧美成人一品| 在线看欧美视频| 欧美精品久久久久久| 91久久在线| 欧美激情网站在线观看| 亚洲免费不卡| 国产精品视频不卡| 亚洲欧美日韩国产精品| 国产无一区二区| 欧美日韩在线视频一区二区| 久久九九国产| 国产一区二区三区四区五区美女| 欧美日韩国产综合在线| 91久久精品国产91久久性色tv| 亚洲精品免费观看| 久久综合伊人77777尤物| 国产精品a级| 激情六月综合| 性做久久久久久免费观看欧美| 久久一日本道色综合久久| 国产精品一区二区久久国产| 国产精品欧美久久久久无广告| 一区二区三区四区国产| 久久高清福利视频| 在线亚洲精品福利网址导航| 在线免费观看日本欧美| 亚洲欧美中文字幕| 老鸭窝91久久精品色噜噜导演| 亚洲人成在线免费观看| 中文精品在线| 免费成人性网站| 国产欧美亚洲日本| 久久女同互慰一区二区三区| 欧美巨乳波霸| 亚洲综合色婷婷| 国产色综合网| 国产亚洲精品一区二555| 免费亚洲电影| 亚洲欧美日韩综合一区| 亚洲国产精品第一区二区| 黄色欧美日韩| 欧美日韩国产三级| 亚洲视频在线观看网站| 国产精品v欧美精品v日本精品动漫| 国产一区激情| 亚洲天堂男人| 国产午夜精品全部视频播放| 最新精品在线| 欧美在线视频免费播放| 欧美1区2区视频| 国产偷国产偷精品高清尤物| 欧美激情中文字幕一区二区| 欧美日韩国产成人在线免费| 国产精品美女久久| 国产日韩精品视频一区二区三区| 久久精品亚洲一区二区| 日韩亚洲在线| 欧美jizzhd精品欧美巨大免费| 欧美性猛交xxxx免费看久久久| 男人的天堂成人在线| 一本色道婷婷久久欧美| 国产精品日韩在线一区| 一区二区三区视频在线看| 欧美精品久久久久久久| 日韩亚洲精品视频| 99国产欧美久久久精品| 亚洲欧美国产一区二区三区| 久久久久网址| 中文欧美日韩| 亚洲精品一区二区三区99| 黄色综合网站| 国产精品欧美风情| 亚洲高清精品中出| 欧美国产高潮xxxx1819| 麻豆91精品91久久久的内涵| 精品999日本| 91久久国产综合久久91精品网站| 国产伦一区二区三区色一情| 亚洲精品日产精品乱码不卡| 羞羞色国产精品| 国产精品大片免费观看| 欧美四级剧情无删版影片| 欧美破处大片在线视频| 欧美a级片网| 久久久国产午夜精品| 久久综合国产精品| 日韩视频免费在线| 亚洲国产欧美日韩另类综合| 久久国产福利国产秒拍| 亚洲国产老妈| 一区二区三区欧美在线观看| 新67194成人永久网站| 亚洲人成在线观看一区二区| 欧美在线免费观看视频| 欧美一级久久久| 国产精品久久国产愉拍| 久久婷婷成人综合色| 午夜精品在线看| 国产午夜精品一区二区三区视频| 国产精品久久久久久久久久妞妞| 欧美阿v一级看视频| 久久综合五月天婷婷伊人| 国产精品美女午夜av| 欧美日韩一区二区视频在线观看| 性欧美暴力猛交69hd| 日韩亚洲综合在线| 久久一日本道色综合久久| 欧美日韩一区二区在线播放| 国产一区二区成人久久免费影院| 欧美日韩高清在线播放| 午夜精品视频在线| 欧美一区二区女人| 久久在线免费| 一区二区三区欧美日韩| 欧美日韩在线一区| 亚洲国产日韩欧美在线图片| 久久婷婷国产综合国色天香| 国产精品久久二区| 国产农村妇女精品一区二区| 性欧美videos另类喷潮| 一本大道久久精品懂色aⅴ| 亚洲小说春色综合另类电影| 亚洲电影免费观看高清完整版在线观看| 国产亚洲欧美色| 欧美肉体xxxx裸体137大胆| 午夜一级在线看亚洲| 亚洲少妇中出一区| 欧美激情一区在线观看| 一本色道久久综合亚洲精品小说| 欧美日韩国产免费| 99视频日韩| 一区二区三区我不卡| 国产精品视频精品视频| 久久精品噜噜噜成人av农村| 欧美在线视频不卡| 欧美午夜一区二区福利视频| 欧美激情bt| 欧美三级日韩三级国产三级| 国产精品mv在线观看| 美玉足脚交一区二区三区图片| 久久精品国产第一区二区三区最新章节| 欧美伦理视频网站| 欧美激情区在线播放| 亚洲第一福利社区| 国产乱肥老妇国产一区二| 亚洲精品国产精品国自产在线| 欧美在线不卡视频| 欧美精品一区二区三区在线播放| 国产欧美一二三区| 在线亚洲欧美视频| 美女国内精品自产拍在线播放| 欧美黑人国产人伦爽爽爽| 99视频精品| 欧美成人国产一区二区| 欧美连裤袜在线视频| 伊人久久噜噜噜躁狠狠躁| 欧美天天综合网| 欧美日韩国产综合视频在线观看中文| 亚洲国产裸拍裸体视频在线观看乱了| 欧美精品不卡| 欧美日本一区二区三区| 国内精品嫩模av私拍在线观看| 亚洲视频一二三| 亚洲精品国产精品久久清纯直播| 欧美成年人在线观看| 国产欧美日韩中文字幕在线| 免费成人美女女| 国产精品久久久一区二区三区| 欧美在线视频二区| 欧美日韩中文字幕在线| 欧美成年视频| 久久国产精品高清| 国产日韩精品在线观看| 亚洲国产二区| 国产精品成人午夜| 亚洲人成毛片在线播放| 国产欧美日韩一级| 欧美精品不卡| 欧美日韩成人精品| 久久久久久久性| 欧美日韩视频在线第一区| 欧美中文在线观看| 国产农村妇女毛片精品久久麻豆| 午夜久久影院| 亚洲欧美日韩国产| 亚洲欧美日本国产专区一区| 久久精品夜色噜噜亚洲a∨| 国产精品久久久久久久久久直播| 精品成人在线观看| 欧美成人情趣视频| 国产精品嫩草久久久久| 欧美日韩久久| 亚洲二区在线观看| 久久性天堂网| 国产精品jizz在线观看美国| 亚洲精品婷婷| 久久久久综合| 久久夜色精品一区| 国产一区999| 99在线热播精品免费| 在线观看中文字幕亚洲| 久久精品亚洲乱码伦伦中文| 久久精品视频免费播放| 欧美亚洲综合另类| 亚洲国产精品久久久久婷婷884| 日韩一级不卡| 亚洲欧美在线免费观看| 国产一区二区观看| 久久免费99精品久久久久久| 开心色5月久久精品| 在线观看精品| 欧美日韩国产一区二区三区| 久久久久久免费| 国内视频精品| 亚洲精品在线视频观看| 在线观看91精品国产入口| 欧美破处大片在线视频| 新狼窝色av性久久久久久| 欧美激情va永久在线播放| 国产在线播放一区二区三区| 欧美一区在线看| 国产精品亚洲成人| 欧美三级中文字幕在线观看| 午夜精品福利在线| 欧美日韩亚洲一区二区三区| 亚洲人成在线观看| 久久婷婷激情| 欧美日韩国产综合视频在线观看中文| 亚洲精品免费在线播放| 亚洲视频图片小说| 亚洲精品一区久久久久久| 欧美xart系列高清| 久久不射2019中文字幕| 国产亚洲激情在线| 一本久久综合亚洲鲁鲁| 欧美国产专区| 亚洲午夜激情网页| 久久se精品一区精品二区| 国产精品视频999| aa级大片欧美| 一区二区免费看| 国产午夜精品全部视频在线播放| 欧美亚洲在线| 国产精品入口日韩视频大尺度| 国产精品黄页免费高清在线观看| 国产午夜亚洲精品理论片色戒| 欧美一区二区久久久| 最新成人在线| 亚洲性色视频| 很黄很黄激情成人| 亚洲黑丝在线| 亚洲桃花岛网站| 久久久久久久一区| 欧美深夜影院| 欧美黄色aaaa| 亚洲一区二区在线看| 亚洲区中文字幕| 国产亚洲一区二区三区在线播放| 国产精品推荐精品| 国产精品国产亚洲精品看不卡15| 裸体丰满少妇做受久久99精品| 中国成人在线视频| 亚洲一级在线| 国产精品99久久久久久久vr| 久久久国产成人精品| 欧美视频日韩视频| 午夜精品一区二区在线观看| 黄色日韩精品| 亚洲自拍都市欧美小说| 日韩视频免费观看| 午夜电影亚洲| 欧美三级乱人伦电影| 午夜亚洲激情| 欧美精品国产一区| 亚洲精品午夜精品| 亚洲在线视频观看| 亚洲第一福利视频| 亚洲欧美在线网| 欧美一区二区三区播放老司机| 国精品一区二区| 亚洲性视频h| 欧美日韩午夜激情| 亚洲在线播放| 一区二区三区国产|