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

最終更新日 2017/10/16

ブロードキャスト通信とP2Pの組合せでFAネットワーク構築

学生の頃は手元を見ずに携帯メールを送ることができたエッグです。

工場オートメーションの設備など、フィールドバスを使用したFAネットワークを構築するとき、常に通信させておかなければならない箇所と、たまにだけ通信させればよい箇所がないでしょうか?

前者はセンサ入力やリレー接点の出力、後者は臨時オペレーションの通知などですが、たまにだけ通信させればよいデータのために、コントローラ側を常に動作させておくのは効率が悪いですよね。

ここで、常に通信させておく箇所をブロードキャスト通信、たまにだけ通信させればよい箇所をピア・ツー・ピア(以下、P2P)通信で行えば、理想的な設計と言えるのではないでしょうか。コントローラ側に負荷が集中しない、効率的な組み方だと思います。

ステップテクニカのCUnetは、まさにこれを実現できるスペックを持っています。ブロードキャスト方式のリアルタイム性の高いデータ通信と、P2Pのデータ送受信機能を持ち合わせており、理想的なFAネットワークが構築可能です。


ブロードキャスト通信 + P2PのCUnet

CUnetの通信プロトコルはマルチマスタ型ブロードキャスト方式で、CUnetの各端末は自分の順番が回ってきたときに自らが占有するメモリ空間の内容を全端末へブロードキャストしてネットワーク内に展開するわけですが、1ブロック8バイトのデータ容量ゆえ比較的小さなデータを高速にやり取りするのに向いています。

CUnetはそれとは別に、P2Pで最大256バイトのデータセットを送受信する機能を持っており、このメッセージ通信の機能を「メール機能」と呼んでいます。(メール機能といっても、E-mailを送るわけではないですよ。)

メール機能の具体的な使い方を見ていきたいと思います。

※メール機能対応CUnet IC
MKY43、MKY40、MKY44-IO32A、MKY44-AD12A、MKY44-AD16A、MKY44-AD16B、
MKY44-DA16A、MKY44-DA16B、MKY44-MC01A、MKY44-MC02A

CUnetのメール機能

出典:ステップテクニカ CUnet特殊機能

メール機能の使い方

MKY46以外のCUnet ICはメール機能に対応していますが、ここではMKY43を例に取って説明します。

MKY43はMSB(Mail Send Buffer)という256バイトのメール送信用メモリを1つ搭載しています。また、MRB0(Mail Receive Buffer 0)とMRB1(Mail Receive Buffer 1)というメール受信用メモリ2つも搭載しています。MRB0とMRB1もそれぞれ256バイトです。

メールは2つの受信バッファのうち、レディ状態のバッファへ格納されます。受信バッファが2つあるため、受信したデータセットをCPUがリードしている最中であっても、もう一方のバッファがレディ状態であれば、次のメールを受信することが可能です。

メールの送受信は、CUnetのグローバルメモリ(GM)のデータ共有やI/O制御と同時に動作させることができます。サイクルタイムの余暇時間を使って少しずつ送っていくため、バックグラウンドにおいて動作するイメージです。つまり、メール送受信中に共有メモリのデータや応答速度が変化することは一切ありません。下記手順でメールの送受信が可能です。

  • 1. 送信するデータセットをMSBへライト
  • 2. 送信先とデータセットのサイズを設定して、SENDビットへ"1"をライト
  • 3. 送信
  • 4a. 割込みやフラグによって”送信完了”を通知
  • 4b. 割込みやフラグによって”受信完了”を通知

メール送信のステップ

ユーザシステムのプログラムをどのように組めばよいかなど、より具体的な操作方法についてはMKY43ユーザーズマニュアルの「4.3 メール送受信機能の利用」をご覧ください。

メール機能のポイントと注意点

メール機能を使う手順は上記の通りですが、使用上のポイントや注意点をいくつか紹介します。

Point

  • 1. リトライ等のメール送受信プロトコルも全てMKY43が内部において実行
  • 2. GMの利用中においても、メール送受信を並行して利用可能
  • 3. ”メール受信完了”と”メール送信完了”の両方によって割込みを発生させることが可能
  • 4. メール送信がエラー終了した場合には、エラーの種別を参照可能
  • 5. メール送信に対してタイムアウトを設定したり、実際の送信に消費された所要時間を知ることも可能
  • 6. 同時に2つのCUnetステーションがメールを送受信可能

  • ※メール送信のエラー種別
  • ・相手不在
  • ・相手側の受信バッファがRDY状態でない
  • ・タイムアウト
  • ・設定不正
  • ・回線中断

注意点

1. 一斉同報のメール送信は不可

一斉同報(一般的なRS-232Cに用いられる”垂れ流し”と俗称される手法や、LAN通信における”ブロードキャスト”と称される手法)は相手へデータが届いたことの保証を得られない低品質な方式であるというステップテクニカ社の設計思想から、CUnetのプロトコルには採用されておらず、一斉同報のメール送信はできません。

2. 占有幅(OWN)設定により占有拡張されているステーションアドレスでは受信不可

誤ってOWN設定で拡張されたアドレスを指定したメール送信は、”相手不在”のエラーとなります。例えば、SA=6かつOWN=2のときにSA=7をメール送信先として指定することはできません。

3. ほぼ同時に同一宛先にメール送信が開始された場合は遅れて開始された方は待機

CUnetは複数のメール送信が同時に開始されたときの優先権管理機能も保有しています。

メール送受信に必要とする時間

メール送受信時間の目安は、マニュアルに記述された計算式によって算出できます。

計算式

 ((( データセットのバイト数 + 7 ) / 8 ) +3 ) * サイクルタイム[秒]

計算例

  • ・転送レート12Mbps
  • ・4つのステーションで稼働するシステム(FS=3)
  • ・100バイトのメールを送受信

 ((( 100 + 7 ) / 8 ) + 3 ) * 155us = 2.54ms

計算式から分かるように、メール送受信の時間は、転送レート、FS値、送信するデータセットのサイズに依存します。転送レートが12MbpsかつFS値が"63"(3FH)の状態におけるメール送受信時間の目安は64バイト送信時に約27ms、256バイト送信時に約83msです。

●代表的なメール送受信時間の目安

データセットのサイズ 送受信時間の目安
64バイト 27ms
256バイト 83ms

これはRS422やRS485のデータ転送と比較すると、約3キロバイト/秒、約34kbpsに相当します。

FS値の小さいシステムにおいては、メールの送受信時間はさらに高速です。ユーザーがFS値を変更する操作を”リサイズ”と呼びますが、MKY43のNFSR(New Final Station Register)へ変更する値をライトすることにより、通信ケーブルによって接続された全てのステーションのFS値を更新することができます。


まとめ

現場機器の保全の方式は、壊れた箇所を交換する「事後保全」から、壊れる前に交換する「予防保全」に移り変わり、近年は壊れる原因を取り除く「予知保全」(predictive maintenance)に注目が集まっています。

予知保全は近年の大きなテーマであるIoTの一部ですが、IoTでもステップテクニカ製品のP2P転送「メール機能」が大きなポイントとなります。

コントローラ側の負荷が増えないシステム構築が可能なため、簡単・楽にIoT化が実現できます。興味がある方はぜひご連絡ください!

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

お礼

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

取り扱いメーカー

お問い合わせ