2014年7月3日 星期四

開回路控制(open loop) 閉回路控制(close loop)全閉回路控制。

※ 本文原撰寫於 2014 年,已於 2026 年重新編排整理,並加入最新自動化通訊控制趨勢,提供更易讀的圖文解說。

什麼是開迴路、閉迴路與全閉迴路控制?PLC與馬達控制基礎

在自動化控制系統中,如何確保馬達精準移動到我們想要的位置是一大課題。根據上位控制器(PLC)、驅動器與馬達之間的「回授(Feedback)」機制不同,主要可以分為開迴路、閉迴路以及全閉迴路控制。這篇為大家整理這幾種控制方式的差異與優缺點。


一、 開迴路控制 (Open Loop)

原理:上位控制器(PLC)發出命令給驅動器後,系統不會去確認馬達是否有確實完成動作。

  • 常見應用:步進馬達 (Stepper Motor)
  • 缺點:如果上位控制器到驅動器,或是驅動器到馬達之間的命令受到外部雜訊干擾,或是發生失步,馬達的位置就會不對,且系統無法自我修正。
開迴路控制系統方塊圖

二、 半閉迴路控制 / 驅動器閉迴路 (Semi-Closed Loop)

原理:從上位控制器(PLC)的角度來看雖然是單向發命令,但驅動器本身會抓取馬達的編碼器(Encoder)回授位置。如果馬達不到位,驅動器內部會自行計算並再次命令馬達移動補正。

  • 常見應用:伺服馬達 (Servo Motor)
  • 缺點:如果干擾是發生在「上位控制器到驅動器」這一段的命令傳輸,驅動器依然會照著被干擾的錯誤命令去執行,導致最終馬達位置不對。
半閉迴路控制系統方塊圖
💡 產業趨勢補充:通訊總線 (Fieldbus) 逐漸取代脈波/電壓命令
過去常使用電壓命令 (Vcmd) 或脈波命令 (Pcmd),這類連續訊號一旦受到干擾,位置誤差便無法挽回。現在的自動化趨勢多改採用通訊/總線方式 (如 EtherCAT, Mechatrolink 等),如果訊號受到干擾導致封包錯誤,系統可以要求重新發送,大幅提升了抗干擾能力。

三、 閉迴路控制 (Closed Loop)

原理:上位控制器(PLC)發出命令後,會主動抓取驅動器的回授位置進行比對。系統會確認馬達是否有確實移動到命令要求的位置;如果不對,PLC 會再次下達命令進行補正,直到完全到位為止。

  • 缺點:即使馬達本身確實轉到了指定角度,但馬達的旋轉運動通常需要透過「滾珠螺桿」等機構轉換成直線運動。這中間產生的機械誤差(如螺桿背隙、熱膨脹),閉迴路系統是無法察覺並修正的。
閉迴路控制系統方塊圖

四、 全閉迴路控制 (Fully Closed Loop)

原理:這是最高精度的控制方式。命令發出後,系統不只看馬達的狀態,而是直接從最終機構端(例如安裝光學尺)抓取實際移動的回授訊號,再交由系統去修正下一次的命令。

  • 優點:可以直接消除馬達傳動到最終機構之間所有的機械誤差(如螺桿背隙、皮帶延展等),達到極高的定位精度。
全閉迴路控制系統方塊圖

2014年5月26日 星期一

電腦整合製造(Computer integrated manufacturing)簡稱CIM

CIM的架構

電腦整合製造(Computer integrated manufacturing)簡稱CIM,就是將生產所須的控制整合於電腦的系統中,電腦提供了設計、測試、製造、裝配、檢驗、物料控制、人事管理與市場資訊……等功能。


電腦連接各部門,提高了生產的效益,其明顯的效益如:
.工程設計成本減少
.交貨時間縮短
.產品品質提高
.生產力提升
.存貨減少
.人事成本減少
.工程師能力增加
.省略不必要的文書作業
=======================================
跟設備對應收集製程資料的稱為BC(廠務端)。

PLC就是需要跟BC來溝通。

BC廠務端,需要跟很多的設備(PLC)來連結,
所以會規定一個保持時間。

保持時間:
就是因為BC是以掃描的方法,
一台一台更新機況,所以從第一台到最後一台,需要最長的時間。

一般定義成4秒。
4秒,你只能回報給BC,每種類別各一筆的資料。

超過4秒,才能更新,或是上報下一筆資料。
===========================================
目前接觸過的CIM,又分為兩種信號。

一種,只有Word資料,
另一種,是有Bit & Word資料。

有用FL-NET,有用NET/H

有BIT的,可以觀察BIT的變化,就可以得知BC是否有命令。

如果只有Word的,就需要去記憶Word值是否有變化,來判斷是否BC是否有命令下給我們。
=======================================
BC跟設備之間都是透過網路的Word 或 Bit來溝通。

重點來了:
設備怎麼知道BC有連上線?現在抓的資料是否正確?
BC是否有開機?

所以有一個信號:
BC ALive ,EQ Alive 信號
設備端透過BC ALive 如果4秒有變化,就表示BC有在運轉。
設備端如果要連上BC前,也要EQ Alive4秒鐘變化一次,BC讀到就知道設備連上線了。


BC ALive                 <==BC發給設備(EQ)
EQ Alive                  <===設備(EQ)發給BC
=======================================
已經可以得知,
對方(BC、EQ)是否已經開機,
此時的資料,才是可以信任的。

