S7–200 PLC集成脈沖輸出功能的應(yīng)用
S7–200 PLC集成脈沖輸出功能的應(yīng)用
90年代中期,西門子公司推出了S7系列PLC,它不僅承襲了在我國得到廣泛使用的S5系列PLC的優(yōu)點(diǎn),還更加注重功能的改進(jìn)和集成,以方便用戶的使用。對(duì)于現(xiàn)在倍受重視的脈沖輸出、模擬量控制、閉環(huán)控制、通訊等,均提供了與單片機(jī)相類似但更加靈活方便的相應(yīng)指令和使用途徑。
集成脈沖輸出功能的應(yīng)用較廣,如交流調(diào)速系統(tǒng)中的驅(qū)動(dòng)模板所需的PWM信號(hào)源,數(shù)控系統(tǒng)中用于拖動(dòng)步進(jìn)電機(jī)的驅(qū)動(dòng)模板所需的脈沖串PTO信號(hào)源等。在S7-200系列PLC中,就有相應(yīng)的指令,從而使這種實(shí)時(shí)控制功能的實(shí)現(xiàn)演變?yōu)樘顚懸粡埍砀?,再?zhí)行一條指令。比起用單板機(jī)或單片機(jī)以匯編語言來實(shí)現(xiàn),則顯現(xiàn)出其高效且簡(jiǎn)單的優(yōu)勢(shì)。
二、集成脈沖輸出的原理與實(shí)現(xiàn)
采用AC/DC/DC型CPU214,要求在Q0.0上輸出周期和脈沖數(shù)固定的脈沖串(PTO)信號(hào),以控制步進(jìn)電機(jī)驅(qū)動(dòng)器。驅(qū)動(dòng)器將控制脈沖按照某種方式轉(zhuǎn)換成步進(jìn)電機(jī)線圈的電流,產(chǎn)生旋轉(zhuǎn)磁場(chǎng),以使轉(zhuǎn)子只能按固定的步數(shù)來改變其位置。
要啟動(dòng)集成脈沖輸出功能PT(Q0.0),首先應(yīng)在相應(yīng)的系統(tǒng)內(nèi)部控制字節(jié)SMB67中按位填入0或1。為便于編程,現(xiàn)將各種可能的控制字節(jié)值以表格的形式給出,如表1示。在實(shí)際編程時(shí)只需按所需的功能來查找相應(yīng)的16進(jìn)制數(shù)填表即可。然后將周期值填入SMW68,再將脈寬送入SMW70中。最后執(zhí)行PLS指令。
1、程序?qū)⒅芷谥翟O(shè)為10ms,主要是為了便于理解和觀測(cè)。另外,只需3條導(dǎo)線,2只按鈕,一個(gè)開關(guān)外加一個(gè)功率驅(qū)動(dòng)器和一臺(tái)步進(jìn)電機(jī)即可完成本試驗(yàn)(若無功率驅(qū)動(dòng)器和步進(jìn)電機(jī),也可用示波器觀察Q0.0的脈沖輸出),但應(yīng)指出,本例程序?qū)⒅芷谥蹈某珊苄〉闹抵?,不需作任何其他的修改即可用于高速PTO信號(hào)源。
2、CPU214上有兩個(gè)集成的模擬量手動(dòng)調(diào)節(jié)旋鈕(Ch0、1),這一旋鈕的作用是,可不增加任何額外硬件開銷而能夠在運(yùn)行中進(jìn)行PID參數(shù)的設(shè)定或定時(shí)時(shí)間值的修改以及實(shí)現(xiàn)脈寬的在線修改或給定
三、語句表程序及分析
1、初始化(Network 1)
對(duì)PTO控制字節(jié)的初始化,即規(guī)定了脈沖周期和脈沖數(shù);分配中斷事件并開中斷。
2、旋轉(zhuǎn)方向控制(Network 2-3)
用接在輸入端I0.2的開關(guān)來選擇轉(zhuǎn)動(dòng)方向。如果I0.2=1,將輸出Q0.2置成1,電機(jī)逆時(shí)針轉(zhuǎn)動(dòng)。如果I0.2=0,將輸出Q0.2置成0,電機(jī)順時(shí)針轉(zhuǎn)動(dòng)。為保護(hù)電機(jī)避免漏步,電機(jī)轉(zhuǎn)動(dòng)方向的改變只能在電機(jī)處于停止?fàn)顟B(tài)(M0.1=0)時(shí)方可進(jìn)行。
3、聯(lián)鎖控制(Network 4-5)
為保護(hù)人員和設(shè)備的安全,在按“STOP”按鈕( I0.1)之后,必須規(guī)定驅(qū)動(dòng)器聯(lián)鎖,將聯(lián)鎖標(biāo)志M0.2置位(M0.2=1),立即關(guān)斷驅(qū)動(dòng)器。只有在M0.2復(fù)位(M0.2=0)后,才能重新起動(dòng)電機(jī)。當(dāng)“STOP”按鈕松開后,為防止電機(jī)的意外起動(dòng),只有在按鈕(I0.0)和“STOP”按鈕都松開后,才能將M0.2復(fù)位(M0.2 = 0),若要再次起動(dòng)電機(jī),則必須再發(fā)一個(gè)起動(dòng)信號(hào)。
4、起動(dòng)電機(jī)(Network 6)
若同時(shí)具備(1)按起動(dòng)按鈕,即輸入端I0.0產(chǎn)生脈沖上升沿;(2)無聯(lián)鎖,即聯(lián)鎖標(biāo)志M0.2=0;(3)電機(jī)處于停止?fàn)顟B(tài),即操作標(biāo)志M0.1=0 三條件,則將M0.1置位,PLC執(zhí)行PLS指令,輸出端Q0.0輸出脈沖。
5、停止電機(jī)(Network 7)
若同時(shí)具備(1)按“STOP”按鈕,在輸入端I0.1產(chǎn)生脈沖上升沿;(2)電機(jī)處于運(yùn)轉(zhuǎn)狀態(tài),即操作標(biāo)志M0.1=1兩條件 ,,則將標(biāo)志M0.1復(fù)位,并中斷輸出端Q0.0的脈沖輸出。
6、中斷處理(Network 1)
在初始化程序(Network1的最后)中,已將中斷程序0賦予中斷事件19,且全局開中斷(ENI)。則隨著PLS指令的執(zhí)行,必使Q0.0接通或關(guān)斷,從而觸發(fā)中斷程序0的執(zhí)行。
7、中斷程序0(Network 10)
編制中斷程序的原則是越短越好。在此,只將電機(jī)運(yùn)轉(zhuǎn)標(biāo)志M0.1復(fù)位。
四、調(diào)試及討論
1、硬件接線
將起動(dòng)(“START”)按鈕接于控制器(PLC)的輸入端I0.0上,停止(“ STOP")按鈕接于控制器的輸入端I0.1上轉(zhuǎn)換開關(guān)接于控制器的輸入端上I0.2,輸出Q0.0,Q0.2分別接功率驅(qū)動(dòng)器的輸入,以驅(qū)動(dòng)步進(jìn)電機(jī)的運(yùn)轉(zhuǎn);若無功率驅(qū)動(dòng)器,可將Q0.0接示波器,以觀察脈沖串(PTO) 輸出。
2、實(shí)驗(yàn)現(xiàn)象
程序輸入完畢,將工作模式選中“RUN”,按起動(dòng)(“START”)按鈕后,可觀察到控制器輸出固定數(shù)目的方波脈沖,使步進(jìn)電機(jī)按對(duì)應(yīng)的步數(shù)轉(zhuǎn)動(dòng);按停止(“STOP”)按鈕后,可觀察到控制器無脈沖輸出,步進(jìn)電機(jī)停止轉(zhuǎn)動(dòng)。扳動(dòng)轉(zhuǎn)換開關(guān),可觀察到步進(jìn)電機(jī)轉(zhuǎn)向的變化。