Profibus

PROFIBUS (Process Field Bus) はファクトリーオートメーションにおけるフィールドバス（:en:Fieldbus）通信の標準の1つで、ドイツ連邦教育・研究省が1989年に助成を開始した。産業用イーサネットの規格であるとは異なる。

 始まり 
PROFIBUSの歴史は、ドイツで1987年に21の企業や研究所が集まってフィールドバスの開発計画を策定し、政府が助成したことに始まる。目標は、フィールドバスインタフェースの基本的な要求に基づいた、ビットシリアルフィールドバスを実装しその使用を広めることであった。この目的のため、各参加企業はファクトリオートメーションとプロセスオートメーションに共通する技術的コンセプトのサポートに合意した。まず複雑な通信プロトコル Profibus FMS (Field bus Message Specification) が策定された。そして1993年、より単純でより高速な PROFIBUS DP (Decentralized Peripherals) が FMS の後継として完成した。

 使用法 
PROFIBUS には2つのバリエーションがある。よく使われているのは DP で、PA の利用は少ない。
 PROFIBUS DP (Decentralized Peripherals) は生産現場で集中制御装置がセンサ群やアクチュエータ群を操作・運用するのに使われる。多くの標準診断オプションがある。他にも（Profibus FMS と同様）制御装置同士を接続したネットワークでの通信でも使われる。転送レートは、ツイストペアケーブルや光ファイバーを使って最大12Mbit/sが可能である。
 PROFIBUS PA (Process Automation) はプロセス制御システムの測定装置の監視に使われる。防爆エリア（Ex-zone 0 および 1）での使用に最適である。バスの導線上には弱い電流しか流れないため、誤動作が起こっても爆発の誘引となるようなスパークを発生しない。ただし、そのためにデータ転送レートが低く、31.25kbit/s である。

PROFIBUS は組み立てラインのオートメーションにもプロセスオートメーションにも使われている。世界中で2000万台以上のPROFIBUS機器が使われている（2007年現在）。

 テクノロジー 
 
+ PROFIBUSプロトコル（OSI参照モデル） OSIレイヤー PROFIBUS 7 アプリケーション層 DPV0 DPV1 DPV2 マネジメント 6 プレゼンテーション層 -- 5 セッション層 4 トランスポート層 3 ネットワーク層 2 データリンク層 FDL 1 物理層 EIA-485 光 MBP

 アプリケーション層 
様々なサービスレベルに対応したDPプロトコルが定義されている。
 DP-V0 は、データと診断の周期的交換を行う。
 DP-V1 は、周期的/非周期的データ交換と警報処理を行う。
 DP-V2 は、等時間隔モードとデータ交換ブロードキャストが可能（スレーブ同士の通信）。

 セキュリティ層（データリンク層） 
セキュリティ層 FDL (Field bus Data Link) は、トークン・パッシングとマスタースレーブを組み合わせたような方式で働く。PROFIBUS DP では、制御装置やプロセス制御システムがマスターで、センサ群やアクチュエータ群がスレーブとなる。

メッセージにはいくつかの型があり、開始デリミタ (SD) で識別される。

データ無し: SD1 = 0x10

SD1DASAFCFCSED

可変長データ: SD2 = 0x68

SD2LELErSD2DASAFCDSAPSSAPPDUFCSED

固定長データ: SD3 = 0xA2

SD3DASAFCPDUFCSED

トークン: SD4 = 0xDC

SD4DASAED

肯定応答(ACK): SC = 0xE5

SC

SD: 開始デリミタ
LE: PDUの長さ（DA,SA,FC,DSAP,SSAPを含む）
LEr: PDUの反復（ハミング距離 = 4）
FC: 機能コード
DA: 送信先アドレス
SA: 発信元アドレス
DSAP: 送信先SAP
SSAP: 発信元SAP

 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 はオプションであり、アドレスを書き換えられない装置ではサポートしていない。

PDU: Protocol Data Unit（プロトコルデータ）
FCS: Frame Check Sequence
ED: 終了デリミタ (= 0x16 !)

FCSは単純に指定された長さにある各バイトを加算して計算される。オーバーフローは無視される。各バイトには偶パリティが付けられ、スタートビットとストップビット付きで非同期に転送される。メッセージ転送中は、あるバイトのストップビットと次のバイトのスタートビットの間は空けないことが多い。また、メッセージの前に33ビットぶんのSYNポーズ（"1" がバスのアイドル状態）を置く。

 ビット転送層（物理層） 
ビット転送層には3種類の方式が指定されている。
 EIA-485に準じた電気通信
 波動インピーダンス150オームのツイストペアケーブルを使ったバス型のネットワーク。ビットレートは9.6kbit/sから12Mbit/s。ケーブル長は100mから1200m（転送レートによって異なる）で、それ以上はリピータを必要とする。この方式は PROFIBUS DP で主に使われている。
 光ファイバーによる光通信
 スター型、バス型、リング型のネットワークがある。リピータ間の距離は最大15km。リング型では多重化も可能。
 MBP (Manchester Bus Powered)
 データと電力を同じケーブルで供給する方式。防爆エリアでの電力使用を低減できる。バス型で最大1900mの長さであり、支線（最大60m）を出すことができる。ビットレートは31.25kbit/s固定。PROFIBUS PA を使ったプロセスオートメーション向けに開発された。

無線を使ったデータ転送を行う実装もなされているが、それらは標準に準拠したものではない。

 標準化 
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年、それら団体の上位団体として (PI) が創設された。