アークネットに於ける物理層の知識は、ノード数が数個程度で伝送線路が近距離で適切に敷設されるようなシステムでは余り必要は有りませんが、伝送線路が数十メートル以上となり、それに伴ってノード数が多い比較的規模が大きなシステムでは必要不可欠です。

物理層を考えるうえで不可欠な条件は、伝送速度と使用されるノードのメディアトランシーバーの種類と接続される最大ノード数、伝送線路のケーブルの種類と伝送線路の最大距離、ハブ仕様の有無、ノード・ノード間距離、終端抵抗の位置です。これらの知識が乏しいままアークネットシステムの保守・管理は至難の技と思います。 

 ARCNET基礎講座は、弊社製ARCNETアナライザーをご購入予定のお客様が特にARCNETに特長的なトークン(ITT)の役割とリンク確立 通信プロトコルの仕組みを理解して頂くために開設しております。

これからアークネットシステムの保守・管理を担当する技術者には必須の技術的な知識です。

 ARCNETとは、1977年に米国 Datapoint社によって提唱されたローカルエリアネットワークです。

世間ではイーサネットが主流ですが、レガシーな技術としてまだかなり稼働しており、オフラインの産業機器等の通信制御には根強い人気が有り、捨てがたい良さが有るようです。

ARCNETの特長としてトークンと言うメッセージを常に循環させてタイミングを捉えてパケットトラフィックを行います。この方式を改良型トークン・パッシング方式と言います。リアルタイム性と簡便さで主に工業用ネットワークとして現在でも世界中で数多く使用されています。

 ネットワークシステムの場合、たくさんのノードがどういう規則のもとでネットワークを使用していくのか どこにネットワークの使用権があるのかが大事です。ARCNETは、ネットワークの使用権を循環させることで実現しています。この方式をトークンパッシング方式と言います。皆さんが日頃からお使いのイーサーネットは、衝突しながら調停していくコリジョン方式と呼ばれます。

ARCNETは、トークンパッシングをチップ自体がハードウェアシーケンサーのマイクロコードで実行するのでリンク確立のプロトコルの実装をほぼ必要としません。他の通信方式に比べてリンク確立のソフトウェアの負担が少ないため低コストで開発が可能ですので現在でも世界中で使用されてます。

ARCNETプロトコルでは、トークンとは実はARCNETプロトコルで定義されているメッセージのITTがその役割を果たしています。このITTをネットワーク中に循環させることによって、ノードに使用権が渡されます。そして、このトークンを渡されたノードが唯一送信を行うことができ、送信するものがなければ直ちに次へトークン(使用権)を渡さなければなりません。

このプロトコルでは、基本的に衝突がなく、使用権を平等に各ノードへ渡され、ひとつのノードが優先的にネットワークをコントロールすることがなく、あるノードだけが大きな負荷を受けることもない。大事なことは、比較的高速なリアルタイム性を要求される工業用ネットワークとして最適なネットワークシステムと言えます。現在でも世界中で数多くのシステムで使用されている事を考えれば納得がいきます。

このネットワーク使用権を各ノードが平等に恒久的に得るために、トークンが循環し続ける必要が有ります。これでトークンがなぜ必要かお分かりになったと思います。この概念の理解は非常に重要なことで後々の不具合解析に影響しますのでしっかり理解しましょう。

通信用語では、お互いのノードの認識を一般的にリンク確立とも言い物理層レベルでの扱いになりますので、論理層レベル(パケットモニター)では、観測はできません。

 実際のアークネットシステムに弊社製ARCNETアナライザー[ArcScan]を接続して、計測し捉えたトークンの実態です。実はトークンとはプロトコル・メッセージのITTを使用しています。ITTがプロトコル上のルールに則って順番に各々のノードから規則正しく送信しています。トークンを実際に観測出来る事が 難解な物理層の不具合の解析を容易にしているのです。 

[ArcScan]が無ければ複雑で難解な物理層の過渡期の事象を捉えることは不可能です。
緑色で示されたトークンIDは、ノードID=01,ノードID=02,ノードID=03,ノードID=04,ノードID=05 これを繰り返しています。もし各ノードが送信したいデータがあればトークンの代わりに他のメッセージを送信することができます。

 弊社製ARCNETアナライザー[ArcScan]でバースト発生の瞬間を捉えたトークンの遷移の実態です。

画面の上半分は通常のトークン循環ですが、何らかの原因でバースト発生した瞬間からグレーで示される破壊されたノードIDを表示しています。この状態は深刻な不具合発生の状態ですのでパケット転送はおろか、他のメッセージのトラフィックも出来ない状態です。小規模なシステムでは最低限ボードに搭載されたエラーLEDが一瞬だけ点灯して点滅を繰り返します。しかし何が起きたかは?です。

