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

最新廣告
關注中國自動化產業發展的先行者!
工業智能邊緣計算2025年會
CAIAC 2025
2025工業安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

基于Visual C++6.0的PLC與計算機之間通信的設計
  • 企業:控制網     領域:PLC /PAC/PCC/RTU    
  • 點擊數:3858     發布時間:2008-03-03 23:12:15
  • 分享到:



    王  蕓(1982-)
女,湖北人 ,助教,碩士研究生,(安徽師范大學物電學院,安徽  蕪湖  241000),研究方向為計算機應用。

基金項目:安徽省教育廳2006年自然科學基金(NO.2006kj077B)

摘要:研究了在Visual C++6.0環境下利用MSComm控件實現系列PLC與上位計算機通信的問題,并給出了基于Visual C++6.0的通信程序設計方法。該通信程序能讀寫PLC內部各種軟設備。實踐證明,在Visual C++6.0下實現系列PLC與計算機通信簡單使用,具有很強的推廣應用價值。

關鍵詞:PLC;Visual C++6.0;MSComm控件;通信

Abstract: In this paper, the issue of implementing communication between  PLC and computer is studied base on Visual C++6.0 developing environment. A method for designing communication program by Visual C++6.0 is given. The communication program can read or write various kinds of soft devices inside  PLC. The practice proved that the communication between  PLC and computer under Visual C++6.0 is simple and applicable. It is worth to be promoted.

Key words: PLC;Visual C++6.0;MSComm control box;Communication

1 引言

    可編程控制器PLC(Programmable Logic Controller),由于其安全可靠、功能齊全、應用靈活、操作維修容易和穩定可靠等特點而得到廣泛應用。但它也存在一些缺點,如不能給用戶提供良好的人機控制和管理界面。隨著工廠自動化程序要求的不斷提高,生產過程中,要監視、控制PLC內部的數據與運行狀況。對于中小型控制系統,如采用廠家提供的通信模塊則成本高、投資較大、靈活性差。因此用戶自己開發計算機與PLC的通信模塊程序不僅可以滿足不同情況下數據傳輸速率與穩定性的要求而且對節約外資、靈活應用具有重要意義。本文以三菱PLC為例,介紹一種通過Visual C++編程實現計算機作為上位機與PLC的通信,該通信程序能讀寫PLC內部各種軟設備。

2 通信原理

    系統采用RS-232C總線實現,直接與計算機的Host-Link單元構成1:1點對點通信系統。設定計算機即上位機具有高的優先級,通信以“幀”為單位進行,計算機首先向PLC發出命令幀,發送查詢數據的指令,目的是查詢PLC中端子的狀態和DM區的值等。PLC接收了指令后,進行校驗,檢查數據是否正確,如果正確,則向上位機發送響應幀,傳送數據(包含首尾校驗字節)。否則,PLC拒絕向上位機傳送數據。上位機接收到PLC傳送的數據,也要判斷正確與否,如果正確,則接收;否則,拒絕接收。

    要使計算機與PLC聯接單元之間正確交換數據,必須確保以下條件成立:(1)上下位機之間波特率以及數據格式一致;(2)在通信程序中,只使用協議規定的命令級中的命令;(3)當上位機向PLC發送數據或讀取數據均由上位機主動以命令幀形式發出;(4)對上位機發來的命令幀,PLC用響應幀應答,若命令較長時,可分為若干幀發送。只要能順利實現命令幀和響應幀的應答,就能使要交換的數據順利達到對方。對于PLC發回的響應幀用戶必須按其格式進行拆裝識別,才能正確分離出交換數據及有用狀態信息。

