版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
------------------------------------------------------------------------基于VB的臺達(dá)PLC與監(jiān)控計(jì)算機(jī)的串行通信實(shí)現(xiàn)
----中達(dá)電通上海機(jī)電PLC產(chǎn)品處王乃全
ImplementationofSerialCommunicationBetweenMonitoringComputerandDeltaPLCBasedonVisualBasic
WangNaiquan摘要:PLC直接與現(xiàn)場控制層的檢測儀器儀表設(shè)備連接,是底層控制網(wǎng)絡(luò)的組成部分,是工廠自動化系統(tǒng)的基石,因此實(shí)現(xiàn)與監(jiān)控層計(jì)算機(jī)的通信對系統(tǒng)的優(yōu)化運(yùn)行有重要意義。文章基于VB討論臺達(dá)DVPPLC與監(jiān)控計(jì)算機(jī)的通信問題。關(guān)鍵詞:VB通信協(xié)議可編程控制器Abstract:ThePLCisacomposingpartofInfranet,itlinkstothemeasuringinstrumentanddeviceinfieldcontrollayerdirectly,andisthefootstoneoffactoryautomationsystem.ThereforeitisveryimportanttorealizethecommunicationbetweenPLCandmonitoringlayercomputerforoptimizationofsysterunning.ThepaperdiscussedtherelatedcommunicationproblemsbetweenDeltaDVPPLCandmonitoringcomputerbasedonVisualBasic.
KeyWords:VisualBasicCommunicationprotocalProgramablelogiccontroller[中圖分類號]TP273[文獻(xiàn)標(biāo)識碼]B文章編號1引言
現(xiàn)場設(shè)備層中的設(shè)備種類繁多,有傳感器、啟動器、驅(qū)動器、I/O部件、變送器、閥門等等,當(dāng)然也包括現(xiàn)場檢測儀器儀表設(shè)備。PLC是現(xiàn)場設(shè)備控制層不可缺少的部分,已經(jīng)非常普及,如何簡便地實(shí)現(xiàn)與PLC的交互已經(jīng)成為眾多廠商新的競爭戰(zhàn)場。由此產(chǎn)生了人機(jī)界面等軟件產(chǎn)品,這些產(chǎn)品的出現(xiàn)簡化了對PLC的控制、操作,使PLC的應(yīng)用更加方便;但也有其共同的缺點(diǎn),價格普遍偏高和可二開發(fā)性較差。VB作為“原始”的編程語言在這兩方面無疑有著明顯優(yōu)勢的,本文結(jié)合一個簡單的案例,用比較基礎(chǔ)的概念討論如何通過VB實(shí)現(xiàn)PC與PLC之間的通信問題,這對剛涉步控制領(lǐng)域的工程師或許是有幫助的。在現(xiàn)場設(shè)備層中各式各樣的設(shè)備都可以和計(jì)算機(jī)聯(lián)機(jī),而最簡單的自動化聯(lián)機(jī)方式就是使用串行通信,VB提供了串行通信控件可以讓開發(fā)者開發(fā)出串行通信的系統(tǒng)程序,以下是對相關(guān)問題的粗略討論。2串行通信基本概念
數(shù)據(jù)通訊中有兩種類型的通信形式,即并行通信(ParallelCommunication)和串行通信(SerialCommunication)。例如,如果有8位數(shù)據(jù)需要傳送,那么并行通信一次就可以完成8位的傳輸量;而串行一次只能傳送1位。圖1表示了兩種不同的通信模式,常用的串行通信也有兩種,分別為RS-232和RS-485。
2.1RS-232串行通信
RS-232的信號準(zhǔn)位是參考地線而言的,如圖2所示。相對于參考接地端1傳輸端傳送數(shù)據(jù);接收端則相對于參考接地端2復(fù)現(xiàn)出傳送端的傳送的數(shù)據(jù)。
圖2RS-232串行通信示意圖由圖2可知,由于兩個接地端準(zhǔn)位不一定一樣,而且很容易受到干擾,所以信號在RS-232線路傳輸時,很容易產(chǎn)生錯誤。2.2RS-485串行通信
RS-485的信號傳輸方式如圖3所示。
RS-485的信號被傳送出去時會分成正負(fù)兩條線路,當(dāng)?shù)竭_(dá)接收端后,在將信號相減還原成原來的信號;如果將原始的信號表示成(DT),而被分成的信號分別標(biāo)示成(D+)及(D-),則DT=(D+)-(D-)。同理,接收端在接收到信號后,也依據(jù)上式還原成原來的樣子。如果線路受到干擾,兩條線路的信號分別為(D+)+Noise與(D-)+Noise。接收端還原信號為(DT)=[(D+)+Noise]-[(D-)+Noise],與先前結(jié)果一樣,所以RS-485可以有效的防止噪聲的干擾。3VB的基本概念
VB(VisualBasic)是微軟的窗口軟件,提供了很多接口成員,對象、屬性、事件、方法就是4個重要的接口,VB提供了許多常用的控件。
3.1卷標(biāo)控件
卷標(biāo)控件如圖4(a)所示,該控件專用于顯示文字、數(shù)字用,顯示如圖4(b)所示
3.2按鈕控件
按鈕控件如圖5(a)所示,該控件使用率很高,提供一個供系統(tǒng)用戶操作用的按鈕,如圖5(b)所示。
3.3定時器控件
定時器控件如圖6所示,該控件的最大作用在固定的時間內(nèi)可執(zhí)行所設(shè)置的程序代碼一次。
VB提供了大量的控件,在此不再多述。4基于MScomm控件的串行通信
要完成VB與PLC等設(shè)備的串行通信要用到MScomm控件,在此有必要對該控件作較詳細(xì)的說明。Mscomm是一個非標(biāo)準(zhǔn)控件,需要要手動添加許多項(xiàng)目,其步驟如下。
1)選擇菜單的【工程】
2)選擇【部件】
3)在彈出的對話框中做如圖7的選擇。
圖7對話框界面
4)如圖8所示,在部件選項(xiàng)卡就會出現(xiàn)MScomm控件。
圖8MScomm控件5)基本屬性
4.1MODBUSASCII
Modbus分為ASCII和RTU兩種,ASCII采用的格式和校驗(yàn)相對簡單,本文采用ASCII格式,并僅對使用的功能碼進(jìn)行說明,更多的信息,請參看協(xié)議的詳細(xì)說明。
1)通信格式
LRC算法:ADRH+CMDH+DATAH,然后取2的補(bǔ)碼。
2)功能碼
05,寫入線圈
01,讀線圈狀態(tài)
06,寫入單個字寄存器
4.2VB與PLC通信的實(shí)現(xiàn)
以下舉例說明現(xiàn)場設(shè)備與PLC通信的實(shí)現(xiàn)。
1)控制要求:控制PLC的起動、停止,并顯示運(yùn)行狀態(tài)(綠色為運(yùn)行,紅色為停止);能夠用交替型按鈕控制Y0,Y1,并用指示燈顯示Y0,Y1狀態(tài)(綠色為運(yùn)行,紅色為停止);能夠?qū)256,D512兩個寄存器進(jìn)行數(shù)值寫入的操作。
2)實(shí)現(xiàn)思路:PLC起動停止的標(biāo)志位為M1072,查DVP協(xié)議,知道地址為H0C30,按功能碼01操作;同樣Y0,Y1的地址分別為H0500,H0501。寫入FF00為ON,0000為OFF,按功能碼05操作;D256,D512地址分別為H1100,H1200,按功能碼06操作即可。
3)VB接口的設(shè)計(jì)如圖10所示。
圖10監(jiān)控程序界面用按鈕控制PLC的起動停止,Y0、Y1的ON/OFF及D256、D512寫完數(shù)據(jù)的發(fā)送;用Shape組件做指示燈,表示PLC的運(yùn)行狀態(tài)和Y的狀態(tài);用timer組件不停的讀取M1072的狀態(tài),以判斷PLC的運(yùn)行情況;用MScomm控件實(shí)現(xiàn)PC與PLC的通信。
4)編程實(shí)現(xiàn)的代碼構(gòu)成
(1)LRC算法校驗(yàn)的實(shí)現(xiàn)
PublicFunctionLRC(strAsString)AsString
c=0
l=Len(str)
Forc=c+1Tol
c_data=Mid$(str,c,2)
d_lrc=d_lrc+Val("&H"+c_data)
c=c+1
Nextc
Ifd_lrc>&HFFThen
d_lrc=d_lrcMod&H100
EndIf
h_lrc=Hex(&HFF-d_lrc+1)
IfLen(h_lrc)>2Then
h_lrc=Mid(h_lrc,Len(h_lrc)-1,2)
EndIf
LRC=h_lrc
EndFunction
(2)運(yùn)行的開始就判斷PLC的狀態(tài)并設(shè)置標(biāo)志位
'初次運(yùn)行打開串口,并顯示PLC運(yùn)行狀態(tài)
PrivateSubForm_Load()
Dims1AsString
Dims2AsString
Dims22AsString
Dims3AsString
Dims4AsString
MSComm1.PortOpen=True
s2="01010C300001"
s22=LRC(s2)
s1=":"+s2+s22+Chr$(13)+Chr$(10)
MSComm1.Output=s1
s3=MSComm1.Input
s4=Mid$(s,6,8)
Ifs4="0C30FF00"Then
plc=1'PLC為運(yùn)行標(biāo)志
Else
plc=0'PLC為停止標(biāo)志
EndIf
EndSub
(3)下面一段為用指示燈表示PLC的運(yùn)行狀態(tài)
PrivateSubTimer5_Timer()
Dims1AsString
Dims2AsString
Dims22
Dims3AsString
Dims4AsString
s2="01010C300001"
s22=LRC(s2)
s1=":"+s2+s22+Chr$(13)+Chr$(10)
MSComm1.Output=s1
s3=MSComm1.Input
s4=Mid$(s3,8,2)
Ifs4="31"Then
plc=1'PLC為運(yùn)行標(biāo)志
Else:Ifs4="30"Thenplc=0'PLC為停止標(biāo)志
EndIf
Ifplc=1Then
Label2.Caption="PLC正在運(yùn)行......"
Shape1.FillColor=RGB(0,255,0)'green
Else
Label2.Caption="PLC已經(jīng)停止"
Shape1.FillColor=RGB(255,0,0)'red
EndIf
EndSub
(4)PLC的起動與停止
'起動PLC
PrivateSubstart_Click()
DimstroutAsString
Timer5.Enabled=False
str="00050C30FF00"'M1072為PLC起動停止標(biāo)志位。查地址表,M1072為OC30.FF00為置
ON,0000為置OFF。
'以上都是固定格式,要牢記。
LRCC=LRC(str)'計(jì)算str的lrc校驗(yàn)碼。
strout=":"+str+LRCC+Chr$(13)+Chr$(10)'欲傳送之?dāng)?shù)據(jù)。13為D,10為A
MSComm1.Output=strout
Timer5.Enabled=True
EndSub
'停止PLC
PrivateSubstop_Click()
DimstroutAsString
Timer5.Enabled=False
str="00050C300000"
LRCC=LRC(str)
strout=":"+str+LRCC+Chr$(13)+Chr$(10)
MSComm1.Output=strout
Timer5.Enabled=True
EndSub
Y0、Y1的ON/OFF與PLC起動/停止的控制方式相同,指示燈的表示方式也相同。D256,D512數(shù)據(jù)寫入的操作類似
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化工廠保衛(wèi)培訓(xùn)課件內(nèi)容
- 2025~2026學(xué)年濟(jì)南市天橋區(qū)七年級第一學(xué)期地理期末考試試題以及答案
- 2025-2026學(xué)年河北省五個一名校聯(lián)盟高三(上)期末數(shù)學(xué)試卷(含答案)
- 鋼結(jié)構(gòu)涂裝技術(shù)方法詳解
- 特異體質(zhì)學(xué)生管理制度
- 2026山東事業(yè)單位統(tǒng)考威海市榮成市招聘初級綜合類崗位84人備考考試試題及答案解析
- 市場營銷管理制度
- 2026浙江杭州??荡鎯萍加邢薰菊衅缚荚噮⒖荚囶}及答案解析
- 2026云南中鋁數(shù)為(成都)科技有限責(zé)任公司社會招聘8人參考考試題庫及答案解析
- 小區(qū)私人財(cái)產(chǎn)管理制度內(nèi)容(3篇)
- 2026廣東廣州市海珠區(qū)住房和建設(shè)局招聘雇員7人筆試參考題庫及答案解析
- 云南師大附中2026屆高三1月高考適應(yīng)性月考卷英語(六)含答案
- 海南2025年中國熱帶農(nóng)業(yè)科學(xué)院橡膠研究所第一批招聘16人(第1號)筆試歷年參考題庫附帶答案詳解
- 【讀后續(xù)寫】2021年11月稽陽聯(lián)考讀后續(xù)寫講評:Saving the Daisies 名師課件-陳星可
- 農(nóng)貿(mào)市場突發(fā)事件應(yīng)急預(yù)案
- 項(xiàng)目論證制度
- 股東合作協(xié)議模板
- Y -S-T 732-2023 一般工業(yè)用鋁及鋁合金擠壓型材截面圖冊 (正式版)
- GB/T 43829-2024農(nóng)村糞污集中處理設(shè)施建設(shè)與管理規(guī)范
- 萬科物業(yè)服務(wù)指南房屋和設(shè)施維修管理
- 高一英語完型填空10篇實(shí)戰(zhàn)訓(xùn)練及答案
評論
0/150
提交評論