新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PLC與上位機的高速通信實現

        PLC與上位機的高速通信實現

        作者: 時間:2016-12-20 來源:網絡 收藏

        0、引言

          工業控制領域中PLC作為一種高效、靈活、可靠的控制器,有著廣泛的應用。以PLC控制器為核心,上位PC機為實時監控體的控制系統已成為工業自動化PLC控制系統的一個發展方向。實現PLC與PC的通信可以實現向上級提供諸如工藝流程圖、動態數據畫面、報表顯示等多種窗口技術,使PLC控制系統具有良好的人機界面,通過上位機對PLC數據的讀寫監控實現現場數據的采集、傳送以及生產過程調度的自動化和信息化,其應用前景十分廣闊。常用的各種PLC網絡有差異,但表現在 PLC 通信程序、系統聯結和系統配置等方面,通信機理有統一性。目前市場上通信組態系統結構復雜,價格昂貴,應用繁瑣,不適應用戶使用。針對上述問題筆者以西門子公司的S7-200系列的PLC為研究對象,提出了一種用VC實現上位機與PLC的高速可靠的通信方法。

        1、S7-200系列PLC通信方式

          西門子S7-200系列性能優良,性價比較高,適用范圍很廣,因此本文主要討論西門子7-200系列與計算機之間的通信。S7-200系列通信方式有三種:

          (1) 點對點PPI方式與上位機通信:用于與西門子公司的PLC編程器或其他該公司人機接口產品的通信。該種通信方式采用的是MSComm ActivcX控件。PPI是主/從協議,網絡上的S7-200均為從站,其他CPU、SIMATIC編程器或TD200為主站。如果在用戶程序中允許PPI主站模式,一些S7-200CPU在RUN模式下可以作主站,它們可以用網絡讀和網絡寫指令讀寫其他CPU中的數據。PPI沒有限制可以有多少個主站與一個從站通信,但是在網絡中最多只能有32個從站。PPI通信協議是不公開的;

          (2) Freeport方式與上位機通信:Freeport方式具有與外圍設備通信方便、自由,易于微機開發等特點,因此使用自由口方式實現與上位機通信的控制方案較多。但在該通信方式下,上位機與PLC的最大通信能力為128bit/s,這無法滿足高速通信的需要;

          (3) Profibus-DP方式與上位機通信:Profibus協議用于幾分布式I/O設備的高速通信。S7-200CPU需通過EM277。Profibus-DP模塊接入Profibus網絡,網絡通常有一個主站和幾個I/O從站。這種方式使得PLC可以通過Profibus的DP通信接口接入Profibus現場總線網絡,從而擴大PLC的使用范圍。PPI協議和Profibus協議的結構模型都是基于開放系統互連參考模型的7層通信結構。

        2、PLC網絡通信標準簡介

          (1) RS-232C標準

          通信的連接接口與連接電纜的相互兼容是通信得以保證的前提。它的實現方法發展迅速,型式較多。其中RS-232C就是實際應用較多的標準之一,它是計算機或終端與調制解調器之間的標準接口。RS-232C功能規范定義了電路之間的連接,以及它的含義。RS-232C的規程規范定義的是協議,即事件出現的正確順序。RS-232C的缺點是數據傳輸率低傳輸距離短。

          (2) RS-485標準

          在許多工業環境中,要求用最少的信號連線來完成通信任務。日前廣泛應用的是RS-485串行接口總線,RS-485支持半雙工通信,分時使用一對雙絞信號線進行發送或接收。RS-485用于多站互聯時實現簡單,節省材料,可以滿足高速遠距離傳送,構成分布式網絡控制系統十分方便。

        3、通信網絡接口的設計

          在本工程中,我們采用的PLC為CPU224型,該可編程控制器的通信端口為RS-485接口,由于PC機的串行端口為RS-232接口,且遠離控制現場(PLC位置),因此PC機的RS-232接口必須通過RS-232/RS-485轉換器轉換后才能與PLC通信端口連接,這種通信方式可以實現最遠1.2Krn的遠程通信。

          PC機的標準串口為RS232。S7-200系列CPU226提供2個串口,其中一個端口Portl作為DP口,另一個端口Port0為自由口,自由口為標準RS485串口。西門子公司提供的PC/PPI電纜帶有RS232/RS485電平轉換器,因此在不增加任何硬件的情況下,可以很方便地將PLC和PC機互聯。

        4、通信程序設計

          (1) 上位機部分程序

          單命令把MSComm控件加入到工程中。MSComm控件通信功能的實現實際上是調用了API函數。而API函數是由Comm.drv解釋并傳遞給設備驅動程序進行的。即MSComm控件的屬性提供了通信接口的參數設置,能實現串行通信。MSComm控件有關屬性如下:

          CommPort:設置并返回通信端口號。Window系統將會利用該端口與外界通信;

          Setings:設置并返回初始化參數。其組成格式為“BBBB。P。D。S”。BBBB為數據速率。P為奇偶校驗。D為數據比特。S為停止位;

          PortOpen:設置并返回通信端口的狀態。也可以打開和關閉端口;

          Ouptut:向傳輸緩沖區寫1B的數據;

          Input:將傳送到輸入緩沖區的字符讀到程序里;

          RThreshold:設置在產生OnComm之前要接受的字符數;

          InputLen:設置并返回Input屬性從接收緩沖區讀取的字符數;

          InBbuffersize:設置或返回輸入緩沖區的大小;

          InBufferCount:返回輸入緩沖區內等待讀區的字節個數。可通過設置該屬性值為0來清除接收緩沖區;

          InputMode:設置或返回傳輸數據的類型;

          CommEvent:傳回OnComm事件發生時的數值碼;

          軟件通信流程圖如圖1 。

          

          圖1 :通信流程圖

          在實際應用中,從站被動的接收上位機發出的指令后做出響應,然后將信息傳回上位機,由于上位機在整個通信的過程中不能被中斷,因此上位機在接收與發送數據過程中采用了不可中斷的方法。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 西吉县| 乐陵市| 且末县| 全椒县| 孝感市| 阜平县| 呈贡县| 阿拉善右旗| 马鞍山市| 扬中市| 城口县| 赤峰市| 长乐市| 水富县| 建昌县| 乳山市| 雅江县| 琼结县| 察雅县| 崇信县| 两当县| 江津市| 武胜县| 龙岩市| 桐庐县| 科技| 潜江市| 漳州市| 德化县| 绥德县| 南阳市| 澄城县| 南城县| 西城区| 南澳县| 康平县| 永兴县| 高邮市| 德格县| 时尚| 利辛县|