3 MSComm控件特點

    利用VC的MSComm控件,實際上是一些Windows API函數的有機集成,它以屬性和事件的形式提供了對Windows通訊驅動程序API函數接口,為應用程序提供了通過串行接口收發數據的簡便方法。因此,程序員只需在程序中設置和監視MSComm控件的屬性和事件即可完成對串口的編程。

    MSComm控件提供了一種有效的處理串口交互作用的方法:事件驅動法,該方法利用OnComm事件捕獲并處理通信及其錯誤,當CommEvent屬性發生變化時,就產生事件并等待相應處理。每個MSComm控件都有一個串口相對應。

    MSComm控件基本屬性如下:

    CommPort:設置并返回通信端口號。Windows系統將會利用該端口與外界通信。

    Setings:設置并返回初始化參數。其組成格式為“BBBB.P.D.S”。BBBB為數據速率,P為奇偶校驗,D為數據位數,S為停止位數。

    PortOpen:設置并返回通信端口的狀態。也可以打開和關閉端口。

    OutPut:向傳輸緩沖區寫IB的數據。

    InPut:將傳送到輸入緩沖區的字符讀到程序里。

    RThreshold:設置在產生OnComm之前要接受的字符數。

    InputLen:設置并返回Input屬性從接收緩沖區讀取的字符數。

    InBuffersize:設置或返回輸入緩沖區的大小。

    InBufferCount:返回輸入緩沖區內等待讀取的字節個數;可通過設置該屬性值為0來清除接收緩沖區。

    InputMode:設置或返回傳輸數據的類型。

    CommEvent:傳回OnComm事件發生時的數值碼。

4 通信程序設計

    在應用程序中,主要采用MSComm控件與PLC進行通信,加載窗體時初始化通信參數,讀數據時由上位機通過串行口向PLC發出讀數據命令幀,PLC發出響應幀并將數據準備好,這時上位機讀串行口就可讀取需要的數據;寫數據時上位機通過串行口向PLC發出寫數據命令幀,PLC接受命令,并發送響應幀。

    (1)在進行通信之前首先要對PLC端進行編程初始化,初始化程序如下:

LD M8002
MOV K0  D8121
MOV H4881  D8120

    M8002為特殊功能寄存器,只在PLC轉為運行時接通一次。D8121設定PLC站號寄存器,在這里設定PLC的站號為0號。通信控制寄存器D8120中移入16進制數4881,對照參數表,PLC端的設定為通信速率9600b/s,無校驗,8位數據位,1位停止位。采用RS232接口,數據幀中不添加校驗位。上位機端要與之相匹配。

    (2)裝載窗體時初始化并打開串口

m_Com.SetCommPort(1);   //選擇COM1
m_Com.SetInBufferSize(1024);  //設置輸入緩沖區大小
m_Com.SetOutBufferSize(512);  //設置輸出緩沖區大小
if(!m_Com.GetPortOpen())        //打開串口
m_Com.SetPortOpen(TRUE);    //打開通信端口,準備通信
 m_Com.Settings(9600,n,8,1);    //通信速率9600b/s,無校驗,8位數據位,1位停止位
