用S7-200編程的五個(gè)實(shí)例的解析
| 2010-09-23 23:12:23 樓主
本文用S7-200編寫(xiě)的五個(gè)實(shí)例是根據(jù)網(wǎng)上網(wǎng)友的求助編寫(xiě)的,供大家參考。
1、一網(wǎng)友求助:“本人是PLC新手,剛學(xué)習(xí)不到一個(gè)月, 現(xiàn)有一個(gè)項(xiàng)目~~ 要對(duì)目標(biāo)信號(hào)進(jìn)行檢測(cè)計(jì)數(shù)~~ 信號(hào)為24V直流~~ 每隔一定的時(shí)間進(jìn)行信號(hào)端檢測(cè),如果為“
急切 PS:采用西門(mén)子S7-200系列PLC,STEP7 V4.0 SP6,組態(tài)王6.53,進(jìn)行上述測(cè)試~~如果能有梯形圖程序就不勝感激了~郵箱w4169349@163.com
回復(fù):按著你的要求,編寫(xiě)如下梯形圖,在組態(tài)王數(shù)據(jù)詞典里建立I/O整數(shù)字變量VW100,設(shè)可讀方式,再設(shè) I/O字節(jié)變量M2,其BIT(M2,1)為系統(tǒng)啟動(dòng)工作位,BIT(M2,2)為報(bào)警輸出位。在運(yùn)行時(shí),組態(tài)王時(shí)時(shí)從PLC讀取VW100及MB2的數(shù)據(jù),出現(xiàn)報(bào)警,系統(tǒng)工作停止,此時(shí)的VW100值,即為報(bào)警前返回信號(hào)次數(shù),系統(tǒng)檢查完畢始終未出現(xiàn)報(bào)警,按下停止按鈕,此時(shí)的VW100值即為最終檢測(cè)返回信號(hào)值。
2、一網(wǎng)友提出:“謝謝樓主,對(duì)我這個(gè)新手來(lái)說(shuō)真是好東西。請(qǐng)教樓主用一個(gè)按鈕控制電機(jī)正反轉(zhuǎn)用S7-200怎么做,考慮了很久不太清楚,請(qǐng)您詳細(xì)講解一下,謝謝。”
我的回復(fù):按著你的要求,我給你編了S7-200梯形圖,用一個(gè)按鈕起動(dòng)電機(jī)正反轉(zhuǎn),又增加一個(gè)自鎖按鈕作為電機(jī)工作停止開(kāi)關(guān)。 其工作原理:I1.1為自鎖按鈕,抬起位,其常閉觸點(diǎn)閉合,使M2.0、M2.1、M2.2、M2.3皆為0狀態(tài),此時(shí)即使按I1,0啟動(dòng)按鈕,SR觸發(fā)器也不會(huì)反轉(zhuǎn),故電機(jī)停止不動(dòng)。按下I1.1按鈕,其常閉點(diǎn)斷開(kāi),容許電機(jī)工作,這時(shí),如按一下I1,0,就會(huì)使SR觸發(fā)器反轉(zhuǎn),即M2.0=1、M2.1=1,M2.0=1的前沿,觸發(fā)位開(kāi)關(guān),使M2.2=1、M2.3=0,M2.2=1 接通T100定時(shí)器,延時(shí)0.5秒,T100動(dòng)作,其常開(kāi)點(diǎn)閉合使Q1.0=1,電機(jī)正傳運(yùn)行。如再按一下I1.0按鈕,使SR觸發(fā)器又翻轉(zhuǎn),其M2.0=0,M2.0的后沿,觸發(fā)位開(kāi)關(guān),使M2.2=0-->T00=0,電機(jī)立刻斷電,同時(shí)又使M2.3=1,使T101得電,延時(shí)0.5秒T101動(dòng)作,其觸電閉合,使Q1.1=1,電機(jī)反轉(zhuǎn)運(yùn)行。....這樣用一個(gè)按鈕就可實(shí)現(xiàn)控制電機(jī)反正轉(zhuǎn)。如要想使電機(jī)停止運(yùn)轉(zhuǎn),抬起I1.1自鎖按鈕,I1.1的常閉點(diǎn)閉合強(qiáng)迫M2.0、M2.1、M2.2、M2.3四點(diǎn)都=0,T100、T101也=0,Q1.0、Q1.1也=0,電機(jī)停止運(yùn)行。
3、網(wǎng)友求助:“ 現(xiàn)我有一設(shè)備,要求此設(shè)備運(yùn)行到一定時(shí)間需要給上位機(jī)一個(gè)報(bào)警信號(hào),提示需要更換潤(rùn)滑油,但設(shè)備廠家的要求是,新設(shè)備首次運(yùn)行500小時(shí)需要更換一次潤(rùn)滑油,以后每3000小時(shí)則需要再次更換潤(rùn)滑油,現(xiàn)我有一VD變量存儲(chǔ)設(shè)備運(yùn)行時(shí)間,且已存如斷電保存寄存器,請(qǐng)教,如何才能用最簡(jiǎn)單的方法實(shí)現(xiàn)以上功能;假設(shè)設(shè)備運(yùn)行時(shí)間保存變量地址為VD100,報(bào)警信號(hào)為M10。希望能給出梯形圖或STL程序,謝謝!”
回復(fù):按你的要求編寫(xiě)的梯形圖如下圖,其工作原理如下:
1、MW0-MW10 設(shè)置掉電保護(hù)狀態(tài),軟件下載后第一次運(yùn)行,M4.0--M4.3皆處于置0狀態(tài)。M4.0=0,使比較器進(jìn)行的是MW2與500比較,當(dāng)MW2=500時(shí),比較器使M4.0=1、M4.1=1,向上位機(jī)發(fā)出換油信號(hào),同時(shí)將MW2值加入VD100,再將MW2清0,如此時(shí)斷電,再接通電源,由于M4.1=1,仍發(fā)出換油指示。只有上位機(jī)發(fā)回應(yīng)答信號(hào),PLC才將M4.1清0.
2、當(dāng)?shù)谝淮?/span>MW2=500比較器使M4.0=1后,M4.0始終保持1狀態(tài),所以以后的比較都是MW2與3000比較,每次比較完后,MW2值累加到VD100中,再清0,故可多次運(yùn)行該程序。
4、網(wǎng)友求助:“八個(gè)彩燈Y0~Y7,啟動(dòng)后,燈每秒亮一個(gè),即第一秒亮Y1,第二秒亮Y1,Y2,至全亮。并且可以循環(huán)進(jìn)行,并有暫停和停止功能。(西門(mén)子200)MOV,ROL我只清楚一部分的程序,不知其所 ”
我的回帖,梯形圖如下,供你參考:
動(dòng)作原理:開(kāi)機(jī)的第一個(gè)周期,SM0.1=1,使S0.1置1,進(jìn)入S0.1程序段:按一下啟動(dòng)按鈕I1.0,使M2.0=1,其前沿,使MW9=1即使M10.0=1),M2.1=1使定時(shí)器T100得電延時(shí),延時(shí)1秒,MB10左移一位,MB10加 1 ,MB9加1,同時(shí)使M2.1=0,M2.2=1,T100斷電,T96得電延時(shí),延時(shí)10毫秒,T96動(dòng)作,M2.1=1,M2.2=0,T96斷電,T100得電延時(shí)…..當(dāng)MB9=8時(shí),將0 MW9, 使8個(gè)彩燈全滅,同時(shí)使M2.1=0、M2.2=0、M2.4=1,即 T100、T96斷電,T101得電延時(shí),延時(shí)1秒,T101動(dòng)作,M2.1=1,M2.4=0,使定時(shí)器T100得電延時(shí)…..開(kāi)始第二次循環(huán)。I1.1為暫停按鈕,按一下它,使M2.7=1,其常閉點(diǎn)斷開(kāi),程序在原位置停下,再按一下它,使M2.7=0,其常閉點(diǎn)又閉合,程序從停止位置繼續(xù)進(jìn)行。I1.2為停止按鈕,按一下I1.2, MW9=0,8個(gè)彩燈全滅,程序結(jié)束。
5、有一網(wǎng)友提出“使用定時(shí)器實(shí)現(xiàn)自由設(shè)定時(shí)鐘脈沖發(fā)生器功能(脈沖占空系數(shù)1:1)。
問(wèn)題
1 對(duì)時(shí)鐘脈沖發(fā)生器的原理還是不太理解,能不能解釋一下。
2。程序中用定時(shí)器是怎么實(shí)現(xiàn)時(shí)鐘發(fā)生器功能的????
3. 題目中說(shuō)可以自由設(shè)定 ?在程序中是怎么實(shí)現(xiàn)的??
總之 ,對(duì)這個(gè)程序還是不能理解,如果有高手能給詳細(xì)解釋一下就好了。 期待中。。。。。。
”
我的解答:
1、時(shí)鐘脈沖發(fā)生器的原理:當(dāng)PLC工作執(zhí)行第一條指令時(shí),由于起始時(shí)M0.0=0,故使T0得電且立刻吸合,產(chǎn)生250ms正脈沖(即在250ms內(nèi),T0=1),T0=1使M0.0=1,M0.0=1又使程序轉(zhuǎn)移到N001處,執(zhí)行將MW100—>QW12的操作。當(dāng)延時(shí)時(shí)間=250ms時(shí),T0斷電,即T0=0,使M0.0=0。由于M0.0=0,使程序不能執(zhí)行轉(zhuǎn)移程序指令,卻使程序執(zhí)行MW100加 1 指令。下一個(gè)掃描周期,由于M0.0=0,故使T0得電,T0=1且立刻產(chǎn)生250ms正脈沖,T0=1使M0.0=1,M0.0=1又使程序轉(zhuǎn)移到N001處,執(zhí)行將MW100—>QW12的工作…..就是這樣,每隔250ms,MW100加 1一次,( MW100加 1指令的執(zhí)行只占一個(gè)掃描周期,即M0.0=0的周期)此時(shí)的MW100相當(dāng)是16位二進(jìn)制加法計(jì)數(shù)器,計(jì)數(shù)脈沖為間隔250ms、寬度為1個(gè)掃描周期的尖脈沖,其頻率為4Hz。每出現(xiàn)一次尖脈沖,MW100計(jì)數(shù)加1 。M101.0是計(jì)數(shù)器最低位,它對(duì)計(jì)數(shù)脈沖起二分頻作用,故由它輸出的脈沖頻率為2 Hz、周期0.5S、脈寬0.25 S。M101.1是計(jì)數(shù)器次低位,它對(duì)計(jì)數(shù)脈沖起四分頻作用,由它輸出的脈沖頻率為1Hz、周期1 S、脈寬0. 5 S,以此類(lèi)推。
QW12,故PLC輸出口QB12對(duì)應(yīng)MB100,而QB13對(duì)應(yīng)MB101。如選用Q13.1做脈沖輸出,即相當(dāng)選用M101.1做輸出,即對(duì)計(jì)數(shù)脈沖4分頻,故輸出脈沖頻率=1Hz,如選用Q13.3做脈沖輸出,即相當(dāng)選用M101.3做輸出,即對(duì)計(jì)數(shù)脈沖16分頻,故輸出脈沖頻率=0.25Hz。。。。選用PLC不同的輸出端,就可以得到不同的輸出頻率脈沖,這就是可以自由設(shè)定的實(shí)現(xiàn)方法。à2、由于程序執(zhí)行MW100
3、我認(rèn)為上面第三個(gè)表中標(biāo)注的不應(yīng)該是掃描周期,應(yīng)該為計(jì)數(shù)脈沖個(gè)數(shù),因?yàn)?/span>PLC的掃描周期是指從指令的第一條開(kāi)始到最后一條指令為止的所用時(shí)間,而不是250ms。如程序不長(zhǎng),在這250ms時(shí)間內(nèi),將會(huì)出現(xiàn)很多次掃描周期。在這個(gè)程序里,M0.0=0,只存在1個(gè)掃描周期,也就在這個(gè)周期里,MW100執(zhí)行一次加1 操作。
4、該程序如將脈沖輸出式定時(shí)器(SE)改為通電延時(shí)式定時(shí)器(SD),可不用轉(zhuǎn)移指令,同樣可實(shí)現(xiàn)脈沖輸出的目的,見(jiàn)下圖: