目的:用plc和觸摸屏(威綸通)控制8個(gè)指示燈。
要求:8個(gè)指示燈無(wú)序動(dòng)作,也可以是4個(gè)指示燈無(wú)序動(dòng)作,動(dòng)作的順序可以在觸摸屏上設(shè)置,動(dòng)作的時(shí)間間隔也可以設(shè)置。
示例:如果是8個(gè)燈動(dòng)作,比如最常見(jiàn)的是1-2-3-4-5-6-7-8-1.這種是簡(jiǎn)單明顯的,但是可以通過(guò)plc和觸摸屏我可以把順序控制成1-3-4-2-5-6-7-8,也可以5-6-7-1-2-3-4-8.。。。。。。。依次規(guī)律進(jìn)行。如果是4個(gè)燈動(dòng)作,順序也是可以設(shè)置,動(dòng)作如上規(guī)律。
回復(fù):編程思路是這樣:
在觸摸屏內(nèi)設(shè)置8個(gè)字節(jié)存儲(chǔ)器:vb100~vb107和1個(gè)字存儲(chǔ)器cw20,且與plc通訊。
1、其vb100~vb107這8個(gè)字節(jié)存儲(chǔ)器分別作為8個(gè)燈泡的選中標(biāo)志區(qū):vb100為第1燈泡的選中標(biāo)志區(qū),vb101為第2個(gè)點(diǎn)亮燈泡的選中標(biāo)志區(qū),……vb107為第8個(gè)點(diǎn)亮燈泡的選中標(biāo)志區(qū)。這8個(gè)燈的標(biāo)志存儲(chǔ)器的置數(shù)內(nèi)容分別置數(shù)為0~7這8個(gè)數(shù)字(互不重復(fù)):旗置數(shù)=0的存儲(chǔ)器對(duì)應(yīng)的燈為第1個(gè)點(diǎn)亮,置數(shù)=1的存儲(chǔ)器對(duì)應(yīng)的燈為第2個(gè)點(diǎn)亮 ……置數(shù)=7的存儲(chǔ)器對(duì)應(yīng)的燈為第8個(gè)點(diǎn)亮。觸摸屏可對(duì)vb100~vb107隨意設(shè)定0~7這8個(gè)數(shù),就可實(shí)現(xiàn)對(duì)這8個(gè)燈動(dòng)作順序的隨意改變。
2、用定時(shí)器t101作自振蕩器,其定時(shí)時(shí)間不設(shè)為具體數(shù)值,而用vw20代替,其vw20可由觸摸屏設(shè)定,這樣就可實(shí)現(xiàn)動(dòng)作的時(shí)間間隔也可以隨時(shí)設(shè)置的作用。
3、順序隨意控制的構(gòu)思:為實(shí)現(xiàn)8個(gè)燈能按各自標(biāo)示區(qū)(即vb100~vb107)置數(shù)的大小依次點(diǎn)亮,實(shí)現(xiàn)的辦法是采用一個(gè)計(jì)數(shù)器(mb10),計(jì)數(shù)器由0開(kāi)始,按給定的間隔進(jìn)行加1計(jì)數(shù),加到數(shù)=8立即請(qǐng)0,重新由0作加1計(jì)數(shù)。這樣:mb10的值將在0~7這8個(gè)數(shù)字變化,在計(jì)數(shù)過(guò)程中,又時(shí)時(shí)用計(jì)數(shù)器的計(jì)數(shù)值(mb10)與vb100~vb107的值進(jìn)行比較,與mb10值相等的標(biāo)示區(qū)對(duì)應(yīng)的燈亮,如:當(dāng)mb10=0時(shí),如vb103=0,則使vb103對(duì)應(yīng)燈(q0.3)為第一個(gè)點(diǎn)亮,接著mb10=1,如 vb00=1,則使vb100對(duì)應(yīng)燈(q0.0)為第二個(gè)點(diǎn)亮……從而實(shí)現(xiàn)按8個(gè)標(biāo)示區(qū)的數(shù)由0、1、2…7,依次點(diǎn)亮。按上述2、3二點(diǎn)思路進(jìn)行編程就是本程序的編程技巧之處。下面用s7-200編程如下,供你參考: