《電子技術應用》
您所在的位置:首頁 > 測試測量 > 業界動態 > PLC串行通信在測控裝置中的實現

PLC串行通信在測控裝置中的實現

2008-08-26
作者:黃天戍,吳少勇

  摘 要: 介紹了HG-2003型溫升測控裝置" title="測控裝置">測控裝置的測控對象和結構設計。詳細討論了裝置中所采用的西門子公司的S7-200型PLC和PC機之間串行通信" title="串行通信">串行通信程序的設計與實現,即S7-200梯形圖通信程序設計與實現中的細節和難點。簡要介紹了上位PC機通信程序的設計。該通信功能的實現確保了該裝置結構簡單、可靠性高、便于二次開發。
  關鍵詞: RS-232串行通信 可編程控制器 自由端口模式 數據緩沖區 PC/PPI電纜


  HG-2003型溫升測控裝置是筆者與我國北方某科學研究院聯合開發的一套專門用于高壓晶閘管閥溫升檢測試驗的測控裝置。考慮到PLC及其網絡已被公認為現代測控裝置開發的幾大支柱之一,而且從近幾年的統計數字來看,PLC產品在世界范圍內的產量、銷量高居各測控器件榜首,因此筆者決定本測控系統的核心器件采用可編程控制器(PLC),其基本功能可通過軟件編程實現。PLC的三大亮點是:(1)集電控、電傳、電儀三電于一體;(2)網絡的性能價格比高;(3)可靠性高。這些亮點就使得整個測控設備結構簡單、可靠性高,同時也為實現系統控制功能的二次開發奠定了良好的技術基礎。本文主要討論設備中所采用的西門子公司的S7-200型PLC和PC機之間的串行通信問題。
1 溫升測控系統整體介紹
1.1 HG—2003測控裝置的測控對象及結構
  先來介紹一下該溫升試驗測控裝置的基本工作流程。10kV電源進線經過進線柜中的高壓斷路器CB和高壓隔離開關" title="隔離開關">隔離開關柜中的隔離開關G(用于在設備檢修或維護時形成一個明顯的斷點)后,加在10kV轉換變壓器T1上。該變壓器將三相電轉化為單相電。這主要是由于做實驗時負載電流很大,如果使用三相電源,容易造成負荷電流的不平衡從而造成試驗故障。在轉換變壓器的輸出端(二次側)連接單相溫升試驗變壓器T2。該溫升變壓器的一次側應加裝用于無功功率補償的電容柜,二次側則通過有載分接開關直接連接試驗品(即高壓晶閘管閥)進行溫升試驗。
  從基本工作流程不難知道測控裝置的測控對象,本裝置的具體測控對象如表1所示。


  測控裝置的物理結構分為兩部分:操作控制臺和試區控制箱。其中,試區控制箱即PLC控制箱被安裝在試驗區的隔離開關柜內。操作控制臺即PC機人機界面操作臺則安裝在控制室內。由于二者之間相距約40m,所以采用PC/PPI電纜傳輸測控信號時需加裝中繼器。
1.2 HG—2003測控裝置的基本功能
  本測控系統的基本功能包括:開關分合控制指示功能;設備和試品的過流、過壓、過熱報警及保護功能;各種操作連鎖功能,如電源開關柜內10kV電源斷路器和隔離開關柜內的手動隔離開關、控制室門觸點、試驗大廳門觸點間的連鎖保護功能等,并設有相關的報警提示畫面。這些功能可以避免操作順序出錯。
