# PROFINET QUICK GO-Through
[TOC]
## 簡述
Process Field Net的複合字,是工業乙太網路的通訊技術標準
PROFINET會在兩個裝置(IO-Controller/IO-Device)間作為通訊的協定標準,系統運作有三種裝置。
- IO-Controller: PLC, DCS IPC
- IO-Device: IO Block device, Drives, sensors, or actuator(致動器,將能源轉成機械動能的元件,有液壓驅動、氣壓驅動或是電子驅動)
- IO-Supervisor: 一種在PC上面執行的軟體,主要是設定IO-Device參數以及監控診斷每個IO-device的運行情況。
## 分類
分為PROFINET CBA(Component Based Automation)/PROFINET IO
- PROFINET CBA: TCP/IP Network Stack,使用PCD檔案來定義元件(PROFINET Component Description)
- PROFINET IO: Real time Transmission
## 技術
- TCP/IP: 針對PROFINET CBA及工廠調試用,其反應時間為100ms
- RT: 針對PROFINET CBA/PROFINET IO的應用,反應時間小於10ms
- IRT: 針對驅動系統的PROFINET IO的通訊,反應時間小於1ms,jitter小於1us
## Conformance Class
Conformance class(CC),稱為一致性等級,是PROFINET應用的分類方式
- CC-A: Device提供PROFINET IO基本功能以及RT通訊
- CC-B: 除了包含CC-A功能,還擴展其他IT診斷/管理功能
- CC-C: 除了包含CC-B功能,還擴展IRT(Isochronous Real Time)通訊
- CC-D: 增加了RSI(Remote Service Interface)
## 可靠性
靠著確保三種性質達成
- Safety
- Availability
- Security
### Safety
ProfiSafe:定義工業運作中的安全控制,像是緊急停止之類的功能,主要是用來避免工業環境中的工安問題
### Availability
可擴充性,
- 主要是在系統中增加備援(實體)裝置,以及當錯誤發生時可以無縫切換(System Redundancy)
- Media Redundency主要用在網路的錯誤發生時立即切換網路拓譜的協定運作
### Security
藉由設立防火牆來確保PROFINET的運作並降低外部攻擊的機會。
## Application Profiles
為了讓裝置之間彼此順暢溝通運作,必須要訂出一套標準的功能與服務讓所有裝置知道。這套標準就叫做profiles,裡面就會綁定功能與服務的規格。
根據其應用的不同可以分為三種
- Device Profiles: drives(PROFIdrive), process devices, encoders, pumps
- Industry Profiles: laboratory technology or rail vehicles
- Integration Profiles: integration of subsystems such as IO-Link systems
### Drives(變頻器)
PROFIdrive: modular device profile for drive devices
### Energy(能源監控)
PROFIenergy: 對於能源需求的監控profile,主要針對高耗能裝置的管控,可以達到節能成本的目的
### Processautomation(流程自動化)
- Process devices:有分成五種裝置類型
- 壓力裝置
- 溫度與流速裝置
- 類比與數位輸入輸出
- 閥門與致動器
- 分析裝置
- Advanced Physical Layer: Ethernet Advanced Physical Layer(Ethernet-APL),確保長距離與高速傳輸的Ethernet標準
## PROFINET Protocols
Protocol Stack如下圖

- Layer1/Layer2: 支援autocrossover,Wireshark軟體也可以直接解碼這個Layer的PROFINET Telegram,而藉由LLDP(Link Discovery Protocol)的協助,device也可以藉由這個來知道鄰近的device有哪些
- Layer3-Layer6: RSI不需要用到IP Address,而ARP可以在網路上去找IP位址並且去移除重複的IP位址
- Layer 7: Fieldbus Application,可以使用RT或是IRT,而在TCP上面的AP Layer則是OPC UA
## Conformance Class Technology Info
### Class A
- Output Data: Consumer IO-Device, Producer IO-Controller
- Input Data: Consumer IO-Controller, Producer IO-Device
這些資料的傳輸關係就會被定義為IO Data CR(Communication Relationship).包含Data的數量或是循環時間(cycle time)
而其中一定要support的CR叫做Alarm CR,其內容就是裝置診斷或是安全警告的傳輸;另一種CR叫做Record Data CR(acyclic communication);還有一種叫做Identification and Maintenace Data Set (I&M0, I&M1-4),主要是PROFINET對於網路內的IO-Device的識別
Cyclic Data: Real time Data
Acyclic Data: UDP/IP
#### Application Relation
主要在AP層來定義IO-Controller和IO-Device中的CR
根據其Life cycle分成五種
1. Address Resolution: 每個IO-device會有它的Station name, 而IO-Controller會確認Station name後再配給它們IP Address
2. Connection Establishment: IO-Controller會發送Request給IO-Device,確認彼此間的CR以及參數設定,另外也會有whatchdog機制來監控這個過程
3. Parameterization: 當連線建立後,IO-Controller會去Config網路中的每一台IO-device(經由GSDML, General Station Description Markup Language,來完成),這也確保了IO data exchange和alarm handling的環境
4. Process IO data exchange/ alarm handling: 這時候IO-Controller和IO-device就可以開始正式互動
5. Termination: 當watchdog timeout發生時(可能是因為傳輸錯誤或是其他錯誤),連線就會被終止,而連線不是由IO-Controller特意去終止時,IO-Controller會再次發起AR來重新建立連線來與IO-Device建立AR
### Class B
多了網路診斷的功能(SNMP,Layer Application),以及LLDP(Link Layer Discovery Protocol, Layer Data Link),這些功能進一步達成Network topology也可以讓System Redundancy的達成更加容易
### Class C
支援IRT,而且會reserve bandwidth給real time message使用
### Class D
RSI(Remote Service Interface)會作為Link Layer(TSN)之上的Protocol Stack,在這個層級,Protocol Stack會有兩個部分,RSI+TSN以及TCP/IP+CSMA/CD
## PROFINET介面實作
IO-Device至少要有兩個Ethernet Port,而要滿足CC-C和CC-D則分別需要滿足PTP(Precision Time Protocol)和TSN(Time-Sensitive Networking)
###### tags: `PROFINET`