0317 【萬泉河】從模擬量的量綱說起。
有人會問量綱是啥,就是物理單位啦!單位只是通俗的說法,而且有歧義。 而物理和力學(xué)里面都稱之為量綱的,既專業(yè)且沒有歧義。
在英語里面這個單詞叫做Unit。
問大家一個問題,控制系統(tǒng)中,通常采集上來大量的模擬量數(shù)據(jù), 會顯示在觸摸屏或上位機(jī)上。 那么每一個信號的物理單位的量綱如何標(biāo)注顯示,如何實現(xiàn)呢?
有人會笑了。 這還不簡單嘛,在觸摸屏上每一個數(shù)據(jù)框后面添加一個靜態(tài)文本,文本內(nèi)容逐個修改為相對應(yīng)的單位即可,與標(biāo)注這個數(shù)據(jù)的標(biāo)題描述方法一樣。 程序修改完成,下載到觸摸屏中,自然就實現(xiàn)了。
是的,這是每個初學(xué)者都會的做法。然而也是僅僅剛剛培訓(xùn)學(xué)校畢業(yè),剛剛離開教室,屁股后面的大門都還沒關(guān)嚴(yán)實的水平。
想一想你做的監(jiān)控系統(tǒng),模擬量數(shù)據(jù)的數(shù)量,不管是8個也好,80個,800個也好,這些數(shù)據(jù)肯定都不是一個規(guī)格,而是各種物理數(shù)據(jù),溫度,壓力,流量,重量,體積,長度等等。那么每一個數(shù)據(jù),你都需要左手翻著工藝清單,右手翻著觸摸屏畫面,挨個兒找過來,逐個對應(yīng),輸入,修改,檢查。 這工作量著實不少。
而如果水平高一點(diǎn),實現(xiàn)了彈出式窗口的管理,不管是觸摸屏還是WINCC,好像都有點(diǎn)麻煩了。窗口使用的同一個模板,同樣的位置,量綱需要動態(tài)變換,所以還需要做些特殊處理。
然后就會質(zhì)問了,除此之外難道還會有更好的方式?
當(dāng)然有。方法便是在PLC編程中,在調(diào)用模擬量的FB塊的過程中錄入到其管腳上。 管腳數(shù)據(jù)除了物理通道地址,標(biāo)定上下限值之外,再增加一個UNIT的字符類型的管腳即可。 程序塊內(nèi)部甚至都可以不需要再做任何邏輯,上位機(jī)變量直接鏈接到這個管腳,讀取其內(nèi)容,并動態(tài)顯示即可。
而且這都不是我一個人發(fā)明的,我只是在推廣一種常識方法。讓我們來看一看PCS7是如何做到的。
即他的FB有個UNIT 的管腳,輸入了量綱編碼,最后在畫面上實現(xiàn)了動態(tài)顯示。
圖片來自劍指工控發(fā)的網(wǎng)文,然而他們又備注了文章來自網(wǎng)絡(luò),原作者不詳。劍控把抄襲的原作者的文章全都打上了他們自己的標(biāo)志,然后到處分發(fā),導(dǎo)致原作者的文章出處反而找不到了。
其實這里文章介紹的還是PCS7較新的版本,我原本可以找到自己的老版本的PCS7的虛擬機(jī)打開來截屏的,那時候的UNIT直接就是個字符串。
我拿PCS7來為自己背書,無非是說明,我所介紹的方法是業(yè)界的通行標(biāo)準(zhǔn)做法,并沒有什么新奇之處。 我做的80模擬量的處理程序例程,我敢有底氣稱之為標(biāo)準(zhǔn)答案,只不過是我了解PCS7的這種做法。許多懂PCS7的朋友見到我給的例程也都覺得很自然,很正常,就是應(yīng)該這個樣子的。
而有一些同行,見到之后比較驚訝,只是因為你沒見過PCS7而已。而有人倒過來嘲笑我羅列80行的做法很簡單很幼稚。
嗯,沒錯,我們做程序的目的,就是要復(fù)雜問題盡量簡單化,越簡單越實用。而不是倒過來。
有人會抬杠說你們把這些非運(yùn)算數(shù)據(jù)都放到PLC里面來,會增大和浪費(fèi)CPU的系統(tǒng)資源。 你們那是PCS7, S7-400,你們有錢無所謂,俺們窮,用的小PLC,這樣做資源浪費(fèi)。
嗯,這樣的邏輯相當(dāng)于你出門打個出租車,你副駕駛還是后排座全都不坐,你去站在車屁股后面推著跑,聲稱這樣比較省油。
而出租車司機(jī)對這樣的做法會感激你夸獎你嗎?夸獎你花了同樣的錢,但給他省了油嗎?不會,他會罵你神經(jīng)病,罵你耽誤了時間,降低了效率。
其實實情是,現(xiàn)在的趨勢是,都不僅僅是量綱這么3-4個字節(jié)的字符了,物理信號的位號,以及一大段的文字注釋,都會放在PLC中實現(xiàn)錄入,運(yùn)行中HMI上面動態(tài)讀取,節(jié)省大量的人工,提高效率。
這樣的話,這些內(nèi)容的錄入是和數(shù)據(jù)信息是在同一個時刻實現(xiàn)的,不需要多次重復(fù)回來翻閱同一個工藝數(shù)據(jù)表格,提高效率同時還降低了出錯的概率。 甚至,從表格到PLC程序,可以用軟件工具實現(xiàn)自動轉(zhuǎn)換,自動生成。 可以是EXCEL中處理,也可以用PYTHON等高級語言制作小工具完成。 使得自動化的完成自動化設(shè)計工作成為可能。
這是很多明眼人看到我給出的標(biāo)準(zhǔn)答案之后,一眼就看懂的原因。
讓我們來看一下LBP中這部分是怎么實現(xiàn)的:
LBP的UNIT和COMMENT,并沒有放到FB的管腳上在調(diào)用時錄入,而是在其內(nèi)部的變量中設(shè)置了相應(yīng)的內(nèi)容,呈現(xiàn)到觸摸屏中。運(yùn)行中從這個設(shè)定界面里人工輸入,完成后運(yùn)行界面中也都能正常顯示正確的量綱Unit了。
即如果系統(tǒng)中有80個模擬量,就需要跳轉(zhuǎn)80次頁面,逐個人工輸入。如果是由操作工來輸入,他會罵死設(shè)計者。 如果設(shè)計者自己來輸入, 那還不如在電腦中編程軟件中輸入效率高了。 而且這還沒考慮到系統(tǒng)掉電或者程序重新下載的情形,極有可能,一不小心,就會要你多次錄入, 給你好看。
所以,我現(xiàn)在倡導(dǎo)的學(xué)習(xí)和使用LBP, 并不是一味的照抄他,而是汲取其有營養(yǎng)的精華的部分,而對于不適用我們各自的行業(yè)應(yīng)用習(xí)慣的部分,要在吸收的同時加以改進(jìn)。
包括上面圖中的MODE,代表了通道的電信號類型的選擇,也令人不太理解為什么要做在觸摸屏上,我們只能承認(rèn)不理解,或許有其他的行業(yè)需要這樣的功能。但我們可以根據(jù)我們自己行業(yè)的需求,修改到適應(yīng)我們的模式。
針對近期對LBP 的模擬量塊的改進(jìn),結(jié)合前面提出的80模擬量標(biāo)準(zhǔn)答案的問題,準(zhǔn)備舉辦一次公開的研討會。暫定了一個時間,然而具體時間還要等與會人員湊齊了之后再決定。 歡迎報名參加。
報名信息和會議內(nèi)容說明,也會同時發(fā)在公眾號的下一篇文章,以及朋友圈中。