日本精品久久-日本精品二区-日本精品二区-日本极品少妇-成人欧美一区二区三区黑人免费-成人欧美一区二区三区黑人免费

基于PLC自由口通信的應用

來源:網絡

點擊:1624

A+ A-

所屬頻道:新聞中心

關鍵詞: PLC 自由口通信

    1 引 言

            常規的通過PC機,利用PC對工藝對象的控制,大多都是在具有組態軟件或通訊模塊的情況下進行,但是對于一些小型的控制系統而言,由于受到簡單實用和成本低的原則限制,不適合使用常規方法。

            為了滿足小型系統中帶上位機結合PLC實現自動控制的低成本的要求,把控制放在PLC中運行,利用Visual Basic結合PLC中的通信語言進行編程,實現上位機與PLC之間,在無通訊模塊情況下的數據信息的雙向通信傳輸,很好地解決了工程應用中的一些實際問題。

    2 控制系統的組成

    2.1 工藝對象的介紹

            由1個具有一定氣阻和氣容所構成的壓力貯罐裝置是1個一階對象,而由3個一階特性的壓力貯罐串聯,就組成了一個三階壓力對象裝置,在工程中通常認為是高階系統。如圖1所示,主流量經調節閥、轉子流量計再依次進入1#、2#、3#貯罐中,從而分別實現一階、二階、三階對象,對象的時間常數分別由R1C1、R2C2、R3C3來決定(R為氣阻,C為氣容),并可由R1、R2、R3來改變對象的特征。而對對象產生干擾,即為進入各個貯罐的干擾源。

    2.2 控制系統方案實施

            在圖1中,3#罐的壓力是否穩定,將直接反映出輸出介質壓力的質量,故以3#罐的壓力作為被控變量。如果以3#罐的壓力為測量值設計一單回路控制系統,也能達到一定的自動控制的目的。由于干擾不僅從3#罐底部進入,而且也會從前面兩個罐子的底部進入。為了使自動調節具有較強的克服干擾的能力,設計了一個串級控制系統。以3#罐壓力為主被控變量,以干擾變化比較大且比較平凡的1#罐壓力為副被控變量。在此串級控制方案中,副調節器可以改善主調節器的廣義對象特性,同時副回路能自動克服對象的非線性影響,能夠按照主回路的要求,更精確地控制操縱變量的質量流和能量流。具體方案如圖1所示。

     
    圖1 三階壓力裝置流程圖


            在實施過程中,采用S7-226PLC作為下位機,以1臺PC機作為上位機進行監控和管理。下位機的任務是CPU配合EM235模塊進行模擬量的輸入/輸出工作,能檢測3個壓力罐的壓力測量值,送CPU進行處理。能分別在手動V 自動情況下輸出3個壓力罐的6個高、低報警信號和最終的調節器輸出,并把輸出信號經過隔離和轉換送到調節閥,最終達到控制流量的目的;同時與上位機進行數據傳輸,把測量值-輸出值-報警值及所處運行狀態輸入上位機。上位機除了接受下位機來的信號外,也向PLC輸出一些控制參數,如PID調節參數的修改以及給定值的設定,動態地在流量圖上顯示變量的變化,并附有調節界面和各參數的變化曲線。

    3 上、下位機的通信

    3.1 兩者之間的物理連接


            S7-226CPU是西門子SIMATIC S7-200系列中的一種,其內部集成的PPI接口為用戶提供了強大的通信功能,PPI接口物理特性為RS485,可在多種模式下工作,其中自由口通信方式是S7-200PLC的一個很有特色的功能,它可以與任何協議公開的其它設備、控制器等進行通信。上位機串口符合RS-232標準協議,為了實現兩者的通信必須進行協議轉換,可以利用PC/PPI電纜連接兩者,并同時完成協議轉換的任務。

    3.2 的通信

            S7-200CPU支持多種通信方式,其系統協議為點對點接口(PPI),基于開放系統互聯(OSI)7層通訊結構模型。PPI協議是一種主6 從協議,采用RS-485信號標準的令牌總線通信方式,通訊速率可在9600~19200bit之間選擇。PPI協議是基于字符的,使用11位字符、1位起始位、8位數據位、1位奇偶校驗位、1位結束位。通訊幀依賴起始和結束字符。S7-200CPU的通訊端口采用RS-485信號標準的9針D型連接口,PC/PPI電纜把S7-200CPU同個人計算機連接起來,S7-200的這個通訊端口可由LAD或STL程序來指定通訊方式,本程序中所指定的該端口的操作模式就是所謂自由端口模式。在自由端口模式下,用戶可用程序來定義波特率、每個字符位數、奇偶檢驗和通訊協議。

    3.3 基于VB6.0的串行通信

            VB6.0把與串行通信有關的操作都封裝在MSComm控件里,它是一種事件驅動的對象。VB同時也為這個控制提供了標準的事件處理函數、過程,并通過屬性的方法提供了通信接口的參數設置,從而解決了串行通信的問題。

            涉及到的MSComm控件的主要屬性如下:

            CommPort屬性用于設置或返回通信連接端口號碼。程序必須指定所要使用的串行端口的口號。Windows系統會使用所設置的通信端口與外界進行通信,程序也可以借助此屬性返回所使用的連接端口號。

            Settings屬性用于設置初始化參數,以字符串的形式設置或返回傳輸速率、校驗位、數據位、停止位等4個參數。其默認值是:“9600,N,8,1”,表示所使用的通信端口是以9600位/s的速度傳輸,不作校驗位檢查,每個數據單元是8位,而停止位是1位。需要注意的是:這4項必須按照上述順序,不可前后對調,字母“N”可以大小寫,而且使用RS-232通信的雙方,Settings必須完全一樣,彼此才能順利的溝通。

            PortOpen屬性用于設置或返回通信連接端口的狀態。使用前必須將要使用的串行接口先行打開,而在使用完畢后,也必須執行關閉操作。串行通信端口各項功能都是在PortOpen的True與Fause之間完成的。

           Input屬性用于從輸入緩存區返回并刪除字符,程序靠這個命令將對方傳到輸入緩存區中的字符讀出來,并清除緩存區中已被讀取的字符。

            Output屬性用于將一個字符串寫入輸出緩存區,當程序向對方傳輸字符串時,可使用此命令將字符串寫入輸出緩存區中。

            Rthreshold屬性用于設置或返回引發接收事件的字符數,當緩存區達到所設置的字符數時,將會引發Ohcomm事件中的接收事件,它是引發接收事件的“門閥”,默認值為“0”,表示無論緩存區中有多少字符均不引發接收事件。

        使用MSComm控件的方式表面上看來要比使用直接調用API函數來得復雜,但實際上使用MSComm控件可以省去不少底層程序的編寫,因此實際上要比API函數簡單多了。

    3.4 接口編程
     
            在高階壓力系統的自控中,PLC要向PC傳輸10多個參數:3個壓力罐的壓力信號、調節輸出信號、6個報警信號及手動6 自動狀態信號等,同時要求PC向PLC傳送主副調節器中的調節參數及主調的給定值,并把手動/自動狀態命令送入PLC中,組成一個帶上位機的PLC智能控制系統。在高階壓力裝置監控操作界面上,單擊調節器符號會彈出調節器操作面板界面和對應的測量值曲線界面。

    3.4.1 部分程序

        初始化:
        NETWORK 1
        LD SM0.0
        MOVB 9,SMB30
        NETWORK 2
        LD SM0.0
        MOVB 16 # EC,SMB87
        MOVB 103,SMB88
        MOVE 71,SMB89
        MOVW +1000,SMW92
        MOVE  35,SMB94
        R SM87.2,1
        NETWORK 3
        LD SM0.0
        ATH RcvComp,23
        ATH TxComp,9
        NETWORK 4
        LD SM0.0
        ENI
        RCV VB700,0
        MOVE 2,VB750
        MOVE 16#41,VB751
        MOVE 16#35,VB752
        NETWORK 5
        LD SM0.7
        =SM30.0

        3.4.2 VB6.0的部分程序代碼

        采用自由口通訊協議通訊,其代碼段為:

        發送格式:開始字符(g)+命令字+4個字節ASCⅡ碼+BCC校驗碼(2個ASCⅡ)+結束字符(G)
        Dim OutData As Variant
        Dim Outllrrav(12)As Bvte
        Dim i As Byte
        Dim bcc As Byte
        Dim count As Integer
        Dim mvtime As Double
        CommControl. OutBufferCount=0
        OutArray(0)=Asc(“g”)
        OutArray(1)=Command
        OutArray(2)=Asc(Hex((PLCOUT1 And & HF0)/16W‘HIGH
        OutArray(3)=Asc(Hex(PLCOUT1 And & HF))‘LOW
        OutArray(4)=Asc(Hex((PLCOUT2 And & HF0)/16))‘HIGH
        OutArray(5)=Asc(Hex(PLCOUT2 And & HF))‘LOW
        OutArray(6)=Asc(Hex((PLCOUT3 And & HF0)/16))‘HIGH
        OutArray(7)=Asc(Hex(PLCOUT3 And & HF))‘LOW
        OutArray(8)=Asc(Hex((PLCOUT4 And & HF0)/16))‘HIGH
        OutArray(9)=Asc(Hex(PLCOUT4 And & HF))‘LOW
        bcc=0
        For i=1 To 9‘計算機BCC校驗碼
        bcc=bcc Xor OutArray(i)
        Next i
        OutArray(10)=Asc(Hex((bcc And & HF0)/16))‘HIGH
        OutArray(11)=Asc(Hex(bcc And & HF0))‘LOW
        OutArray(11)=Asc(“G”)
        OutData=OutArray
        count=0
        Send:
        CommControl.Output=OutData
        mvtime=Timer
        Do
        DoEvents
        Loop Until CommControl.InBufferCount≥4 Or
        Timer>mytime+0.3
        if CommControl.InBufferCount≥4 Then
        PlcSetOut=True
        CommControl.InBufferCount=0
        Form 1.Iblplc.Caption=“PLC通訊正常”
        Else
        count=count+1
        if count≤3 Then
        Go To Send
        Else
        MsgBox“通訊失敗”
        PlcSetOut=False
        Form 1.Iblplc.Caption=“PLC通訊錯誤”
        errcount=errcount+1
        Form 1.Iblplc.Caption=errcount
        Exit Function
        End If
        End If
        End Function

    4 結束語

            文中所介紹的通信方案適用于中小型的智能控制系統,具有使用方便、應用可靠的特點,已成功應用于所介紹的高階壓力系統的串級控制回路中。目前正用于研究不同壓力下,高階系統穩定性的情況分析,以及不同壓力下調節器參數的變化規律。經實踐證明這是一種非常有效、可靠的通信方法,其建立在通信基礎上的動態參數顯示及在線參數修改,大大提高了系統的控制性能。這種通信方法完全可以應用于其它相關的通信場合,具有一定的普遍意義。

    (審核編輯: 智匯李)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    主站蜘蛛池模板: 寡妇4做爰电影| 长安长安朗诵报名入口| 闺蜜心窍 电影| 妻子的秘密在线| 回到十八岁| 皇家趣学院第一季免费观看| 哈基米| 天使和恶魔| 遍地狼烟| 果戈里起点| 大班安全活动教案40篇| 黄视频免费在线播放| 神仙我才不稀罕短剧在线观看| 那些女人演员表全部名单| 成龙版杨家将电影免费播放| 豪血寺一族2出招表| 电影《上一当》| 永远是少年电影免费观看| 袁冰妍个人资料| 萱草花二声部合唱谱| 一个馒头引起的血案| 时间浪人| 浙江卫视回放观看入口| dnf代码大全| 小学三年级英语同步跟读app| 我的冠军男友在线看全集完整| 外出韩版| 电影福利| 白上之黑电影| 爱来的刚好演员表| 黑帮大佬和我的第365天| 脱毛膏的副作用和危害| 女同版痴汉电车| 二年级上学期口算题| 2003年黄金价格多少一克| 神宫寺奈绪从早做到晚上| 不可知难而退的演讲稿| 女女女爱| 美国禁忌1984| 触底反弹电影| 彩云曲 电影|