6SL3060-4AM00-0AA0連接電纜
在S7-200中,編程元件順序控制繼電器S是專門用于編寫順序控制(常稱為步進(jìn)控制)程序的。一個(gè)步進(jìn)控制程序是由若干個(gè)SCR段組成,每個(gè)SCR段對(duì)應(yīng)步進(jìn)控制中的一個(gè)功能控制步,簡(jiǎn)稱步。每個(gè)SCR都是一個(gè)相對(duì)穩(wěn)定的狀態(tài),都有段開始、段結(jié)束、段轉(zhuǎn)移。在57-200中,有3條簡(jiǎn)單的SCR指令與之對(duì)應(yīng)。
在語(yǔ)句表中,SCR的指令格式為:LSCR Sx.y
SORT Sx.y
SCRE
(1)段(步)開始指令LSCR (Load Sequence Control Relay)
段開始指令的功能是標(biāo)記一個(gè)SCR段(或一個(gè)步)的開始,其操作數(shù)是狀態(tài)繼電器Sx.y(如S0.0 ),Sx..y是當(dāng)前SCR段的標(biāo)志位,當(dāng)Sx.y為1時(shí),允許該SCR段工作。
(2)段(步)轉(zhuǎn)移指令SORT C Sequence Control Relay Transition)
段轉(zhuǎn)移指令的功能是將當(dāng)前的SCR段切換到下一個(gè)SCR段,其操作數(shù)是下一個(gè)SCR段的標(biāo)志位Sx.y(如S0.1)。當(dāng)允許輸入有效時(shí),進(jìn)行切換,即停止當(dāng)前SCR段工作,啟動(dòng)下一個(gè)SCR段工作。
(3)段(步)結(jié)束指令SORE ( Sequence Control Relay End)
段結(jié)束指令的功能是標(biāo)記一個(gè)SCR段(或一個(gè)步)的結(jié)束。每個(gè)SC必須使用段結(jié)束指令來(lái)表示該SCR段的結(jié)束。
圖1是一個(gè)裝料/卸料小車的行程控制系統(tǒng)示意圖。
圖1 小車的行程控制系統(tǒng)示意圖
1、控制要求
(1) 初始位置,小車在左端,左限位開關(guān)SQ1被壓下。
(2) 按下起動(dòng)按鈕sBl,小車開始裝料。
(3) 8s后裝料結(jié)束,小車自動(dòng)開始右行,碰到右限位開關(guān)SQ2時(shí),停止右行,小車開始卸料。
(4) Ss后卸料結(jié)束,小車自動(dòng)左行,碰到左限位開關(guān)SQ1后,停止左行,開始裝料。
(5) 延時(shí)8s后,裝料結(jié)束,小車自動(dòng)右行……,如此循環(huán),直到按下停止按鈕SB2,在當(dāng)前循環(huán)完成后,小車結(jié)束工作。
2、編程元件地址分配
①輸入/輸出繼電器地址分配如表1所示。
表1輸入/輸出繼電器的地址分配表
②其他編程元件地址分配如表2所示。
表2其他編程元件的地址分配
3、電路
本實(shí)驗(yàn)采用S7-200CPU222,其I/O接線圖如圖2所示。
圖2 裝料/卸料小車的I/O接線圖
4、參考梯形圖程序
步進(jìn)控制程序可借助于狀態(tài)流程圖來(lái)編程,裝料/卸料小車的狀態(tài)流程圖如圖3所示。參考梯形圖程序如圖4所示。
6SL3060-4AM00-0AA0連接電纜
關(guān)于定位控制(Positioning,調(diào)節(jié)(Regulated)和控制(Controlled)操作之間存在一些區(qū)別。步進(jìn)電機(jī)小需要連續(xù)的位置控制,而在控制操作中得到應(yīng)用。在以下的程序例子中,借助于CPU214所產(chǎn)生的集成脈沖輸出,通過(guò)步進(jìn)電機(jī)來(lái)實(shí)現(xiàn)相對(duì)的位置控制。雖然這種類型的定位控制小需要參考點(diǎn),本例還是初略地描述了確定參考點(diǎn)的簡(jiǎn)單步驟。因?yàn)閷?shí)際上它總是相對(duì)一根軸確定一個(gè)固定的參考點(diǎn),因此,用戶借助于一個(gè)輸入字節(jié)的對(duì)偶碼(Duul coding)給CP定定位角度。用戶程序根據(jù)該碼計(jì)算出所需的定位步數(shù),再由CPU輸出相關(guān)個(gè)數(shù)的控制脈沖。
例圖
硬件要求
程序框圖
程序和注釋
一、初始化
在程序的第一個(gè)掃描周期(SM0.1=1),初始化重要參數(shù)。
二、設(shè)置和取消參考點(diǎn)
如果還沒(méi)有確定參考點(diǎn),那么參考點(diǎn)曲線(Reference Point Curve)應(yīng)從按“START"(起動(dòng))按鈕(I1 .0開始。CPU有可能輸出最大數(shù)量的控制脈沖。在所需的參考點(diǎn),按“設(shè)置/取消參考點(diǎn)"開關(guān)((I1.4)后,首先調(diào)用停比電機(jī)的子程序。然后,將參考點(diǎn)標(biāo)志位M0.3置成1,再把新的操作模式“定位控制激活"顯示在輸出端Q1.0。
如果I1.4的開關(guān)己被激活,而且“定位控制"也被激活(M0.3=1),則切換到“參考點(diǎn)曲線"操作模式。在子程序1中,將M 0.3置成0,并取消“定位控制激活"的顯示(Q1 .0=0)。此外,控制還為輸出最大數(shù)量的控制脈沖做準(zhǔn)備。當(dāng)兩次激活I1 .4開關(guān),便在兩個(gè)模式之問(wèn)切換。如果此信號(hào)產(chǎn)生,同時(shí)電機(jī)在運(yùn)轉(zhuǎn),那么電機(jī)就自動(dòng)停機(jī)。
實(shí)際上,一個(gè)與馭動(dòng)器連接的參考點(diǎn)開關(guān)將代替手動(dòng)操作切換開關(guān)的使用,所以,參考點(diǎn)標(biāo)志能解決模式切換。
三、定位控制
如果確定了一個(gè)參考點(diǎn)(M0.3=1 ),而且沒(méi)有聯(lián)鎖,那么就執(zhí)行相對(duì)的定位控制。在子程序2中,控制器從輸入字節(jié)IBO讀出對(duì)偶碼方式的定位角度后,再存入字節(jié)MB11。與此角度有關(guān)的脈沖數(shù),根據(jù)下面的公式計(jì)算:
該示例程序所使用的步進(jìn)電機(jī)采用半步操作方式((S=1000)。在子程序3中循環(huán)計(jì)算步數(shù)。如果說(shuō)現(xiàn)在按“START"按鈕(I1.0), CPU將從輸出端Q0. 0輸出所計(jì)算的控制脈沖個(gè)數(shù),而且電機(jī)將根據(jù)相應(yīng)的步數(shù)來(lái)轉(zhuǎn)動(dòng),并在內(nèi)部將“電機(jī)轉(zhuǎn)動(dòng)"的標(biāo)志位M0.1置成1。
在完整的脈沖輸出之后,執(zhí)行中斷程序0,此程序?qū)?/span>M0.1置成0,以便能夠再次起動(dòng)電機(jī)。
四、停止電機(jī)
按“STOP"(停止)按鈕(I1.1),可在任何時(shí)候停止電機(jī)。執(zhí)行子程序0中與此有關(guān)的指令。
本程序長(zhǎng)度為147個(gè)字。