PROFIBUS (Process Field Bus) はファクトリーオートメーションにおけるフィールドバス(en:Fieldbus)通信の標準の1つで、ドイツ連邦教育・研究省が1989年に助成を開始した。産業用イーサネットの規格であるPROFINETとは異なる。
PROFIBUSの歴史は、ドイツで1987年に21の企業や研究所が集まってフィールドバスの開発計画を策定し、政府が助成したことに始まる。目標は、フィールドバスインタフェースの基本的な要求に基づいた、ビットシリアルフィールドバスを実装しその使用を広めることであった。この目的のため、各参加企業はファクトリオートメーションとプロセスオートメーション[1]に共通する技術的コンセプトのサポートに合意した[2]。まず複雑な通信プロトコル Profibus FMS (Field bus Message Specification) が策定された。そして1993年、より単純でより高速な PROFIBUS DP (Decentralized Peripherals) が FMS の後継として完成した。
PROFIBUS には2つのバリエーションがある。よく使われているのは DP で、PA の利用は少ない。
PROFIBUS は組み立てラインのオートメーションにもプロセスオートメーションにも使われている。世界中で2000万台以上のPROFIBUS機器が使われている(2007年現在)。
OSIレイヤー | PROFIBUS | ||||||
---|---|---|---|---|---|---|---|
7 | アプリケーション層 | DPV0 | DPV1 | DPV2 | マネジメント | ||
6 | プレゼンテーション層 | -- | |||||
5 | セッション層 | ||||||
4 | トランスポート層 | ||||||
3 | ネットワーク層 | ||||||
2 | データリンク層 | FDL | |||||
1 | 物理層 | EIA-485 | 光 | MBP |
様々なサービスレベルに対応したDPプロトコルが定義されている。
セキュリティ層 FDL (Field bus Data Link) は、トークン・パッシングとマスタースレーブを組み合わせたような方式で働く。PROFIBUS DP では、制御装置やプロセス制御システムがマスターで、センサ群やアクチュエータ群がスレーブとなる。
メッセージにはいくつかの型があり、開始デリミタ (SD) で識別される。
データ無し: SD1 = 0x10
SD1 | DA | SA | FC | FCS | ED |
可変長データ: SD2 = 0x68
SD2 | LE | LEr | SD2 | DA | SA | FC | DSAP | SSAP | PDU | FCS | ED |
固定長データ: SD3 = 0xA2
SD3 | DA | SA | FC | PDU | FCS | ED |
トークン: SD4 = 0xDC
SD4 | DA | SA | ED |
肯定応答(ACK): SC = 0xE5
SC |
SAP(十進) | サービス |
---|---|
デフォルト 0 | Cyclical Data Exchange (Write_Read_Data) |
54 | Master-to-Master SAP (M-M Communication) |
55 | Change Station Address (Set_Slave_Add) |
56 | Read Inputs (Rd_Inp) |
57 | Read Outputs (Rd_Outp) |
58 | Control Commands to a DP Slave (Global_Control) |
59 | Read Configuration Data (Get_Cfg) |
60 | Read Diagnostic Data (Slave_Diagnosis) |
61 | Send Parameterization Data (Set_Prm) |
62 | Check Configuration Data (Chk_Cfg) |
注: SAP55 はオプションであり、アドレスを書き換えられない装置ではサポートしていない。
FCSは単純に指定された長さにある各バイトを加算して計算される。オーバーフローは無視される。各バイトには偶パリティが付けられ、スタートビットとストップビット付きで非同期に転送される。メッセージ転送中は、あるバイトのストップビットと次のバイトのスタートビットの間は空けないことが多い。また、メッセージの前に33ビットぶんのSYNポーズ("1" がバスのアイドル状態)を置く。
ビット転送層には3種類の方式が指定されている。
無線を使ったデータ転送を行う実装もなされているが、それらは標準に準拠したものではない。
PROFIBUS は1991年と1993年に DIN 19245 となり、1996年には EN 50170、1999年には IEC 61158/IEC 61784 となった。
PROFIBUS Nutzerorganisation e.V. (PROFIBUS User Organization, PNO) は1989年に設立された。ドイツの製造業者とユーザーで構成される団体である。1992年、ドイツ以外で最初の団体が創設された(スイス)。翌年以降、続々と各国にPROFIBUSとPROFINETに関する団体が創設されていった。現在では25カ国にそのような業界団体がある。1995年、それら団体の上位団体として PROFIBUS & PROFINET International (PI) が創設された。