直播推薦
企業(yè)動(dòng)態(tài)
- 會(huì)后報(bào)道 | 世界級(jí)制造WCM與工業(yè)4.0創(chuàng)新大會(huì)暨頒獎(jiǎng)盛典新聞動(dòng)態(tài)
- 東莞皓天交付隔爆試驗(yàn)箱,助力廣東電子科技企業(yè)品質(zhì)升級(jí)
- SNEC 2025大秦?cái)?shù)能兩類(lèi)新品連發(fā),以“智慧儲(chǔ)能”助推能源轉(zhuǎn)型
- 藍(lán)芯科技即將亮相泰國(guó)NEPCON Thailand 2025
- 漢達(dá)森攜手瑞典AQ邀您共聚CPHI China 2025
- 歐姆龍亮相SNEC 2025:助推新能源產(chǎn)業(yè)加速升級(jí),為零碳未來(lái)蓄能
- 東莞市皓天試驗(yàn)設(shè)備有限公司召開(kāi)線上技術(shù)會(huì)議 凝聚智慧共促技術(shù)升級(jí)
- 天津市投資促進(jìn)局、天津市建設(shè)銀行一行到訪國(guó)聯(lián)股份肥多多
推薦展會(huì)
關(guān)鍵詞:遠(yuǎn)程通訊 調(diào)制解調(diào)器 PLC VB6.0
Abstract::This paper takes a typical remote communication project as an example,introduces the realization of the softwarehardware in the remote communication system based on ephone line in detail,
Key words: Remote communication Modem PLC VB6.0
1引言
隨著計(jì)算機(jī)和通訊技術(shù)的發(fā)展,在工業(yè)測(cè)量和控制中廣泛需要遠(yuǎn)程通訊。遠(yuǎn)端PLC等下位機(jī)做生產(chǎn)控制,本地計(jì)算機(jī)需要實(shí)時(shí)監(jiān)測(cè)或參與控制生產(chǎn)現(xiàn)場(chǎng)的參數(shù)。實(shí)現(xiàn)以上要求的一個(gè)簡(jiǎn)便的途徑是利用覆蓋面廣泛的公用網(wǎng),使PLC等下位機(jī)利用調(diào)制解調(diào)器(MODEM)和計(jì)算機(jī)的調(diào)制解調(diào)器連接通訊,即可完成硬件上的連接。如圖1所示。在軟件方面,由遠(yuǎn)端下位機(jī)軟件控制和遠(yuǎn)程監(jiān)控站軟件兩部分組成??紤]到本地監(jiān)控站軟件只做數(shù)據(jù)監(jiān)測(cè)或少許控制且編程相對(duì)簡(jiǎn)單,所以本地監(jiān)控站的編程軟件可以直接用語(yǔ)言。
2系統(tǒng)概述
本文以一個(gè)實(shí)際的小水電站的瀉水閘門(mén)程控工程為例,著重?cái)⑹鲇篮關(guān)LC和PC做遠(yuǎn)程通訊的實(shí)現(xiàn)細(xì)節(jié)。系統(tǒng)的下位機(jī)控制采用永宏公司的FBs系列PLC對(duì)水庫(kù)瀉水閘門(mén)進(jìn)行開(kāi)度檢測(cè)和開(kāi)度控制,監(jiān)控站的界面編程采用VB6.0編寫(xiě)。
硬件配置:遠(yuǎn)端FBs-CB25+ FBs-10MAU+ECOM外置MODEM+PWS1711
本地PC(含普通內(nèi)置MODEM)
該系統(tǒng)主要控制要求,通過(guò)FBs-10MA外接一個(gè)旋轉(zhuǎn)編碼器檢測(cè)閘門(mén)所在位置,然后跟據(jù)現(xiàn)場(chǎng)人機(jī)界面或者PC端(下游5Km處)的設(shè)定位置來(lái)控制牽引閘門(mén)的馬達(dá)正反轉(zhuǎn),從而使閘門(mén)上升或下降到的位置。FBs-CB25所擴(kuò)展得到的通訊口2(RS485)用于PWS1711的通訊,通訊口1(RS232)用于連接MODEM,另外,主機(jī)上的可USB口用于連接調(diào)試用的筆記本電腦。
[img]20064261632445809.jpg[/img]
[center]圖1系統(tǒng)組成[/center]
3調(diào)制解調(diào)器工作方式和設(shè)定
3.1 調(diào)制解調(diào)器工作原理
調(diào)制解調(diào)器分成兩種模式,命令模式和聯(lián)機(jī)模式。當(dāng)調(diào)制解調(diào)器沒(méi)有和其它設(shè)備連接時(shí),其處于命令模式,這時(shí)下達(dá)給調(diào)制解調(diào)器的指令時(shí)作調(diào)制解調(diào)器本身設(shè)定或者動(dòng)作用的。當(dāng)調(diào)制解調(diào)器已經(jīng)和其它的設(shè)備連接上時(shí),此時(shí)調(diào)制解調(diào)就是處于聯(lián)機(jī)模式,所有在此時(shí)由計(jì)算機(jī)送到調(diào)制解調(diào)器的訊息都將由經(jīng)線傳送到其它設(shè)備上。
用于控制調(diào)制解調(diào)器的特定指令集被稱(chēng)為“AT指令集”,通過(guò)該指令集,從zui基本的音量控制到內(nèi)建參數(shù)設(shè)置的改變,都可以由VB經(jīng)過(guò)串行端口而對(duì)調(diào)制解調(diào)器下達(dá)控制指令。AT命令集是調(diào)制解調(diào)器通訊接口的工業(yè)標(biāo)準(zhǔn)。所有的AT命令都以字符AT開(kāi)始,作為前綴。前綴AT用以引起調(diào)制解調(diào)器的注意Attention檢測(cè)計(jì)算機(jī)串行通訊口發(fā)送信號(hào)的速率,識(shí)別字符格式,包括字符長(zhǎng)度和奇偶設(shè)定等。
調(diào)制解調(diào)器撥號(hào)之后,等待對(duì)方調(diào)制解調(diào)器送來(lái)的載波信號(hào)。如果在一給定時(shí)間內(nèi)沒(méi)有檢測(cè)到載波, 調(diào)制解調(diào)器自動(dòng)釋放線路并送回結(jié)果碼NOCARRIER,如果檢測(cè)到載波信號(hào), 調(diào)制解調(diào)器即送結(jié)果碼CONNECT + 波特率,就進(jìn)入聯(lián)機(jī)狀態(tài),即可與遠(yuǎn)方系統(tǒng)進(jìn)行通訊。
3.2 PLC連接調(diào)制解調(diào)器原理及其設(shè)置
在該系統(tǒng)中, PC做為主站,必須控制調(diào)制解調(diào)器主動(dòng)撥號(hào),另外,在確認(rèn)調(diào)制解調(diào)器和PLC的調(diào)制解調(diào)器聯(lián)機(jī)成功后控制它進(jìn)入聯(lián)機(jī)模式,開(kāi)始存取PLC數(shù)據(jù)。主站控制調(diào)制解調(diào)器撥號(hào)連接細(xì)節(jié)見(jiàn)下節(jié),這里詳述PLC端對(duì)調(diào)制解調(diào)器的設(shè)置方法。
PLC端PLC上電后必須初始化調(diào)制解調(diào)器,設(shè)置成自動(dòng)應(yīng)答來(lái)電狀態(tài)。在這里把PLC初始化調(diào)制解調(diào)器的AT指令組合稱(chēng)為“MODEM驅(qū)動(dòng)程序”。永宏P(guān)LC通過(guò)Port1來(lái)控制調(diào)制解調(diào)器,并把這種軟件界面稱(chēng)為調(diào)制解調(diào)器界面。如圖2設(shè)定或者設(shè)定特殊暫存器R4149的高八位為55H就可以把Port1設(shè)置為調(diào)制解調(diào)器界面,在該界面下PLC會(huì)啟用“MODEM驅(qū)動(dòng)程序”,此時(shí),雖CPU仍然使用永宏〝標(biāo)準(zhǔn)通訊驅(qū)動(dòng)程序〞來(lái)管理Port1的通訊,但必須通過(guò)調(diào)制解調(diào)器來(lái)聯(lián)機(jī),在通訊進(jìn)行前,Por t1主控權(quán)是交由〝MODEM驅(qū)動(dòng)程序〞管理,此時(shí)無(wú)法對(duì)PLC作任何存取動(dòng)作。“MODEM驅(qū)動(dòng)程序”即將調(diào)制解調(diào)器設(shè)為接收模式,并等待遠(yuǎn)方調(diào)制解調(diào)器撥號(hào)進(jìn)來(lái),一旦收發(fā)雙方調(diào)制解調(diào)器聯(lián)機(jī)成功,則PLC立即脫離接收模式,而進(jìn)入聯(lián)機(jī)狀態(tài),Port1控制權(quán)交由永宏〝標(biāo)準(zhǔn)通訊驅(qū)動(dòng)程序〞管理。此時(shí)遠(yuǎn)方調(diào)制解調(diào)器便可任意存取或控制此PLC主機(jī)了。
[img]20064261641881055.jpg[/img]
[center]圖2 本地調(diào)制解調(diào)器設(shè)置[/center]
調(diào)制解調(diào)器設(shè)置如圖2所示,在PLC聯(lián)機(jī)狀態(tài)下,選取菜單中的“PLC”→“設(shè)定”→“Port1設(shè)定”來(lái)到圖2,選擇單選框的第二項(xiàng)“透過(guò)MODEM作遠(yuǎn)程CPU_Link”,該P(yáng)LC一上電就通過(guò)自帶的“MODEM驅(qū)動(dòng)程序”把Port1設(shè)置為調(diào)制解調(diào)器界面。另外,通訊格式設(shè)置為同調(diào)制解調(diào)器相同的N,8,1,為提高通訊效率可以把通訊速率設(shè)置為38400bps,或者更高(zui高為115200bps)。
4 PC端程序設(shè)計(jì)
4.1 撥號(hào)程序設(shè)計(jì)
PC端將以VB6.0所帶的通信控件MSCOMM進(jìn)行通信軟件的開(kāi)發(fā),利用該控件控制串口實(shí)現(xiàn)對(duì)MODEM的控制。控制步驟如下:
一.通信參數(shù)設(shè)置
設(shè)置串口端口號(hào),波特率,數(shù)據(jù)位,停止位,奇偶校驗(yàn)位及設(shè)置硬件握手協(xié)議,然后向MODEM發(fā)出DTR已準(zhǔn)備好信號(hào)一便接管MODEM,程序如下:
If MSComm1.PortOpen Then
MSComm1.DTREnable = True
Else
MSComm1.DTREnable = False
End If
二.對(duì)MODEM初始化
發(fā)出一些命令來(lái)設(shè)置參數(shù),其中S0=nn>=1自動(dòng)應(yīng)答.n為響鈴次數(shù);E0/E1關(guān)閉/打開(kāi)命令字符回應(yīng);Q0/Q1設(shè)置MODEM返回/不返回結(jié)果碼;M0/M1關(guān)閉/打開(kāi)MODEM揚(yáng)聲器;Lnn>=0設(shè)置MODEM揚(yáng)聲器音量;P/T設(shè)置MODEM脈沖/音頻撥號(hào);程序如下:
If MSComm1.PortOpen Then
Do While Not MSComm1.CTSHolding: Loop
TXD= "ATS0=1E1Q0M1L2T" + Chr13
MSComm1.Output = TXD
End If
三.進(jìn)行撥號(hào)
向MODEM發(fā)出ATD命令,程序如下:
MSComm1.Output="ATD" & ""+Chr13
當(dāng)發(fā)送“ATD”+ + Chr13時(shí),MODEM就開(kāi)始撥號(hào),撥號(hào)需要一定的時(shí)間,在撥號(hào)的過(guò)程中可以不斷讀取MODEM的CD指示燈的狀態(tài),當(dāng)撥通后CD指示燈會(huì)點(diǎn)亮。并返回“CONNECT + 波特率”的信息。如果MODEM向PC的回應(yīng)字符串中含有"Connect"或CDHolding屬性值變?yōu)門(mén)rue檢測(cè)出載波,則表示已與遠(yuǎn)方MODEM連機(jī)了,此時(shí)可以傳輸數(shù)據(jù)。
當(dāng)撥通后,MODEM不再接收AT指令,要使其回到命令狀態(tài),則必須發(fā)送“+++”信息,使MODEM回到命令狀態(tài),然后發(fā)送“ATH”+ Chr13則可以掛斷,程序如下:
MSComm1.Output="ATH" +Chr13
4.2 通訊程序設(shè)計(jì)
一.永宏P(guān)LC通訊協(xié)議
永宏P(guān)LC 通訊訊息格式可概分為6個(gè)數(shù)據(jù)域位, 如下圖3所示,具體解釋如下:
[img]20064261662894777.jpg[/img]
[center]圖 3 永宏P(guān)LC通訊協(xié)議訊息格式[/center]
⑴.開(kāi)頭字符(STX):ASCI I碼之開(kāi)始字符STX。
⑵.從站號(hào)碼:為兩位數(shù)之16進(jìn)制數(shù)值。
⑶.命令號(hào)碼:為兩位數(shù)之16 進(jìn)制數(shù)值,為由主系統(tǒng)要求從系統(tǒng)所執(zhí)行之動(dòng)作類(lèi)別。
⑷.本文資料:本文數(shù)據(jù)可為0(無(wú)本文數(shù)據(jù))~500個(gè)ASCII字符。
⑸.偵誤值CHECKSUM: 偵誤值系將前述~將各ASCII字符之16進(jìn)制數(shù)碼值(8位長(zhǎng)度)從頭至尾依序相加,但不考慮進(jìn)位,因此zui終結(jié)果為偵誤值。
⑹.結(jié)尾字符(ETX):ASCI I碼之結(jié)尾字符ETX之16進(jìn)制數(shù)碼為03H。。
二.讀數(shù)寫(xiě)數(shù)
本系統(tǒng)操作PLC的關(guān)鍵數(shù)據(jù)主要是水位的設(shè)定值PV=R0和當(dāng)前值CV=R1,即要對(duì)暫存器R0進(jìn)行寫(xiě)操作,R1進(jìn)行讀操作;
依照協(xié)議VB設(shè)計(jì)的通訊程序必須一個(gè)命令碼,向PLC請(qǐng)求數(shù)據(jù)讀取,查的該命令碼為“46”,解釋為:連續(xù)多個(gè)緩存器之?dāng)?shù)據(jù)讀取。讀取R1的PC命令的ASCII碼寫(xiě)法為:
“STX+ 01(站號(hào))+46(命令碼)+01(連續(xù)數(shù)據(jù)個(gè)數(shù))+R00001(數(shù)據(jù)開(kāi)始地址)+LRC(偵誤值)+ETX”
依照協(xié)議VB設(shè)計(jì)的通訊程序必須一個(gè)命令碼,對(duì)PLC緩存器數(shù)據(jù)寫(xiě)入,查的該命令碼為“47”,解釋為:連續(xù)多個(gè)緩存器之?dāng)?shù)據(jù)寫(xiě)入。寫(xiě)入R0的PC命令的ASCII碼寫(xiě)法為:
“STX+ 01(站號(hào))+47(命令碼)+01(連續(xù)數(shù)據(jù)個(gè)數(shù))+R00000(數(shù)據(jù)開(kāi)始地址)+XXXX(寫(xiě)入的數(shù)據(jù)資料,16進(jìn)制)+LRC(偵誤值)+ETX”
讀取當(dāng)前值CV=R1,程序如下
Private Sub Timer1_Timer
MSComm1.Output= Chr2+ “014601R00001”+ Lrc“014601R00001”+Chr3
Delay 10 ''延時(shí)
CV = Val"&H" + MidMSComm1.Input, 7, 4 ''數(shù)據(jù)處理,R0放于CV
CV.Text = CV
End Sub
寫(xiě)入設(shè)定值PV=R0,程序如下
Private Sub Command1_Click
If LenHexPV.Text = 4 Then PV = HexPV.Text
If LenHexPV.Text = 3 Then PV = "0" + HexPV.Text
If LenHexPV.Text = 2 Then PV = "00" + HexPV.Text
If LenHexPV.Text = 1 Then PV = "000" + HexPV.Text ''10進(jìn)制轉(zhuǎn)換16進(jìn)制
MSComm1.Output=Chr2+ “014701R00000”+ PV + +Lrc“014701R00000” & PV+Chr3
End Sub
三.偵誤值CHECKSUM計(jì)算
為VB的編程方便,把該計(jì)算做成單*個(gè)子程序,依所有數(shù)據(jù)累加,舍棄進(jìn)位的規(guī)則VB的LRC編程如下:
Private Function LrcDats As String
Dim i
Dim Sum
Sum =2
For i = 1 To LenDats
Sum = Sum + AscMidDats, i, 1
Next i
Lrc = Right"0" + HexSum + 2, 2
End Function
5結(jié)束語(yǔ)
采用基于MODEM通訊的設(shè)計(jì)極方便地實(shí)現(xiàn)該小電站生廠調(diào)度,在這種只需短時(shí)間連接控制的系統(tǒng)應(yīng)用上可以大幅度地減小通訊成本,具有一定的推廣價(jià)值。另外,通過(guò)MODEM的連接,利用永宏編程軟件可以實(shí)現(xiàn)該設(shè)備的遠(yuǎn)程程序調(diào)試修改,通過(guò)兩個(gè)MODEM還可以實(shí)現(xiàn)兩臺(tái)遠(yuǎn)程PLC的CPU連接通訊等。
參考文獻(xiàn)
1. 中文Visuail Basic 6.0程序設(shè)計(jì)教程.北京:冶金工業(yè)出版社,2000
2. FBs-PLC使用手冊(cè)Ⅱ【應(yīng)用篇】.永宏電機(jī)股份有限公司,2004
3. 永宏P(guān)LC通訊協(xié)議.永宏電機(jī)股份有限公司,2004
4. 龍維AT指令集.深圳市龍維電子科技有限公司,2003
作者簡(jiǎn)介
李清流(1978-) 男 從事自動(dòng)化系統(tǒng)和應(yīng)用工作。
類(lèi)別:現(xiàn)場(chǎng)總線與網(wǎng)絡(luò)技術(shù)
免責(zé)聲明
- 凡本網(wǎng)注明"來(lái)源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請(qǐng)必須注明智能制造網(wǎng),http://www.caslcampaign.com。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
- 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
- 本網(wǎng)轉(zhuǎn)載并注明自其它來(lái)源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品來(lái)源,并自負(fù)版權(quán)等法律責(zé)任。
- 如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
2025中國(guó)鄭州衡器與計(jì)量技術(shù)設(shè)備展覽會(huì)
展會(huì)城市:鄭州市展會(huì)時(shí)間:2025-11-07