比較的大きなシステムになりますと、ボードに搭載されたエラー処理ルーチンによってARCNET LSIのステータス情報を収集して最低限バースト発生のメッセージをコンソール等に表示して何らかの処理を促します。

しかしこれでも、何が起きたかは分かりません。システムオペレーターは何かが発生した程度で気に留めません。しかし、このメッセージの頻度が増え始めると、一度電源を落として再起動を試みます。これで復旧したらシステムの機嫌のせいにして終わります(笑)。それでも頻発するようなら、ここでようやく本当の不具合発生と認識して保守・管理部門に連絡して後はお任せになります。

 ARCNETは、通信手段ですからある装置とある装置は何らかの方法で通信を行う必要があります。通信も有線通信方式、無線通信方式、光通信方式他、色々な通信方式がありますがARCNETは、有線通信方式、一般的ではありませんが一部光通信方式を採用しています。 

この通信方式によって通信ケーブルと通信デバイスが決定されます。これらを含めて説明します。

 弊社では、ARCNETアナライザーの説明を行う上でARCNET物理層とARCNET論理層とに分けて説明しています。ARCNET物理層は、リンク確立のためのトークンの循環、通信ケーブルとそれをドライブする通信デバイスまでを物理層としています。

パケット送受信に関わるプロトコルは論理層として説明しています。

 通信ケーブルとは、ARCNETシステムのノード間の伝送線路を形成するケーブルの総称です。

同軸ケーブル、またはツイストペア線が主に用いられますが、重要なシステムでは、光ケーブルも使用されています。同軸ケーブルには、特性インピーダンスの違いがあり主に75Ω系、93Ω系が使用されています。

ノード間が比較的近距離の場合、または筐体内のARCNETによるボード間通信にはツイストペア線が用いられます。その場合の伝送線路特性インピーダンスは100Ωから130Ω近辺の値になります。

光ケーブルは、伝送線路が光ファィバーですので絶対的に電波伝搬による空間ノイズの影響がありませんので信頼性は非常に高くなりますが、光・電気変換が必要な事といもずる式に接続するパーティライン方式が使用できませんのでコスト的に高くなります。同軸ケーブル、ツイストペア線共にケーブルに適合した終端抵抗で整合を取る必要があります。

 通信デバイスとは、各々のノードが接続された伝送線路をドライブするICでARCNETメーカー推奨の通信デバイスとしてHYCシリーズ、または市販のRS-485を使用します。 

HYCシリーズの特長は、パルストランスを使用してノード・ノード間は絶縁されます。特に長距離のノード・ノード間の接地電位差の解消、伝送線路ノイズの抑圧等で優れています。

RS-485の特長は、コスト面で有利です。またパーティラインを組む際、システム設計のサージ耐量、ノイズ抑圧回路の付加に左右されますが一般的に多くのノードを接続することが可能です。

 それでは基本的なARCNET通信の仕組みをご説明します。 
基本的にアプリケーションも5種類のメッセージと3個のシステムタイマーを持っていて、非常に単純明快な仕組みで動いています。物理層のハードウェアはシーケンサーで動いているためドライバーを開発する必要がないので産業界では簡便なネットワークとしてかなりの数の装置に導入されたようです。

そのような経緯で開発された産業機器は、民生品と違って少量、多品種で開発コストも掛かりますので機器を延命させて使用したいのは世の常です。産業機器は比較的長期間使用されますので、必ずと言って良いほど保守・管理の必要性に迫られます。

しかし一度物理層のご機嫌を損ねて不具合が発生すると測定器無しでは何が起きているのか皆目見当のつかない様相を呈して、システム回復まで復旧時間が掛かるのは関係者は良くご存じのはずです。でも最低限度知らなくてはいけないプロトコルメッセージとタイマーの動きを良く知っていれば、ある程度不具合に対して想像のつく動作です。

 ARCNETは、左図のメッセージを使用 ITT(トークン),FBE,ACK,NAK,PACKETです。 

ITTの役割は、2.トークンとは ?で詳しく説明していますがネットワーク接続の要でノードがネットワークに接続しているか 常にこのコマンドで巡回しながら監視しています。

例えると体育の授業で点呼されている状態です。つまり先生から[番号!]って言われると先頭の人から順番に自分の番号を叫ぶあの状態です。もし生徒が発言したければ、この点呼された時に発言(メッセージ送出)する事ができます。 この点呼は、ある一定の周期で巡って来て必ず発言権を得る事が出来ます。 

