• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于VB實(shí)現(xiàn)PLC與上位機(jī)之間的通信

      2014-12-16 08:30:12康微微鞠振河
      關(guān)鍵詞:實(shí)驗(yàn)臺(tái)信號(hào)燈圖標(biāo)

      康微微,鞠振河

      (遼寧太陽能研究應(yīng)用有限公司產(chǎn)品中心,遼寧沈陽110136)

      自由化市場經(jīng)濟(jì)快速發(fā)展,促使工業(yè)化產(chǎn)品不斷更新?lián)Q代。計(jì)算機(jī)問世至今,其技術(shù)領(lǐng)域發(fā)展突飛猛進(jìn),以現(xiàn)有的計(jì)算機(jī)軟件技術(shù)結(jié)合可編程邏輯控制器(PLC)來實(shí)現(xiàn)通訊功能,這不僅可以互補(bǔ)兩者之間的不足,更能提高系統(tǒng)功能性。采用配有西門子S7-200可編程控制器的THSMS-C型實(shí)驗(yàn)臺(tái)作為研究對(duì)象,利用VB6.0軟件編程來提供簡單易操作的指令操作界面,對(duì)采集到的大量數(shù)據(jù)進(jìn)行存儲(chǔ)處理,從而實(shí)現(xiàn)PLC與PC上位機(jī)之間的串行通信任務(wù)。最后模擬實(shí)驗(yàn),將PC機(jī)與PLC之間的通信進(jìn)行調(diào)試。

      1 建立計(jì)算機(jī)與S7-200的硬件連接

      本設(shè)計(jì)首先要解決的就是上位機(jī)與S7-200可編程控制器之間的連接,然而它們之間是不能直接相連的,要通過一條PC/PPI電纜才能實(shí)現(xiàn)計(jì)算機(jī)與西門子S7-200可編程控制器之間的連接,如圖1所示。

      圖1 PC機(jī)與PLC的連接方式

      當(dāng)數(shù)據(jù)從RS-232C傳到RS-485端口時(shí),PPI電纜是發(fā)送模式。當(dāng)數(shù)據(jù)從RS-485端口傳送到RS-232C口時(shí),電纜是接收模式。

      2 編程軟件中設(shè)置通信接口參數(shù)

      在上位計(jì)算機(jī)上啟動(dòng)STEP7-Micro/Win V4.0編程軟件,選擇菜單命令“檢視”—“元件”—“設(shè)置PG/PC接口”,打開“設(shè)置PG/PC接口”對(duì)話框,在"接口參數(shù)指定"列表中選擇通信接口協(xié)議,如果是PPI多主站電纜,選擇“PC/PPI cable(PPI)”。然后選擇“Properties”鈕,將出現(xiàn)接口屬性對(duì)話框,檢查有關(guān)屬性,確保其正確。PPI標(biāo)簽中,“Transmission Rate”的設(shè)置必須與PC/PPI電纜上的設(shè)置相同(9.6 kbps或19.2 kbps)如圖2所示。

      3 西門子S7-200可編程控制器與上位機(jī)的在線聯(lián)系

      通過通信協(xié)議及通信參數(shù)進(jìn)行設(shè)定來建立上位機(jī)與西門子S7-200 CPU的在線聯(lián)系。在STEP7-Micro/Win32下,單擊通信圖標(biāo),則會(huì)出現(xiàn)一個(gè)通信通道對(duì)話框,顯示是否連接了CPU主機(jī)。雙擊通信對(duì)話框中的刷新圖標(biāo),STEP7-Micro/Win32將檢查所有連接的S7-200 CPU主站,并建立一個(gè)CPU的圖標(biāo),雙擊CPU圖標(biāo),在通信對(duì)話框中顯示所選的通信參數(shù)如圖3所示。

      圖2 PC/PPI電纜的PPI參數(shù)設(shè)置

      圖3 通信參數(shù)

      4 VB與PLC的串口通信

      4.1 VB串口通信程序的設(shè)計(jì)

      Visual Basic在開發(fā)可視化監(jiān)控系統(tǒng)方面有獨(dú)特的優(yōu)勢(shì),它本身提供的串行端口控件MSComm就是為了應(yīng)用程序提供串行通信而設(shè)計(jì)的,在應(yīng)用時(shí)只需要設(shè)置、監(jiān)視MSComm的控件屬性和事件即可完成對(duì)串行口的初始化和數(shù)據(jù)輸入工作。該通信程序的設(shè)計(jì)程序流程圖如圖4所示。

      4.2 西門子PLC的通信程序設(shè)計(jì)

      采用的S7-200可編程控制器支持點(diǎn)對(duì)點(diǎn)接口PPI、多點(diǎn)接口MPI和PROFIBUS等多種通信協(xié)議,通過利用不同用戶自定義自由口模式來控制S7-200 CPU通訊口的操作形式。通訊全過程由用戶自行控制,在自由口模式里用戶自定義完成不同需求下多種職能通訊協(xié)議。用戶通過操作界面來進(jìn)行指令的中斷、發(fā)送、接收及更改,這極大改善了通訊系統(tǒng)的靈活性。

      采用自由模式來讓S7-200 PLC與上位機(jī)實(shí)現(xiàn)通信。流程圖如圖5所示。

      圖4 程序流程

      圖5 PLC通信程序流程

      PC與S7-200可編程控制器采用自由協(xié)議來實(shí)現(xiàn)通信,主站選取PC,PLC作為從站,PC實(shí)現(xiàn)對(duì)PLC寄存器對(duì)寫操作。PC通過COM口發(fā)送指令到PLC的PORTO口,PLC通過RCV接收指令,指令譯碼完成后實(shí)現(xiàn)指令操作任務(wù),以XMT指令形式回到執(zhí)行指令數(shù)據(jù)。要實(shí)現(xiàn)通信首先要設(shè)置通信參數(shù)讓PLC與上位機(jī)的參數(shù)一致,所以要對(duì)其內(nèi)部的特殊字節(jié)存儲(chǔ)器SMB30進(jìn)行設(shè)置,把十進(jìn)制數(shù)9送給SMB30則代表波特率9 600kb/s、無奇偶校驗(yàn)、8位數(shù)據(jù)位、1位停止位。對(duì)自由口初始化之后,要初始化RCV信息控制,將16進(jìn)制數(shù)B0送給SMB87則給出了RCV允許的檢測信息結(jié)束符,檢測空閑線空閑條件。設(shè)定接收到的結(jié)束字符為"0A"(回車),SMB94設(shè)定值為100,給出了接收到的最大字符為100個(gè),然后連接一個(gè)接收完成中斷及發(fā)送完成中斷,這樣就完成了對(duì)自由端口的通信設(shè)置。

      實(shí)現(xiàn)該功能的具體程序如下:

      //對(duì)PLC進(jìn)行自由端口的初始化

      LD SM0.1

      MOVB 16#09,SMB30//自由通信

      MOVB 16#B0,SMB87//RCV 指令

      MOVB 16#0A,SMB89//對(duì)接收到的結(jié)束字符進(jìn)行設(shè)定

      MOVB 100,VB100//最多接收100個(gè)字符

      MOVW+5,SMW90//設(shè)定空閑 5ms

      MOVB 100,SMB94

      MOVB 100,SMB94

      ATCH INT0,23//接收完成事件連接中斷

      ATCH INT2,9//發(fā)送完成事件連接中斷

      ENI

      RCV VB100,0

      進(jìn)行初始化之后,便完成了PLC與上位機(jī)之間的參數(shù)設(shè)定,之后便可進(jìn)行通信了。但是要想將接收到的數(shù)據(jù)應(yīng)用到PLC控制的模擬實(shí)驗(yàn)上,以及將反饋信息發(fā)送回上位機(jī),就要設(shè)置接收完成中斷與發(fā)送完成中斷。

      實(shí)現(xiàn)該功能的具體程序如下:

      //接收完成中斷

      LDB=SMB86,16#20//顯示接收到結(jié)束字符

      MOVB 10,SMB34//設(shè)定一個(gè)10ms的時(shí)機(jī)中斷

      ATCH INT1,10

      CRETI

      NOT

      RCV VB100,0

      //發(fā)送完成中斷

      LD SM0.0

      LPS

      DTCH 10//斷開定時(shí)器中斷

      CALL SBR0

      AB=VB101,1//等于1將控制指令發(fā)給上位機(jī)

      XMT VB100,0

      LPP

      XMT VB200,0//端口0返回用戶信息

      通過上述程序與VB的通信程序相連,可以很好地實(shí)現(xiàn)二者的通信,PLC將上位機(jī)發(fā)送過來的數(shù)據(jù)接收到緩沖器中,經(jīng)過處理把反饋信息發(fā)送給上位機(jī)并在接收回顯框中顯示出來。

      5 VB與PLC的通信調(diào)試與實(shí)驗(yàn)

      根據(jù)上述程序的通訊設(shè)計(jì),利用THSMS-C型網(wǎng)絡(luò)型可編程控制器實(shí)驗(yàn)臺(tái)進(jìn)行VB與PLC控制實(shí)驗(yàn)的調(diào)試。將模擬信號(hào)燈控制實(shí)驗(yàn)面板與S7-200可編程控制器連接起來。檢查上位機(jī)與S7-200可編程控制器之間的串口連線、掛箱與S7-200可編程控制器之間的連線。檢查無誤后打開電源開關(guān)。

      打開STEP7-Micro/Win V4.0編程軟件將程序下載到S7-200可編程控制器中,之后運(yùn)行VB程序,然后選擇"管理員用戶"模式進(jìn)入到"監(jiān)控選擇頁面"先對(duì)通訊進(jìn)行測試,在輸入框中寫入"回車符",點(diǎn)擊 "測試發(fā)送",按"開始接收"按鈕,如果在接收回顯中顯示數(shù)據(jù)8個(gè)"X"則證明通訊正常,否則沒有連接通信,如圖6所示。

      圖6 通信測試

      確定通訊成功后,點(diǎn)擊控制實(shí)驗(yàn)程序中的“模擬信號(hào)燈”選項(xiàng),進(jìn)入到該實(shí)驗(yàn)的監(jiān)控界面,在監(jiān)控界面上點(diǎn)擊“啟動(dòng)”按鈕,此時(shí)模擬信號(hào)燈程序會(huì)進(jìn)行運(yùn)動(dòng),并且在監(jiān)控界面上顯示當(dāng)前運(yùn)行的狀態(tài)。PLC會(huì)根據(jù)實(shí)驗(yàn)中模擬信號(hào)燈的亮滅情況將反饋信息發(fā)送回來,即燈亮為“H”燈滅為“X”。同時(shí)上位機(jī)會(huì)根據(jù)反饋回來的信息進(jìn)行核對(duì),如果為“H”則監(jiān)控界面上與之相對(duì)應(yīng)的模擬信號(hào)燈指示圖標(biāo)會(huì)發(fā)出相應(yīng)的顏色,如果為"X"則相應(yīng)位置的指示圖標(biāo)不顯示。如圖7所示為模擬信號(hào)燈實(shí)驗(yàn)由南北方向通行向東西方向通行轉(zhuǎn)換,其中黃燈亮為向東西方向通行的過渡。黃燈熄滅后,控制南北方向(水平)紅燈亮,控制東西方向(垂直)的綠燈亮,代表東西通行的甲燈被點(diǎn)亮。在圖8中為監(jiān)控界面反映出當(dāng)前實(shí)驗(yàn)臺(tái)上的情況。圖7和圖8為過渡狀態(tài)下實(shí)驗(yàn)臺(tái)模擬信號(hào)轉(zhuǎn)換與監(jiān)控界面顯示的比較。

      為了進(jìn)一步觀察模擬信號(hào)燈指令的同步運(yùn)行,在監(jiān)控界面的基礎(chǔ)上又設(shè)置了“指示燈監(jiān)控指令”界面如圖9所示,設(shè)定字符“H”、“X”分別為監(jiān)控界面指示圖標(biāo)的“執(zhí)行”與“停止”指令字符,所以當(dāng)實(shí)驗(yàn)臺(tái)上顯示模擬信號(hào)燈運(yùn)行狀態(tài)時(shí),PLC會(huì)根據(jù)模擬信號(hào)燈的亮滅情況,把當(dāng)前亮的指示燈的信息發(fā)送回來,即字符“H”,反之,不亮的指示燈會(huì)發(fā)送回“X”。

      圖7 實(shí)驗(yàn)臺(tái)模擬信號(hào)燈狀態(tài)

      圖8 監(jiān)控界面顯示

      圖9 實(shí)驗(yàn)臺(tái)模擬信號(hào)燈指示燈指令監(jiān)控界面

      PLC把亮的模擬信號(hào)燈以“H”指令發(fā)送給上位機(jī),其他不亮的模擬信號(hào)指示燈發(fā)送“X”指令。根據(jù)上位機(jī)的設(shè)置如果接收到字符“H”則與實(shí)驗(yàn)臺(tái)上相應(yīng)的代表指令變換的圖標(biāo)顯示顏色,反之不顯示。圖10是接收回顯PLC根據(jù)實(shí)驗(yàn)臺(tái)當(dāng)前模擬信號(hào)燈變換的情況而發(fā)送回來的數(shù)據(jù)指令的界面,二者相比較顯示指令的一致性,即“HHHXXXXX”。

      圖10 接收到由PLC發(fā)送回來的狀態(tài)指令

      6 結(jié)語

      在應(yīng)用VB開發(fā)的上位機(jī)與PLC之間通信程序的基礎(chǔ)上,完成了上位機(jī)與PLC之間的通信并把此通信程序應(yīng)用到模擬信號(hào)燈實(shí)驗(yàn)上,實(shí)現(xiàn)了對(duì)該實(shí)驗(yàn)的監(jiān)控,達(dá)到了彼此同步的效果。

      對(duì)于中小型電氣控制系統(tǒng)的監(jiān)督控制與數(shù)據(jù)采集可通過可編程邏輯控制器來降低其運(yùn)行成本,為找到實(shí)現(xiàn)PLC與PC機(jī)之間的經(jīng)濟(jì)實(shí)用的通訊方案具有重要意義。設(shè)計(jì)采用VB開發(fā)上位機(jī)與PLC之間的通信,可以降低開發(fā)的成本,提高企業(yè)的工作效率,為企業(yè)帶來更多的效益。隨著PLC與計(jì)算機(jī)在工業(yè)自動(dòng)化中的應(yīng)用越來越廣泛,PLC與計(jì)算機(jī)之間的通訊也越來越頻繁,二者之間的實(shí)時(shí)通信研究具有重要的現(xiàn)實(shí)意義。

      [1]廖常初.PLC編程及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2007.

      [2]陳忠華.可編程控制器與工業(yè)自動(dòng)化系統(tǒng)[M].北京:機(jī)械工業(yè)出版社,2006.

      [3]王 棟.Visual Basic程序設(shè)計(jì)實(shí)用教程[M].北京:清華大學(xué)出版社,2006.

      [4]李雙科,吳記群.VB下利用MSComm實(shí)現(xiàn)計(jì)算機(jī)與 PLC的串行通信[J].電氣自動(dòng)化,2006,28(3):43-45.

      [5]甄任賀.用VB6.0實(shí)現(xiàn)PC機(jī)與PLC的串行通信[J].機(jī)電工程,2004,21(5):17-19.

      [6]王驍勇,盛志沖.上位計(jì)算機(jī)與PLC串行通信在生產(chǎn)線監(jiān)控中的應(yīng)用[J].機(jī)電工程,2006,32(3):32-34.

      [7]敬 偉,涂 勁.用VB6.0實(shí)現(xiàn)西門子PLC與PC機(jī)的串行通信[J].微機(jī)發(fā)展,2003,25(2):28-29.

      猜你喜歡
      實(shí)驗(yàn)臺(tái)信號(hào)燈圖標(biāo)
      基于CDIO-E教學(xué)模式自制實(shí)驗(yàn)臺(tái)的研究
      Android手機(jī)上那些好看的第三方圖標(biāo)包
      交通信號(hào)燈
      信號(hào)燈為什么選這三個(gè)顏色?
      開放式機(jī)電液一體化綜合實(shí)驗(yàn)臺(tái)設(shè)計(jì)
      中國風(fēng)圖標(biāo)設(shè)計(jì)
      模糊PID在離合器綜合性能實(shí)驗(yàn)臺(tái)中的應(yīng)用
      安裝在路面的交通信號(hào)燈
      有意思的廁所圖標(biāo)
      讀者(2015年13期)2015-05-14 11:41:05
      交通信號(hào)燈控制系統(tǒng)設(shè)計(jì)
      岳西县| 苍溪县| 蒙自县| 鞍山市| 安图县| 邵阳市| 临湘市| 新平| 湄潭县| 开远市| 宁乡县| 潼关县| 康乐县| 新竹市| 通渭县| 大方县| 宁南县| 高陵县| 犍为县| 崇州市| 常德市| 内丘县| 房产| 合作市| 宁安市| 喀喇| 临桂县| 怀化市| 天峻县| 巫溪县| 五原县| 水城县| 海盐县| 南木林县| 宁陵县| 乐平市| 洛扎县| 依兰县| 得荣县| 曲沃县| 沅江市|