2012年10月20日 星期六

DI,DO,AI,AO,PROTOCOL

在自動控制的領域裡面,沒接觸過的一定認為這個東西真的太難了,電子科的學生在剛開始學習前,通常必須度過一段時間的黑暗期,一來可能是老師不會教,二來是假設你想學的不是這個,全然接觸新的領域總是茫然跟痛苦的.因為你所看到的資料跟學問,不盡然是百分之百可以經得起考驗.當這些知識,跟你的過往有所衝突,亦或是根本完全推翻,而且萬一教你的人只是半桶水,當一半的無知加上偏見,科學的意義只佔極小的比例,那麼這個吸收到的知識跟經驗可能就是一個完全不健康的毒知識,沒辦法幫助你還會害你.

幸好,我在的領域裡面事情並沒有那麼的複雜,沒有奈米製程,沒有電晶體漏電,也沒有什麼時候必須進步到20奈米或16奈米,在空調的領域裡面,搞懂開關動作,類比輸出入,再加上設備之間的通訊協定大概就差不多了.

一個最簡單的例子,一個設備的起停就是ON/OFF的動作,這在控制上叫做DI/DO,什麼意思?就是數位輸出入.當燈打開的時候,如果這個開的信號送到一個輸入接點,這個開或關的信號就可以當成一個輸入信號.反之亦然,用一個小開關的信號輸出去控制一台設備讓他起動.這個視作一個數位輸出.用最生活化的例子來講,假設一支電燈的耗電量是56W,當開關按下,燈放出光明,必須吃56W的電,當開關鬆開,因為沒接觸,沒有光明,所以理論上消耗電力是0.而需不需要光明來自需求,這樣講應該很多人就有概念了.

假設今天公司裡面有4000支燈,必須照明20000平方公尺的空間,如果有些人不在,例如說20000平方公尺容納500人,1/10的人是業務,3/10的人是工作指派,在公司待的時間只有1/8,其它6/10的是現場作業,那麼假設當初依照全載設計的點燈量,在這樣的使用狀況下,有多少的節能空間,用可以實行的手段來講,DI,DO的設計要怎麼樣?如果說每盞燈都有一個獨立的開關,要最經濟又最有效果要怎麼做?電路怎麼安排?改善經費又要多少?幾年回收?

上面的這個敘述如果用硬體的概念來看,等於是4000個開關的信號輸出入,在費用的建置上是不划算的,DIDO的點有一個很重要的特性就是末端設備的耗電量跟點數的建置費用沒有太大的相關.控制一台耗電量1000KW的冰機也是一個點,一支50W的燈泡開關也是一個點,拉線跟輸出入模組的費用幾乎一樣,可是兩者的耗電量卻是天差地遠.那麼如果是為了要知道運轉狀況及省電,同樣的建置當然是用在耗電量大的設備上優先.

從另一個角度看,控制這些開關的動作通常是情境跟需求,這些轉成電器信號就是所謂的類比信號,也就是所謂的AIAO信號.舉例來講,如果溫度沒到想要的點,機器應該不需要動,那麼就必須要有一個可以感測信號的裝置,必如說一支PT100的溫度SENSOR,或是為了控制溼度,那麼必須有一支溼度SENSOR的信號,這樣溼度太低必須加濕,或是溼度太高必須除濕,這些基本上都是類比信號.

整個流程是這樣,DIOO的信號通常來自AI或AO的信號,而DIDO動作之後,所產生的類比信號的變化再去影響DIDO的動作,這種東西叫做回授控制,一個類比值的變化進而又去影響輸出的結果.以上面這個溫度控制的案例來講,溫度到設定起動點的時候機器啟動,溫度到停機設定點時機器停機.

以上的這個架構就是一個最簡單的AIAO,DIDO的控制模式.但是對一些雖然算是類比量,也是數位量,而且還含一些函數的變化,光這些控制並沒辦法滿足控制的目的,而且如果還必須含分析的目的,那麼只有AIAODIAO是不夠的,必如說必須再加上時間的變化,那麼解決的方法就是加上必要的運算器,例如積分跟微分再加時間,所以這些運算的資料必須由CPU來處理,在工業上,很多的MCU控制器都是這樣,同時含DIDOAIAO及運算,那麼運算完的資料要往外傳,這時後通訊協定就必須上場了.因為只要牽扯到通訊協定,基本上就已經是屬於電腦的架構了.

一個最簡單的按例就是集合式的電錶的應用,現在我們用的電屬於交流電,它是一種正弦波的能量,而電動機屬於磁力的應用,所以必須有微電腦的應用才能加以運算跟應用,沒辦法藉由簡單的DIDOAIAO的變化來運算,而這些資料要能夠得到有效的統計,分析,應用,必須將電表裡面微電腦收集及運算出來的資料加以傳送,必如說把有關電量的資料都傳到個人電腦上面儲存,那麼必須透過通訊的形式來做,而定義資料如何傳送(TX)及讀取(RX)的方法跟程序就是通訊協定.

舉例來講,假設有一個電表的資料格式是以16位元的格式來編碼及解碼,那麼電表及PC之間必須有一個共通的定義來接收及傳送這些資料,這樣資料才能正確的解讀.必如說16位元的第一位為旗標信號,當這個位元為0,代表資料不傳送,位元為1代表資料開始傳送,第二位到第八位位元的變化代表資料量,第九到第十六位元可能是資料偵錯及雙方位址的定址.以上的敘述就是通信協定的簡單描述.