當BC要給EQ(設備)資料時,會先給一個信號,再給資料。
當EQ(設備)要回傳資料給BC時,也要先發一個信號,再給資料。

因為是用網路(NET/H、FL-NET)的方式來傳遞,
考慮到網路更新&處理的方式,
所以我們在發送的順序會變成:
1.先搬資料(word)
2.加延遲(最少100ms)
3.再發送信號(bit)

因為BC或是設備端(EQ),都是看到信號(BIT)才會去抓資料,
所以我們先搬資料,並不會影響到BC。

PS:如果在抓取BC資料有錯時,也可以試著延遲再抓取資料(word)
==========================================
觸發信號,PLC寫法

像Alive 信號,

檢查BC端:
如果是Bit,只需檢查4秒鐘是否有ON/OFF變化即可。
如果只有Word信號呢,那就需要把上一值記錄,
再比較現在值,是否有變化,來決定是否有資料輸入。

EQ(設備)發送:
那我們發送出去的資料也是一樣。
如果是Bit,只需4秒鐘變化ON/OFF即可。
如果是Word,那我們每次發送後,要把值記錄起來,
等下一次要發送時,再直接+1送出即可。
===========================================
信號的種類區分:

1.狀態信號:
機台目前的狀態,警報....等等訊息。

2.產品的資料:
收(從上游)、送(給下游)、存(到buffer)、取(出buffer)都要上報資料。

3.製程資料:
產品在機台內的時製程條件,或是其他特別需要上報的資料。
===========================================
再前幾章也有提到,每4秒才能上報1次。

但機台的狀態,警報,有可能連續出現,等不到4秒才發。

所以就需要做buffer堆疊的方式,來上報資料。

Buffer的做法,可以FIFW、FIFR配合。

自已做Buffer也是一種方法。

PS:FIFW、FIFR需要特別注意使用方法,不然很容易就PLC當機。
============================================
PLC內部的資料,都是整數,沒有小數點的設計。
但很多錶頭,是需要小數點的。

這之間就需要先協調。
在規劃之初,就要先跟BC端定義。
定義:上下限,小數點位數,16/32位元,數字/字元,BCD/HEX。

所有機台同用的,
都是BC定義。

各別機台上報的資料,
都是屬於各別機台定義,再交給BC處理。
============================================
CIM是一個很好的掌控整廠生產的規劃,
但再好的工具也要有人去使用。

說實在目前不管是設備工程師、製程工程師,
會使用CIM的資料,來輔助機台、提升製程良率的人,是少之又少。

設備工程師
只著眼於設備的運轉率,不要停機、不要亂警報,他們就很高興了。

製程工程師
對整線的良率負責,大部份也只是用眼看、用猜,要求廠商提供解決方案。
(就像前幾篇的蒙古大夫)

CIM工程師
也只著眼於CIM系統是否正常,機台是否有照著原本規劃在上報資料。
實際機台是否有做原本規劃在運做?還是做假資料上報?
===============================================
前幾天才測完一次CIM的單機測試。

CIM除了前面提到,是沒有實體信號,所以比較難。

測完後,又有心得,
寫CIM的難點,就是測試的時間很短。

測試的時間分為以下幾段:
1.客戶端模擬測:
只用PLC測試信號,一切都是模擬。
主要是測試,寫CIM測試的人,對SPEC是否了解,還是有很大的誤解。

2.製造廠商端測試:
依製造進度,來增加可以實機測試的項目。

3.客戶端單機測試:
由於機台已經MOVE IN到客戶端,
所以這一次的測試,通常會要求,全部要實際上報資料。
主要項目:上下游交握連線&信號傳遞。
(上下游交握完成,全線流片,才可以做,所以這一次的重點是在上下游交握&信號)

4.客戶端全線連線測試:
全部要完成。

每次測試約兩天。
有BUG就是要現場修改。<<這就是另一個困難點。
==================================================
CIM 除了上報BC外,
還有跟上下游機台在交握,
上/下游機台也是一台設備,
也是一樣在寫CIM的程式,
所以有時候,傳遞的信號錯了,
不需要認定一定就是自已程式的問題,
也有可能是上游機台在傳遞時,
發生了問題。


我們寫CIM程式,會發生問題,
相對的,上下游機台,也是在寫CIM程式,
當然也會發生問題。
=========================================


2014年5月25日 星期日

PLC該怎麼練習

PLC該怎麼練習,應該是很多初學者要問的問題。
我沒有PLC實機,該怎麼練習?
都是初學者,遇到的問題。


但其他PLC軟體 & 實機,只是讓你去驗證,去實行你的想法而已,
生活周遭還是有很多的小細節,可以讓我們去培養PLC的能力。

例:感應門-開關
很簡單,甚至不用PLC也做到,但可以利用這簡單的動作,來培養我們一些相關的知識。

進-出 有不同音效,可能需要兩個不同輸入點(進、出),不同輸出點(音效)
當「進」的音效未播放完前,觸發「出」的音效,則不輸出。就是一個優先權的寫法。


例:最近新聞常報,高鐵的轍器故障,如果是我們設備其中之一呢?該如何避免,維護、保養。

如果感應器,常感應不良,可能要考慮環境因素,及調整問題,或是增加一組......
如果感應器,常損壞,可能要考慮設計問題,定期更換,產品穩定壽命....

生活周遭處處都有可以學習的地方,就看自已是否有用心去發掘。