富士エレクトロニクス株式会社

ステップテクニカ技術情報

最終更新日 2018/8/29

ソイールFA装置で重要視される定時性とリアルタイム性とは

はじめまして、ソイールです。システム製品やデバイスの技術サポートを担当しています。

汎用マイコンでリアルタイム制御を実現する場合、周辺制御や割り込み処理等が増えてくると定時性およびリアルタイム性を保証することは難しくなります。

このような場合、フィールドネットワークでは定時性およびリアルタイム性を保証したデバイスを使用して解決することもできます。

まずは、フィールドネットワークで重要視される定時性とリアルタイム性を紹介します!

定時性について

定時性を保証することにより、何ができるのでしょうか。

スレーブ側への入力データの推移をマスター側の出力で再現させることができます。下図の通り、A/Dコンバータのアナログデータを再現させる場合を考えてみます。サンプリングレートについては割愛します。

アナログデータの再現

出典:ステップテクニカ HLS導入ガイド(Ver.1.3)

定時性が保証されない場合、センタICでのアナログデータの遷移は下記のように歪んだ波形となります。

定時性が保証されない場合

出典:ステップテクニカ HLS導入ガイド(Ver.1.3)

定時性が保証される場合、センタICでのアナログデータの遷移は下記のように歪みのない波形になります。

定時性が保証される場合

出典:ステップテクニカ HLS導入ガイド(Ver.1.3)

このように"定時性"が保証されることにより、歪みのないアナログ波形を再現することができます。


リアルタイム性について

リアルタイム性とは、データの入力から処理を行い結果を出力するまでの応答時間が保証されます。

リアルタイム性の例として、下記のような隕石の通過を検知するシステムを考えてみます。

隕石の通過検知システム

出典:ステップテクニカ HLS導入ガイド(Ver.1.3)

リアルタイム性が保証される場合、隕石の通過があった順に通過センサからデータに変化が起こります。通過センサ①、②、③と順に反応したデータの遷移がセンタIC内のメモリデータは追従します。これにより、ユーザCPUはセンタIC内のメモリデータの遷移から隕石の通過を認識することができます。

下記に、リアルタイム性が保証される場合のデータ遷移を載せます。

通過センサ ① → ② → ③
サテライトIC ① → ② → ③
センタIC ① → ② → ③
ユーザCPU ① → ② → ③

しかしながら、リアルタイム性が保証されない場合、隕石の通過があったとしても応答時間に制約がないため、メモリデータの遷移は隕石の通過状況とは異なる可能性があります。例えば、通過センサ①の処理に時間がかかり、センタICのメモリデータの遷移は、②、③、① になるかもしれません。

下記に、リアルタイム性が保証されない場合のデータ遷移例を載せます。

通過センサ ① → ② → ③
サテライトIC ② → ③ → ①
センタIC ② → ③ → ①
ユーザCPU ② → ③ → ①

このように"リアルタイム性"が保証されることで、通過センサのデータ遷移をユーザCPUで確認することができます。


ステップテクニカの一定周期通信とは

ステップテクニカ製品HLSとCUnetは一定周期通信により、定時性リアルタイム性の両方が保証されています。これにより、フィールドバスの応答時間を簡単に見積もれます。さらに、RS485ベースのネットワークでありながら、高速な応答速度を実現しています。IC間が一定周期で通信を行っているため、そのネットワークも一定周期で更新されます。つまり、応答時間(HLS:スキャンタイム、CUnet:サイクルタイム)は固定となります。

それでは誰が一定周期通信を実現しているのでしょうか。次に、一定周期通信について詳しく紹介します。

はてなマーク

一定周期の動作

誰がどのように、一定周期通信を実現しているか。答えは、前回エッグさんが紹介した内蔵プロトコルになります。内蔵プロトコルについては、前回の記事『通信プロトコル内蔵でソフトウェアの開発コスト0』を参考にしてください。

ステップテクニカ製品の特長として、通信エラーが発生した場合、エラーデータは破棄されます。しかしながら、応答速度は高速なため、リトライはせずに次のスキャン時にデータを受け取ります。

ステップテクニカICのネットワークはどのくらいの時間で更新されているのでしょうか。ネットワークの更新時間(応答時間)は、通信方式と転送レート、FS数で見積もれます。また、通信方式としては、ハーフデュプレックスとフルデュプレックスがあります。

  • HLSは、ハーフデュプレックスとフルデュプレックスの両方をサポートしています。
  • CUnetは、ハーフデュプレックのみサポートとなります。

簡単にハーフデュプレックスとフルデュプレックスを紹介します。

ハーフデュプレックス

まず、ハーフデュプレックス(Half Duplex, 半二重)を紹介します。ハーフデュプレックスでは、送信と受信を交互に切り替えて通信を行います。構成は下図の通りになります。

ハーフデュプレックス

出典:ステップテクニカ HLS導入ガイド(Ver.1.3)

通常、送信と受信を同時に行うとデータの衝突が起こる可能性があるため、データの衝突がないように設計する必要がありますが、ステップテクニカ製品では内蔵プロトコルにより自動で制御するため、簡単にネットワークを実現できます。

フルデュプレックス

続いて、フルデュプレックス(Full Duplex, 全二重)を紹介します。フルデュプレックスでは、送信と受信を同時に行うことができます。構成は下図の通りになります。

