PLC編程如同人寫文章一樣,同樣的文字不同的組合,寫出的效果不一樣,有的語(yǔ)言精練,條理清晰,幾句話說(shuō)明問(wèn)題,有的卻相反,啰里啰唆,越講越讓人糊涂。如何才能寫出好文章呢?只有深入學(xué)習(xí),提高文學(xué)素質(zhì),多寫多練,不斷積累,不斷總結(jié)經(jīng)驗(yàn),肯定會(huì)成功的。對(duì)PLC編程也是一樣,也要深入學(xué)習(xí),提高編程素質(zhì),也要多編多練,不斷積累,不斷總結(jié)經(jīng)驗(yàn)。提高編程素質(zhì),不僅僅要深入理解每條指令內(nèi)涵及用法,還要擴(kuò)大知識(shí)面,使你擴(kuò)大視野,增強(qiáng)思維和分析問(wèn)題的能力?,F(xiàn)舉一例:前兩天,從網(wǎng)上看到一網(wǎng)友求助:其內(nèi)容為:
《有個(gè)PT100的溫度傳感器 通過(guò)500歐姆的電阻將4~20MA的電流轉(zhuǎn)換成2-10的電壓信號(hào)送到PLC模擬量端!
對(duì)應(yīng)的溫度范圍是0~100度! 則轉(zhuǎn)換公式為
AIW0-6400
T= ----------------X(100-0)+0
32000-6400
這個(gè)公式怎么來(lái)的啊?
“通過(guò)500歐姆的電阻將4~20MA的電流轉(zhuǎn)換成2-10的電壓信號(hào)送到PLC模擬量端!”
這句話是不是這個(gè)意識(shí)啊?
如果要用電流信號(hào)!就不用500歐姆的電阻!直接采取4~20MA的電流接到輸入端!
如果要用電壓信號(hào)!就串聯(lián)500歐姆的電阻!采取2~10V的電壓信號(hào)!這個(gè)電壓是指電阻分壓得到電阻兩端的電壓?jiǎn)???nbsp;
我給他的回帖是:
《w375823876:我給你說(shuō)說(shuō)這個(gè)問(wèn)題,4-20ma電流通過(guò)500歐姆電阻將產(chǎn)生2-10V 電壓,送入PLC的模塊,從轉(zhuǎn)換公式可知:式中的6400這個(gè)數(shù)是由2V轉(zhuǎn)換來(lái)的數(shù)字量(因?yàn)檩斎?/FONT>2V 時(shí) 要使T=0,必需公式的分子項(xiàng)的轉(zhuǎn)換值AIWO-6400=0才行),從中又可知:1V對(duì)應(yīng)的數(shù)字量=3200,式中的“AIWO-6400”值即為2-10V輸入時(shí)模擬塊轉(zhuǎn)換的數(shù)字量減去2V的數(shù)字量的值,當(dāng)輸入=10V時(shí),其值=3200*8=25600,要使此時(shí)溫度顯示值為100,就得將此值除以256,但式中后面又乘(100-0)故公式的分母項(xiàng)上 為32000-6400,及=25600. 你用的是輸入要求0-10V電壓模擬信號(hào)的模擬量轉(zhuǎn)換塊,不能直接用4-20ma電流做輸入信號(hào)?!?nbsp;
這個(gè)問(wèn)題就不是簡(jiǎn)單用指令編程的問(wèn)題,它涉及到電學(xué)及數(shù)學(xué)知識(shí),如果沒(méi)有這方面知識(shí),是很難理解的。再舉一例,有的生產(chǎn)線,不僅要求對(duì)設(shè)備動(dòng)作編程,還要能預(yù)置參數(shù),對(duì)生產(chǎn)狀況能進(jìn)行實(shí)時(shí)顯示,并能打印出來(lái)??紤]設(shè)備成本,現(xiàn)場(chǎng)條件及操作者素質(zhì),不要配備工控機(jī)及觸摸屏,怎么辦,外配儀表,找不到合適的,用單片機(jī)自行設(shè)計(jì),可以。但抗干擾差,一旦數(shù)據(jù)丟失 無(wú)法恢復(fù),這是設(shè)備生產(chǎn)所不容許的。我就用硬件設(shè)計(jì)了一個(gè)電路并做出印刷板,采用串口輸送數(shù)據(jù)的方式,僅占用PLC的幾個(gè)I/O口,就實(shí)現(xiàn)了上述功能,用PLC的高數(shù)計(jì)數(shù)器進(jìn)行數(shù)據(jù)采集,用PLC進(jìn)行數(shù)據(jù)運(yùn)算處理,PLC將結(jié)果輸出給電路板,完成了參數(shù)設(shè)定、數(shù)據(jù)顯示及打印功能,由于PLC抗干擾強(qiáng),且具有斷電對(duì)數(shù)據(jù)保護(hù)功能,不會(huì)出現(xiàn)數(shù)據(jù)丟失現(xiàn)象。
了解掌握指令的特性,可以巧妙使用指令去完成一些控制動(dòng)作。如有一網(wǎng)友求助:“求:
將0-4mm數(shù)字量轉(zhuǎn)換為0-10V模擬量后,利用西門子PLC如何解決將2mm以下數(shù)字量進(jìn)行報(bào)警剔除請(qǐng)高手幫忙?!?nbsp;
我的回帖:“WWPLC;可以這樣做:0-4mm轉(zhuǎn)換0-10V,去PLC ,你一定選用電壓轉(zhuǎn)換為數(shù)字量的模塊,你應(yīng)從該模塊的參數(shù)中,知道1V 電壓應(yīng)轉(zhuǎn)換的數(shù)字量值,2mm對(duì)應(yīng)的電壓應(yīng)=5V,其對(duì)應(yīng)的數(shù)字量,應(yīng)等于5乘1V的數(shù)字量,這樣你可在編程時(shí) ,用一比較指令,用2mm對(duì)應(yīng)的數(shù)字量值與0-4mm信號(hào)輸入且轉(zhuǎn)換為數(shù)字量的值進(jìn)行比較,大于2mm,通過(guò),小于2mm你做刪除處理?!睆闹锌梢?jiàn),用一個(gè)比較指令就可解決問(wèn)題
再如:在鋼廠的一些生產(chǎn)線上,當(dāng)料臺(tái)前端有鋼管,撥料裝置就將其撥到輥道上,一般用接近開(kāi)關(guān)放置在料臺(tái)前端下方,上方有料時(shí),接近開(kāi)關(guān)吸合,使撥料裝置動(dòng)作,將鋼管從料臺(tái)撥到輥道上。在編程時(shí),不能簡(jiǎn)單的用一個(gè)接近開(kāi)關(guān)的常開(kāi)觸點(diǎn)直接驅(qū)動(dòng)撥料裝置,要考慮現(xiàn)場(chǎng)實(shí)際情況:當(dāng)鋼管從送料處,滾到料臺(tái)前端時(shí),其沖量很大,碰到擋板時(shí),它不會(huì)立即停下,而是前后擺動(dòng)幾次方能停下來(lái),而且會(huì)出現(xiàn)斜放狀態(tài),如直接用接近開(kāi)關(guān)觸點(diǎn)去觸發(fā)撥料裝置,就會(huì)出現(xiàn)空撥或把鋼管撥翻的事故,怎樣處理這個(gè)問(wèn)題,我們可以用兩個(gè)接近開(kāi)關(guān),放在料臺(tái)前端兩側(cè),用這兩個(gè)開(kāi)關(guān)的常開(kāi)觸點(diǎn)串聯(lián)去接通定時(shí)為30秒的通電延時(shí)定時(shí)器,再用該定時(shí)器的 常開(kāi)觸點(diǎn)去觸發(fā)撥料裝置,即可解決這個(gè)問(wèn)題:1、兩個(gè)開(kāi)關(guān)必須都閉合,方可確認(rèn)鋼管不是斜放位置,2、如鋼管前后擺動(dòng),接近開(kāi)關(guān)的常開(kāi)觸點(diǎn)也會(huì)隨之通斷通斷的變化,這使得定時(shí)器,也隨之不斷的刷新定時(shí)時(shí)間,重新從0開(kāi)始計(jì)時(shí),,直到鋼管穩(wěn)定時(shí),定時(shí)器才可從0開(kāi)始計(jì)時(shí),計(jì)時(shí)30秒,定時(shí)器動(dòng)作,觸發(fā)撥料裝置使其動(dòng)作。這也是巧妙利用定時(shí)器的這個(gè)特性:它在得電延時(shí)中,如輸入斷開(kāi),停止延時(shí)計(jì)數(shù),再接通時(shí),它將重新從0延時(shí)計(jì)數(shù)。
再如:有一在線探傷生產(chǎn)線,在輥道上安放一光電開(kāi)關(guān),當(dāng)鋼管通過(guò)它時(shí),其觸點(diǎn)閉合,開(kāi)始探傷與測(cè)長(zhǎng),鋼管離開(kāi)光電開(kāi)關(guān)后,立即將測(cè)長(zhǎng)值和探傷數(shù)據(jù)上傳給計(jì)算機(jī)進(jìn)行處理。由于鋼管是旋轉(zhuǎn)前進(jìn),如鋼管不直,會(huì)擺動(dòng)前進(jìn),往往會(huì)使光電開(kāi)關(guān)瞬間閃動(dòng),使至PLC誤判,以為探傷結(jié)束給上位機(jī)上傳錯(cuò)誤數(shù)據(jù),解決這個(gè)問(wèn)題,可以用通電延時(shí)與斷電延時(shí)兩個(gè)定時(shí)器就可解決:將二個(gè)定時(shí)器的時(shí)間設(shè)定為大于光電開(kāi)關(guān)瞬間閃動(dòng)的時(shí)間,利用斷電延時(shí)定時(shí)器在斷電后需延時(shí)一段時(shí)間方可斷電的特性,就可解決光電開(kāi)關(guān)瞬間閃動(dòng)的問(wèn)題,但由于它延長(zhǎng)一段時(shí)間才斷開(kāi),使對(duì)鋼管的測(cè)長(zhǎng)不準(zhǔn),為此,又增加通電延時(shí)定時(shí)器,用通電延時(shí)定時(shí)器開(kāi)關(guān)動(dòng)作的前沿,觸發(fā)一內(nèi)部的位開(kāi)關(guān)(比如:M1.0)使其置“1”,用斷電延時(shí)定時(shí)器的開(kāi)關(guān)后沿觸發(fā)M1.0使其置“0”,這樣,用M1.0 做測(cè)長(zhǎng)計(jì)數(shù)控制門,就可解決測(cè)長(zhǎng)不準(zhǔn)的問(wèn)題。
再如:探傷完了的鋼管走出探傷區(qū)后,需對(duì)它進(jìn)行分選,將不合格的撥到廢品筐。如探傷完后,立即分選,這樣情況編程好實(shí)現(xiàn),但現(xiàn)場(chǎng)廢品筐的位置離很遠(yuǎn)的地方,當(dāng)鋼管走到廢品筐時(shí),探傷機(jī)已探完3或4根鋼管,即輥道上已存在3-4根已探完傷的鋼管在運(yùn)行,如何準(zhǔn)確無(wú)誤的將不合格的鋼管撥到廢品筐里,這對(duì)編程是件辣手的問(wèn)題。如果你有電子線路設(shè)計(jì)基礎(chǔ),就會(huì)想到,用移位存儲(chǔ)器來(lái)實(shí)現(xiàn)對(duì)多根鋼管的質(zhì)量狀態(tài)進(jìn)行實(shí)時(shí)跟蹤,你可以這樣編程:用一個(gè)字節(jié)存儲(chǔ)器,如:MB100,用它做移位存儲(chǔ)器(他可記憶八根鋼管質(zhì)量狀態(tài)),啟動(dòng)時(shí),先將它清零,探傷時(shí),如發(fā)現(xiàn)有傷,立刻將MB100 的最低位置“1”(即:使M100.0=1),當(dāng)鋼管探傷完畢走出探傷區(qū)時(shí),用左移指令使MB100左移一位。如果現(xiàn)場(chǎng)是探傷后的第四根到廢品筐位進(jìn)行分選,編程時(shí)應(yīng)將M100.3與廢品筐到位的分選開(kāi)關(guān)的常開(kāi)觸點(diǎn)串聯(lián),再去驅(qū)動(dòng)撥料裝置。這樣,當(dāng)鋼管走到廢品筐使其到位的控制開(kāi)關(guān)吸合,這時(shí),如果M100.3=1,將驅(qū)動(dòng)撥料裝置動(dòng)作,將鋼管撥入廢品筐,如果M100.3=0,說(shuō)明此鋼管是合格品,驅(qū)動(dòng)撥料裝置不動(dòng)作,鋼管繼續(xù)在輥道上運(yùn)行。
通過(guò)上面幾個(gè)舉例,可以看出,合理巧妙的使用指令編程,不僅使語(yǔ)句精煉短小,而且控制動(dòng)作合理可靠。要達(dá)到這樣編程水平,就得多編多練,不斷的總結(jié)經(jīng)驗(yàn),不斷的積累,積累不僅僅是自己的經(jīng)驗(yàn),也要虛心向有經(jīng)驗(yàn)的同行學(xué)習(xí),多看看別人的程序,吸收好的編程方法和思路,來(lái)不斷地提高自己的編程水平。
下面通過(guò)一個(gè)實(shí)例來(lái)講講如何進(jìn)行PLC編程的:此例也是從網(wǎng)上看到的,由于忘記發(fā)帖人的用戶名,沒(méi)有找到原帖,這里將他的求助內(nèi)容寫出來(lái),供大家分析:一條生產(chǎn)線,對(duì)其產(chǎn)品進(jìn)行質(zhì)量檢查,如發(fā)現(xiàn)有堵塞,立刻發(fā)出報(bào)警信號(hào),PLC接到此信號(hào)先延時(shí)一段時(shí)間(設(shè)它為T1)后,噴槍開(kāi)始噴氣,噴氣一段時(shí)間(T2),噴槍停噴。要求噴槍能累計(jì)噴氣,即要求不能丟掉任意一次報(bào)警的噴氣時(shí)間。這個(gè)課題正像發(fā)帖人說(shuō)的那樣:“看似簡(jiǎn)單,可實(shí)施卻不簡(jiǎn)單的”課題,我對(duì)課題的要求進(jìn)行仔細(xì)研究,把可能出現(xiàn)的情形進(jìn)行分析,畫出動(dòng)作時(shí)序圖,自己認(rèn)為正確無(wú)誤后,編寫出梯形圖(用西門子編程語(yǔ)言)。請(qǐng)見(jiàn)下圖。圖中右側(cè)為時(shí)序圖,圖中的各個(gè)位信號(hào)的定義為:
I1.0 為報(bào)警信號(hào) M5.0 為第一個(gè)報(bào)警信號(hào)t1延時(shí)時(shí)間
M5.1 為第一個(gè)報(bào)警信號(hào)的噴氣時(shí)間(當(dāng)只有一個(gè)報(bào)警信號(hào),其寬度為t2,在M5.0=1的延時(shí)時(shí)間里如出現(xiàn)一個(gè)或幾個(gè)報(bào)警信號(hào)時(shí),它的結(jié)束時(shí)間為最后一個(gè)報(bào)警信號(hào)起,延時(shí)t1+t2的時(shí)間間隔結(jié)束)。
M5.2 在只出現(xiàn)一個(gè)報(bào)警信號(hào)時(shí),它=0,如在M5.0=1的延時(shí)時(shí)間里如出現(xiàn)又一個(gè)報(bào)警信號(hào)時(shí),M5.2=1,它與I1.0常閉點(diǎn)串聯(lián)去接通延時(shí)= t1+t2的定時(shí)器T3,用T3 的觸點(diǎn)觸發(fā)使M5.1與 M5.2置0,這里就利用通電延時(shí)定時(shí)器在它延時(shí)時(shí)間未結(jié)束時(shí)器輸入端受到一個(gè)使它斷開(kāi)的脈沖影響,他會(huì)重新從0開(kāi)始定時(shí)計(jì)數(shù)的特性來(lái)實(shí)現(xiàn)延長(zhǎng)定時(shí)時(shí)間的。
M5.3 在噴氣時(shí)間里出現(xiàn)報(bào)警信號(hào)使M5.3=1.它連接定時(shí)=t1 的T4定時(shí)器,用它的觸點(diǎn)觸發(fā),使M5.3=0,同時(shí)使M5.4=1,M5.4=1表示在噴氣時(shí)間內(nèi)出現(xiàn)的報(bào)警信號(hào)的噴氣開(kāi)始。
M5.4 為在噴氣中出現(xiàn)的報(bào)警信號(hào)的噴氣時(shí)間間隔,M5.4的常開(kāi),與M5.5的常閉及I1.0的常閉串聯(lián)接通延時(shí)= t2 的定時(shí)器T5,在M5.4=1起,延時(shí)t2時(shí)間,沒(méi)出現(xiàn)I1.0,T5吸合觸發(fā)M5.4,使其=0,即噴氣結(jié)束。如出現(xiàn)I1.0,就會(huì)使M5.5=1,M5.5=1的常閉觸點(diǎn)斷開(kāi),使T5不起作用,但M5.5=1的常開(kāi)觸點(diǎn)與I1.0的常閉串聯(lián)接通延時(shí)= t1+t2 的定時(shí)器T6,如不再出現(xiàn)I1.0,T6延時(shí)到點(diǎn),將觸發(fā)M5.4,使其=0,即噴氣結(jié)束。如又出現(xiàn)I1.0,將延長(zhǎng)噴氣結(jié)束時(shí)間。
Q1.0 為噴槍輸出端,它是由M5.1與M5.4并聯(lián)后輸出的。右圖中的A1、A2、A3、A4為噴槍在四種不同條件下的輸出波形圖。










