新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PLC與上位機(jī)的高速通信實現(xiàn)

PLC與上位機(jī)的高速通信實現(xiàn)

作者: 時間:2016-12-20 來源:網(wǎng)絡(luò) 收藏

0、引言

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

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

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

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

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

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

2、PLC網(wǎng)絡(luò)通信標(biāo)準(zhǔn)簡介

  (1) RS-232C標(biāo)準(zhǔn)

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

 ?。?) RS-485標(biāo)準(zhǔn)

  在許多工業(yè)環(huán)境中,要求用最少的信號連線來完成通信任務(wù)。日前廣泛應(yīng)用的是RS-485串行接口總線,RS-485支持半雙工通信,分時使用一對雙絞信號線進(jìn)行發(fā)送或接收。RS-485用于多站互聯(lián)時實現(xiàn)簡單,節(jié)省材料,可以滿足高速遠(yuǎn)距離傳送,構(gòu)成分布式網(wǎng)絡(luò)控制系統(tǒng)十分方便。

3、通信網(wǎng)絡(luò)接口的設(shè)計

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

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

4、通信程序設(shè)計

 ?。?) 上位機(jī)部分程序

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

  CommPort:設(shè)置并返回通信端口號。Window系統(tǒng)將會利用該端口與外界通信;

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

  PortOpen:設(shè)置并返回通信端口的狀態(tài)。也可以打開和關(guān)閉端口;

  Ouptut:向傳輸緩沖區(qū)寫1B的數(shù)據(jù);

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

  RThreshold:設(shè)置在產(chǎn)生OnComm之前要接受的字符數(shù);

  InputLen:設(shè)置并返回Input屬性從接收緩沖區(qū)讀取的字符數(shù);

  InBbuffersize:設(shè)置或返回輸入緩沖區(qū)的大小;

  InBufferCount:返回輸入緩沖區(qū)內(nèi)等待讀區(qū)的字節(jié)個數(shù)。可通過設(shè)置該屬性值為0來清除接收緩沖區(qū);

  InputMode:設(shè)置或返回傳輸數(shù)據(jù)的類型;

  CommEvent:傳回OnComm事件發(fā)生時的數(shù)值碼;

  軟件通信流程圖如圖1 。

  

  圖1 :通信流程圖

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


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