フルデュプレックス

出典:ステップテクニカ HLS導入ガイド(Ver.1.3)

送信と受信を同時に行うことができますが、ハーフデュプレックスと比べて、部品(パルストランス)が増えます。また、通信ケーブルも2ペア分の芯線を使用します。


ネットワークの応答時間

HLSやCUnetの応答時間は、通信方式と転送レート、FS数で見積もりができると説明しましたが、具体的にはどのように見積もるのでしょうか。

HLSのスキャンタイム

HLSの応答時間は、スキャンタイムと呼ばれています。スキャンタイムの構成要素は下記の3つになります。

  • ・通信方式:フルデュプレックス または フルデュプレックス
  • ・最終サテライト数:最終サテライト(FS : Final Satellite)は、大まかにスレーブ(サテライト)IC数になります
  • ・転送レート:12Mbps, 6Mbps, 3Mbps(TBPS = 1 / (転送レート))

下記に各スキャンタイムの計算式を載せます。
※HUB対応される場合はユーザーズマニュアルを参照してください。

○ フルデュプレックスの場合
Scan Time = 182 × FS × TBPS [sec]

○ ハーフデュプレックスの場合
Scan Time = 354 × FS × TBPS [sec]

例として、下図のように接続している場合のスキャンタイムを考えます。

HLSのスキャンタイム

○ フルデュプレックスかつ転送レート12Mbpsの場合

サテライトICは63個接続されているため、最終サテライト数は63となります。

この値を計算式に当てはめますと、
Scan Time = 182 × FS ( = 63 個) × TBPS ( = 1 / 12Mbps ) = 955.5 us

○ ハーフデュプレックスかつ転送レート12Mbpsの場合

フルデュプレックスと同様に最終サテライト数は63となります。

この値を計算式に当てはめますと、
Scan Time = 354 × FS ( = 63 個) × TBPS ( = 1 / 12Mbps ) = 1858.5 us

フルデュプレックスかつ転送レートを12Mbpsにすることで、スレーブICを63個接続した状態にも関わらず、スキャンタイム(応答速度)は1ms以内とリアルタイムかつ高速な更新可能です。

CUnetのサイクルタイム

CUnetの応答時間は、サイクルタイムと呼ばれています。CUnetのサイクルタイムを見積もる場合、フレームタイムから見積もります。

フレームタイムとは、ネットワーク内で全端末の1ブロックメモリ(8Byte)が共有(コピー)するのに必要な時間となります。サイクルタイムは、ネットワーク内で全端末の使用している全ブロックメモリが共有するのに必要な時間になります。

下記にサイクルタイムとフレームタイムの例を載せます。

CUnetのフレームタイム

フレームタイムの構成要素は下記の3つになります。

  • ・LOF:フレーム長定数(LOF : Length Of Frame)、プロトコルで固定
  • ・FS:ファイナルステーション(FS : Final Station)は、使用しているメモリブロック数
  • ・転送レート:12Mbps, 6Mbps, 3Mbps(TBPS = 1 / (転送レート))

下記にフレームタイムの計算式を載せます。
※HUB対応される場合はユーザーズマニュアルを参照してください。

○ フレームタイム
Frame Time = (LOF + FS + 1) × 2 × TBPS [sec]

サイクルタイムの構成要素は下記の3つになります。

  • ・Frame Time:上記のフレームタイム
  • ・FS:ファイナルステーション(FS : Final Station)
  • ・PFC:パブリックフレーム数(PFC : Public Frame Count)、プロトコルで固定

下記にサイクルタイムの計算式を載せます。

○ サイクルタイム
Cycle Time = Frame Time × ( FS + PFC+1 ) [sec]

例として、下図のように接続している場合のサイクルタイムを考えます。

CUnetのサイクルタイム

○ CUnetプロトコルVer1.00かつ転送レート12Mbpsの場合のサイクルタイム

CUnetプロトコルVer1.00より、PFC = 2, LOF = 151となります。FSは自己占有エリア①~⑤を各8Byteとしますと、5になります。

上記より、フレームタイムは下記となります。
Frame Time = ( LOF ( =151 ) + FS ( = 5 ) + 1 ) × 2 × TBPS ( = 1 / 12Mbps ) = 26.16666… us

上記より、サイクルタイムは下記となります。
Cycle Time = Frame Time × (FS ( = 5 ) + PFC ( = 2 ) +1 ) = 209.33 us

補足として、メモリブロックを64個使用した場合のサイクルタイムは、2,365usとなります。HLSと比較して遅くなりますが、応答速度は2.4ms以内とリアルタイムかつ高速に動作します。


まとめ

逐次的にプログラムを実行する汎用マイコン等でリアルタイム制御を実現する場合、周辺制御や割り込み処理等が増えてくると定時性およびリアルタイム性を保証することは難しくなります。

例えば、ステップテクニカ製品では定時性およびリアルタイム性が保証されているため、応答時間は常に一定になります。

具体例としては、63台のHLSネットワークの場合の応答時間は955.50usと一定になります。

このように、リアルタイム性や定時性が必要な制御や計測用のシステム構築する場合に、ステップテクニカ製品を使用することで簡単に実現することができます。

>> ステップテクニカ技術情報の一覧はこちら

お礼

お問い合わせ・サンプル請求・ご相談はこちらから

取り扱いメーカー

お問い合わせ