これがARCNETのリアルタイム性の高いネットワークと言われる所以です。もちろん体育の授業で点呼中の発言はできませんが・・・・怒られます。

言い換えるとアークネットプロトコルは、通常は通信の大半をトークンで占められると言っても過言ではありません。ノード間のリンク確立を維持するためトークンを常に循環させているためです。ただしパケットデータ量の多い特殊なシステムでは、トークンの数は極端に少なくなって驚くほど転送効率が高いシステムもございます。

では実際にパケットデータを送受信する際のそれぞれのメッセージの役割について説明します。
自分にトークンが渡って来てパケットデータを送りたい場合 

FBEは、通信したい相手がデータ受け入れ可能かどうかを聞く役目です。[○○さん パケットデータを送っても良いですか?]と言う意味で送ります。 FBEに対してのACKは、通信したい相手がデータ受け入れ可能ならば、このメッセージで応答します。[今ならデータ取れますよ]という意味です。

NAKは、通信相手が内部処理中で忙しかったら、このメッセージで応答します。
[今 忙しいから データ送らないでよ]という意味です。

PACKETは、送りたい相手を特定してデータを送る動作です。

私から○○さんに△△個のデータを送りました]つまりデータの小包です。この小包が相手に届いたら受け取った方はACKで答えます。

注意する事は、受け取らなかった場合は、NAKでは無く無応答です。送信した相手は、タイムアウトによって受け取って貰えなかった事を知ります。

左図で一連のトークン循環とパケット転送の実例を示します。

弊社アナライザーで捉えたトークンの循環の様子をご覧ください。
その後、①から④で示した(FBE-ACK) (PAC-ACK)のパケット転送のシーケンスをご覧ください。

特殊な例としてブロードキャストと呼ばれるあるノードから他のすべてのノードに、つまりネットワーク全体に一度にパケットを送る事も可能です。ただし その場合は、パケットの受け取りのハンドシェークが省略されますので注意が必要です。

 ARCNETは、これらのメッセージの実行をプロトコルタイマーによって監視しています。

ネットワーク応答監視タイマー、アイドル状態検出タイマー、ネットワーク状態監視タイマーです。

ネットワーク応答監視タイマーは、先ほどの体育の時間の例で説明します。
先生が[番号!]と叫ぶと点呼が始ります。点呼されている状態である生徒がよそ見していて自分の番号を言わなかったら周りの人は気が付きます。このよそ見をしていて返事の無い状態、つまり無応答をタイマーで監視しています。

アイドル状態監視タイマーは、先ほどの体育の時間の例で説明します。 
先生が[整列]と叫んだら 生徒は一斉に現在の運動を止めてある一定時間整列して先生が次の指示を出すまで待機させます。この時間をタイマーで監視しています。整列させて点呼前の静寂な時間を作ります。すべてのノードがメッセージを出さない状態 つまり何もしない待機状態を作ります。 この状態を監視しています。

ネットワーク状態監視タイマーは、先ほどの体育の時間の例で説明します。
生徒が順番に鉄棒運動をしていますが、鉄棒があいにくひとつしかありません。ある一定時間鉄棒運動をしたら次の生徒に交代しなければなりません。 しかし 鉄棒の好きな生徒がいて一人でずっと鉄棒運動を続けると、次の人へ順番が回ってきません。ある生徒に一人占めさせないように、つまりどの生徒も等しく鉄棒運動ができるように先生は注意をしています。鉄棒運動に参加していない生徒、つまりネットワークに参加していないノードが無いように監視するタイマーです。

 ARCNET通信システムの設計・開発・保守を行う技術の方は、ARCNETの重要な概念としてバースト・再構築があります。再構築はリコンフィグレーションと呼ばれる事も有ります。 

この状態遷移はARCNETシステムの物理層では重要な概念です。この状態遷移は、電源投入時には必ず実行されるハードウェア初期化ルーチンですが、伝送線路の不具合発生の場合にも、必ず発生します。この場合は、少し厄介です。

 バーストとは、先ほどの体育の時間の例で説明します。 先生が[整列]と叫んだら 生徒は一斉に現在の動作を停止して何もしない状態になり、先生の次の指示を待ちます。

ネットワークでは、多くの場合、共通のリセットラインは存在しませんので何らかの形でリンク確立に不具合が生じた場合、各々のノードを同時にリセットする必要があります。アークネット・プロトコルでは、そのために通常の動作では絶対に有り得ない 特異な信号パターンを流して通信を妨害してタイムアウト発生させます。これによってネットワークシステムを初期化します。つまりバーストとはネットワークの強制的なリセット状態です。

