• 
    <ul id="auswy"><sup id="auswy"></sup></ul>
  • <ul id="auswy"></ul>
    ABB
    關注中國自動化產業發展的先行者!
    CAIAC 2025
    2025工業安全大會
    OICT公益講堂
    當前位置:首頁 >> 案例 >> 案例首頁

    案例頻道

    高級語言和組態軟件對設計PC機與PLC通訊程序的比較
    • 企業:控制網     領域:PLC /PAC/PCC/RTU     行業:市政工程    
    • 點擊數:3022     發布時間:2006-01-04 16:47:28
    • 分享到:
    本文就PC機和PLC通訊機制進行了簡要介紹,在此基礎上闡述了具體實現方法,即主要通過高級語言和組態軟件兩種辦法。并就二者具體實現進行了介紹和比較,指出了兩種方法存在的優缺點。



        一、引言

        PLC(可編程序控制器)在工業現場因其編程方便,抗干擾能力強,獲得了廣泛的應用。但受到內部硬件電路的限制,在運算速度、數據處理能力等方面和PC機相比,要遜色很多。因此在工業現場對復雜模型進行控制時,可以借助上位機PC來建立生產模型,通過構建 SCC監督式控制系統,讓下位機PC為一DCC直接數字控制系統,實現復雜系統的控制。另外,還可通過上位機PC和下位機PC組建監控系統,達到對工業現場實時監控的目的。其中關鍵技術為PC機和PC之間的通訊。本文首先介紹PC機與PLC的通訊種類和機制,然后就采用高級語言VB和組態軟件MCGS,對完成以上二者通訊進行介紹、比較。

        二、PC機和PLC通訊的種類和機制

        (1)硬件配置

        本實驗所用PLC型號為OMRON系列CPM1A,屬小型機。在機體上沒有RS232串口,只有一個編程口。在和PC機進行數據傳輸的時候,首先應該在PLC的編程口處接一適配器,實現編程口到RS232口的轉換,CQM1-CIF01電纜可以完成上述功能,電纜的兩端分別與PC機串口1或2及PLC編程口相連。實驗時PC機采用的是486PIII300。具體連接見圖1所示。



    圖1 硬件通訊連接

        PC機和PLC有兩種通訊方式,一種是PC機作主動者,即主局,PLC為從動者,即子局。另一種是PLC為主局,而PC機為子局。無論工作在哪種方式,數據一般都采用串行方式來傳輸,即可通過RS232、RE422或RS485電纜線來進行信息傳遞。

        在進行通訊時,首先將PC機和PLC傳遞信息的波特率設置一致。另外還要對奇偶校驗位、傳輸數據位數和停止位進行設置。

        在PC機和PLC進行通訊時,要使用命令幀和響應幀的形式來進行信息傳遞。

        (2)幀的發送接收

        每次通信送出的一組數據稱作“幀”。幀可以從持有發送權的一方傳出。每送出一幀,上位機或PLC就將發送權交給另一方。當接收方收到終端(命令或響應的終字符)或分界符(分割幀的字符)信息后,就將發送權轉到另一方。

        在上位鏈接通信中,開始由上位PC機持有發送權并開始通信。響應由PLC自動返回。如圖2所示:



    圖2 幀的發送和響應形式

        (3)命令/響應格式

        用上位鏈接通信發送接收的命令/響應格式如下所示:

        (1) 命令格式 從上位機PC發送命令時,程序中編寫下列格式的命令數據并開始發送。

       

        (2) 相應格式 對應命令PLC的相應返回如下的格式。編寫返回相應數據。

       

        三、通訊的具體實現

        實現上位機PC和下位機PLC通訊一般可采用兩種方法:可以通過Windows或高級語言編程,實現二者通訊;還可借助現在普遍使用的工業控制組態軟件。使用前者,編程比較繁瑣,需要了解具體的通訊機制,另外還要掌握某種高級語言,并對所編程序花費一定調試時間,但是軟件的成本得到降低。使用后者則可以迅速掌握簡化的編程語言,在較短的時間內編制出控制功能復雜的程序,而且調試時間也相對較短,但是需花費很高的價格購買正版軟件。下面分別就以上兩種實現方式進行簡要介紹和比較。 

        (1)通過高級語言的程序編制

        這種通訊編程又可大致分為兩種,一種是基于Windows語言編程,它可調用Windows的API函數,直接對串口進行操作,但是需要掌握Windows語言,比較繁瑣,上手較慢。另一種就是基于高級語言,例如Visual Basic或Visual C++等。在Visual Basic中提供了一個串行通訊控件Microsoft Comm Control,簡稱MSComm控件。編程者只需要設置和監視MSComm空間的屬性和事件,然后按照相應的通訊規約就可以實現串行通訊。

        下面就筆者利用VB中的MSComm控件完成PC機和PLC的通訊程序編制,簡要進行一下介紹。

        1. 首先在VB環境中加入控件MSComm,然后把它放在窗口中,就可以對其一些參數進行設置,比方說通訊的波特率、奇偶校驗位、數據位和停止位。

        初始化程序如下:

           

        2. PC機發送數據給PLC

       

        3. PC機接受PLC傳來數據

       

        4. PC機和PLC之間傳遞數據時,采用FCS校驗碼,來保證傳遞信息的正確性。算法可見參考文獻,具體程序在此省略。

        (2)通過組態軟件來實現通訊

        組態軟件是一個專為工控開發的工具軟件。它為用戶提供了多種通用工具模塊,用戶不需要掌握太多的編程語言技術,就能很好的完成一個復雜工程所要求的幾乎所有功能。MCGS軟件是其中的一種。在此以MCGS為例,來對程序編制進行介紹。軟件系統包括組態環境和運行環境兩個部分。組態環境,用來設計和構造自己的應用系統。運行環境則按照組態環境中構造的組態工程,以用戶指定的方式運行,并進行各種處理,完成用戶組態設計的目標和功能。如圖3所示。



    圖3 組臺軟件組成部分

        設備窗口是MCGS系統的重要組成部分,負責建立系統與外部硬件設備的連接,根據具體外部硬件,可以在設備窗口配置不同類型的設備構件,這樣使MCGS能從外部設備讀取數據并控制外部設備的工作狀態。

        MCGS的這種結構形式使其成為一個與設備無關的系統,對于不同的硬件設備,只需定制相應的設備構件,放置到設備窗口中,并設置相關的屬性,系統就可對這一設備進行操作。

        在建立對PLC設備的通信連接時,首先單擊“設備窗口”選項卡,進入“設備窗口”頁,雙擊“設備窗口”,進入“設備組態”,選中“串口通訊父設備”,單擊“增加”,然后雙擊“PLC設備”,在其下拉菜單中選中 “歐姆龍”,型號:Omron-HostLink。單擊“增加”,“Omron-HostLink”被增加到了右側方框中。如圖4。



    圖4 設備管理窗口

        最后雙擊“串口通訊父設備”,在彈出的窗口中進行下列參數的設置:

        最小采樣周期(ms):1

        串口端口號:1-COM2

        通訊波特率:6―9600

        數據校驗方式:偶校驗

        數據位位數:2-7

        停止位位數:1

        以上基本設置完成后,就可以將監控程序和外部PLC的變量建立起聯系,從而在上位機運行的監控程序中反映出下位機的運行狀況,也可以把上位監控中的一些工作參數傳輸到下位機PLC。

        四、總結

        作者通過兩種方法都實現了計算機和PLC之間的通訊,從兩種通訊實現方法來看,使用組態軟件可以不必了解具體的通訊過程,調用相應的驅動程序即可。如果采用高級語言,則需要了解確切的通訊機制,還要熟練的掌握一種高級語言。因此在組建大型工程的監控系統時,常常會使用成熟的組態軟件,從而大大縮短軟件開發的周期。任何事物都一分為二,使用組態軟件固然省事,但需要支付軟件的高昂費用,并且軟件的二次開發受到一定限制。如采用高級語言編程,則能夠節約成本,并根據需要隨時對程序進行升級,但需要自己完成程序編制和花費一定調試時間。

    熱點新聞

    推薦產品

    x
    • 在線反饋
    1.我有以下需求:



    2.詳細的需求:
    姓名:
    單位:
    電話:
    郵件: