ラダープログラムにおいて、応答通知方式で制御用PMCアドレスを使用する場合について説明します。
CNCからメッセージを送信するには、PMCの "R" または、"E" アドレスデータを使用します。CNC主導メッセージ通知機能を使用する場合、下記のような信号制御を行うラダーを作成する必要があります。
注) 30i/31i/32iの場合、送信用データとしてマクロ変数を設定することもできます。以下の説明では、送信用データとしてPMCアドレスを使用しています。
- 制御用PMCアドレスの信号説明
CNC主導メッセージ通知機能を実行するための制御用PMCアドレスの信号の詳細を示します。制御用PMCアドレスの領域は2バイトです。
以下は、制御用PMCアドレスとして“Rxxxx”(PMC系統番号は省略)を使用する場合を示しています。
- REQ (Rxxxx#7)
[名称] メッセージの送信要求信号 [区分] 入力信号 [機能] CNC主導メッセージの送信を要求します。 [動作] ラダープログラムは、送信用PMCアドレスへ送信メッセージを用意した後、本信号を“1”にします。
すると、メッセージがパソコンへ送信されます。- RES (Rxxxx+1#7)
[名称] メッセージ応答の受信信号 [区分] 出力信号 [機能] CNC主導メッセージの応答の受信を通知します。 [出力条件] メッセージがパソコンで受信されると、メッセージの応答がCNC(通信ボード)へ送信されます。
CNC(通信ボード)は、その応答を受信すると本信号が“1”となります。
ラダープログラムは、本信号が“1”になった時、RES_CODEを読み取り、REQを“0”にします。
すると、CNC(通信ボード)が、RES_CODEを0クリアした後、本信号を“0”にします。- COM (Rxxxx+1#6)
[名称] メッセージの送信開始信号 [区分] 出力信号 [機能] CNC主導メッセージの送信の開始を通知します。 [出力条件] パソコンへのメッセージの送信が開始されると本信号が“1”となり、送信が完了すると“0”となります。 - RES_CODE (Rxxxx+1#0 - Rxxxx+1#5)
[名称] メッセージ応答の受信結果信号 [区分] 出力信号 [機能] CNC主導メッセージの応答の受信結果を通知します。 [出力条件] メッセージの応答の受信結果が設定されます。ラダープログラムは、本信号を読み取った後、REQを“0”にします。
すると、CNC(通信ボード)が本信号を0クリアします。
- 制御用PMCアドレスの信号のタイムチャート
@ : ラダープログラムは、RESが“0”であることを確認した後、メッセージを用意し、REQを“1”とする。 A : REQが“1”になったので、通信ボードは、COMを“1”とした後、メッセージを送信する。 B : 通信ボードは、メッセージの送信が完了したら、COMを“0”とする。 C : 通信ボードは、メッセージの応答を受信したら、RES_CODEを設定し、RESを“1”とする。 D : RESが“1”になったので、ラダープログラムは、RES_CODEを読み取った後、REQを“0”とする。 E : REQが“0”になったので、通信ボードは、RES_CODEを0クリアする。 F : 通信ボードが、RESを“0”とする。
RES_CODE は、0x00〜0x3F で、0x01〜0x0F、0x21〜0x2F はシステム固定で以下の意味です。
- = 0x00
- 成功
- = 0x01
- CNCのパラメータが設定されていないか、CNCがCNC主導メッセージ開始を受け付けていません。
- = 0x02
- CNC主導メッセージサーバが存在しないか、起動されていません。
- = 0x03
- CNCが送信に失敗しました。
- = 0x04
- CNCが受信に失敗しました。
- = 0x05
- CNCの再送が送信リトライ回数を超えました。
- = 0x06
- CNCがパケットの生成に失敗しました。
- = 0x07
- CNCが不正なパケットを受信しました。
- = 0x08
- CNCがCNC主導メッセージ終了を受け付けました。
- = 0x09〜0x0F
- リザーブ
- = 0x21
- パソコンでメッセージを受信しましたが、メッセージを受け取るアプリケーションが存在しませんでした。
- = 0x22
- パソコンでメッセージを受信しましたが、メッセージを受け取るアプリケーションが登録されていませんでした。
- = 0x23
- パソコンで、受信したメッセージの書込みに失敗しました。
- = 0x24
- タイムアウト時間(タイムアウト×リトライ回数)(秒)が経過しました。
- = 0x25
- 受信したメッセージ中に不正なデータが含まれていました。
- = 0x26〜0x2F
- リザーブ
0x00、0x10〜0x1F、0x30〜0x3F は、アプリケーションが必要に応じて設定する事ができます。