納尼?點(diǎn)亮指示燈也能作為話題,也值得你老萬(wàn)拿來(lái)做話題寫一篇所謂技術(shù)文章?
嗯吶,今天就要從最基本的問(wèn)題入手,寫一篇標(biāo)準(zhǔn)化編程的文章,讓大家看看我們一直推行的標(biāo)準(zhǔn)化編程是如何處理這種簡(jiǎn)單問(wèn)題的。也讓各位檢測(cè)下自己,平常對(duì)最簡(jiǎn)單的編程問(wèn)題的理解是否到位。
指示燈么,最簡(jiǎn)單的應(yīng)用是指示電機(jī)的運(yùn)行。最開始在繼電器邏輯的時(shí)候,通常是直接從電機(jī)的相線中抽一路出來(lái)AC 220V 的電源,點(diǎn)亮220V的指示燈。后來(lái)為了安全,指示燈不使用220V了,換用24V直流指示燈,那就使用接觸器的一付輔助觸點(diǎn),達(dá)到了同樣的目的。
后來(lái),發(fā)現(xiàn),指示燈的燈泡是有壽命的,會(huì)壞,而如果一旦燈泡壞了,就無(wú)法正確指示設(shè)備的運(yùn)行狀態(tài)了。所以需要一個(gè)單獨(dú)的燈檢查的按鈕,在按下LAMP_TEST按鈕的時(shí)候,盤面的所有的指示燈都亮起, 這樣檢修人員就能發(fā)現(xiàn)哪個(gè)指示燈燈泡壞掉了。如果是PLC系統(tǒng),這時(shí)就無(wú)法借用接觸器的觸點(diǎn),必須使用一個(gè)單獨(dú)的DO通道。
有了單獨(dú)的指示燈的DO之后,還可以增加一個(gè)功能,即設(shè)備運(yùn)行時(shí)燈亮,停止時(shí)滅,而如果發(fā)生故障的情況下,可以讓指示燈閃爍。甚至,可以給不同的報(bào)警等級(jí),設(shè)計(jì)不同的閃爍頻率。通常為1Hz,在S7-200中是SM0.5 。
一段標(biāo)準(zhǔn)的指示燈的梯形圖邏輯如下:
這樣的邏輯,看過(guò)或者自己寫過(guò),不下幾千回了。原理很簡(jiǎn)單,但每次都繞不過(guò),想簡(jiǎn)化也沒從簡(jiǎn)化,只能一次次無(wú)聊的重復(fù)。
在做標(biāo)準(zhǔn)化示范項(xiàng)目的時(shí)候,我對(duì)指示燈也沒多想,想著無(wú)非在FB模塊中多一個(gè)OUT管腳,用來(lái)安放指示燈,而在FB內(nèi)部,把上述的梯形圖重復(fù)一下即可。
還好,現(xiàn)在因?yàn)橛?a target="_blank">上位機(jī),設(shè)備的運(yùn)行和故障界面大都從WINCC畫面上都可以表示了。設(shè)備類的運(yùn)行狀態(tài)基本不需要在盤面安裝指示燈了。所以示范項(xiàng)目做了很久也沒做指示燈邏輯。
但后來(lái)有重要的工藝段,終于還是遇到指示燈了。而且是聲光報(bào)警的那種:
我在FB中給簡(jiǎn)簡(jiǎn)單單加了個(gè)輸出的管腳HA,然后就等著把報(bào)警燈的Q點(diǎn)綁在這里就萬(wàn)事大吉了。
可到FB調(diào)用第二次的時(shí)候,就發(fā)現(xiàn),工藝設(shè)計(jì)的,兩次工藝調(diào)用的指示燈是同一個(gè)!其實(shí)我就是從那個(gè)時(shí)候開始被梯形圖惡心到的。關(guān)注我文章的人可以找到以前的文章《【萬(wàn)泉河】成敗梯形圖》仔細(xì)研讀。
惡在哪兒呢? FB的OUT對(duì)輸出是完全徹底的獨(dú)占的!不僅僅管腳為1時(shí)Q要為1,而且輸出0時(shí),Q必須為0。必須從一而終,不許一女二嫁。即不許雙輸出,雙線圈。
像我這里兩次工藝用1個(gè)指示燈,如果簡(jiǎn)單直接綁定,那最后指示燈的狀態(tài)只能跟隨最后一次FB調(diào)用的邏輯狀態(tài)。前面的綁定失效了。
所以,我被逼無(wú)奈,硬生生在邏輯之外又搭了個(gè)OR的邏輯:
你如果對(duì)標(biāo)準(zhǔn)化編程的理念有所理解,就會(huì)知道這個(gè)后補(bǔ)的補(bǔ)丁對(duì)我來(lái)說(shuō),有多不爽了??梢哉f(shuō),如鯁在喉,許久不能釋然。
這完全違背了模塊化標(biāo)準(zhǔn)化項(xiàng)目的原則,即邏輯和對(duì)象分開,劇本和演員表完全分開的規(guī)則。
好好的標(biāo)準(zhǔn)化示范項(xiàng)目,僅此一項(xiàng),就不夠示范了。但我在分享項(xiàng)目程序的時(shí)候,也特意留給了學(xué)員們,作為一個(gè)經(jīng)驗(yàn)教訓(xùn),留到今天來(lái)批判我自己的。
我承認(rèn),我過(guò)去對(duì)指示燈不夠重視,沒有把它當(dāng)作一個(gè)設(shè)備類型,是錯(cuò)誤的。新項(xiàng)目來(lái)了,我首先拿指示燈開刀,編制了專門的指示燈的FB模塊。
其中2個(gè)INOUT管腳,分別用于控制輸出閃爍和常亮。
然后還另外編制了用于簡(jiǎn)單同步鏈接的FB LINK。用于輸出的LINK1和LINK2均為INOUT類型。
輸入信號(hào)的上升沿時(shí)置位輸出,下降沿時(shí)復(fù)位輸出。效果上看起來(lái)是輸出會(huì)等于輸入信號(hào)。但本質(zhì)上輸入信號(hào)對(duì)輸出不霸占。其它輸入信號(hào)也可以用于控制同一個(gè)輸出。
在程序邏輯內(nèi)部的調(diào)用則為:
HA.HA_ON也是作為INOUT類型傳入到實(shí)參來(lái)的。
我這里兩套工藝是絕對(duì)不可能同時(shí)運(yùn)行的,所以不會(huì)發(fā)生對(duì)指示燈的ON要求時(shí)間重疊,而導(dǎo)致不能正確點(diǎn)亮或熄滅。所以FB里簡(jiǎn)單處理了。而其實(shí)即便如果有重疊的可能,也可以通過(guò)計(jì)數(shù)等方法來(lái)實(shí)現(xiàn)更精確的邏輯。
-
繼電器
+關(guān)注
關(guān)注
132文章
5349瀏覽量
148916 -
plc
+關(guān)注
關(guān)注
5011文章
13297瀏覽量
463372 -
指示燈
+關(guān)注
關(guān)注
3文章
415瀏覽量
28286
原文標(biāo)題:納尼?點(diǎn)亮指示燈也值得拿來(lái)做話題寫一篇所謂技術(shù)文章?
文章出處:【微信號(hào):gongkongBBS,微信公眾號(hào):工控網(wǎng)智造工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論