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

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

案例頻道

基于Visual C++6.0的PLC與計算機之間通信的設計
  • 企業:控制網     領域:PLC /PAC/PCC/RTU    
  • 點擊數:3851     發布時間: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.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 日本xxxxx18护士xxx-日本xxxxwwww-日本xxxx1819黑人-日本xxxbbb0oo-国产精品免费看久久久-国产精品免费久久久免费 | 激情 亚洲,欧美日韩一区二区在线观看视频,欧美亚洲第一页,国内精品福利在线视频,国产黄色小视频网站,日本欧美成人 | 国产成人综合在线观看网站-国产成人综合在线-国产成人综合亚洲亚洲欧美-国产成人综合亚洲动漫在线-国产成人综合亚洲-国产成人综合网在线观看 | 自拍偷拍另类-自拍偷拍国内-自拍偷拍国产-自拍偷拍第6页-自拍偷拍第4页-自拍偷拍第3页 | 日韩精品在线视频观看-日韩精品在线播放-日韩精品影视-日韩精品一区在线观看-日韩精品一区二区亚洲AV观看-日韩精品一区二区三区在线观看l | 激情区小说区偷拍区图片区-激情偷乱人成视频在线观看-激情文学另类小说亚洲图片-激情销魂乳妇奶水小说-香蕉九九-香蕉成人啪国产精品视频综合网 | 欧美成人国产一区二区-欧美成人黄色-欧美成人黄色片-欧美成人家庭影院-欧美成人精精品一区二区三区-欧美成人精品a8198v无码 | 7788理论片在线观看-7788av-777午夜精品免费播放-777奇米影视一区二区三区-蜜桃传媒在线-蜜桃成熟时1997在线看免费看 | 天天干天天操天天碰-天天干天天操天天摸-天天干天天操天天干-天天干天天操天天插-欧美一级久久久久久久久大-欧美一区二区VA毛片视频 | 精品在线视频播放-精品在线免费播放-精品在线观看一区-精品在线观看国产-亚洲 男人 天堂-亚州视频一区二区 | 中文字幕第一页亚洲-中文字幕第一页国产-中文字幕第38页永久乱码-中文字幕不卡在线观看-久久久久青草大香线综合精品-久久久久青草 | 国产精品视频你懂的-国产精品视频网-国产精品视频一区二区猎奇-国产精品视频一区二区三区-国产精品视频一区二区三区不-国产精品视频一区二区三区不卡 | 麻豆蜜桃色精品电影网在线高清-麻豆蜜臀国产精品无码视频电影无删减在线观看-麻豆免费版-麻豆免费观看高清完整视频-麻豆免费看-麻豆免费网站 | 国产三级在线观看视小说-国产三级在线观看视频不卡-国产三级在线观看视频-国产三级在线观看免费-西瓜视频网页版-西瓜视频全部免费观看大全 | 日皮影院,一区二区三区高清不卡,国产日韩欧美中文字幕,日韩亚洲欧美一区二区三区,国产三级91,国产精品hd免费观看 | 久久99热不卡精品免费观看,色播综合,国产一级视频在线观看网站,激情综合激情,aa视频在线观看,五月天综合激情网 | 日本xxxxx18护士xxx-日本xxxxwwww-日本xxxx1819黑人-日本xxxbbb0oo-国产精品免费看久久久-国产精品免费久久久免费 | 国产婷婷视频-国产婷婷丁香久久综合-国产天天在线-国产天天操-小草在线免费观看视频-小草在线观看视频免费2019 | 久久久无码精品亚洲日韩按摩,天天摸夜夜摸夜夜狠狠摸,久久99精品久久久久久牛牛影视,妻色成人网,色丁香六月,aa黄色片 | 热血影院-热热99-热久在线-热久久最新网址-成人毛片一区二区三区-成人毛片视频免费网站观看 | 久久道-久久大香伊蕉在人线国产昨爱-久久大香香蕉国产免费网站-久久大-天天做天天爽天天谢-天天做天天射 | 国产精品视频视频久久-国产精品视频全国免费观看-国产精品视频区-国产精品视频免费视频-四虎国产精品永免费-四虎国产精品永久在线播放 | 国产一级免费-国产一级毛片网站-国产一级毛片潘金莲的奶头-国产一级毛片大陆-日本中文字幕免费-日本中文字幕高清 | 国内自拍中文字幕,久久久一本精品99久久精品66,精品400部自拍视频在线播放,国产麻豆精品在线,日韩欧美高清视频,久久久免费精品视频 | 91噜噜噜在线观看-91露脸对白-91麻豆福利-91麻豆高清国产在线播放-91麻豆国产-91麻豆国产福利精品 | 午夜欧美福利-午夜欧美成人香蕉剧场-午夜欧美成人久久久久久-午夜久久网-国产亚洲男人的天堂在线观看-国产亚洲免费观看 | 北条麻妃在线观看,国产播放器一区,日本丶国产丶欧美色综合,亚洲一区二区三区高清,九九九国产,亚洲欧美久久精品一区 | 91噜噜噜在线观看-91露脸对白-91麻豆福利-91麻豆高清国产在线播放-91麻豆国产-91麻豆国产福利精品 | 国产一区二区高清,久久亚洲私人国产精品va,日韩精品观看,国产高清美女一级毛片久久,国产区亚洲区,日本久久香蕉一本一道 | 国产精品麻豆入口,二区在线观看,国产精品乱码在线观看,久99频这里只精品23热 视频,人成xxxwww免费视频,久久精品a一国产成人免费网站 | 久久久精品视频免费观看,非会员体验60秒试看福利区,免费福利在线观看,国内免费视频成人精品,久久久中文字幕日本,婷婷激情五月 | 五月天视频网站,国产成人精品日本亚洲语言,999福利视频,精品123区,国产中文视频,美女视频一区二区三区在线 | 国产福利在线视频尤物tv-国产福利在线看-国产福利在线高清导航大全-国产福利在线-国产福利影视-国产福利一区二区麻豆 | 欧美日韩一日韩一线不卡-欧美日韩一区在线观看-欧美日韩一区视频-欧美日韩一区二区综合在线视频-在线免费观看中文字幕-在线免费观看日本视频 | 亚洲 日韩 色 图网站-亚洲 图片 另类 综合 小说-亚洲 无码 欧美 经典-亚洲 校园 春色 另类 图片-亚洲 校园 欧美 国产 另类-亚洲 在线 成 人色色 | 欧美成人免费xxx大片,91在线视频一区,精品日韩一区二区三区,欧美日韩 在线播放,欧美在线aa,亚洲专区路线一路线二天美 | 四虎影视免费在线观看-四虎影视免费在线-四虎影视免费看-四虎影视免费观看免费观看-激情影院在线-激情影院费观看 | 黑人巨大精品欧美-黑人巨大精品欧美一区二区-黑人巨大精品欧美一区二区o-黑人巨大精品欧美一区二区免费-黑人巨大跨种族video-黑人巨大两根一起挤进A片 | 亚洲另类电击调教在线观看-亚洲理论片在线中文字幕-亚洲看黄-亚洲卡一卡2卡三卡4麻豆-韩国xxxxx视频在线-韩国mmwutv福利视频 | 五月天视频网站,国产成人精品日本亚洲语言,999福利视频,精品123区,国产中文视频,美女视频一区二区三区在线 | 欧美中出,国产欧美又粗又猛又爽老,日本啊v,欧美日韩欧美,国产va在线观看,国产一区二区三区在线视频 |