VB下PLC與PC串口通信的實現(xiàn)解析_第1頁
VB下PLC與PC串口通信的實現(xiàn)解析_第2頁
VB下PLC與PC串口通信的實現(xiàn)解析_第3頁
VB下PLC與PC串口通信的實現(xiàn)解析_第4頁
VB下PLC與PC串口通信的實現(xiàn)解析_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、收稿日期:2005-01-10作者簡介:張傳偉(1974-,男,安徽淮南人,西安科技大學(xué)機械工程學(xué)院講師,碩士,主要從事機電系統(tǒng)智能控制和 CAD/CAM方面的科研與教學(xué)工作,(E-mailz han gcwxus .c n。文章編號:1001-2265(200512-0062-02VB下PLC與PC串口通信的實現(xiàn)張傳偉,王旳睿(西安科技大學(xué)機械工程學(xué)院,西安710054摘要:結(jié)合DVP系列可編程控制器的特點,給出了利用Visual Basic(VB中的 MSComm控件實現(xiàn)計算機與PLC的串行通信的方法,并給出了詳細的程序設(shè)計過 程。該方案簡單、實用,對由其它類型PLC和上位機組成

2、的監(jiān)控系統(tǒng)的通信實現(xiàn)有 一定的參考價值,并在電力無功補償控制系統(tǒng)中得到了成功的應(yīng)用,取得了滿意的效 果。關(guān)鍵詞:VB;串行通信;MSComm;PLC中圖分類號:TP391.8文獻標(biāo)識碼:AImpleme ntati on of Serial Communi catio n Betwee n PLC and PCZHANG Chua n -wei,WANG Yun -rui(School of Mecha ni cal Engin eeri ng,Xi c an Uni versity of Science &Tech no logy,Xi c an 710054,Chi naAbstract:

3、Accordi ng to the characteristics of DVP series Programmable Logic con trollers,a com muni cati on method betwee n the computer and PLC with VB Ian guage is in troduced,program ming and process is give n in detail.This scheme has a simple hard ware structure and is practicable,which has also a refer

4、ence value to the realization of com muni cati on betwee n computer and PLC in other supervisor syste m.It has bee napplied successfully in electrical reactive power compe nsatio n con trol system.Key words:visual basic;serial commu ni cati on ;MSComm;PLC0引言PLC是80年代發(fā)展起來的新一代工業(yè)控制裝置,由于可靠性高、適應(yīng)性好、抗 干擾能力優(yōu)

5、、接口功能強、編程簡單、直觀以及模塊化結(jié)構(gòu)、使用方便等優(yōu)點,在工業(yè)控制領(lǐng)域中得到了廣泛應(yīng)用。但是 PLC無法進行復(fù)雜的運算和顯示各種實時 控制圖表,人機交互性差、管理人員不能及時了解現(xiàn)場情況,為彌補PLC這方面的不 足,工業(yè)控制中一般與計算機組成控制系統(tǒng),PLC作為下位機使用,用來完成輸入輸出 控制、邏輯運算、數(shù)據(jù)采集及狀態(tài)判別等工作。上位機一般用工業(yè)控制計算機,用來完成數(shù)據(jù)分析、計算、信息存儲、狀態(tài)顯示、打印輸出等功能,以實現(xiàn)對被控制系統(tǒng)的實時監(jiān)控。這種監(jiān)控系統(tǒng)將計算機與 PLC結(jié)合起來,使兩者優(yōu)勢互補,且能夠 充分利用個人計算機強大的人機接口功能、豐富的應(yīng)用軟件、低廉的價格,組成高性能價格

6、比的PC-PLC監(jiān)控管理系統(tǒng)。另外,考慮目前使用專業(yè)組態(tài)軟件成本仍較 高,且控制起來不夠靈活,便利用VB下的MSComm通信控件,實現(xiàn)PLC與上位機之 間的通信,開發(fā)了基于VB的變壓器二次側(cè)低壓補償PLC監(jiān)控系統(tǒng)。1系統(tǒng)構(gòu)成變壓器二次側(cè)低壓補償PLC監(jiān)控系統(tǒng)的組成如圖1所示,在PLC監(jiān)控系統(tǒng)中, 上位機PC的主要任務(wù)是通過電力變送器(PDM獲取電力用戶的用電信息,并通過標(biāo) 準(zhǔn)RS232串行接口將現(xiàn)場數(shù)據(jù)實時傳送到上位機,完成數(shù)據(jù)處理、儲存、以及各數(shù) 據(jù)量的實時顯示等功能,并控制下位PLC按給定的控制算法實現(xiàn)動作。另外,在用戶出現(xiàn)故障時上位機可控制下位 PLC,及時報警以便盡快修 復(fù)故障;下位機

7、采用臺達DVP系列PLC,其主要任務(wù)是對用戶端的用電品質(zhì)進行控 制,使功率因數(shù)基本穩(wěn)定在用戶設(shè)定值(一般0.91以上,設(shè)備發(fā)生故障時按上位機命 令執(zhí)行,PCPCC0M1C0M1RSRS- -232232AcademicAcademic JournalJournal ElectronicElectroniccnu91少恥)pc lJ巫由翌I(lǐng)J 由*由丟也可手動緊急處理。圖i系統(tǒng)組成2串口通信控件VB是Windows環(huán)境下簡單、易學(xué)、高效的可視化編程語言開發(fā)系統(tǒng),以其所見所得的可視化界面設(shè)計風(fēng)格和面向?qū)ο蟮某绦蛟O(shè)計等特點,在實際的工程應(yīng)用中 得到了廣泛的應(yīng)用,是很多計算機軟件開發(fā)人員開發(fā)的工具。它

8、不但提供了良好的 界面開發(fā)環(huán)境,而且具有功能強大的通信控件 M icrosoft Communica -tions Control (MSCom m,提供了很強的串口通信能力。VB中的MSComm控件的實用性強、功能完善,是實現(xiàn)計算機與外部設(shè)備數(shù)據(jù) 交換的強有力工具。該控件可設(shè)置用來發(fā)送和接收二進制數(shù)據(jù)或ASCII碼數(shù)據(jù),可對串口狀態(tài)及串口通信的信息格式進行設(shè)置,實現(xiàn)對下位機地址和數(shù)據(jù)的接收和發(fā) 送,達到多機通信的目的。MSComm控件的編程非常方便,程序員不必花時間去了解 復(fù)雜的API函數(shù),而且在VC、VB、Delphi等語言中均可使用。62#控制與檢測#RS-232RS-48RS-232R

9、S-48PDMPDM組合機床與自動化加工技術(shù)MSComm控件提供了兩種處理通信的方式:一是事件驅(qū)動通信,它是處理串行端 口交互作用的一種非常有效的方法。在許多情況下,在事件發(fā)生時需要得到通知,因而可以利用MSComm控件的On Comm事件捕獲并處理這些通信事件,0n-Comm事 件還可以檢查和處理通訊錯誤。編程時,在On Comm事件處理函數(shù)中加入自己的處 理代碼就可以了。這種方法的優(yōu)點是程序響應(yīng)及時、可靠性高。缺點是每個 MSComm控件對應(yīng)著一個串行端口,如果應(yīng)用程序需要訪問多個串行端口 ,必須使用 多個MSComm控件;另一種是查詢方式,其實質(zhì)上還是事件驅(qū)動,在程序的每個關(guān)鍵 功能之后

10、,可以通過檢查CommEvent屬性的值來查詢事件和錯誤,做出相應(yīng)的處 理。如果應(yīng)用程序較小,并且是自保持的,這種方法就更可取。MSComm控件同時支 持二進制格式和文本格式數(shù)據(jù)的接收和發(fā)送。使用時須注意以下兩點:(1l nput和Output屬性接收和發(fā)送的字符串類型是 Var-i ant,因此在讀取和寫入緩沖區(qū)的數(shù)據(jù) 要轉(zhuǎn)換設(shè)置為Variant。在接收時InputMode屬性決定著接收的數(shù)據(jù)類型,InputMode 設(shè)為ComInputmodeText,就可利用Inpu t屬性返回文本數(shù)據(jù),如果Input-Mode設(shè)為 ComI nputModeBi nary,就可利用In put屬性返回

11、二進制數(shù)據(jù);(2在VB程序編寫時 RThreshold和InputLen屬性設(shè)置的值最好與PLC發(fā)送的值相等,否則極易引起數(shù)據(jù) 傳輸混亂。MSComm控件有很多重要的重要屬性,其中最主要的有1CommPort屬性:設(shè)置并 返回通訊端口號,格式為 MSComm.Comm-Port=PortNumber,設(shè)計時 PortNumber可 以設(shè)置成從1到16的任何數(shù),但是如果用PortOpen屬性打開一個并不存在的端口時 就會產(chǎn)生錯誤;etti ngs屬性:以字符串的形式設(shè)置并返回波特率、奇偶校驗、數(shù)據(jù) 位、停止位,格式為 MSComm.Settings= ParaString,ParaString是

12、個包含四部分的 字符串,如/9600,N, 8,10;?PortOpen屬性:設(shè)置并返回通訊端口的狀態(tài),也可以打開和 關(guān)閉端口,格式為MSComm.PortOpen=True/False;?Input屬性:從接收緩沖區(qū)返回和 刪除字符,該屬性在設(shè)計時無效,運行時為只讀,格式為MSComm.Input;?Output屬性: 向傳輸緩沖區(qū)寫一個字符串,該屬性在設(shè)計時無效,運行時為只讀,格式為 MSComm.Ou tput=OutData,OutData為要發(fā)送的數(shù)據(jù),可以是文本數(shù)據(jù)或二進制數(shù) 據(jù)。3PC與DVP系列PLC的通信上位計算機數(shù)據(jù)傳輸程序設(shè)計在 PLC與上位計算機通訊過程中,雖然PLC可

13、以 具有優(yōu)先權(quán)啟動通訊,但一般不使用這一方法,而采用上位機具有優(yōu)先權(quán),向PLC發(fā) 送命令啟動通訊,PLC自動返回響應(yīng)的通訊方式。計算機在與 PLC通訊時,首先必 須對通訊端口進行初始化處理,其初始化參數(shù)必須與PLC的通訊參數(shù)相同。計算機 與PLC之間采用主從應(yīng)答方式,計算機始終具有初始傳送優(yōu)先權(quán),根據(jù)需要向PLC 發(fā)出讀寫命令;下位機處于被動狀態(tài)響應(yīng)上位機的命令。上位機讀數(shù)據(jù)時通過通信 口向PLC發(fā)出讀數(shù)據(jù)命令,PLC響應(yīng)命令并將數(shù)據(jù)傳回上位機,上位機通過讀通信口 即可取得所需數(shù)據(jù);寫數(shù)據(jù)時,上位機通過通信口向PLC發(fā)出寫命令及數(shù)據(jù),PLC即 可接收。當(dāng)PLC沒能正確響應(yīng)時,PLC返回沒能正確

14、響應(yīng)標(biāo)志。此外 PLC通信模塊 還有其它命令代碼,上位機發(fā)出不同的命令,PLC便能做出相應(yīng)的響應(yīng)。通過PC的COM2與DVP系列PLC的RS-232端口通信來實現(xiàn)控制的具體實 施過程:(1通信協(xié)議設(shè)定:DVP系列PLC的通信協(xié)議為MODBUS ASCII模式,其通訊格 式:波特率9600bps、偶同位(Even parity、1個起始位、數(shù)據(jù)長度為7、1個停止 位。(2通訊資料格式PC與PLC之間按照表1所示的通訊格式進行通訊,表2是PLC的命令碼,表3 是PLC每一種設(shè)備的地址。要實現(xiàn)何種功能就必須按照通訊格式使用規(guī)定的命令 碼和設(shè)備地址,這樣才能正確接受和發(fā)送數(shù)據(jù)。表1DVP-PLC通訊資

15、料格式格式說明編程說明STX起始字節(jié)/:03AHADR1ADROCMD1CMDODA TA(ODA TA(1J J J JDA TA(n-1LRC CHK1LRC CHKOEND1ENDOPLC地址:1個BytePLC通訊地址出廠設(shè)定值為OxO1命令碼:1個Byte命令碼及意義如下表數(shù)據(jù)內(nèi)容:132Bytes接收或發(fā)送的P LC裝置地址和數(shù)據(jù)內(nèi)容校驗碼:1個ByteLR C 檢查:由 AD D1 至U D A TA(n-1的內(nèi)容相加取2的補碼結(jié)束字節(jié):2個BytesEND仁CR,ENDO=LF0D H、OAH表2DVP-PLC命令碼命令碼功能適用范圍01讀線圈的狀態(tài)S,Y,M,T,C02讀輸入

16、線圈的狀態(tài)S,X,Y,M,T,C03讀取多筆寄存器內(nèi)容T,C,D05強制單線圈S,Y,M,T,C06復(fù)位單個寄存器T,C,D15強制多線圈S,Y,M,T,C16復(fù)位多個寄存器T,C,D表3DVP-PL C地址范圍設(shè)備范圍地址S01023000003FFX0377040004FFY0377050005FFT0255060006FFM0127908000CFFC02550E000EFF表中,X-輸入繼電器,丫-輸出繼電器,M-輔助繼電器,S J犬態(tài)元 件,T-定時器,C-計數(shù)器,D-數(shù)據(jù)寄存器。(3通信初始化MSComm1.CommPort=2c設(shè)定 C OM2 為 PC 與 PLC 的通信端口M

17、SComml.Setti ngs=d9600,E,7,1dMSComml.l nputMode=Coml nput ModeT ext c 返回文本數(shù)據(jù)MSComm1.l nBuferSize=1024MSComm1.PortOpen=True c打開 COM1 通信端口(4計算LRC校驗(下轉(zhuǎn)第66頁 63 2005年第12期#控制與檢測#tor仿真器和Timing Analyzer分析工具進行功能仿真和時序仿真,可驗證各個電 路模塊的功能是否正確。如果有錯誤則返回原設(shè)計予以改正。并重新編譯、仿真,直到?jīng)]有其他錯誤。最后生成可用于下載的 pof或sofAcademicAcademic Jou

18、rnalJournal ElectronicElectronic麗而&編譯仿真驗證T配覽J J_ _一 1 1 I I文件圖3 CPLD設(shè)計流程圖圖4就是用MAX+PLU5 對通過CPLD來實現(xiàn)的手脈信號的四倍頻鑒向電路 波形仿真結(jié)果。其中A、B為經(jīng)差分接收及光隔整形后的手脈信號,0A、OBAcademAcadem icic JoumaJouma 1 1 ElectronElectron icic為鑒向倍頻后的輸出信號。圖4四倍頻及鑒向電路仿真波形3系統(tǒng)的開放性及其抗干擾設(shè)計上面所介紹的基于PC的高速雕銑機的開放式數(shù)控系統(tǒng),由于采用了 /位置控制 卡+PC 0的形式,結(jié)構(gòu)簡單,可靠,易擴展。在

19、設(shè)計中,不管是系統(tǒng)整體設(shè)計還是像位置 控制卡的CPLD部分的局部設(shè)計,都注重模塊化的設(shè)計理念,將各部分功能模塊化,并 進行相應(yīng)的硬件或邏輯設(shè)計。系統(tǒng)各模塊間基本上都是通過標(biāo)準(zhǔn)接口來實現(xiàn)互連通 信,因此,各部分可根據(jù)實際需要選用組合,也可單獨應(yīng)用到其他的數(shù)控系統(tǒng),使得系統(tǒng) 的靈活性和可擴展性大大提高。如基于 CPLD的位置控制卡,以插針插槽的形式,連 入PC104總線,直接與上位機進行通信,從而可移植到與PC104兼容的不同PC機上; 操作面板模塊則通過標(biāo)準(zhǔn)串口與上位機通信。從一定程度來說,該系統(tǒng)較好的實現(xiàn)了開放化要求。數(shù)控機床是機械、電子,強電、弱電,硬件和軟件緊密結(jié)合的自動化產(chǎn)物,在其運 行

20、過程中,伴隨著電磁能量的轉(zhuǎn)換,一方面它對周圍環(huán)境產(chǎn)生影響,另一方面其本身受 到來自所處環(huán)境各方的電磁干擾,直接影響著數(shù)控系統(tǒng)的可靠運行。因此,在進行系 統(tǒng)設(shè)計時,抗干擾問題是不容忽視的。通過分析,可知干擾源主要來自三個方面:空間 電磁場干擾、電網(wǎng)干擾和系統(tǒng)內(nèi)部干擾,解決干擾問題要從系統(tǒng)的硬件和軟件兩個 方面考慮。軟件的方法有軟件濾波,軟件看門狗,軟件冗余,故障自檢等措施。硬件方面針對干擾源,采取了不同的措施,如:(1對于編碼器脈沖輸入信號,采用差分輸入,并通過高速光耦進行隔離,再經(jīng)整形 電路整形;(2對于開關(guān)量輸入,可先用光耦隔離,抑制共模干擾,并用電容來抑制常模干擾。(3合理設(shè)計印刷電路板。

21、4結(jié)束語數(shù)控系統(tǒng)的開放化是順應(yīng)現(xiàn)代制造業(yè)發(fā)展要求,滿足數(shù)控系統(tǒng)制造商、機床生 產(chǎn)商及用戶對數(shù)控系統(tǒng)靈活性,可重組可擴展性等要求的必然趨勢,因此,要在綜合考 慮機床應(yīng)用要求,控制軸數(shù),開發(fā)周期等等各方面因素的情況下,充分考慮開放性,以模塊化為指導(dǎo)思想,合理設(shè)計整個數(shù)控系統(tǒng)。參考文獻1畢承恩,丁乃建現(xiàn)代數(shù)控機床M.北京:機械工業(yè)出版社,19911 2宋萬杰,羅豐,吳順君.CPLD技術(shù)及其應(yīng)用M .西安:西安電子科技大學(xué)出版社,200113張明亮,解旭輝,李圣怡.開放性數(shù)控技術(shù)的發(fā)展J.機電工程,1999(4:65-6814朱同興.國內(nèi)外數(shù)控技術(shù)發(fā)展動向J.兵工自動化,2001,20(3:10-1215李葉松,董瑋.基于CPLD的開放式四軸運動控制器的設(shè)計J.電子技術(shù)應(yīng)用,2002(5:35-371(編輯 江復(fù)(上接第63頁Fun ction Check LRC(ByVal Check data As Stri ngDim D $(,result lrc $,D,Index,i As Integer c 定義變量 DoD $(I ndex=Left(C

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論