基于調(diào)制解調(diào)器與vb的plc遠(yuǎn)程通訊系統(tǒng)設(shè)計(jì)
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)控站的編程軟件可以直接用高級(jí)語言。
2系統(tǒng)概述
本文以一個(gè)實(shí)際的小水電站的瀉水閘門程控工程為例,著重?cái)⑹鲇篮阷lc和pc做遠(yuǎn)程通訊的實(shí)現(xiàn)細(xì)節(jié)。系統(tǒng)的下位機(jī)控制采用永宏公司的fbs系列plc對(duì)水庫瀉水閘門進(jìn)行開度檢測(cè)和開度控制,監(jiān)控站的界面編程采用vb6.0編寫。
硬件配置:遠(yuǎn)端fbs-cb25+ fbs-10mau+ecom外置modem+pws1711
本地pc(含普通內(nèi)置modem)
該系統(tǒng)主要控制要求,通過fbs-10ma外接一個(gè)旋轉(zhuǎn)編碼器檢測(cè)閘門所在位置,然后跟據(jù)現(xiàn)場(chǎng)人機(jī)界面或者pc端(下游5km處)的設(shè)定位置來控制牽引閘門的馬達(dá)正反轉(zhuǎn),從而使閘門上升或下降到指定的位置。fbs-cb25所擴(kuò)展得到的通訊口2(rs485)用于pws1711的通訊,通訊口1(rs232)用于連接modem,另外,主機(jī)上的可usb口用于連接調(diào)試用的筆記本電腦。
圖1系統(tǒng)組成
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)器沒有和其它設(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)器的特定指令集被稱為“at指令集”,通過該指令集,從 基本的音量控制到內(nèi)建參數(shù)設(shè)置的改變,都可以由vb經(jīng)過串行端口而對(duì)調(diào)制解調(diào)器下達(dá)控制指令。at命令集是調(diào)制解調(diào)器通訊接口的工業(yè)標(biāo)準(zhǔn)。所有的at命令都以字符at開始,作為前綴。前綴at用以引起調(diào)制解調(diào)器的注意(attention)檢測(cè)計(jì)算機(jī)串行通訊口發(fā)送信號(hào)的速率,識(shí)別字符格式,包括字符長度和奇偶設(shè)定等。
調(diào)制解調(diào)器撥號(hào)之后,等待對(duì)方調(diào)制解調(diào)器送來的載波信號(hào)。如果在一給定時(shí)間內(nè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ī)模式,開始存取plc數(shù)據(jù)。主站控制調(diào)制解調(diào)器撥號(hào)連接細(xì)節(jié)見下節(jié),這里詳述plc端對(duì)調(diào)制解調(diào)器的設(shè)置方法。
plc端plc上電后必須初始化調(diào)制解調(diào)器,設(shè)置成自動(dòng)應(yīng)答來電狀態(tài)。在這里把plc初始化調(diào)制解調(diào)器的at指令組合稱為“modem驅(qū)動(dòng)程序”。永宏plc通過port1來控制調(diào)制解調(diào)器,并把這種軟件界面稱為調(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)程序〞來管理port1的通訊,但必須通過調(diào)制解調(diào)器來聯(lián)機(jī),在通訊進(jìn)行前,por t1主控權(quán)是交由〝modem驅(qū)動(dòng)程序〞管理,此時(shí)無法對(duì)plc作任何存取動(dòng)作。“modem驅(qū)動(dòng)程序”即將調(diào)制解調(diào)器設(shè)為接收模式,并等待遠(yuǎn)方調(diào)制解調(diào)器撥號(hào)進(jìn)來,一旦收發(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ī)了。
圖2 本地調(diào)制解調(diào)器設(shè)置
調(diào)制解調(diào)器設(shè)置如圖2所示,在plc聯(lián)機(jī)狀態(tài)下,選取菜單中的“plc”→“設(shè)定”→“port1設(shè)定”來到圖2,選擇單選框的第二項(xiàng)“透過modem作遠(yuǎn)程cpu_bbbb”,該plc一上電就通過自帶的“modem驅(qū)動(dòng)程序”把port1設(shè)置為調(diào)制解調(diào)器專用界面。另外,通訊格式設(shè)置為同調(diào)制解調(diào)器相同的n,8,1,為提高通訊效率可以把通訊速率設(shè)置為38400bps,或者更高( 高為115200bps)。