何淼
(陜西國防工業(yè)職業(yè)技術學院,陜西 西安 710300)
西門子S7—1200有著很多強大的功能,配有PROFINET集成接口、靈活的擴展能力以及具有集成工藝特點,能夠提供簡易的通信和行之有效的解決方案,供多種工藝任務的需求,特別是能夠提供多種應用所需的特性各異的自動化需求。其中,計數(shù)器是S7—1200提供的一種用來累計輸入脈沖個數(shù)的編程元件,在實際應用中用于對產(chǎn)品進行計數(shù)或完成復雜邏輯控制任務。
在S7—1200的PLC中,可以使用計數(shù)器指令對內部程序事件和外部過程事件進行計數(shù)。每個計數(shù)器都使用數(shù)據(jù)塊中存儲的結構來保存計數(shù)器數(shù)據(jù)。用戶在編輯器中放置計數(shù)器指令時分配相應的數(shù)據(jù)塊。
S7—1200PLC有3種計數(shù)器:加計數(shù)器CTU、減計數(shù)器CTD、加減計數(shù)器CTUD。在調用指令時,系統(tǒng)會自動生成保持計數(shù)器數(shù)據(jù)的背景數(shù)據(jù)塊。這些指令屬于軟件計數(shù)器,其最大計數(shù)速率受其所在的OB的執(zhí)行速率限制。如果需要速率更高的計數(shù)器,可以使用CPU內置的高數(shù)計數(shù)器。選用西門子S7—1200加計數(shù)器CTU,在完成CTU用法探討后,通過分析自動線上產(chǎn)品數(shù)量檢測裝置的控制要求,分配其I/O,設計其梯形圖,最終完成自動生產(chǎn)線上產(chǎn)品數(shù)量檢測的PLC控制。
本文選用CPU為1214C DC/DC/DC的西門子S7—1200PLC,編程軟件用博途V15。在博途V15環(huán)境下添加計數(shù)器時,先在項目樹中,打開OB1,然后在指令樹中,拖拽CTU計數(shù)器指令到程序段中,系統(tǒng)自動打開背景數(shù)據(jù)塊選擇對話框,單擊確認按鈕,采用默認設置,系統(tǒng)就會給計數(shù)器自動分配背景數(shù)據(jù)塊,如圖1所示。
圖1 CTU計數(shù)器
在圖1中,%DB1“IEC_Counter_0_DB”為計數(shù)器背景數(shù)據(jù)塊,由系統(tǒng)自動生成;單擊“Int”可以選擇計數(shù)器的數(shù)據(jù)類型(Int、SInt、DInt、UInt、USInt、UDInt等),計數(shù)器的計數(shù)范圍取決于所選的數(shù)據(jù)類型;CU為計數(shù)器的脈沖輸入端,即啟動計數(shù)器的條件;PV為計數(shù)器的預設值;R為計數(shù)器的復位端;CV為存儲計數(shù)器當前值的地址;Q為計數(shù)器的輸出值。
S7—1200計數(shù)器使用一個存儲在數(shù)據(jù)塊中的結構來保持計數(shù)器數(shù)據(jù)。在工作區(qū)中,放置定期器指令時要求分配該數(shù)據(jù)塊,也就是說使用計數(shù)器時,要為其分配背景數(shù)據(jù)塊。下面利用時序圖2,說明接通計數(shù)器的工作過程。
圖2 計數(shù)器的時序圖
圖2是計數(shù)值為無符號整數(shù)的CTU時序圖(其中預設值PV=3),每當計數(shù)器的脈沖輸入端CU的值從0變?yōu)?時,加計數(shù)器的當前值CV=CV+1。當CV≥PV時,計數(shù)器的輸出端被置為1。這時若再加計數(shù)器脈沖,計數(shù)器的當前值仍然不斷增加,直到所選計數(shù)器數(shù)據(jù)類型的范圍限值。當復位端R的值從0變?yōu)?,計數(shù)值的當前值和輸出狀態(tài)就重置為0。
自動生產(chǎn)線上產(chǎn)品數(shù)量檢測裝置控制要求如下。啟動按鈕、停止按鈕控制電機的運動,電機拖動傳送帶運轉,以驅動傳送帶傳輸工件,光電傳感器檢測通過產(chǎn)品的數(shù)量,每湊夠3個產(chǎn)品,機械手動作1次,進行包裝,機械手動作后延時2s,把機械手電磁鐵切斷。
根據(jù)自動生產(chǎn)線上產(chǎn)品數(shù)量檢測裝置的控制要求可知,有啟動按鈕、停止按鈕、光電傳感器共計3個數(shù)字量輸入,有電機、機械手共計2個數(shù)字量輸出,因此本文選擇的CPU為1214C DC/DC/DC的西門子S7—1200PLC可以滿足其硬件要求,表1是產(chǎn)品數(shù)量檢測的I/O分配表。
表1 產(chǎn)品數(shù)量檢測的I/O分配表
在設計產(chǎn)品數(shù)量檢測的梯形圖時,先借助輔助繼電器M,利用“啟保?!本幊谭椒?,實現(xiàn)M0.0的啟動和停止;然后用M0.0啟動電機運動;用M0.0與光電傳感器I0.2作為計數(shù)器CTU的脈沖輸入端,而計數(shù)器CTU的復位端則用定時器TON的常閉觸點或M0.0接通一次的信號;再用計數(shù)器的常開觸點使機械手Q0.1得電,并且同時驅動5s開始計時TON;最后用TON的常閉觸點斷開Q0.1,使機械手停止運動。
打開博途V15編程軟件,首先創(chuàng)建新項目,在“設備組態(tài)”中,選擇控制器的PLC類型、CPU型號、CPU訂貨號和PLC版本號,然后完成以太網(wǎng)地址的設置,再在“程序塊—Main—OB1”中,輸入圖3設計的梯形圖,最后再分別將項目樹中的“設備組態(tài)”和“OBI梯形圖”下載到PLC中。此時,只需根據(jù)產(chǎn)品數(shù)量檢測的I/O分配,完成其PLC的外部接線后,按下啟動按鈕I0.0閉合,M0.0線圈得電并自鎖,其常開觸點閉合,Q0.0線圈得電,傳送帶電機運轉;隨著傳送帶的運動,光電傳感器每檢到一個工件都會給計數(shù)器CTU脈沖,當脈沖數(shù)為3時,CTU輸出狀態(tài)置位為1,其常開觸點閉合,O0.1得電,機械手把貨物抓走,與此同時,定時器TON開始計時,5秒后O0.1斷開,機械手復位。當按下停止按鈕時,電機停止運轉。
圖3 梯形圖
本文在檢測自動線上產(chǎn)品的數(shù)量時,采用S7—1200的CTU計數(shù)器,從CTU計數(shù)器的使用、程序設計和系統(tǒng)調試3個方面進行分析、設計和論證,從而證明采用CTU計數(shù)器設計的控制自動生產(chǎn)線產(chǎn)品數(shù)量檢測的PLC程序,不但滿足了控制要求。實現(xiàn)產(chǎn)品數(shù)量檢測的目的,而且系統(tǒng)精確度高、修改和監(jiān)視也方便。