在1991年第1次接觸PLC時(shí),我憑一本3.9元的F1編程手冊(cè),就摸索著編了一個(gè)“很復(fù)雜”的直線電鍍生產(chǎn)線順控程序(33個(gè)工位、兩臺(tái)行車(chē)、一個(gè)大循環(huán)含4個(gè)小循環(huán)總計(jì)350多個(gè)動(dòng)作)——說(shuō)復(fù)雜,是因?yàn)槟菚r(shí)缺資料。并且,當(dāng)時(shí)用了三種方法編程;在設(shè)備調(diào)試過(guò)程中,還抓住機(jī)會(huì),幾天之內(nèi)試了一套程序。
不過(guò),很遺憾的是,由于工作環(huán)境的關(guān)系,對(duì)于PLC的應(yīng)用,也就僅此而已——除了順控程序,其他均未用過(guò)。這次,有朋友提供了一個(gè)臺(tái)達(dá)ES2給我學(xué)習(xí),還得到了一個(gè)AD模塊(DVP04AD-E2),于是就想看看模擬量。本來(lái),是可以向朋友請(qǐng)教的,但我現(xiàn)在時(shí)間充裕,又沒(méi)有應(yīng)用對(duì)象,所以就想自己查資料來(lái)試,以取得自學(xué)的經(jīng)驗(yàn)。下面是學(xué)習(xí)過(guò)程。
1.首先要清楚的是,什么指令能用于模擬量輸入。
查“DVP-ES2操作手冊(cè)——程序篇”API指令一覽表,找到有“FROM”、“TO”兩條指令相關(guān),分別為“擴(kuò)展模塊CR數(shù)據(jù)讀出”和“擴(kuò)展模塊CR數(shù)據(jù)寫(xiě)入”。CR是控制寄存器的縮寫(xiě)。
于是,再翻到有關(guān)頁(yè)面,查看其詳細(xì)說(shuō)明,得到FROM指令的格式是:FROM m1 m2 D n,參見(jiàn)圖1。
m1:擴(kuò)展模塊所在的編號(hào),取值范圍0~7;
m2:欲讀取擴(kuò)展模塊的CR編號(hào);
D:讀出數(shù)據(jù)保存位置;
n:一次讀取數(shù)據(jù)的筆數(shù)。
① 再繼續(xù)看其解釋?zhuān)瑥拇雾?yè)知道,擴(kuò)展模塊的編號(hào)與其與主機(jī)的位置有關(guān);倘若只有一臺(tái)擴(kuò)展模塊,則其編號(hào)為0,此點(diǎn)不存在問(wèn)題。
讀出數(shù)據(jù)的保存位置,則是在PLC主機(jī)上的,由編程者指定,也不存在理解困難;而n,也不是問(wèn)題。
② 問(wèn)題是,圖1中的m2,K29是如何來(lái)的呢?或者說(shuō),模塊內(nèi)的數(shù)據(jù)儲(chǔ)存在哪里、能否利用編程軟件直接觀察到?
查“DVP-ES2操作手冊(cè)-硬件篇”有模擬量輸入/輸出模塊配線,卻不但沒(méi)有回答上述問(wèn)題,反而增加了一個(gè)新的疑問(wèn):可以采用電壓或電流信號(hào)輸入,則是如何設(shè)定的呢?硬件上沒(méi)有見(jiàn)到相關(guān)的設(shè)置開(kāi)關(guān)。
③ 從而,現(xiàn)在的工作是,必須確定是否有模塊的操作手冊(cè)。
從臺(tái)達(dá)網(wǎng)站的下載頁(yè)面,看到了有模塊資料,于是下載了“DVP-ES2操作手冊(cè)-模塊篇”,其第1部分就是“模擬量輸入模塊 DVP04AD-E2”的介紹。
2.輸入信號(hào)的讀出
于是,知道了CR#2~#5為輸入模式設(shè)定,CR#8~#11為通道信號(hào)的平均次數(shù)設(shè)定,CR#12~#15為通道輸入信號(hào)平均值顯示,CR#20~#23通道輸入信號(hào)現(xiàn)在值顯示。另外,主機(jī)的寄存器D9900~D9999,寄存對(duì)應(yīng)輸入信號(hào)平均值。
選1#通道(CH1)作試驗(yàn),可得程序如圖2:
① 將模塊與主機(jī)連接,PLC通電,發(fā)現(xiàn)模塊的“錯(cuò)誤指示燈”點(diǎn)亮;先不管他,程序能正常輸入。后將模塊的24V接通,顯示正常、“錯(cuò)誤指示燈”熄滅。
② 為了簡(jiǎn)便,擬直接采用1.5V電池作為信號(hào),故采用了模式1。為便于觀察,特將顯示值(D0)擴(kuò)大了10倍,即當(dāng)電池電壓為1.5V時(shí),(D0)=15。
通電試驗(yàn),按操作手冊(cè)接入一個(gè)電池,D0顯示15;接入兩個(gè)電池,顯示30.
可以說(shuō),已經(jīng)達(dá)到了試驗(yàn)?zāi)康模C明FROM、TO指令,是應(yīng)用于模擬量的。
③ 一個(gè)問(wèn)題是,雖然D0能夠讀到穩(wěn)定的15、30值,但D9900、D110等的數(shù)字(編程軟件界面觀察)一直有跳動(dòng),不知如何解釋?zhuān)歉蓴_還是正?,F(xiàn)象?
3.結(jié)語(yǔ)
本文介紹的是一個(gè)最基礎(chǔ)的試驗(yàn),但由此對(duì)模擬量模塊及其使用,有了初步的認(rèn)識(shí),也可以算是入了門(mén);入了門(mén)就好辦,以后的路就寬了。
當(dāng)然,開(kāi)始時(shí)的認(rèn)識(shí)難免有偏頗甚至錯(cuò)誤之處,但畢竟邁出了第一步,故仍然是可取的;雖然,就該問(wèn)題來(lái)說(shuō),現(xiàn)在完全可以去求助他人,但是在工作實(shí)踐中,總會(huì)遇到難以請(qǐng)教的問(wèn)題,所以不妨作個(gè)練習(xí),以獲取有益的歷練。
總結(jié)學(xué)習(xí)經(jīng)驗(yàn)如下:首先是查到有關(guān)指令,再找到有關(guān)資料,然后是理解應(yīng)用。如果沒(méi)有實(shí)物,則理解的針對(duì)性要差一些,以后在觸摸屏或變頻器控制的學(xué)習(xí)中,再作嘗試。
(順便支持一下“莫操君《自學(xué)自會(huì)PLC指令——三菱FX2N編程技術(shù)及應(yīng)用》一書(shū))
(其林 20091229)