亚洲视频一区二区三区_国产在线拍偷自揄拍精品_日韩av在线看_日本久久久久久久久久久_精品国产区一区二区三区在线观看_国产日产欧美a一级在线_日韩亚洲在线观看_日韩久久精品电影_久久综合电影一区_2021国产精品视频_国产精品小说在线_欧美—级高清免费播放_一区二区三区高清国产_91av视频在线免费观看_一二美女精品欧洲_成人网在线免费看

  • PC/PCC 集散控制系統多機實時通信的實現
    貝加萊工業自動化(上海)有限公司

    0  引 言
      可編程計算機控制器( PCC: Programmable Computer Controller) 以其可靠性高、開發周期短、配置靈活、功能強大而在工業控制領域得到越來越廣泛的應用。由于其能適應惡劣的工業現場,因此多被作為集散控制系統的下位機使用。但PCC的顯示功能較差, 因此將PC與PCC 結合起來構成了總線式的集散控制系統, 充分利用PC機強大的人機接口功能、豐富的系統軟件, 用圖形化界面實現了對整個系統的實時監控。其中各設備間的通信是系統實現的關鍵。RS-232 接口是計算機及PCC共同具有的, 利用貝加萊公司的幀驅動器并加入一些輔助電路及相應通信程序即可構造基于RS-232的總線式多機通信網絡。實驗證明, 該網絡具有硬件實現簡單、系統可靠、抗干擾能力強的特點。

    1  多機實時通信的硬件實現
    PC/ PCC 總線式集散控制系統的總體結構如圖1 所示。

    圖1  計算機與多臺PCC 組成的集散控制系統

      系統采用RS-232 串行通信方式實現了上位機對整個系統的實時監控, 同時為了提高硬件穩定性,優化系統工作性能, 本文采用硬件仲裁電路來實現數據總線的分配, 并合理解決了數據沖突問題, 簡化了軟件設計, 提高了系統可靠性和抗干擾能力。

    1.1  RS-232 多機通信機制

      普通的RS-232采用點對點串行數據傳輸方式, 無法滿足多設備之間的實時通信, 因此需要對其連接方式作一些改進。RS-232的點對點通信是將接口的數據發送端(TXD)連接到另一方的數據接收端(RXD) , RXD與另一方的TXD相連,雙方的地線端(GND)直接相連。但在計算機與多臺PCC相連時則發生了一些變化。如圖2所示,計算機的數據發送端直接連接到各PCC的數據接收端, 地端直接與各PCC的地端相連, 但各PCC的數據發送端不能同時連接到計算機的數據接收端, 因為數據發送端在無數據發送時為高電平,而發送的數據為高低電平組成的脈沖序列, 直接將兩個或多個數據發送端連接到一起接入計算機, 則會造成其數據接收端電平的不確定, 產生了數據沖突問題。為了解決上述問題設計了專門的硬件仲裁電路, 將各PCC的TXD 以及數據發送請求端(DTR)接入, 再將仲裁電路輸出端連接到計算機的數據接收端。

    圖2  RS-232 多機通信連接示意圖

    1.2  仲裁電路結構與工作原理

      由于上位機(PC)的發送端為一對多廣播式發送, 所以上位機發送的數據幀所有的下位機( PCC)均可以接收到, 至于數據幀由哪一臺下位機接收則由通信協議中的目的地址ID判定。但對于下位機,其發送端為多對一連接, 如直接將其相連, 則會發生數據沖突。圖3 所示的仲裁電路可以確保每次只有一臺下位機能夠發送數據到上位機的數據接收線上。應注意的是, RS-232 接口使用的高低電平與TTL 中的高、低電平不同, 需進行電平轉換。

    圖3  下位機發送數據仲裁電路

      圖3 以三路PCC 為例說明。各下位機初始化時均將其DTR 設置為低電平, 因為與門1 、2 、3均有低電平輸入, 所以初始化后A、B、C 三點均為低電平, 并且與門4 、5 、6 也一直輸出低電平。假設下位機1 是第一臺要發送數據的下位機, 發送前先將自己的DTR 端口設置為高電平, 而此時B、C 兩點仍為低電平, 經反相器后變為高電平輸入與門1 , 所以與門1 的輸出A 點電平也為高, 此時數據發送服務程序讀取數據發送查詢端(DSR) 電平狀態(即A 點電平狀態) 為“1”, 說明總線未被占用,處于空閑狀態。由于下位機1 的DTR 端口已被置高, 且查詢得知總線空閑, 則其DTR 端口不變仍然設置為高電平, 這樣下位機1 就占用了總線, 可以開始發送數據。數據由TXD 端經過與門4 后輸入上位機的RXD 端, 由于此時A 點電平為高, 保證了數據經過與門4 后沒有失真直接上傳至上位機, 同時A 點電平經反相器后變為低電平輸入與門2 、3 , 故B、C 兩點電平為低, 與門5 、6 始終輸出低電平, 避免了數據沖突。當下位機1 數據發送完畢后將其DTR 端口置低, A 點電平變低, 釋放了總線, 又回到初始化后的狀態, 可以供給下一個要發送數據的下位機使用。假設下位機1 發送數據的過程中, 下位機2 也要發送數據, 同樣先將自己的DTR 端口置高, 但此時A 點電平為高, 經反相器后輸入與門2 , 所以與門2 的輸出B 點仍為低電平, 程序讀取DSR 端口電平(即B 點電平) 為“0”, 說明總線已被占用, 因此將DTR 端口重新置低, 等待下次查詢, 這樣就避免了兩臺下位機同時上傳數據。下一個查詢周期未到時, 程序持續查詢是否有更高優先級的任務標志位置位, 有則調用相應的任務服務程序, 沒有則重復查詢各標志位直至下一個查詢周期到來; 下一個查詢周期到來后,重復一次置高DTR 端口、讀取DSR 端口的過程以判斷總線狀態, 空閑則DTR 端口保持高電平占用總線并發送數據, 否則置低DTR 端口, 等待下次查詢。下位機2 重復上述過程直至查詢到總線空閑并占用總線以發送數據。

      不同類型的數據發送其優先級也不同, 數據發送任務的優先級越高, 查詢周期就越短, 保證了系統通信的實時性。由于各發送方在發送時間上存在差異, 首先查詢到總線空閑的下位機得以使用數據總線, 在發送數據前已將其DTR 由低電平轉為高電平, 仲裁電路將總線狀態轉為忙碌, 避免其余下位機同時使用總線造成數據沖突。當數據傳輸結束則將DTR 轉為低電平, 仲裁電路將總線狀態轉為空閑。由于PC 為一對多發送, 下位機通過仲裁機制鎖死總線只是保證同一時刻數據上傳總線上只有一臺PCC 向PC 發送數據, 并不會影響PC 通過數據下行總線發送數據到各PCC , 從而實現了總線的合理分配, 解決了數據沖突問題。

    2  多機實時通信的軟件實現
    2.1  RS-232 的數據傳輸格式
    RS-232 的數據是以字節的形式發送的, 一次發送一個字節, 其數據傳輸格式如圖4 所示。

    圖4  RS-232 數據傳輸格式

      包含一個起始位、8 個數據位以及一個校驗位和停止位, 數據位為所發送的對象, 而數據幀則是多個字節按一定格式打包而成的一個字節序列, 以字節流形式發送。

    2.2  幀驅動器

      幀驅動器是貝加萊公司為實現與第三方設備之間進行通信而設計的軟件工具箱, 存放在PCC 應用程序ROM 中, 完全控制了通信的硬件部分而不改變幀的形式。通常數據通信, 對數據進行讀寫操作, 用戶必須對端口的細節了解很清楚, 才能通過編程實現對接口各管腳進行操作。而幀驅動器將這些操作集中起來, 用戶只需要了解第三方產品的通信協議細節(包括信息幀格式的組成等) , 并用幀驅動器寫出與第三方產品通信協議一樣的通信規約,就可方便地實現PCC 與第三方產品之間的通信。同時, 幀驅動器支持RS-232 、RS-422 、RS-485 、CAN 等接口, 因此軟件中只要稍微作些改動, 便可支持不同的接口進行數據通信, 具有可擴展性和廣泛的應用前景。

    2.3  通信協議制定

      PC 和PCC 以及PCC 之間能進行通信首先需要制定一個合理的通信協議, 才能進行通信。為此本著充分利用資源、結構簡單、可擴充性強的原則定義了數據幀的結構。對于數據幀的格式, 考慮到組網以及適應不同通信接口的需要做了如表1 定義。

    表1  數據幀的格式定義

      目的ID 和源ID 均分配一個字節, 用于標志數據幀的接收設備和發送設備, 以便接收設備判斷接收和發生接收錯誤時呼叫發送設備重發。命令字給定數據幀的類型(數據或控制字) , 指明隨后的DA TA 是數據內容還是控制字。這樣系統中的各設備可根據事先制定的通信協議將欲發送的控制指令或數據打包寫入DA TA 中, 或者將接受的數據幀按協議解包為控制命令并執行或對接收到的數據進行處理。幀數指明了當前發送的是第幾個數據幀, 以便于接收設備判斷是否有數據幀丟失以呼叫發送設備重發。最后判斷接收的校驗位與自行計算校驗位結果是否一致, 一致則進行相應操作, 否則丟棄該幀并呼叫發送設備重發。
    為了確保數據接收的可靠性, 使用應答方式進行通信, 接收機接收到數據后返回一個應答幀加以確認, 發送機收到此幀再發送下一幀數據, 如無應答則周期循環發送同一幀, 如超時未應答則向上位機發送數據幀報錯, 上位機接收后顯示發送與接收設備ID及錯誤類別并報警以提示監控人員排除錯誤。

    2.4  系統內各設備間的通信
    ①PC 與PCC 之間的通信。PC 向下位機發送數據幀采用廣播式, 但只有符合目標地址ID 的下位機能夠接受, 而下位機采用仲裁機制向上位機發送數據。
    ②PCC 與PCC 之間的通信。PCC 與PCC 之間是通過PC 以數據轉發的形式進行數據幀傳送的。當監控計算機收到不是以自己為目的地址的數據幀時, 直接將其送入數據傳送總線由目的PCC判斷接受。

    2.5  基于C語言的PCC數據通信的實現及程序流程圖
     ?、傧挛粰C編程。使用貝加萊公司提供的標準PC。
      PCC 發送程序流程如圖5 (a) 所示。PC 發送程序流程由于為一對多廣播式發送, 省略查詢總線過程, 直接發送即可。PC 接收程序流程如圖5 (b) 所示。PCC 接收程序流程基本與PC 接收程序流程一致, 但在判斷接收數據幀目的ID 與本機ID 不符后, PCC 直接退出事件觸發服務程序返回, 而PC則將得到的數據幀發送給各下位機以使目的PCC 接收該數據幀。

     ?、谏衔粰C編程。使用Visual Basic , 流程中需要發送數據或命令只要按定義好的通信協議進行數據裝幀并調用數據發送程序將其通過串行口發送即可。為了實現數據的實時接收, 在VB 工程中導入了PComm Pro (此軟件借助Windows API 函數的調用來控制使用串行通信端口) 的通信函數庫和控件以實現接受數據的實時觸發。事件的觸發除了定時器或循環的輪詢(Polling) 方式外, 還可以使用回調函數(CallBack Function) 實現。PComm 針對事件的處理就是采用回調函數的方式處理, 欲建立事件, 需給定一個函數的地址, 當事件發生時, 便到該回調函數所在地址去執行該程序代碼。因此定義了回調函數作為接受數據的事件觸發服務程序, 當接受數據事件發生時便執行該事件觸發程序, 保存接受到的數據, 并按協議進行數據幀的解包, 將數據取出并作相應處理顯示在監視器上, 以便實時監控, 或執行相應的命令。

    多機實時通信測試程序實驗結果如圖6 所示。

    3  結束語
      本文利用硬件仲裁電路巧妙地實現了數據總線分配, 解決了數據沖突問題, 簡化了系統設計, 優化了系統性能。通過PCC 與PC 的有機結合, 構成了基于RS-232 的總線式集散控制系統, 充分利用了PCC 和PC 的優點, 用可視化的圖形界面實現對整個系統的實時監控。實驗證明, 系統運行良好, 監控準確無誤, 還可應用于其它分布式測控系統和類似系統, 具有一定的工程應用價值。


     

     
     
    網站首頁  |  關于我們  |  聯系我們  |  廣告服務  |  版權隱私  |  友情鏈接  |  站點導航
     
    亚洲视频一区二区三区_国产在线拍偷自揄拍精品_日韩av在线看_日本久久久久久久久久久_精品国产区一区二区三区在线观看_国产日产欧美a一级在线_日韩亚洲在线观看_日韩久久精品电影_久久综合电影一区_2021国产精品视频_国产精品小说在线_欧美—级高清免费播放_一区二区三区高清国产_91av视频在线免费观看_一二美女精品欧洲_成人网在线免费看
    欧美日韩另类在线| 亚洲电影在线观看| 97超碰蝌蚪网人人做人人爽| 亚洲视频777| 国产日韩在线免费| 国产亚洲xxx| 亚洲精品视频网上网址在线观看| 日韩欧美在线免费观看| 亚洲精品456在线播放狼人| 欧美激情区在线播放| 亚洲国产欧美一区二区丝袜黑人| 久久精品亚洲94久久精品| 久久中文久久字幕| 国产69精品久久久久99| 日韩极品精品视频免费观看| 国产精品扒开腿做爽爽爽视频| 在线观看日韩av| 日本久久精品视频| 国产九九精品视频| 国产第一区电影| 亚洲福利精品在线| 亚洲精品在线不卡| 日韩专区中文字幕| 国产精品成人国产乱一区| 欧美有码在线视频| 久久精品夜夜夜夜夜久久| 亚洲大胆人体av| 91精品国产91久久久| 亚洲精品国产拍免费91在线| 亚洲天堂av综合网| 国产精品久久久久久久久粉嫩av| 日韩电影在线观看永久视频免费网站| 日韩av电影手机在线| 成人福利网站在线观看11| 亚洲无线码在线一区观看| 国语自产精品视频在线看一大j8| 亚洲美女喷白浆| 亚洲欧美日韩一区二区在线| 欧美一级片久久久久久久| 久久久国产视频| 97精品视频在线| 日韩av免费观影| 亚洲人成自拍网站| 亚洲精品久久久久久久久| 亚洲第一综合天堂另类专| 欧美亚洲视频一区二区| 中文字幕国产精品| 亚洲精品白浆高清久久久久久| 久久久久久香蕉网| 日本一本a高清免费不卡| 欧美性视频精品| 91精品久久久久久久久久久久久久| 中文字幕亚洲欧美日韩高清| 欧美日韩一区二区免费在线观看| 国产精品久久久久久av福利| 欧美极品少妇全裸体| 亚洲天堂影视av| 国产精品久久久久7777婷婷| 色婷婷久久av| 国产精品在线看| 97在线视频精品| 最近2019中文字幕第三页视频| 国产日韩欧美另类| 爽爽爽爽爽爽爽成人免费观看| 亚洲成人在线网| 国产精品一区二区久久久久| 欧美日韩中文在线观看| 亚洲三级免费看| 日韩精品在线视频观看| 国产精品久在线观看| 久久综合九色九九| 97人人模人人爽人人喊中文字| 亚洲国产精品久久久| 国产在线拍揄自揄视频不卡99| 亚洲三级免费看| 成人在线小视频| 日韩成人av在线播放| 欧美激情第三页| 亚洲国产高潮在线观看| 精品香蕉在线观看视频一| www高清在线视频日韩欧美| 欧美美最猛性xxxxxx| 久久精品国产一区二区三区| 精品免费在线观看| 欧美xxxx14xxxxx性爽| 爽爽爽爽爽爽爽成人免费观看| 欧美另类69精品久久久久9999| 在线观看日韩视频| 午夜精品一区二区三区视频免费看| 国产黑人绿帽在线第一区| 九色精品免费永久在线| 欧美亚洲成人xxx| 中文字幕亚洲欧美在线| 91av在线播放视频| 久久视频在线看| 久久久久久69| 国产91ⅴ在线精品免费观看| 亚洲人成电影在线观看天堂色| 国产91亚洲精品| 高清欧美性猛交xxxx黑人猛交| 精品国内亚洲在观看18黄| 在线观看视频亚洲| 国产中文字幕91| 国产精品一区二区久久久久| 欧美视频中文字幕在线| 国产精品一区二区久久精品| www.亚洲男人天堂| 亚洲国产欧美一区二区三区久久| 欧美色欧美亚洲高清在线视频| 中文字幕国产精品久久| 美女福利精品视频| 国产成人一区三区| 日韩最新中文字幕电影免费看| 国产精品影片在线观看| 91国内揄拍国内精品对白| 国产一区二区三区在线观看网站| 久久精品国产2020观看福利| 亚洲电影av在线| 国产精品中文字幕久久久| 久久国产视频网站| 亚洲香蕉成视频在线观看| 在线精品高清中文字幕| 一级做a爰片久久毛片美女图片| 国产精品美女久久久免费| 欧美激情久久久| 蜜月aⅴ免费一区二区三区| 亚洲精品福利资源站| 91九色综合久久| 欧美电影免费在线观看| 欧美成人精品在线视频| 国产精品999| 亚洲人永久免费| 91久久国产精品91久久性色| 视频一区视频二区国产精品| 亚洲欧美一区二区三区久久| 久久久久久美女| 国产免费一区视频观看免费| 91精品免费久久久久久久久| 午夜欧美不卡精品aaaaa| 久久天天躁狠狠躁夜夜躁| 91精品一区二区| 国产v综合ⅴ日韩v欧美大片| 日韩欧美成人网| 欧美精品电影免费在线观看| 最新国产精品拍自在线播放| 日韩av电影国产| 久久久久国产视频| 91视频8mav| 欧美激情网友自拍| 亚洲福利视频二区| 国产成人综合一区二区三区| 欧美裸体xxxx极品少妇| www.国产精品一二区| 亚洲欧美国产va在线影院| 国产精品视频1区| 成人国产精品久久久| 日韩精品中文在线观看| 国产精品亚洲第一区| 国产性猛交xxxx免费看久久| 欧美午夜片在线免费观看| 久久噜噜噜精品国产亚洲综合| 91精品国产高清久久久久久久久| 欧美xxxwww| 欧美日韩国产成人|