2 S7-200通信程序的設計與實現
2.1 PC機與S7-200的通信方式
  西門子S7-200 PLC的通信功能較強,有多種通信方式可供用戶選擇,如:單主站方式、多主站方式以及使用調制解調器的遠程通信方式等。在本測控裝置中,筆者采用單主站方式。在運行Windows或Windows NT操作系統的個人計算機" title="個人計算機">個人計算機(PC機)上安裝STEP 7-Micro/WIN 32編程軟件后,PC機就可作為通信中的主站。它可與一個或多個從站相連,STEP 7-Micro/WIN 32每次和一個S7-200 CPU通信,但可以訪問網絡上的所有CPU。該通信方式的硬件配置為PLC到PC機通信口的電纜連接器,即帶RS-232口的隔離型PC/PPI電纜,用五個DIP開關設置波特率和其它配置項。它支持的波特率為9.6kbps或19,2kbps,支持的協議為PPI協議。這里并沒有使用PPI協議,而是使用PC/PPI電纜和自由端口通信功能來實現S7-200 CPU與PC機間的通信。自由端口模式是計算機或其它帶有串行通信接口的設備與S7-200 CPU之間通信的一種廉價和靈活的方法。它以用戶定義的通信協議為基礎,通過使用相關的中斷指令和專用的通信指令控制S7-200 CPU通信口的操作模式,實現與多種智能設備的連接。
  具體地說,所謂自由通信端口" title="通信端口">通信端口模式是指CPU的串行通信接口可由用戶程序控制的一種通信操作模式,其梯形圖程序可以使用接收完成中斷、字符接收中斷、發送完成中斷、發送指令(XMT)和接收指令(RCV)等控制通信過程。在該模式下,通信協議完全由用戶程序控制。
  CPU處于STOP模式時,自由通信端口模式被禁止,CPU重新建立使用其它協議的通信,例如與編程設備的通信。只有當CPU處于RUN 模式時,才能使用自由通信端口模式。通過將特殊寄存器字節SM30或SM130的協議選擇域(mm)置1可以將通信端口設置為自由端口模式,處于該模式時不能與編程設備通信。
  可以用反映CPU模塊上的工作方式開關當前位置的特殊存儲器位SM0.7來控制自由端口模式的進入。當SM0.7為1時,工作方式開關處于RUN位置,可選擇自由端口模式;當SM0.7為0時,工作方式開關處于TERM位置,應選擇PC/PPI協議模式,以便用于編程設備監視或控制CPU模塊的操作。
2.2 自由端口模式下PLC串行通信程序的編程要點
  計算機與可編程控制器通信時,為了避免通信中的各方爭用通信線,一般采用主從工作方式,即計算機為主機,可編程控制器為從機;只有主機才有權主動發送請求報文,從機收到后返回響應報文。下面主要談一談編程過程中應注意的幾個問題。
  首先是電纜切換時間的處理。因為使用了PC/PPI電纜,所以在S7-200 CPU的用戶程序中應考慮電纜的切換時間。S7-200 CPU接收到RS232設備的請求報文到它發送響應報文的延遲時間必須大于等于電纜的切換時間。波特率為9600bps和19200bps時,電纜的切換時間分別為2ms和1ms。在梯形圖程序中可用定時中斷實現切換延時。
  其次就是通信可靠性的處理,校驗碼的采用是提高通信可靠性最常用的措施之一。用得較多的是異或校驗,即將每一幀中的第一個字符(不包括起始字符)到該幀中正文的最后一個字符作異或運算,并將異或的結果(異或校驗碼)作為報文的一部分發送到接收端。接收方接收到數據后計算出所接收到的數據的異或校驗碼,再與發送方傳過來的校驗碼比較,如果不同,可以判斷通信有誤。
  最后需注意的是防止起始字符、結束字符與數據字符的混淆。因為報文的起始字符和結束字符只有8位,接收到的報文數據區內出現與起始字符或結束字符相同的數據字符的機率很大,這可能會引起字符混淆。可以在發送前對數據作某種處理,例如選擇起始字符和結束字符為某些特殊的值,而將數據字符轉化為BCD碼或ASCII碼后再發送,這樣可以避免出現上述的情況,但是會增加編程的工作量和數據傳送的時間。
2.3 通信程序中關鍵指令的使用與說明
  發送指令XMT(Transmit)用于啟動自由端口模式下數據緩沖區(TBL)數據的發送,指令格式如圖1所示。通過指定的通信端口(PORT),將存儲在數據緩沖區(TBL)中的信息發送。使ENO=0的錯誤條件:SM4.3(運行時間),0006(間接尋址),009(在端口0同時XMT/RCV),000B(在端口1同時XMT/RCV)。


  XMT指令可以方便地發送1~255個字符,如果有中斷程序連接到發送結束事件上,在發送完緩沖區中的最后一個字符時,端口0會產生中斷事件9,端口1會產生中斷事件26。可以監視發送完成狀態位SM4.5和SM4.6的變化,而不是用中斷進行發送。數據緩沖區中的起始字符和結束字符是可選項,第一個字節的“字符數”是要發送的字節數,它本身并不發送出去。
  接收指令RCV(Receive)可以方便地接收一個或多個字符,最多可接收255個字符。通過指定的通信端口(PORT),將接收信息存儲在數據緩沖區(TBL)中。數據緩沖區中的第一個字節用來累計接收到的字節數,它本身不能接收到,起始字符和結束字符是可選項。如果有中斷程序連接到接收結束事件上,在接收完最后一個字符時,端口0產生中斷事件23,端口1產生中斷事件24。
  使ENO=0的錯誤條件:SM86.6和SM186.6(RCV參數錯誤),SM4.3(運行時間),0006(間接尋址),009(在端口0同時XMT/RCV),000B(在端口1同時XMT/RCV)。CPU不是在自由端口模式。
  可以監視SM86.6或SM186.6的變化,而不是用中斷進行報文接收。SM86.6或SM186.6為非零時,RCV指令未被激活或接收已經結束。正在接收報文時,它們為0。
  當超時或校驗錯誤時,要自動中止報文接收功能。必須為報文接收功能定義一個啟動條件和一個結束條件。
  RCV指令允許通過參數設定選擇報文開始條件和報文結束條件,即設定特殊存儲器字節SM86~SM94(用于端口0)和SM186~SM194(用于端口1)。
  另外兩個比較重要的指令是獲取與設置通信口地址指令。獲取通信口地址指令(GET ADDR指令)用來讀取PORT指定的CPU口的站地址,并將數值放入ADDR指定的地址中。設置通信口地址指令(SET ADDR指令)用來將通信口(PORT)站地址設置為ADDR指定的數值。設置的新地址不能永久保存,斷電后又上電,通信口地址將恢復為上次的地址值(用系統塊下載的地址)。圖2為使用RCV指令和接收完成中斷接收數據的通信程序流程圖。


3 計算機通信程序的設計與實現
3.1 Windows環境下的PC機通信程序

  在Windows環境下,操作系統通過驅動程序控制各硬件資源,不允許用戶像在DOS環境下那樣直接對串口進行底層的操作。為此,Visual Basic提供了一個串行通信控件:MSComm控件。程序員只需設置和監視MSComm控件的屬性和事件,就可以輕而易舉地實現串行通信。
3.2 MSComm控件的屬性
  MSComm控件主要屬性如下:(1)Comm Port:設置并返回通信端口號。(2)Settings:以字符的形式設置并返回波特率、奇偶校驗位、數據位和停止位。其中字符n、o、e分別代表無校驗、奇校驗、偶校驗。(3)Port Open:設置并返回通信端口狀態。設置為Ture時,打開端口;設置為False時,關閉端口。另外,還有Input、Output、Input Mode、In Buffer Count等屬性,這里不再一一介紹。
3.3 MSComm控件處理接收信息的方式
  MSComm控件提供兩種處理方式:(1)事件驅動方式:RTHreshold屬性非0時,收到字符或傳輸線發生變化時就會產生串口事件On Comm。通過查詢Comm Event屬性可以捕獲并處理這些通信事件。(2)查詢方式:通過查詢Input Buffer Count(接收緩沖區的字節數)屬性值,處理接收到的信息。本裝置中采用事件驅動方式。
  用Visual Basic語言設計串行通信程序簡單實用,關鍵是如何形成一個友好的用戶界面。編程的細節這里不再詳述。
  隨著工業PC機的推出,個人計算機在工業現場運行的可靠性問題也得到了解決。因此在各類測控設備中實現PLC和PC機間的串行通信有著重大的意義。這樣一方面有助于將個人計算機開發成簡易工作站或者工作終端,實現集中顯示、集中報警功能;另一方面也可把個人計算機開發成PLC編程終端,通過編程器接口接入PLC網絡,進行編程、調試及監控,并最終達到PLC測控設備結構簡單、運行可靠、維護容易、便于二次開發的技術特點。

?

參考文獻
1 廖常初. PLC編程及應用.北京:機械工業出版社,2002.9
2 邱公偉. 可編程控制器網絡通信及應用. 北京:清華大學出版社, 2000.3
3 郭宗仁. 可編程控制器應用系統設計及通信網絡技術.北京:人民郵電出版社,2002.9
4 SIMATIC S7-200 可編程控制器用戶手冊. 北京:西門子(中國)有限公司,2002

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美一区=区| 欧美视频在线不卡| 亚洲系列中文字幕| 亚洲精品影视| 亚洲精品欧美日韩专区| 91久久极品少妇xxxxⅹ软件| 久久aⅴ国产欧美74aaa| 欧美一区二区三区免费视频| 亚洲综合视频一区| 妖精视频成人观看www| aⅴ色国产欧美| 一区二区三区www| 在线亚洲免费视频| 在线亚洲+欧美+日本专区| 99国产精品视频免费观看一公开| 91久久夜色精品国产九色| 亚洲国产精品黑人久久久| 在线不卡a资源高清| 玉米视频成人免费看| 在线观看日韩| 在线观看不卡av| 亚洲国产另类 国产精品国产免费| 一区二区三区在线视频观看| 在线播放精品| 亚洲日本成人女熟在线观看| 亚洲免费高清| 亚洲调教视频在线观看| 亚洲在线观看视频| 欧美中文字幕不卡| 亚洲国产黄色| 日韩亚洲不卡在线| 亚洲一区欧美激情| 午夜免费日韩视频| 久久久久久亚洲精品杨幂换脸 | 久久精品欧洲| 亚洲精品国产精品乱码不99| 99re热精品| 亚洲专区国产精品| 久久精品亚洲一区二区| 美女亚洲精品| 欧美色视频在线| 国产无一区二区| 亚洲国产欧美在线人成| 一本色道婷婷久久欧美| 亚洲欧美视频一区| 亚洲电影免费在线| 一区二区欧美日韩视频| 欧美在线高清| 欧美国产精品va在线观看| 国产精品成人一区二区三区吃奶| 国产农村妇女毛片精品久久麻豆| 激情五月婷婷综合| aa亚洲婷婷| 亚洲电影免费在线| 亚洲综合视频1区| 老司机凹凸av亚洲导航| 欧美日韩在线播放三区| 国产亚洲福利一区| 亚洲精品免费一区二区三区| 亚洲欧美日韩精品| 亚洲精品乱码视频| 久久av二区| 欧美日韩国产美女| 国产一区视频在线观看免费| 最新国产成人av网站网址麻豆| 亚洲性图久久| 亚洲免费观看视频| 久久精视频免费在线久久完整在线看| 欧美黄色网络| 国产亚洲精品高潮| 日韩一级欧洲| 亚洲日韩成人| 久久九九免费| 国产精品日本精品| 99国产精品久久久久久久成人热 | 日韩一区二区精品葵司在线| 欧美一区二区三区喷汁尤物| 欧美成人第一页| 国产日韩在线亚洲字幕中文| 日韩一级裸体免费视频| 亚洲黄色一区二区三区| 翔田千里一区二区| 欧美日韩视频在线一区二区| 在线激情影院一区| 欧美亚洲一区| 亚洲欧美在线aaa| 欧美人与禽猛交乱配| 伊人久久大香线| 亚洲欧美激情视频| 亚洲一区二区在线观看视频| 欧美激情亚洲国产| 伊人成人在线视频| 香蕉久久夜色| 欧美一级在线视频| 欧美四级在线观看| 亚洲精品日韩久久| 亚洲精选一区二区| 噜噜爱69成人精品| 黄色影院成人| 久久国产主播| 久久久在线视频| 国产精品资源| 亚洲男女自偷自拍| 亚洲欧美日韩在线综合| 欧美日韩综合视频| 日韩网站在线| 99国产精品久久久久久久久久| 米奇777在线欧美播放| 极品av少妇一区二区| 欧美一区在线视频| 欧美一区二区大片| 国产欧美大片| 亚洲欧美日韩一区二区| 午夜精品久久久久久久久久久久| 欧美视频成人| 9久草视频在线视频精品| 亚洲视频网站在线观看| 欧美日韩视频专区在线播放| 99re成人精品视频| 亚洲一区美女视频在线观看免费| 欧美日韩视频在线| 在线视频精品一| 亚洲欧美日韩一区| 国产伦精品一区二区三区免费| 亚洲欧美日韩在线| 久久久久久久久久码影片| 国产一区二区在线观看免费播放| 欧美一区二区大片| 久久久久久久波多野高潮日日| 国产亚洲综合性久久久影院| 欧美在线观看网站| 久久综合久久综合九色| 一区免费视频| 日韩视频在线观看国产| 欧美视频二区| 亚洲欧美一区二区原创| 久久亚洲精品一区二区| 伊人成年综合电影网| 日韩特黄影片| 欧美三级乱人伦电影| 亚洲中字黄色| 久久视频免费观看| 亚洲国产欧美另类丝袜| 亚洲深夜激情| 国产欧美亚洲精品| 亚洲国产成人不卡| 欧美精品观看| 亚洲一区久久| 玖玖视频精品| 亚洲激情图片小说视频| 亚洲永久免费av| 国产精品日韩久久久久| 久久精品30| 欧美啪啪一区| 亚洲综合电影| 老色鬼精品视频在线观看播放| 亚洲精品中文字幕女同| 欧美在线free| 91久久精品国产91久久| 亚洲一区成人| 国产亚洲一区精品| 日韩亚洲不卡在线| 国产嫩草一区二区三区在线观看| 久久精品一区二区三区四区| 欧美精品在线网站| 午夜亚洲影视| 欧美成人四级电影| 亚洲免费影院| 欧美高清视频一区二区| 亚洲字幕在线观看| 免费观看成人www动漫视频| 国产精品99久久久久久人| 久久躁日日躁aaaaxxxx| 一本色道久久综合亚洲精品婷婷 | 9国产精品视频| 久久夜色精品国产欧美乱| 99香蕉国产精品偷在线观看| 久久久久看片| 9久草视频在线视频精品| 久久三级福利| 亚洲一区二区三区欧美| 欧美a级大片| 先锋影院在线亚洲| 欧美日韩人人澡狠狠躁视频| 久久精品国产亚洲aⅴ| 国产精品久久久久91| 亚洲欧洲日产国产综合网| 国产精品视频一二三| 日韩亚洲国产欧美| 国内久久精品| 香蕉久久夜色精品国产使用方法| 亚洲国产欧美一区二区三区同亚洲| 欧美一区二区视频网站| 日韩天堂在线观看| 免费在线观看精品| 欧美一区三区三区高中清蜜桃| 欧美体内she精视频在线观看| 亚洲电影在线免费观看| 国产日产精品一区二区三区四区的观看方式| 亚洲美女色禁图|