もちろんこの状態では、通信は不可能です。出来るだけこの状態の発生は抑止すべきですが、止むを得ない場合が多々あります。バーストと再構築は基本的にセットになって実行されます。

 弊社アナライザーで捉えたバースト・再構築発生の瞬間の様子をご覧ください。

再構築状態とは、先ほどの体育の時間の例で説明します。先生が[整列!][番号!]と叫ぶと点呼が始ります。体育の授業での整列は、例えば身長順、五十音順等の規則で並ぶ順番は決められていますので毎回順番が変わる事はありません。これがバーストによってリセットされたネットワークを論理的に規則正しく並べる再構築またはリコン[リコンフィグレーション]と呼ばれる状態です。

整列の基準はアークネットでは、個々のノードに割り振られたノードID値を元に決定されます。このノードID値を利用して物理層のネットワークを構築する事を通信用語では[リンク確立]といいます。

弊社アナライザー <ArcScan>は、物理層の状態遷移であるバースト・再構築を見逃すことはありません。

再構築は、バーストの後に必ず実行される必須の処理でアークネットの最大の特徴でもあります。 これによってネットワークは本来の秩序を取り戻して新たに正常なネットワークシステムに復帰することが出来るのです。良し悪しが有りますが自律的にネットワークをリセットして再起動を掛ける事は、逆にデバッグを難しくしている要因にもなります。保守・管理者は、この辺の事情を考慮して見極めることが必要です。

バースト状態と再構築状態は、物理層理解の根幹に係る事なので正確に覚えてください。 バースト状態と再構築状態は、アークネットの特長的な動作ですが、これが頻繁に発生するようなシステムは、何らかの問題を抱えているシステムとなり、早急に原因を突き止めなければシステムの信頼性を大きく左右することになります。

 弊社アナライザーは、物理層の状態遷移であるバースト・再構築を検出した場合、オシロスコープでその瞬間を自動的にストローブして表示することが可能です。

この画面の最上段の赤枠②で囲まれたヒント文字は、原因となったノードIDを特定して表示しています。このイベントが発生した原因は、トークンが中断したためです。

この画面の最上段の赤枠➀で囲まれた波形が最後の方で欠落しているのが確認できます。このトークンの欠落は、この講座で学ばれたならば、バーストが発生した原因は分かるはずです。 
 
そうです! 何らかの原因でノードID=03を見失ったためです。

バースト・再構築は、色々な要因で発生します。
 
このようにプロトコルアナライザー単体では検出しても、原因を特定することは非常に難しいのですが、<ArcScan>のオシロスコープ機能は、トークンの中断をはっきりと捉えてオペレーターに何が起きているのかを知らせることが可能です。

このような場合、オペレーターから以下に示すようなクレームが報告されるようです。

1.何の前触れも無くシステムが停止するが。
2.時々訳の分からない動きをして異常停止するが。
3.動作が遅くなった気がするが。
4.データの欠落が有るようだが。
5.アラートランプが時々点くが。
6.上位システムより異常報告が有るが。
7.稀に通信の瞬断、復帰を繰り返してお客様より異常報告が有るが原因が分からず苦慮しているが。
8.システムアラートログが正しく報告されないが。
9.システムを設置してかなりの年月が経って、保守・管理の必要性に迫られているが。
10.最近システムを納入したが、原因不明の不具合に悩まされているが。

 貴社システムではこのような事は、ございませんか?

このような現象の解析は、パケットレベルのモニターでは不可能です。解析に必要な情報が得られないからです。このような場合は、物理層からプロトコル層まで一貫して計測できる弊社アナライザーで信号解析を行うことが非常に重要です。

弊社製品導入によって今まで多くのユーザー様が解決されています。アークネットの隅から隅まで詳細に解析することが可能ですので、貴社システムが物理層プロトコルに於けるリンク確立から論理層のアプリケーションに不具合が無いことを確認可能です。これからのシステムの保守管理を行う上で、迅速な対応で保守管理費の節減になります。

 動画で物理層基礎講座をもっと詳しく知りたい方は、必要な項目をクリックでご覧になれます。

1.物理層基礎動画講座 No.1 トークンパッシング方式とは?
2.物理層基礎動画講座 No.2 ノイズによるノード離脱と再参加
3.物理層基礎動画講座 No.3 ネットワークからノードの削除
4.物理層基礎動画講座 No.4 ネットワークへのノードの追加
5.物理層基礎動画講座 No.5 パケットデータの送受信の仕組みについて
6.物理層基礎動画講座 No.6 パケットのCRCエラーについて 
7.ArcScan の基本的な機能を動画によって説明
8.アークネット通信の不具合で最初にすべきこと !