加入收藏 在線留言 聯系我們
        關注微信
        手機掃一掃 立刻聯系商家
        全國服務熱線13185520415
        公司新聞
        西門子S7-1200 PLC 水箱水位控制程序案例,收藏學習!
        發布時間: 2024-03-19 10:42 更新時間: 2024-11-24 08:00
        觀看西門子S7-1200 PLC 水箱水位控制程序案例,收藏學習!視頻

        S7-1200 PLC水箱水位控制,案例會應用到基本指令、模擬量轉換指令、數據塊的使用、FB和FC的使用等知識,這就要求大家要先掌握這些知識,才能更好地理解案例程序哦。話不多說,我們就開始吧。


        案例的控制要求
        1該控制項目為水箱水位控制系統

        系統中一共有3隔水箱,每隔水一個液位傳感器、輸出的信號為0~10V電壓信號,檢測液位的高度為0~3m,液位為0.2m時為低液位,液位為2.5時為高液位。

        2每個水箱有三個進水閥和三個出水閥

        進水閥分別是Y1、Y3、Y5,出水閥分別是Y2、Y4、Y6,每個水箱都有出水閥開和出水閥關兩個按鈕,出水閥開按鈕分別是SB1、SB3、SB5,出水閥關按鈕分別是SB2、SB4、SB6。

        3通過對各個水箱進行防水操作

        我們通過按SB1SB3SB5可以分別對各個水箱進行防水操作,順序是隨機的,當系統檢測到水箱的“空”信號時,系統會自動打開水箱進水閥進行注水,當檢測到水箱“滿”信號時停止進水。水箱注水和水箱放空的順序是相同的,而且每次只能對一個水箱進行注水的操作。

        4如下圖所示


        5首先進行IO分配:



        IO分配好之后根據IO分配的點進行接線即可,還需注意液位傳感器需要接到模擬量輸入模塊,一共有三個液位傳感器,那么可以選擇SM1231 AI04的模塊,分別接到通道1、通道2、通道3即可。


        圖片(案例源程序獲取,請看文末)


        PLC控制程序設計
        1首先進行硬件組態、配置模擬量模塊的參數

        我們選用CPU1214C DC/DC/DC型號的PLC,此外因為需要對三個水箱的水位進行caiji,要使用到模擬量輸入模塊,我們選用的是SM1231 AI04模塊,設備組態配置圖如下圖。




        因為使用到了模擬量模塊,還需要設置相應的模擬量輸入信號的參數。


        根據液位繼電器的輸出信號類型進行配置,我們配置測量類型為電壓,電壓范圍是正負10V,濾波為4個周期,啟用溢出診斷和下溢診斷。通道0對應的地址是IW96,通道1對應的地址是IW98,通道2對應的地址是IW100。



        2編寫模擬量處理程序

        模擬量轉換程序,是用來把caiji到的模擬量信號轉換成實際的液位,并將它與低液位和高液位做比較,從而輸出是否達到低液位信號和高液位信號。


        因為三個水箱 計算過程是相同的,所以我們可以編寫一個帶形式參數的FC塊,方便重復調用。具體操作是添加一個FC塊,并且命名為“模擬量處理”,設置好變量并編寫FC程序。





        3建立一個PLC數據類型、添加一個全局DB塊

        在PLC數據類型頁面中添加一個PLC的數據類型,并把它命名為“Analog”,在里面建立之后需要用到的變量,包括當前水位、低水位和高水位,并且設置好這三個變量的數據類型。




        此外,再新建一個全局DB塊,把它命名為“水箱控制數據”,我們可以在里面建立一個名稱為“模擬量”的變量名稱,數據類型設置成數組Array[0..2]of “Analog”,然后把每個元素的數據類型選擇成建立的PLC的數據類型。



        4編寫水箱放水和進水控制程序

        因為有三個水箱,它們的注水和放水的過程是一樣的,我們就可以把水箱的注水和放水過程的程序編寫成一個帶形式參數的FB塊,方便重復調用。


        具體操作是添加一個FB塊,并命名為“水箱控制”,在FB的接口區建立相應的形式參數變量,然后再編寫FB中的控制程序。






        以上是打開放水閥程序,當按下放水閥開按鈕時,放水電磁閥打開,按下放水閥關按鈕或者水位達到低水位時,關閉放水閥。




        以上標記水箱空標志程序,因為水箱出現空信號后可以進行注水操作,但是一次只能對一個水箱進行注水,所以當標記水箱為空標志信號為1時,才可以進行注水操作。


        當水箱水位到達低水位,則說明水箱是空的,這時如果另外兩個水箱的空標記信號沒有,那么這個水箱的空標記信號輸出為1,如果另外兩個水箱已經有水箱出現空標記信號的話,那么這個水箱的空標記信號不能輸出為1。


        而且當這個水箱開始注水時,水箱的空標記信號需要復位。




        以上是開進水閥程序,當水箱空標記為1時,就可以打開進水電磁閥,同理因為一次只能對一個水箱進行注水操作,所以如果檢測到另外兩個水箱有注水操作時,那么這個水箱也不能進行注水操作。當達到高水位時停止關閉進水電磁閥,停止注水操作。

        5調用模擬量處理FC塊和水箱控制FB塊程序

        添加一個FB塊,并命名為“水箱水位控制程序”,我們在這個FB塊中調用模擬量處理FC塊,模擬量處理FC塊的作用是對每隔水箱的液位傳感器的數據進行處理。


        此外還要調用水箱控制FB塊程序,需要注意調用FB塊在分配背景數據塊時,要選擇多重實例背景,調用之后編寫每隔水箱的放水和進水的程序。







        以上程序對應的變量表,包括名稱、地址、數據類型如下圖所示。



        6主程序OB1中調用水箱水位控制程序的FB塊



        這樣,我們就完成了整個控制案例的程序設計,當然這并不是一個完整的項目,如果是應用到實際項目中,可能還會有其他需要考慮的問題哦,這個就等待大家家去思考啦

        聯系方式

        • 電  話:13510737515
        • 聯系人:董海波
        • 手  機:13185520415
        • 微  信:13185520415