m_Com.SetRThreashold();
m_Com.SetInputLen(1);
m_Com.SetInputMode(0);
(3)發送主程序(串口讀寫)
由GetInput()和SetOutput()函數完成串口讀寫。相應的部分程序為:
Void CMainFramme::OnCommSend()
{
 //準備要發送的數據存放在數組SXData[]中
         CByteArray Send;
         Send.RemoveAll();
         Send.SetSize(m);
         For(i=0;i<m;i++)
         Array.SetAt(i;SxData[i]);
         m_Com.SetOutput(ColeVariant(Send));
}
Void CMainFramme::OnCommMscomm()
{
         VARIANT vResponse;
         int  k;
         k=m_Com.GetInBuffetCount();  //接收到的字符數目
         if(k>0)
         {vResponse=m_Com.GetInput();    //read
         }

    在實際應用中,從站被動的接收上位機發出的指令后做出的響應,然后將信息傳回上位機,由于上位機在整個通信的過程中不能被中斷,因此上位機在接收與發送數據過程中采用了不可中斷的方法。

5 結束語

    本系統根據計算機和PLC的特點,通過利用PLC的自由口通信協議,利用VC++6.0開發工具,開發出PC與PLC通信的應用軟件,實踐證明這種方法結構簡單,開發周期短,節約投資,對小規模的控制系統有極大的現實意義。

作者信息:

    王  蕓,高菲菲  (安徽師范大學物電學院,安徽  蕪湖  241000)

參考文獻

    [1] 徐世許.可編程序控制器原理·應用·網絡[M].合肥:中國科學技術大學出版社,2005:244-247.

    [2] MITSUBISHI公司. MITSUBISHI FX-232AW接口單元通信手冊[M].上海:三菱公司,2000:25-33.

    [3] 陳興,張禮全,史旺旺.用VC++實現PC與多PLC之間串行通信的方法[J].微計算機信息,2004(20):6-7.

熱點新聞

推薦產品

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



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 在线亚洲激情,免费看电影网站,奇米影音先锋,99免费视频观看,国产成人aa视频在线观看,久久久蜜桃 欧美人成在线视频-欧美人成一本免费观看视频-欧美人xxxxxbbbb-欧美区在线-在线不卡免费视频-在线播放周妍希国产精品 | 国产一区二区高清-国产一区二区福利久久-国产一区二区成人-国产一区二区不卡视频-亚洲高清网站-亚洲高清视频在线观看 | 亚洲人成电影青青在线播放-亚洲人成www在线播放-亚洲人成a在线网站-亚洲人av高清无码-久操久-久操-9c.lu | 欧美黑寡妇香蕉视频-欧美国产一区视频在线观看-欧美国产一区二区三区-欧美国产一区二区-国产成人精品第一区二区-国产成人精品2021欧美日韩 | 欧洲免费极品videos-欧洲美女高清一级毛片-欧洲精品欧美精品-欧洲精品不卡1卡2卡三卡四卡-中午字幕在线观看-中文字日产幕码三区的做法大全 | 国内自拍中文字幕,久久久一本精品99久久精品66,精品400部自拍视频在线播放,国产麻豆精品在线,日韩欧美高清视频,久久久免费精品视频 | 亚洲女同在线观看-亚洲女同在线-亚洲女同视频-亚洲女同精品中文字幕-美国激情ap毛片-美国黄色一级毛片 | 久 在线播放-九月婷婷人人澡人人添人人爽-九月婷婷人人澡人人爽人人爱-九月丁香婷婷亚洲综合色-天天干天天射天天-天天干天天色综合网 | 激情 亚洲,欧美日韩一区二区在线观看视频,欧美亚洲第一页,国内精品福利在线视频,国产黄色小视频网站,日本欧美成人 | 波多野结衣的av一区二区三区-波多野结衣的电影-波多野结衣的中文-波多野结衣第二页视频-波多野结衣电影网-波多野结衣电影一区二区 | 日本乱中文字幕系列-日本伦理黄色大片在线观看网站-日本伦理片网站-日本伦理网站-韩国三级视频网站-韩国三级视频在线观看 | 性情网站-性派对交换俱乐部-性派对xxxhd-性派对videos18狂欢-国产中学生-国产中文字幕在线视频 | 玖玖射,国内高清久久久久久久久,久久婷婷丁香,91精品自在拍精选久久,不卡一区二区三区四区,奇迹少女第四季中文版免费全集 | kedou.xxx-lutube成人福利在线观看-luxu259在线中文字幕-m3u8久久国产精品影院-meisa hanai-mimiai最新网址 | 国产亚洲精品a在线观看app-国产亚洲精品A久久777777-国产亚洲精品AV片在线观看播放-国产亚洲精品AV麻豆狂野-亚洲 欧美 国产在线视频-亚洲 欧美 国产 综合五月天 日韩精品免费观看,亚洲精品国产综合一线久久,99精品国产高清一区二区三区香蕉,亚洲图区欧美,日韩电影免费在线观看中文字幕,999国产精品999久久久久久 | 毛片毛片毛片-毛片毛片免费看-毛片美国-毛片美国基地-毛片免费观看-毛片免费观看久久精品 | 精品欧美小视频在线观看-精品欧美18videosex欧美-精品免费在线视频-精品免费视在线视频观看-亚洲视频区-亚洲视频欧美在线专区 | 伦理片天堂eeuss影院-伦理片秋霞免费影院-伦理片飘花手机在线-伦理片飘花免费影院-最新2017年韩国伦理片在线-最新 国产 精品 精品 视频 | 国产偷抇久久精品A片蜜臀A-国产偷抇久久精品A片蜜臀AV-国产偷抇久久精品A片图片-国产偷窥熟妇高潮呻吟-国产凸凹视频熟女A片-国产玩弄放荡人妇系列 | 国产午夜视频在线,国产夜夜操,人人添人人澡人人澡人人人爽,欧美日韩国产综合视频在线看,精品久久一区二区,亚洲欧美一区二区三区久久 | aaak7美国发布站-a v 在线视频 亚洲免费-99综合色-99在线这精品视频-国产成人综合洲欧美在线-国产成人综合在线观看网站 | 欧美日韩亚洲无线码在线观看,国产成人亚洲综合91精品555,欧美成人国产,国产成人青青热久免费精品,亚洲欧美日韩色图,国产三级网站在线观看 | 精品国产无码一区二区-精品国产无套在线观看-精品国产无限资源免费观看-精品国产午夜福利在线观看-精品国产午夜久久久久九九-精品国产午夜肉伦伦影院 | 波多野结衣中文字幕教师-波多野结衣中文字幕2022免费-波多野结衣中文在线观看-波多野结衣中文在线播放-波多野结衣中文一区-波多野结衣中文丝袜字幕 | 亚洲另类电击调教在线观看-亚洲理论片在线中文字幕-亚洲看黄-亚洲卡一卡2卡三卡4麻豆-韩国xxxxx视频在线-韩国mmwutv福利视频 | 91九色精品国产免费-91九色蝌蚪在线-91九色李宗瑞在线观看-91九色露脸-91九色视频-91九色视频在线观看 | 免费一区在线-免费一区视频-免费一区区三区四区-免费一区二区视频-97dyy影院理论片-97caoporn | 亚洲精品高清国产一久久,免费观看国产,国产欧美日韩精品在钱,国产在线观看入口,国产日产欧美精品一区二区三区,国产一级在线观看 7788理论片在线观看-7788av-777午夜精品免费播放-777奇米影视一区二区三区-蜜桃传媒在线-蜜桃成熟时1997在线看免费看 | 亚洲国产欧美精品-亚洲国产欧美国产综合一区-亚洲国产欧美国产第一区-亚洲国产模特在线播放-好吊色青青青国产在线播放-好吊色青青草 | 国产首页-国产手机精品自拍视频-国产视频综合-国产视频自拍一区-香蕉网在线播放-香蕉网在线 | 亚洲综合在线视频-亚洲综合在线观看视频-亚洲综合视频网-亚洲综合色秘密影院秘密影院-日本三区四区免费高清不卡 | 丝袜国产一区,美女网站一区二区三区,国产精品免费观看视频,国产乱了真实在线观看,视频一区久久,国产成人成人一区二区 | 精品国产91乱码一区二区三区,成人国产一区二区三区精品,亚洲一区免费在线观看,日韩在线一区二区三区免费视频,波多野吉衣在线观看,日韩一级精品久久久久 | 久久夜视频-久久夜色视频-久久夜色精品国产欧美-久久夜色精品国产噜噜小说-久久夜色精品国产-久久亚洲这里只有精品18 | 国产日韩精品欧美一区-国产日韩高清一区二区三区-国产日韩不卡免费精品视频-国产日产欧美精品一区二区三区-午夜国产精品免费观看-午夜国产精品理论片久久影院 | 在线亚洲不卡,三上悠亚一区二区观看,91伊人久久,婷婷激情五月,中文字幕久久精品,色综合久久中文字幕 | 亚洲第一视频网,久久91精品国产99久久yfo,国产精品一区二区三区免费,成人欧美一区二区三区黑人,在线观看国产精品入口,亚洲人一区 | 久久久精品国产sm最大网站-久久久精品国产免大香伊-久久久精品国产免费A片胖妇女-久久久精品久久久久久96-久久久精品久久久久久久久久久-久久久精品久久日韩一区综合 | 色网在线免费观看-色网在线观看-色网在线播放-色网在线-黄色片网址大全-黄色片网站在线观看 | 人妻不敢呻吟被中出A片视频-人妻超级精品碰碰在线97视频-人妻换人妻AA视频-人妻寂寞按摩中文字幕-人妻精品国产一区二区-人妻久久久精品99系列A片毛 | 国产又黄又爽又猛的免费视频播放-国产又黄又爽视频免费观看-国产又黄又湿又刺激不卡网站-国产又黄又a又潮娇喘视频-亚洲国产美女福利直播秀一区二区-亚洲国产乱码在线精品 |