應(yīng)用領(lǐng)域 | 環(huán)保,化工,生物產(chǎn)業(yè),電子,電氣 |
---|
首*行硬件組態(tài)、配置模擬量模塊的參數(shù)(案例源程序獲取,請看文末)
我們選用CPU1214C DC/DC/DC型號的PLC,此外因為需要對三個水箱的水位進行采集,要使用到模擬量輸入模塊,我們選用的是SM1231 AI04模塊
![]() |
參考價 | 面議 |
更新時間:2023-08-14 13:22:54瀏覽次數(shù):1518
聯(lián)系我們時請說明是化工儀器網(wǎng)上看到的信息,謝謝!
CPU 1214C DC/DC/RLY
PROFINET IO 主要用于模塊化、分布式的控制,通過以太網(wǎng)直接連接現(xiàn)場設(shè)備,通信為全雙工點到點方式,按設(shè)定的更新時間雙方對等發(fā)送數(shù)據(jù)。西門子S7-1200/1500PLC 以太網(wǎng)支持的通信之PROFINET IO通信
PROFINET IO按通信時效性來分,有三種通信水平:
第一種,非實時數(shù)據(jù)傳輸,英文簡稱NRT,典型通信時間為100ms。
第二種,實時通信,英文簡稱RT,典型通信時間為0.5~10ms。
第三種,等時實時通信,英文簡稱IRT,需要特殊設(shè)備支持,典型通信時間為0.25~1ms。
在同一個項目中的PROFINET IO通信
1、打開博途軟件,創(chuàng)建一個項目。
2、點擊“設(shè)備與網(wǎng)絡(luò)"→點擊“添加新設(shè)備"→選擇“控制器"→選擇PLC的CPU類型,如“非的CPU 1500"→選擇“6ES7……"雙擊。
3、如軟件已經(jīng)連接到PLC,點擊獲取。
4、如檢測到PLC,選擇CPU型號,連接,把空程序下載到PLC,給PLC一個清空動作。
也可以右鍵選擇“更改設(shè)備",選擇實際PLC的CPU類型。
5、打開網(wǎng)絡(luò)視圖,再添加一個PLC,連接它們的網(wǎng)口。
6、點擊作為IO設(shè)備的PLC2的網(wǎng)口,進入屬性設(shè)置,在“操作模式"的“智能設(shè)備通信"中,選擇已分配的IO控制器(PLC1),如不在本項目,則選擇未分配。
在“傳輸區(qū)域"中設(shè)置所要傳輸?shù)臄?shù)據(jù),如這里設(shè)置的“傳輸區(qū)1"和“傳輸區(qū)2"。
點擊箭頭切換傳輸方向。
編譯后,**到PLC試機。
CPU 1214C DC/DC/RLY
先說明一下案例的控制要求:
1、該控制項目為水箱水位控制系統(tǒng),系統(tǒng)中一共有3隔水箱,每隔水箱抖音一個液位傳感器、輸出的信號為0~10V電壓信號,檢測液位的高度為0~3m,液位為0.2m時為低液位,液位為2.5時為高液位。
2、每個水箱有三個進水閥和三個出水閥,進水閥分別是Y1、Y3、Y5,出水閥分別是Y2、Y4、Y6,每個水箱都有出水閥開和出水閥關(guān)兩個按鈕,出水閥開按鈕分別是SB1、SB3、SB5,出水閥關(guān)按鈕分別是SB2、SB4、SB6。
3、我們通過按SB1SB3SB5可以分別對各個水箱進行防水操作,順序是隨機的,當系統(tǒng)檢測到水箱的“空"信號時,系統(tǒng)會自動打開水箱進水閥進行注水,當檢測到水箱“滿"信號時停止進水。水箱注水和水箱放空的順序是相同的,而且每次只能對一個水箱進行注水的操作。
首*行IO分配:
IO分配好之后根據(jù)IO分配的點進行接線即可,還需注意液位傳感器需要接到模擬量輸入模塊,一共有三個液位傳感器,那么可以選擇SM1231 AI04的模塊,分別接到通道1、通道2、通道3即可。
1、首*行硬件組態(tài)、配置模擬量模塊的參數(shù)(案例源程序獲取,請看文末)
我們選用CPU1214C DC/DC/DC型號的PLC,此外因為需要對三個水箱的水位進行采集,要使用到模擬量輸入模塊,我們選用的是SM1231 AI04模塊,設(shè)備組態(tài)配置圖如下圖。
因為使用到了模擬量模塊,還需要設(shè)置相應(yīng)的模擬量輸入信號的參數(shù)。根據(jù)液位繼電器的輸出信號類型進行配置,我們配置測量類型為電壓,電壓范圍是正負10V,濾波為4個周期,啟用溢出診斷和下溢診斷。通道0對應(yīng)的地址是IW96,通道1對應(yīng)的地址是IW98,通道2對應(yīng)的地址是IW100。
2、編寫模擬量處理程序
模擬量轉(zhuǎn)換程序,是用來把采集到的模擬量信號轉(zhuǎn)換成實際的液位,并將它與低液位和高液位做比較,從而輸出是否達到低液位信號和高液位信號。因為三個水箱 計算過程是相同的,所以我們可以編寫一個帶形式參數(shù)的FC塊,方便重復(fù)調(diào)用。具體操作是添加一個FC塊,并且命名為“模擬量處理",設(shè)置好變量并編寫FC程序。
3、建立一個PLC數(shù)據(jù)類型、添加一個全局DB塊
在PLC數(shù)據(jù)類型頁面中添加一個PLC的數(shù)據(jù)類型,并把它命名為“Analog",在里面建立之后需要用到的變量,包括當前水位、低水位和高水位,并且設(shè)置好這三個變量的數(shù)據(jù)類型。
此外,再新建一個全局DB塊,把它命名為“水箱控制數(shù)據(jù)",我們可以在里面建立一個名稱為“模擬量"的變量名稱,數(shù)據(jù)類型設(shè)置成數(shù)組Array[0..2]of “Analog",然后把每個元素的數(shù)據(jù)類型選擇成建立的PLC的數(shù)據(jù)類型。
4、編寫水箱放水和進水控制程序(案例源程序獲取,請看文末)
因為有三個水箱,它們的注水和放水的過程是一樣的,我們就可以把水箱的注水和放水過程的程序編寫成一個帶形式參數(shù)的FB塊,方便重復(fù)調(diào)用。具體操作是添加一個FB塊,并命名為“水箱控制",在FB的接口區(qū)建立相應(yīng)的形式參數(shù)變量,然后再編寫FB中的控制程序。
以上是打開放水閥程序,當按下放水閥開按鈕時,放水電磁閥打開,按下放水閥關(guān)按鈕或者水位達到低水位時,關(guān)閉放水閥。
以上標記水箱空標志程序,因為水箱出現(xiàn)空信號后可以進行注水操作,但是一次只能對一個水箱進行注水,所以當標記水箱為空標志信號為1時,才可以進行注水操作。
當水箱水位到達低水位,則說明水箱是空的,這時如果另外兩個水箱的空標記信號沒有,那么這個水箱的空標記信號輸出為1,如果另外兩個水箱已經(jīng)有水箱出現(xiàn)空標記信號的話,那么這個水箱的空標記信號不能輸出為1。
而且當這個水箱開始注水時,水箱的空標記信號需要復(fù)位。
以上是開進水閥程序,當水箱空標記為1時,就可以打開進水電磁閥,同理因為一次只能對一個水箱進行注水操作,所以如果檢測到另外兩個水箱有注水操作時,那么這個水箱也不能進行注水操作。當達到高水位時停止關(guān)閉進水電磁閥,停止注水操作。
5、調(diào)用模擬量處理FC塊和水箱控制FB塊程序(案例源程序獲取,請看文末)
添加一個FB塊,并命名為“水箱水位控制程序",我們在這個FB塊中調(diào)用模擬量處理FC塊,模擬量處理FC塊的作用是對每隔水箱的液位傳感器的數(shù)據(jù)進行處理。
此外還要調(diào)用水箱控制FB塊程序,需要注意調(diào)用FB塊在分配背景數(shù)據(jù)塊時,要選擇多重實例背景,調(diào)用之后編寫每隔水箱的放水和進水的程序。