工業上最常應用的通信協定是RS485,當然比較早期還有RS232模式以及RS422等,這些都算是比較慢的,也就是說它門的傳輸速度較慢,因為科技一直進步,到後來也有更高速的通信協定出現,必如用光纖傳送的,光纖傳送的是頻寬非常的大,但是資料傳送跟接收的方式可能是乙太網,
TCP/IP或是其它,隨便舉個例,像Danfoss的變頻器,它在通信設定的選項就有 CAN Fieledbus,
LonWorks,Profibus,當然也一定有RS485選項.而不同通信的方式,除了資料傳送及接收的格式,其它的可能還有接腳的腳位數,輸出入埠的形式等.

通信協定這塊才是廠商的金礦所在,早期在手機充電還沒統一規定為micro usb形式時,是不是幾乎每種手機的充電規格都不一樣,為了就是賺規格的錢,我故意弄一個特殊規格,只要你用我的機器,就必須搭配這種規格的充電器.像早期很多廠牌手機用的都是這樣,什麼都弄一個專屬規格,綁死消費者.

工業控制這塊也是一樣,DIDOAIAO這塊是完全競爭的市場,用點數算的,可是在通信協定這塊,假設搶到了位置,因為我的設備只有我自己可以連,別人想弄一點機會都沒有,那麼只要機器還在運轉,非得找他不可,因為既然是專屬格式,我不開放我的編碼格式是理所當然,而開發的費用那麼高,誰會讓他平白開放,而這麼做就是為了市場的利益而以.所以我常戲稱這種專屬的通信協定跟硬體規格是金手銬,花了大錢把自己銬住,然後就算繳了很多保護費也脫不了身.

在我的經驗裡面,只要規模不是大到像鴻海或是蘋果這種規模,工業用的一些共通的協定就很好用了,必如說RS485 modbus,因為在客戶那邊,一堆的變頻器,電表,冰機,或是控制器上面的485接線根本都是空的,完全沒接,然後運轉資料再靠人去抄.這個不是說廠商不願意進步,而是一來軟體這種東西看不到也摸不到,線接上去還要一堆的設定,而客戶這邊搞懂機器操作有時後就已經很難了,再弄這些東西一但出錯,沒有人可以去處理,搞不好還會危及生產,而且公司一大,人員流動難免,搞得這麼細緻無謂自找麻煩,如果資料處理採用更大頻寬跟更快的通信協定,公司這邊跟的上跟不上也是大問題.所以具有這些通信協定的設備通信埠空接是常見的.不信去看一些大的耗電設備如冰機跟空壓機,有接通信輸出的有多少,大部分還不是人工抄表.競爭力就這樣流失了.

小弟當初在搞自己弄的測試設備時,最頭痛也是這一塊,接線容易但是軟體的設定就非常的困難,DIDOAIAO這種東西靠表頭就可以測,但是通信協定如果沒有非常貴的儀器跟軟體根本就不知道要怎麼弄,在空調這一塊的領域,大概全台灣沒有半家有這樣的能力可以去做這種事.像某牌的主機幾乎都是跑BACNET的通信協定,有一次我就打電話到工研院去詢問這一塊的事情,答案是他們也沒辦法,除非去弄個幾百萬的經費來研究怎麼去跟別人通訊.

但是如果手上有幾百萬經費,全部改用外插式(用便宜的PT100去收溫度數據,壓力SENSOR收壓力數據,集合式電表收馬達運轉數據),再傳到一塊人機,人機之間再用乙太連接到PC,應該也不用花幾百萬吧.幾百萬應該可以做一整個公用機房的運轉數據起來了,搞不好也不用花幾百萬,而且假設真的花了幾百萬要去破解別人專屬規格的通信協定也還不保證一定成功.

以上就是有關DIDOAIAO,PROTOCOL的簡單敘述,如果要更深入的了解這塊,就必須多去參考有關自動控制,電腦通信協定,以及機器的使用說明,短則幾年,長則一二十年,應該就會對這塊有更深的了解,重要的是觀念要對,因為現在科技進步太快,新的東西一直出來,早期一些印表機不是都用很大的連接器(RS422或是RS232),到現在幾乎都消失了,變化最快的就是通信協定這一塊,DIDOAIAO這塊變化不大,差的是取樣速度,以前的控制時脈沒那麼高,現在因為科技進步的關係,即使是傳統的東西也在進步,所以也不是說傳統就不會變.因此與時俱進是免不了的.高階的PLC CPU取樣跟判斷的速度更快,控制也就更精準.

總而言之,科技進步的腳步是絕對不會停下來,差就差在能不能體認這個趨勢並跟上,多花一些時間跟努力,才能在競爭激烈的市場中生存下來,樂觀的人總認為無論世界怎麼變化,太陽依然會從東方升起,但是如果今天不進步,即使太陽依然從東方升起,個人是沒明天的,太陽的生命有幾十億年,人類卻只能活幾十年而已,沒有競爭力的人在現代高度分工的社會中是會活不下去的,所以不要去信那些樂天派的屁話,努力再努力學習就對了.