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

最終更新日 2017/10/16

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

CUnetのメール機能

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

CUnetのメール機能をご存知ですか?メール機能といっても、E-mailを送るわけではないですよ。ピア・ツー・ピア(以下、P2P)のメッセージ通信機能のことで、うまく使えば幅広い活躍が見込めます。

近年IoTが大きなテーマとなっている中で、IoT関連のソリューションでもメール機能が大きなポイントとなります。


メール機能(メッセージ通信)の特長

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

CUnetは共有メモリとは別に、P2Pで最大256バイトのデータセットを送受信する機能を持っています。このメッセージ通信の機能を「メール機能」と呼んでいます。

※メール機能対応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)に注目が集まっています。

ステップテクニカのCUnetを使うことで、通常のI/Oデータをやり取りする応答時間はそのままに、「起動時だけ知らせればよい保全データ」や「臨時オペレーションの通知」など常時通信しなくてもよいデータに関しては、256ByteのP2P転送「メール機能」にて送信することができます。

コントローラ側の負荷も増えないため、簡単・楽なIoT化の実現に興味がある方はぜひご連絡ください!

お礼

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

取り扱いメーカー

お問い合わせ