ホームページ

FL-net Control (OCX版)

（FAリンクプロトコル仕様Ver.3対応版）
Property.gif (255 バイト) プロパティ Method.gif (242 バイト) メソッド Event.gif (250 バイト) イベント

Function.gif (255 バイト) はじめに　★必ずお読みください。

PropPage.gif (249 バイト) 機能

FL-net Control(OCX版)は、FA コントロールネットワーク[FL-net(OPCN-2)]のプロトコル（FA リンクプロトコル)に準拠したActiveXコントロールです。サイクリック伝送機能およびメッセージ伝送機能をサポートし、メッセージ伝送機能には自動応答機能が付加されています。FL-net Control(OCX版)がサポートする主な機能内容は以下の通りです。

・参加・離脱機能

・ネットワーク管理機能

・コモンメモリ管理機能

・コモンメモリ変化検出機能（ビット変化、ワード変化）

・メッセージ送信（クライアント）機能

・メッセージ受信（サーバ）機能

・ブロックメモリ管理機能

・コマンドサーバ機能

・負荷測定機能

・デバイスレベルネットワーク機能

・モニタモード機能

・リンクデータ 仕様

wb00955_.gif (255 バイト) FL-net，FA LINKについて

 更新履歴

試用版の制限事項

株式会社日立ケーイーシステムズ

http://www.hke.jp


はじめに

この度は，FL-net Control(OCX版)（以下，「本製品」）をお買い上げいただき，誠にありがとうございます。以下には本製品についての必要な情報が記載されておりますので ，ご利用前に必ずお読みいただくようお願い致します。

・動作条件

・ランタイムライセンスについて

・再配布について

・制限事項

・サポートについて

・ご注意

Function.gif (255 バイト) 動作条件

FL-net Control(OCX版)の動作条件を以下に示します。

Function.gif (255 バイト) 動作環境

動作環境は弊社ホームページのFL-net Control For Windows(R)の動作環境をご確認ください。

Function.gif (255 バイト) ネットワーク設定

動作OS上で以下に示すネットワーク設定を行う必要があります。
（※詳細手順については，OSのヘルプ等でご確認ください。）

１）ネットワークサービスがインストールされていて，実行されていること。

２）LANカードを認識し ，専用のLANカードドライバがインストールされていること。

３）TCP/IPプロトコルがインストールされていて，LANカードにバインドされていること。

４）TCP/IPのプロパティにIPアドレスが固定値で設定されていること。
    （複数のLANカードを実装している場合は ，それぞれ異なるIPアドレスを設定してください。）

Function.gif (255 バイト) フレーム通信ドライバの設定

フレーム通信ドライバは手動で設定する必要があります。

Function.gif (255 バイト) ランタイムライセンスについて

作成されたプログラムの種類，数によらず，1台のコンピュータにつき1ランタイムライセンスが必要です。本製品を利用して作成したプログラムを他のコンピュータで利用する場合は ，配布先のコンピュータ用のランタイムライセンスをご購入ください。ランタイムライセンスは別製品で， MACアドレス認証版/プロテクトキー認証版(USB)の2種類があります。詳しくは ，サポート用紙に必要事項を記入のうえサポート窓口までFAXをいただくか，E-mailにてお問い合わせください。

Function.gif (255 バイト) 再配布について

本製品を使用して作成されたプログラムの実行には，FLnetCtl.Ocx，FL_KE.Dll，FLnetLog.dll，FLnetMsg.dllおよびFLpacket.dllファイルの配布が必要となります。実行するコンピュータが開発したコンピュータと異なる場合には ，インストール途中の機能選択画面にて，ランタイム用のみにチェックマークを付けて，インストールを実行してください。

Function.gif (255 バイト) 制限事項

Function.gif (255 バイト) 本製品は通信ポート55000から55004を使用します。他のアプリケーション等がこれらのポートを使用している場合 ，本製品はエラーとなり動作しません。他のアプリケーションを終了してください。

Function.gif (255 バイト) 本製品は通信ポート55000から55004を使用しますので，ファイアウォールのブロックを解除する必要があります。

Function.gif (255 バイト) 1プロジェクト中に1個のコントロールのみを配置することができます。

Function.gif (255 バイト) イベントが多発したとき，イベントの発生が遅れる，またはイベントを取りこぼす場合があります。

Function.gif (255 バイト) Visual Basicでのプログラミングで，MsgBox関数を使用した場合，ダイアログが表示されている間のイベントが通知されないケースがあります。このため ，イベントが発生しないことが確実な場合か，イベント抜けが起こっても問題がない場合にのみMsgBox関数を使用するようにしてください。

Function.gif (255 バイト) デバッグ用のブレイクポイントで停止させた場合，イベント抜けや動作が不安定になることがあります。これらのことを十分考慮した上でデバッグを行ってください。動作が不安定になった場合は ，コンピュータのリセットを行ってください。

Function.gif (255 バイト) 作成したアプリケーションやVisual Basicの異常終了時，本製品の動作が不安定になり ，以降，通信異常となる場合があります。この場合，コンピュータをリセットしてから再実行を行ってください。

Function.gif (255 バイト) メッセージ送信保留中に自動応答メッセージが送信されない場合があります。詳細はメッセージ受信時の処理を参照してください。

Function.gif (255 バイト) 表示処理や印字処理，その他の処理によってCPU負荷が高くなると通信エンジンのレスポンスは低下します。通信処理のレスポンスが低下すると ，ネットワークから離脱したり，その他のノードに影響を与える可能性があります。ネットワーク障害が多発するときは，ネットワークの設定（タイムアウト値など）を変更して ，ネットワークが正しく動作するよう調整してください。ネットワークの設定を変更しても，正常に動作しない場合は，パソコンのCPU負荷が高くなるような表示処理や印字処理，その他の処理の負荷を減らしてください。

Function.gif (255 バイト) TCP/IPプロトコルがインストールされていない ，または，固定のIPアドレスが設定されていないパソコンでは ，本製品を使用できません。あらかじめTCP/IPプロトコルをインストールし ，固定のIPアドレスを設定してください。

Function.gif (255 バイト) 本製品を使用するパソコンにWinSock Proxy Clientを導入している場合は，ネットワーク参加時にエラーを検知して ，ネットワークに参加できない場合があります。ネットワークに参加できない場合は，WinSock Proxy Clientの使用を無効にしてください。

Function.gif (255 バイト) 本製品内でネットワークエラー等を検知した場合，OSが管理するイベントログにエラーの内容が出力されます。イベントログの設定によっては ，イベントログがオーバーフローして，「アプリケーションログが満杯です。」のエラーダイアログが表示される場合があります。イベントビューア画面にて，イベントログの容量を大きく設定してください。

Function.gif (255 バイト) サポートについて

ご質問は，E-mailまたはFAXで行うことが可能です。

E-mailをご利用の場合は，Windows[スタート]メニューより ，[すべてのプログラム(P)]→[Hitachi-KE]→[FL-net Control]→[サポート]→[サポート依頼]を選択してください。必要な内容をご記入のうえ ，当社FL-net製品サポートセンター（FL-net@hke.jp）までお送りください。

FAXをご利用の場合は，本製品に同梱のサポート依頼書に必要な内容を記述のうえ ，当社FL-netサポートセンター（FAX番号：047-472-6551）までお送りください。

ご質問内容は，できるだけ詳しくお書きください。
なお，ご質問内容を確認するため，イベントログを送付していただく場合があります。あらかじめ，ご了承ください。

Function.gif (255 バイト) ご注意

Function.gif (255 バイト) 本製品の著作権は，株式会社日立ケーイーシステムズが保有します。
Function.gif (255 バイト) 本製品のドキュメントの一部または全てを，無断で使用，複製することはできません。
Function.gif (255 バイト) 本製品は，本製品の使用許諾契約書のもとでのみ使用することができます。
Function.gif (255 バイト) 本製品のドキュメントに記載されている内容は，将来予告なしに変更することがあります。

Microsoft，WindowsNT，Windows2000，WindowsXP，Windows Server，Windows Vista，Windows7，Windows8，Visual Basicは米国Microsoft Corporationの米国およびその他の国における登録商標です。
その他，記載されている会社名と商品名は，各社の商標または登録商標です。


  更新履歴

＜Ver.3.01＞

動作条件を更新しました。

＜Ver.3.00＞

FAリンクプロトコル仕様Ver.3に対応しました。

実装クラスをクラス1からクラス3に変更しました。

製造業者形式を"KE-SFL120"から"KE-SFL3WIN"に変更しました。

動作条件を見直しました。

トークン保持時間の測定開始・停止をする処理（MeasureTokenTimeプロパティ）を追加しました。

汎用通信データ送信元ログの測定開始・停止をする処理（MeasureDataLogプロパティ）を追加しました。

コマンドサーバ（UDP）の起動・停止をする処理（CommandServerUdpプロパティ）を追加しました。

コマンドサーバ（TCP）の起動・停止をする処理（CommandServerTcpプロパティ）を追加しました。

コマンドサーバ（UDP）用のIPアドレスを設定する処理（CommandServerUdpIPプロパティ）を追加しました。

コマンドサーバ（TCP）用のIPアドレスを設定する処理（CommandServerTcpIPプロパティ）を追加しました。

スレーブノード参加状態一覧の取得をする処理（GetLinkInSlavesメソッド）を追加しました。

自ノードログデータの取得（V3対応版）をする処理（GetMyNodeLogV3メソッド）を追加しました。

トークン保持時間測定の結果を取得する処理（GetMeasureTokenTimeStateメソッド）を追加しました。

汎用通信データ送信元ログの測定結果を取得する処理（GetMeasureDataLogStateメソッド）を追加しました。

他ノードへネットワークパラメータライト応答メッセージの送信をする処理（RepWriteNetParamMsgメソッド）を追加しました。

他ノードへ運転・停止指令応答メッセージの送信をする処理（RepRunStopMsgメソッド）を追加しました。

IO割付情報の設定をする処理（SetIOメソッド）を追加しました。

IO割付情報の取得をする処理（GetIOメソッド）を追加しました。

入力データのビット読出し（連続）をする処理（ReadInputBitDataメソッド）を追加しました。

入力データのワード読出し（連続）をする処理（ReadInputWordDataメソッド）を追加しました。

入力データのビット読出し（ランダム）をする処理（ReadInputRandomBitDataメソッド）を追加しました。

入力データのワード読出し（ランダム）をする処理（ReadInputRandomWordDataメソッド）を追加しました。

出力データのビット読出し（連続）をする処理（ReadOutputBitDataメソッド）を追加しました。

出力データのワード読出し（連続）をする処理（ReadOutputWordDataメソッド）を追加しました。

出力データのビット読出し（ランダム）をする処理（ReadOutputRandomBitDataメソッド）を追加しました。

出力データのワード読出し（ランダム）をする処理（ReadOutputRandomWordDataメソッド）を追加しました。

出力データのビット書込み（連続）をする処理（WriteOutputBitDataメソッド）を追加しました。

出力データのワード書込み（連続）をする処理（WriteOutputWordDataメソッド）を追加しました。

出力データのビット書込み（ランダム）をする処理（WriteOutputRandomBitDataメソッド）を追加しました。

出力データのワード書込み（ランダム）をする処理（WriteOutputRandomWordDataメソッド）を追加しました。

入力ステータスの取得をする処理（GetInputStateメソッド）を追加しました。

出力ステータスの取得をする処理（GetOutputStateメソッド）を追加しました。

出力ステータスの設定をする処理（SetOutputStateメソッド）を追加しました。

ネットワークパラメータライト要求メッセージ受信イベント（RecvReqWriteNetParamMsg）を追加しました。

運転・停止指令要求メッセージ受信イベント（RecvReqRunStopMsg）を追加しました。

スレーブノードのリンク参加検知イベント（LinkInSlave）を追加しました。

スレーブノードのリンク離脱検知イベント（LinkOutSlave）を追加しました。

IO入力データ変化検知イベント（InputDataChanged）を追加しました。

IO入力ステータス変化検知イベント（InputStatusChanged）を追加しました。

トークン保持時間測定状態変化検知イベント（MeasureTokenTimeChanged）を追加しました。

汎用通信データ送信元ログ測定状態変化検知イベント（MeasureDataLogChanged）を追加しました。

設定ツールからのネットワークパラメータライト要求受信イベント（RecvReqWriteNetParamFromSettingTool）を追加しました。

設定ツールからの運転・停止指令要求受信イベント（RecvReqRunStopFromSettingTool）を追加しました。

設定ツールからのIO割付要求受信イベント（RecvReqSetIOFromSettingTool）を追加しました。

設定ツールからのコンフィギュレーション用パラメータ設定要求受信イベント（RecvReqSetConfigParamFromSettingTool）を追加しました。

設定ツールからのノードリセット要求受信イベント（RecvReqResetNodeFromSettingTool）を追加しました。

＜Ver.2.00－Rev.3＞
100Mbpsの通信速度に対応しました。

Microsoft(R) Windows XP Professional（SP2）日本語版およびMicrosoft(R) Windows Server2003 R2 Standard Edition日本語版（SP1, 32-bitバージョン）に対応しました。

複数FL-netネットワークへの同時参加機能を追加しました。

＜Ver.2.00－Rev.2＞
ネットワーク離脱中にネットワークに再参加を行った場合に、FL-net Controlからの応答が無くなってしまう現象を改善しました。

 ＜Ver.2.00－Rev.1＞
Microsoft(R) Windows XP（SP1）日本語版に対応しました。

イベントが多発した場合に、アプリケーションエラーが発生してしまう現象を改善しました。

メッセージを連続で受信した場合に、上位アプリケーションにイベント通知されない現象を改善しました。

高性能パソコンで動作させた場合に、ネットワークから離脱してしまう現象を改善しました。

メッセージ送信中の状態でネットワークから離脱すると、ネットワーク再参加時に不正なフレームを送信してしまう現象を改善しました。

FAリンクヘッダサイズよりも小さいフレームを受信すると、プログラムが強制終了してしまう現象を改善しました。

トークンを2回連続で受信できない場合に、ネットワークから離脱してしまう現象を改善しました。

ネットワークへの参加／離脱を繰り返すと、メモリの使用量およびシステムリソース（ハンドルやスレッド）が増大してしまう現象を改善しました。

 ＜Ver.2.00＞
FAリンクプロトコル仕様Ver.2.00に対応しました。

製造業者形式を"KE-SFL100"から"KE-SFL120"に変更しました。

Ver.1.00ネットワークとの混在を検知しネットワークに参加できなかった際の動作として、 LinkError イベントのエラー番号に9を追加しました。

FAリンクの状態に通信無効検知のビットを追加しました。

GetNodeState メソッドで取得するノード状態の項目を一部変更しました。

GetLinkInNodes メソッドで取得する参加状態に2（=通信無効検知）を追加しました。

ベンダ固有メッセージのクライアント・サーバ機能を追加しました。

ベンダ固有要求メッセージを送信する処理（ ReqVendorMsg メソッド）を追加しました。

ベンダ固有応答メッセージを送信する処理（ RepVendorMsg メソッド）を追加しました。

ベンダ固有メッセージサーバ機能の実装モードを設定する処理（ VendorMsgSupport プロパティ）を追加しました。

ベンダ固有要求メッセージの受信を通知する処理（ RecvReqVendorMsg イベント）を追加しました。

ベンダ固有応答メッセージの受信を通知する処理として、 VendorMsgOK イベント・ VendorMsgError イベント・ VendorMsgNonSupport イベントを追加しました。

トークン監視時間タイムアウトイベントやCBN異常イベントが多量に発生する現象を防止しました。

イベントログへの出力文字を英語に変更しました。

＜Ver.1.00－Rev.1＞
使用するOSのネットワーク環境によっては、ネットワーク情報が取得できない現象を改善しました。

メッセージ送信メソッドを連続でコールした場合、後からコールされたメッセージを送信してしまう現象を改善しました。

SendComplete イベント内でメッセージ送信メソッドをコールした場合、戻り値が6（=送信ビジー）となってしまう現象を改善しました。

CPU使用率が高くなっても、ネットワークから離脱することがないように改善しました。


FL-netについて

wb00955_.gif (255 バイト) 　FL-netとは

  FL-netとは、多数の異なる製造業者のプログラマブルコントローラ(PLC)や数値制御装置(CNC)などの各種FAコントローラ又はパソコンを相互接続、制御・監視を実現するネットワークです。

FLnet2.jpg (24276 バイト)

FAコントロールネットワーク構成例

  FL-net Ver.3では、下図に示すとおり、上位情報系と下位デバイス系との混在が可能になります。

FLnet2.jpg (24276 バイト)

FL-net Ver.3の構成例

 wb00955_.gif (255 バイト) FL-net の特長

  FL-net（OPCN-2）には次のような特長があります。

１．オープン化

２．マルチベンダの実現

  多くの異なるメーカのプログラマブルコントローラ（PLC）や数値制御装置（CNC）などのコントローラやパソコンなどを相互に接続し、制御・監視を実現することが可能です。

FLnet3.jpg (16652 バイト)

wb00955_.gif (255 バイト) 広く普及した標準規格に準拠

  特にOA機器で標準となっているイーサネットをベースに、これも標準のUDP/IPを使って効率のよい通信を実現しています。イーサネットを採用しているため、

１．低価格

  普及した通信デバイスにより構成できるため、低価格を実現しています。

２．ネットワーク機器が広く普及

  トランシーバやハブ、ケーブル、パソコン用LANカードなどイーサネット用として広く普及したネットワーク機器が使用できます。

３．将来の高速化

  将来1Gbps→10Gbpsと伝送速度の向上が期待できます。

４．光通信化

  イーサネット用に普及している光リピータなどを使用することにより、必要な部分を光ファイバ化することで、500m以上の長距離伝送や、対ノイズ性の向上、屋外配線時の雷サージ対策を実現することができます。

wb00955_.gif (255 バイト) FAコントローラ間に必要な通信機能をサポート

  ユーザの要求仕様がスタートとなっているため、FAに必要な各種の特長を有しています。

１．大規模ネットワーク

  最大254台の機器（ノード）が接続可能です。

２．用途に応じた2種類の通信機能

  サイクリック伝送により各ノードが同一のデータを常に共有できるコモンメモリ機能と、必要なときに必要なデータだけをやり取りするメッセージ伝送機能の両方をサポートしています。

３．大容量コモンメモリ

  コモンメモリは8Kビット＋8Kワードと大容量です。

４．高速応答

  50ms／32ノード（2Kビット＋2Kワード時）の高速応答が実現できます。

５．マスタレストークン方式による高い信頼性

  マスタが存在しないため、各ノードの参加・離脱が他ノードの通信に影響を与えることなしに自由に可能です。どのノードも自由に電源のON／OFFやメンテナンスが可能です。


参加・離脱機能

PropPage.gif (249 バイト) 　参加・離脱管理機能

PropPage.gif (249 バイト) 自ノードの参加

ConnectプロパティにflLinkInを設定することで、FL-netネットワークへの参加を開始します。ネットワーク参加時に必要なパラメータは以下の通りです。

項目 | 設定方法
ノード番号 | NodeNoプロパティを設定します。
トークン監視時間 | TokenTimeプロパティを設定します。
最小許容フレーム間隔 | MinFrameIntervalプロパティを設定します。
コモンメモリ送信領域 先頭アドレスは、CommonAddressプロパティを設定します。
データサイズは、CommonSizeプロパティを設定します。
使用するLANカード | LocalIPプロパティを設定します。

自ノードの参加が完了したした時点で、 LinkIn イベントが発生します。ただし、ネットワーク状態（ネットワーク上に他ノードが立ち上がっていない場合）によっては、ネットワーク参加までに時間が掛かる場合があります。

ネットワーク参加時にノード番号の重複やトークンモード不一致を検知した場合は、LinkErrorイベントが発生し、ネットワークへの参加が失敗します。

同一パソコン内にLANカードが複数枚存在する場合は、同時にそれぞれのLANカードからFL-netネットワークに参加することが可能です（最大2枚まで動作保証）。複数FL-netネットワークに同時参加する場合は、上位アプリケーションをそれぞれ個別に実行し、LocalIPプロパティに、使用するLANカードのIPアドレスをそれぞれ個別に指定してください。

PropPage.gif (249 バイト) 自ノードの離脱

ConnectプロパティにflLinkOutを設定することで、FL-netネットワークからの離脱を開始します。離脱が完了した時点で、 LinkOut イベントが発生します。

ネットワークの状態によって、自ノードがFL-netネットワークから離脱してしまう場合があります。この場合、LinkErrorイベントが発生します。

PropPage.gif (249 バイト) 他ノードの参加・離脱

自ノードがFL-netネットワーク参加中に、他ノードの参加を検知した場合は、LinkInイベントが発生します。他ノードの離脱を検知した場合は、LinkOutイベントが発生します。

PropPage.gif (249 バイト) FL-net通信エラー

自ノードがFL-netネットワーク参加中に、通信エラーを検知した場合は、 LinkError イベントが発生します。通知されるエラー番号から、エラー内容を確認することができます。


ネットワーク管理機能

PropPage.gif (249 バイト) 　ネットワーク管理機能

FL-netコントロールで管理する情報のうち、以下の項目については、読出しまたは設定が可能です。

項目 | 設定方法
自ノード管理情報 パラメータ | GetNodeStateメソッドで読出しが可能です。
参加ノード管理情報 パラメータ | GetNodeStateメソッドで読出しが可能です。 GetLinkInNodesメソッドで参加ノードの一覧情報を読出し可能です。
ネットワーク管理情報 パラメータ | GetNetworkStateメソッドでネットワーク管理情報の読出しが可能です。
ノード状態 | ノード状態には、上位層の状態・FAリンクの状態・自ノードの状態があります。 ノード状態を読出す場合は、GetNodeStateメソッドをコールします。 運転・停止状態を変更する場合は、RunModeプロパティを設定します。
ノード名称 | NodeNameプロパティにて設定／参照が可能です。
ログデータ | GetMyNodeLogまたはGetMyNodeLogV3メソッドで読出しが可能です。 ClearMyNodeLogメソッドでクリアが可能です。


コモンメモリ管理機能

PropPage.gif (249 バイト) 　コモンメモリ管理機能

PropPage.gif (249 バイト) メモリマップ

  コモンメモリデータは、FL-net コントロール内部のメモリで管理します。
  コモンメモリデータのメモリマップを以下に示します。

領域１（バイト） | 7 0 | 領域2（ワード） | 15 0
&H000 |  | &H0000 |
&H3FF |  | &H1FFF |

コモンメモリ領域の仕様は以下の通りです。
コモンメモリ領域1はバイト単位、コモンメモリ領域2はワード単位のアドレスとなります。

種別 | アドレス単位 | アドレス範囲 | アクセスデータ型
領域1 | バイト | &h0～&h3FF | Byte型（&h0～&hFF）
領域2 | ワード | &h0～&h1FFF | Integer型（&h0～&hFFFF）

コモンメモリの送信領域を割り付ける場合は、 CommonAddress プロパティおよび CommonSize プロパティに値を設定します。なお、ネットワーク参加時に他ノード割付との重複を検知した場合は、コモンメモリの送信領域はゼロになります。

PropPage.gif (249 バイト) コモンメモリ読出し

  コモンメモリデータの値を読出す場合は、 CommonValue プロパティの値を参照します。
  読出し可能な範囲は、コモンメモリ全体の領域です。
  なお、FL-netへの参加状況に関わらず、読出しは可能です。

PropPage.gif (249 バイト) コモンメモリ書込み

  コモンメモリデータの値を書き込む場合は、 CommonValue プロパティの値を設定します。
  書込み可能な範囲は、自ノード送信領域に限られます。
  なお、FL-netへの参加状況に関わらず、書込みは可能です。

PropPage.gif (249 バイト) 値の有効性

  コモンメモリの値は、自ノードの状態および割付状況に応じて、以下の通りとなります。

自ノード状態 | 割付状況
 | 自ノード送信領域 | 他ノード送信領域 | 未使用領域
アプリケーション起動時 | オールゼロ
参加前／離脱 | アプリケーションが書込みを行った値を保持 | 自ノードが最後にリンクに参加していた時点の値を保持 | 前回の値を保持
参加中 |  | 他ノードから受信したサイクリックデータ ※対象ノードがリンクから離脱した場合は、離脱した時点の値を保持
モニタモード | －（領域がゼロになる。）


コモンメモリ変化検出機能

PropPage.gif (249 バイト) 　コモンメモリ変化検出機能

 FL-netコントロールは、コモンメモリの変化を検出すると上位アプリケーションにイベントを通知します。コモンメモリの変化検出条件は、以下の３種類を設定することが可能です。

・限定範囲による値変化の検出

・コモンメモリ１ビット変化の検出

・コモンメモリ２ワード変化の検出

※タグ登録の注意事項

PropPage.gif (249 バイト) 限定範囲による値変化の検出

コモンメモリの変化を検出する範囲において、コモンメモリの値が変化した場合に、CommonChanged イベントを通知します。コモンメモリの変化検出範囲を限定する場合は、 CommonChangeAddress プロパティおよび CommonChangeSize プロパティに値を設定します。

＜設定例＞
 CommonChangeAddress(flCommon1) = &h100
CommonChangeSize(flCommon1) = 50

上記のように設定した場合、コモンメモリ1のアドレス&h100から50バイト分の領域が変化した場合、CommonChangedイベントが発生するようになります。どのアドレスの値が変化したかは上位アプリケーションで判断する必要があります。領域以外の値が変化してもイベントは発生しません。なお、自ノード送信領域の値が変化した場合は、イベントが発生しません。

PropPage.gif (249 バイト) コモンメモリ１ビット変化の検出

コモンメモリ1の特定ビットが設定された変化条件を満たす場合に、上位アプリケーションに Threshold イベントを通知します。コモンメモリ1の変化条件を設定する場合は、プロパティページまたはThreshold1プロパティにて、タグ1データを設定します。なお、ビット変化に設定可能な条件を以下に示します。

設定項目

内容

設定条件

TagIndex

タグ番号

1～100

TagName

タグ名称

最大30バイト

Address

コモンメモリ1アドレス

&h0～&h3FF

Bit

ビット

0～7

Trigger

トリガ種別(立ち上がり、立ち下がり、変化)

flOn／flOff／flOnOff

Delay

イベント通知遅延時間［100ms単位］

0～10秒

ａ）ビット立ち上がり

ビット立ち上がり検出イベントは、ビットの状態がOFF→ONの切り替わりを検知してから、Delayの間ONを保持している場合に発生します（下図①）。なお、OFF→ONの切り替わりを検知してDelay時間内にOFFを検知した場合は、イベント発生の保持時間はキャンセルします。この場合、イベントは発生しません（下図②）。

BitOn.gif (2925 バイト)

ｂ）ビット立ち下がり

ビット立ち下がり検出イベントは、ビットの状態がON→OFFの切り替わりを検知してから、Delayの間OFFを保持している場合に発生します（下図③）。なお、ON→OFFの切り替わりを検知してDelay時間内にONを検知した場合は、イベント発生の保持時間はキャンセルします。この場合、イベントは発生しません（下図④）。

BitOff.gif (2683 バイト)

ｃ）ビット変化

ビット変化検出イベントは、ビットの値が前回の安定値と比較して変化を検知してから、Delayの間変化後の値を保持している場合に発生します（下図⑤）。なお、Delay時間内に値が変化した場合は、イベントの保持時間はキャンセルします。この場合、イベントは発生しません（下図⑥）。

BitOnOff.gif (2846 バイト)

PropPage.gif (249 バイト) コモンメモリ2ワード変化の検出

コモンメモリ2の特定ワードが設定された変化条件を満たす場合に、上位アプリケーションにThreshold イベントを通知します。コモンメモリ2の変化条件を設定する場合は、プロパティページまたはThreshold2プロパティにて、タグ2データを設定します。なお、ワード変化に設定可能な条件を以下に示します。

設定項目

内容

設定条件

TagIndex

タグ番号

1～100

TagName

タグ名称

最大30バイト

Address

コモンメモリ2アドレス

&h0～&h1FFF

Threshold

しきい値

&h0～&hFFFF

Trigger

トリガ種別(下回り、上回り、変化)

flLower／flHigher／flChange

Delay

イベント通知遅延時間［100ms単位］

0～10秒

ａ）しきい値下回り

しきい値下回り検出イベントは、しきい値以上であるワードデータの値がしきい値の下回りを検知してから、Delayの間下回りを保持している場合に発生します（下図①）。なお、下回りを検知してDelay時間内にしきい値以上の変化を検知した場合は、イベント発生の保持時間はキャンセルします。この場合、イベントは発生しません（下図②）。

WordLow.gif (3112 バイト)

ｂ）しきい値上回り

しきい値上回り検出イベントは、しきい値以下であるワードデータの値がしきい値の上回りを検知してから、Delayの間上回りを保持している場合に発生します（下図③）。なお、上回りを検知してDelay時間内にしきい値以下の変化を検知した場合は、イベント発生の保持時間はキャンセルします。この場合、イベントは発生しません（下図④）。

WordHigh.gif (3391 バイト)

ｃ）ワード変化

ワード変化検出イベントは、ワードの値が前回の安定値と比較して変化を検知してから、Delay時間後に前回の安定値と値が異なる場合に発生します（下図⑤）。なお、Delay時間後に値が安定値に戻っている場合、イベントは発生しません（下図⑥）。しきい値の設定値は、無視します。このイベント種別は、変化の多いアドレスにおける指定には向きません。

WordChg.gif (2828 バイト)

PropPage.gif (249 バイト) タグ登録の注意事項

・コモンメモリ1ビット変化およびコモンメモリ2ワード変化は、タグ番号にて管理されます。それぞれ、最大100点のタグ登録が可能です。ただし、タグ点数が多くなると処理速度が低下します。なお、コモンメモリの条件検出は、タグ番号の昇順で行われます。

・チャタリングを防止するためにイベント遅延時間の設定も可能です。コモンメモリの値が条件を満たしてから、イベント遅延時間連続して条件を満たしている場合に、イベントを通知します。遅延時間を経過する前に条件を満たさなくなった場合はイベントを通知しません。イベント遅延時間に0が設定されている場合、条件成立後にイベントを通知します。


要求メッセージ送信機能

PropPage.gif (249 バイト) 　要求メッセージ送信（クライアント）機能

FL-netコントロールは、以下に示すメッセージのクライアント機能をサポートします。
なお、要求メッセージの送信は、FL-netコントロールの各種メソッドを呼び出すことで行います。
要求メッセージ送信に対する応答メッセージを受信した場合は、イベントにて通知します。

メッセージ種類 | ﾒｯｾｰｼﾞ番号 | 1対1 | 1対n
透過形（ユーザ定義）メッセージ | 10000～59999 | ○ | ○
バイトブロックメモリ読込み | 65003 | ○ | －
バイトブロックメモリ書込み | 65004 | ○ | －
ワードブロックメモリ読込み | 65005 | ○ | －
ワードブロックメモリ書込み | 65006 | ○ | －
ネットワークパラメータ読込み | 65007 | ○ | －
ネットワークパラメータ書込み | 65008 | ○ | －
停止指令 | 65009 | ○ | －
運転指令 | 65010 | ○ | －
プロファイル読込み | 65011 | ○ | －
ログデータ読込み | 65013 | ○ | －
ログデータクリア | 65014 | ○ | ○
折返しメッセージ | 65015 | ○ | －
ベンダ固有メッセージ | 65016 | ○ | ○

＜表内の記号＞

○：機能をサポートします。
－：FAリンクプロトコル仕様に存在しない機能のため、サポートしません。


要求メッセージ受信機能

PropPage.gif (249 バイト) 　要求メッセージ受信（サーバ）機能

FL-netコントロールは、以下に示すメッセージのサーバ機能をサポートします。
なお、要求メッセージの種類に応じて、FL-netコントロールが自動応答またはイベントを通知します。

メッセージ種類 | ﾒｯｾｰｼﾞ番号 | 1対1 | 1対n
透過形（ユーザ定義）メッセージ | 0～59999 | ○ | ○
バイトブロックメモリ読込み | 65003 | ◎ | －
バイトブロックメモリ書込み | 65004 | ◎ | －
ワードブロックメモリ読込み | 65005 | ◎ | －
ワードブロックメモリ書込み | 65006 | ◎ | －
ネットワークパラメータ読込み | 65007 | ◎ | －
ネットワークパラメータ書込み | 65008 | ○ | －
停止指令 | 65009 | ○ | －
運転指令 | 65010 | ○ | －
プロファイル読込み | 65011 | ◎ | －
ログデータ読込み | 65013 | ◎ | －
ログデータクリア | 65014 | ◎ | ◎
折返しメッセージ | 65015 | ◎ | －
ベンダ固有メッセージ | 65016 | ※ | ※

＜表内の記号＞

○：機能をサポートします。（アプリケーションにイベント通知します。）
◎：機能をサポートします。（FL-netコントロールにて自動応答します。）
×：機能をサポートしません。（非実装応答を返送します。）
－：FAリンクプロトコル仕様に存在しない機能のため、サポートしません。
※：VendorMsgSupportプロパティの値に応じて動作が異なります。

PropPage.gif (249 バイト) 透過形（ユーザ定義）メッセージの受信

他ノードから透過形（ユーザ定義）メッセージを受信したときに、RecvUserMsg イベントを通知します。

PropPage.gif (249 バイト) バイト・ワードブロックメモリ読込み／書込み

    FL-netコントロールで管理するバイト・ワードブロックメモリのアドレス空間は0～2097151（&h0～&h1FFFFF）です。

    領域範囲内の読込み要求を受信した場合は、FL-netコントロールが管理するブロックメモリの値をセットして正常応答を返送します。なお、領域範囲外の読込み要求を受信した場合は、異常応答を返送します。

    領域範囲内の書込み要求を受信した場合で、ブロックメモリ自動更新ロックモードの設定が無効（LockBlockMem プロパティがFalse）の場合は、自ノードのブロックメモリに値を書込み、正常応答を返送します。書込みで値が更新された場合は、 BlockChanged イベントを通知します。なお、領域範囲外の書込み要求を受信した場合または自動更新ロックモードが有効の場合は、異常応答を返送します。

    異常応答のエラーコードは1バイト固定長とし、以下のコードを設定します。

    ｴﾗｰｺｰﾄﾞ | 内容
1 | アドレス異常
2 | サイズ異常
3 | アドレス・サイズ異常 （アドレスとサイズの合計がメモリ空間をオーバーした）
4 | ロック中

PropPage.gif (249 バイト) ネットワークパラメータ読込み

他ノードから、ネットワークパラメータ読込み要求を受信した場合は、FL-netコントロールが管理するネットワークパラメータの値をセットして正常応答を返送します。

PropPage.gif (249 バイト) ネットワークパラメータ書込み

他ノードから、ネットワークパラメータ書込み要求を受信したときに、RecvReqWriteNetParamMsgイベントを通知します。

アプリケーションでは、要求メッセージ内容を判断してネットワークパラメータ書込み応答メッセージを送信する（RepWriteNetParamMsgメソッドをコールする）必要があります。なお、イベントが未定義の場合は、非実装応答を返送します。

PropPage.gif (249 バイト) 運転・停止指令

他ノードから、運転・停止指令要求を受信したときに、RecvReqRunStopMsgイベントを通知します。

アプリケーションでは、要求メッセージ内容を判断して運転・停止指令応答メッセージを送信する（RepRunStopMsgメソッドをコールする）必要があります。なお、イベントが未定義の場合は、非実装応答を返送します。

PropPage.gif (249 バイト) プロファイル読込み

他ノードから、プロファイル読込み要求を受信した場合は、FL-netコントロールが管理するプロファイルデータの値をセットして正常応答を返送します。

PropPage.gif (249 バイト) ログデータ読込み

他ノードから、ログデータ読込み要求を受信した場合は、FL-netコントロールが管理するログデータをセットして正常応答を返送します。

PropPage.gif (249 バイト) ログデータクリア

他ノードから、ログデータクリア要求を受信した場合は、自ノードのログデータを自動的にクリアし、正常応答を返送します。また、ログデータクリアのLogCleared イベントを通知します。

PropPage.gif (249 バイト) 折返しメッセージ

他ノードから、折返しメッセージ要求を受信した場合は、要求メッセージと同一のメッセージを折り返した応答を自動的に返送します。

PropPage.gif (249 バイト) ベンダ固有メッセージ

ベンダ固有メッセージサーバ機能の実装モードにて動作が異なります。実装モードの設定は、 VendorMsgSupport プロパティにて行います。VendorMsgSupportプロパティのデフォルト値はFalse（非実装）です。ベンダ固有メッセージサーバ機能を実装する場合は、Trueに設定してください。

１）実装設定（VendorMsgSupport = True）の場合
他ノードからベンダ固有要求メッセージを受信したときに、 RecvReqVendorMsg イベントが発生します。アプリケーションでは要求メッセージ内容を判断してベンダ固有応答メッセージを送信する（ RepVendorMsg メソッドをコールする）必要があります。

２）非実装設定（VendorMsgSupport = False）の場合
他ノードからベンダ固有要求メッセージを受信したときに、非実装応答メッセージを自動的に送信します。この場合、 RecvReqVendorMsg イベントは発生しません。非実装応答メッセージで送信するベンダ名称およびサブコードの内容は、要求メッセージと同一の値となります。


ブロックメモリ管理機能

PropPage.gif (249 バイト) 　ブロックメモリ管理機能

PropPage.gif (249 バイト) メモリマップ

  自ノードのブロックメモリデータは、FL-net コントロール内部のメモリで管理します。
  自ノードのブロックメモリデータのメモリマップを以下に示します。

バイトブロック | 7 | ワードブロック | 15
&H000 |  | &H000000 |
&H1FFFFF |  | &H1FFFFF |

自ノードのブロックメモリ領域の仕様は以下の通りです。
なお、FL-netコントロールにて管理可能な自ノードのブロックメモリの領域は、以下の範囲に限定されます。

種別 | アドレス単位 | アドレス範囲 | アクセスデータ型
ﾊﾞｲﾄﾌﾞﾛｯｸ | バイト | &h0～&h1FFFFF | Byte型（&h0～&hFF）
ﾜｰﾄﾞﾌﾞﾛｯｸ | ワード | &h0～&h1FFFFF | Integer型（&h0～&hFFFF）

PropPage.gif (249 バイト) ブロックメモリ読出し

  ブロックメモリデータの値を読出す場合は、 BlockValue プロパティの値を参照します。
  読込み可能な範囲は、上記に示す範囲に限られます。
  なお、FL-netへの参加状況に関わらず、読出しは可能です。

PropPage.gif (249 バイト) ブロックメモリ書込み

  ブロックメモリデータの値を書込む場合は、 BlockValue プロパティの値を設定します。
  書込み可能な範囲は、上記に示す範囲に限られます。
  なお、FL-netへの参加状況に関わらず、書込みは可能です。

PropPage.gif (249 バイト) 他ノードからのブロックメモリアクセス

  他ノードからブロックメモリの読込み要求を受信した場合は、自動でブロックメモリの内容を応答します。
  他ノードからブロックメモリ書込み要求を受信した場合は、ブロックメモリ自動更新ロックモード（ LockBlockMem プロパティ）によってブロックメモリの内容を自動で更新します。なお、書込み要求の受信で値が更新された場合は、 BlockChanged イベントを通知します。


要求メッセージ受信機能

PropPage.gif (249 バイト) 　コマンドサーバ の起動・停止

コマンドサーバを起動することで、設定ツールより各種パラメータの設定または取得を行うことが可能です。
TCP/IPおよびUDP/IPの2種類のプロトコルをサポートします。

項目 | 内容
コマンドサーバ(UDP/IP)のIPアドレス | CommandServerUdpIpプロパティにて設定/参照が可能です。
コマンドサーバ(TCP/IP)のIPアドレス | CommandServerTcpIpプロパティにて設定/参照が可能です。
コマンドサーバ(UDP/IP)の起動・停止 | CommandServerUdpプロパティにて設定/参照が可能です。
コマンドサーバ(TCP/IP)の起動・停止 | CommandServerTcpプロパティにて設定/参照が可能です。

PropPage.gif (249 バイト) 　対応メッセージ

FL-net Control(OCX版)は、以下に示すメッセージをサポートします。
なお、要求フレームの種類に応じて、FL-net Control(OCX版)が自動応答またはイベントを通知します。

メッセージ種類 | TCD | イベント通知
バイトブロックリードフレーム | 65003 | ×
バイトブロックライトフレーム | 65004 | ○
ワードブロックリードフレーム | 65005 | ×
ワードブロックライトフレーム | 65006 | ○
ネットワークパラメータリードフレーム | 65007 | ×
ネットワークパラメータライトフレーム | 65008 | ○
停止指令フレーム | 65009 | ○
運転指令フレーム | 65010 | ○
プロファイルリードフレーム | 65011 | ×
ログデータリードフレーム | 65013 | ×
ログデータクリアフレーム | 65014 | ○
メッセージ折返しフレーム | 65015 | ×
IO割付設定フレーム | 65018 | ○
IO割付読出しフレーム | 65019 | ×
トークン保持時間測定開始フレーム | 65020 | ○
トークン保持時間測定終了フレーム | 65021 | ○
汎用通信データ送信元ログ測定開始フレーム | 65022 | ○
汎用通信データ送信元ログ測定終了フレーム | 65023 | ○
コンフィギュレーション用パラメータ設定フレーム | 65024 | ○
参加ノード管理情報パラメータ読出しフレーム | 65025 | ×
自ノード管理情報パラメータ読出しフレーム | 65026 | ×
自ノード設定情報パラメータ読出しフレーム | 65027 | ×
ノードリセットフレーム | 65028 | ○

＜表内の記号＞

○：アプリケーションにイベント通知します。
×：アプリケーションにイベント通知しません。

PropPage.gif (249 バイト) バイト・ワードブロックメモリリード／ライト

    FL-net Control(OCX版)で管理するバイト・ワードブロックメモリのアドレス空間は0～2097151（&h0～&h1FFFFF）です。

    領域範囲内の読込み要求を受信した場合は、FL-net Control(OCX版)が管理するブロックメモリの値をセットして正常応答を返送します。なお、領域範囲外の読込み要求を受信した場合は、異常応答を返送します。

    領域範囲内の書込み要求を受信した場合で、ブロックメモリ自動更新ロックモードの設定が無効（LockBlockMem プロパティがFalse）の場合は、自ノードのブロックメモリに値を書込み、正常応答を返送します。書込みで値が更新された場合は、 BlockChanged イベントを通知します。なお、領域範囲外の書込み要求を受信した場合または自動更新ロックモードが有効の場合は、異常応答を返送します。

    異常応答のエラーコードは1バイト固定長とし、以下のコードを設定します。

    ｴﾗｰｺｰﾄﾞ | 内容
1 | アドレス異常
2 | サイズ異常
3 | アドレス・サイズ異常 （アドレスとサイズの合計がメモリ空間をオーバーした）
4 | ロック中

PropPage.gif (249 バイト) ネットワークパラメータリード

設定ツールからネットワークパラメータリードフレーム要求を受信した場合は、FL-net Control(OCX版)が管理するネットワークパラメータの値をセットして正常応答を返送します。

PropPage.gif (249 バイト) ネットワークパラメータライト

設定ツールからネットワークパラメータ ライトフレーム要求を受信した時に、RecvReqWriteNetParamFromSettingToolイベントを通知します。

アプリケーションでは、要求フレーム内容を判断して、設定可否の判定結果および再参加有無を指定してください。設定可否の判定結果に基づき応答を返送します。なお、イベントが未定義の場合は、非実装応答を返送します。

PropPage.gif (249 バイト) 運転・停止指令

設定ツールから運転・停止指令フレーム要求を 受信した時に、RecvReqRunStopFromSettingToolイベントを通知します。

アプリケーションでは、要求フレーム内容を判断して、設定可否の判定結果を指定してください。設定可否の判定結果に基づき応答を返送します。なお、イベントが未定義の場合は、非実装応答を返送します。

PropPage.gif (249 バイト) プロファイルリード

設定ツールからプロファイルリードフレーム要求を受信した場合は、FL-net Control(OCX版)が管理するプロファイルデータの値をセットして正常応答を返送します。

PropPage.gif (249 バイト) ログデータリード

設定ツールからログデータリードフレーム要求を受信した場合は、FL-net Control(OCX版)が管理するログデータをセットして正常応答を返送します。

PropPage.gif (249 バイト) ログデータクリア

設定ツールからログデータクリアフレーム要求を受信した場合は、自ノードのログデータを自動的にクリアし、正常応答を返送します。また、ログデータクリアの LogCleared イベントを通知します。

PropPage.gif (249 バイト) メッセージ折返し

設定ツールからメッセージ折返しフレーム要求を受信した場合は、要求 メッセージと同一のメッセージを折り返した応答を自動的に返送します。

PropPage.gif (249 バイト) IO割付設定

設定ツールからIO割付設定フレーム要求を受信した 時に、RecvReqSetIOFromSettingToolイベントを通知します。

アプリケーションでは、要求フレーム内容を判断して、設定可否の判定結果を指定してください。設定可否の判定結果に基づき応答を返送します。なお、イベントが未定義の場合は、非実装応答を返送します。

PropPage.gif (249 バイト) IO割付読出し

設定ツールからIO割付読出しフレーム要求を受信した場合は、FL-net Control(OCX版)が管理するIO割付設定をセットして正常応答を返送します。

PropPage.gif (249 バイト) トークン保持時間測定開始/終了

設定ツールからトークン保持時間測定開始/終了フレーム要求を受信した 時に、MeasureTokenTimeChangedイベントを通知します。

PropPage.gif (249 バイト) 汎用通信データ送信元ログ測定開始/終了

設定ツールから 汎用通信データ送信元ログ測定開始/終了フレーム要求を受信した時に、MeasureDataLogChangedイベントを通知します。

PropPage.gif (249 バイト) コンフィギュレーション用パラメータ設定

設定ツールからコンフィギュレーション用パラメータ設定フレーム要求を受信した時に、RecvReqSetConfigParamFromSettingToolイベントを通知します。

アプリケーションでは、要求フレーム内容を判断して、設定可否の判定結果および再参加有無を指定してください。設定可否の判定結果に基づき応答を返送します。なお、イベントが未定義の場合は、非実装応答を返送します。

PropPage.gif (249 バイト) 参加ノード管理情報パラメータ読出し

設定ツールから参加ノード管理情報パラメータ読出しフレーム要求を受信した場合は、FL-net Control(OCX版)が管理する参加ノード管理情報をセットして正常応答を返送します。

PropPage.gif (249 バイト) 自ノード管理情報パラメータ読出し

設定ツールから自ノード管理情報パラメータ読出しフレーム要求を受信した場合は、FL-net Control(OCX版)が管理する自ノード管理情報をセットして正常応答を返送します。

PropPage.gif (249 バイト) 自ノード設定情報パラメータ読出し

設定ツールから自ノード設定情報パラメータ読出しフレーム要求を受信した場合は、FL-net Control(OCX版)が管理する自ノード設定情報をセットして正常応答を返送します。

PropPage.gif (249 バイト) ノードリセット

設定ツールからノードリセットフレーム要求を受信した 時に、RecvReqResetNodeFromSettingToolイベントを通知します。

アプリケーションでは、要求フレーム内容を判断して、設定可否の判定結果および再参加有無を指定してください。設定可否の判定結果に基づき応答を返送します。なお、イベントが未定義の場合は、非実装応答を返送します。


要求メッセージ受信機能

PropPage.gif (249 バイト) 　負荷測定機能

FL-netコントロールは、以下に示す負荷測定機能をサポートします。

項目 | 内容
トークン保持時間測定 | MeasureTokenTimeプロパティにて 測定の開始・停止が可能です。 GetMeasureTokenTimeStateメソッドで測定結果を取得できます。
汎用通信データ送信元ログ測定 | MeasureDataLogプロパティにて 測定の開始・停止が可能です。 GetMeasureDataLogStateメソッドで測定結果を取得できます。


要求メッセージ受信機能

PropPage.gif (249 バイト) 　デバイスレベルネットワーク機能

任意マスタノードの設定を行うことで、マスタ・スレーブ方式によるデバイスレベルでのIOデータ交換を行います。

PropPage.gif (249 バイト) アプリケーションからの任意マスタノード設定

制御スレーブ個数に1以上の値を指定してSetIOメソッドをコールすることで、任意マスタノードの設定を行います。

なお、制御スレーブ個数に0を指定した場合は、任意マスタ機能が無しになります。デフォルトは任意マスタ機能無しです。
SetIOメソッドでは、制御スレーブ単位にIO割付情報を設定しますが、IO出力データ領域および出力ステータス領域を、

コモンメモリ送信領域内に指定する必要があります。コモンメモリ送信領域は、 CommonAddress プロパティおよび

CommonSize プロパティで設定可能です。

また、制御スレーブ単位のIO割付情報が重複しないように設定してください。

PropPage.gif (249 バイト) 設定ツールからの任意マスタノード設定

コマンドサーバを起動しておき、設定ツールからIO割付設定を行うと、RecvReqSetIOFromSettingToolイベントを通知します。

上位アプリケーションが正常応答を返すことで、任意マスタノードの設定を更新できます。

PropPage.gif (249 バイト) パラメータ

FL-netコントロールは、以下に示すデバイスレベル機能をサポートします。

項目 | 内容
IO割付 | SetIOメソッドでIO割付の設定ができます。 GetIOメソッドでIO割付の取得ができます。
入力ステータス | GetInputStateメソッドで入力ステータスの取得ができます。
出力ステータス | SetOutputStateメソッドで出力ステータスの設定ができます。 GetOutputStateメソッドで出力ステータスの取得ができます。
入力データ | ReadInputBitDataメソッドで入力データのビット読出し(連続)ができます。 ReadInputWordDataメソッドで入力データのワード読出し(連続)ができます。 ReadInputRandomBitDataメソッドで入力データのビット読出し(ランダム)ができます。 ReadInputRandomWordDataメソッドで入力データのワード読出し(ランダム)ができます。
出力データ | ReadOutputBitDataメソッドで出力データのビット読出し(連続)ができます。 ReadOutputWordDataメソッドで出力データのワード読出し(連続)ができます。 ReadOutputRandomBitDataメソッドで出力データのビット読出し(ランダム)ができます。 ReadOutputRandomWordDataメソッドで出力データのワード読出し(ランダム)ができます。 WriteOutputBitDataメソッドで出力データのビット書込み(連続)ができます。 WriteOutputWordDataメソッドで出力データのワード書込み(連続)ができます。 WriteOutputRandomBitDataメソッドで出力データのビット書込み(ランダム)ができます。 WriteOutputRandomWordDataメソッドで出力データのワード書込み(ランダム)ができます。
スレーブノード参加状態 | GetLinkInSlavesメソッドで取得可能です。


モニタモード機能

PropPage.gif (249 バイト) 　モニタモード機能

FL-netコントロールには、FL-netネットワークリンクには参加せずに、ネットワーク上で巡回しているサイクリックデータパケットをモニタリングする機能をもちます。この機能により、ネットワーク監視を行うことをモニタモードと称します。モニタモードでは、以下の機能を行うことができます。

・ノード状態の監視

・ネットワーク状態の監視

・コモンメモリ内容の監視

・メッセージ通信機能

・負荷測定機能

・コマンドサーバ機能

PropPage.gif (249 バイト) ノード状態の監視

ノードの参加／離脱および各ノードの状態を監視することができます。

PropPage.gif (249 バイト) ネットワーク状態の監視

ネットワーク管理状態および参加ノード一覧を監視することができます。

PropPage.gif (249 バイト) コモンメモリ内容の監視

他ノードのコモンメモリ変化イベントおよび内容の参照をすることができます。
ただし、コモンメモリの書込みを行うことはできません。

PropPage.gif (249 バイト) メッセージ通信機能

メッセージの送受信を行うことはできません。

PropPage.gif (249 バイト) 負荷測定機能

トークン保持時間測定、汎用通信データ送信元ログ測定をすることができます。

PropPage.gif (249 バイト) コマンドサーバ機能

コマンドサーバを起動し、メッセージの送受信を行うことができます。


プロパティ一覧

Property.gif (255 バイト) 　プロパティ一覧

プロパティ名 | 内容
Connect | リンクへの参加・離脱
NodeNo | ノード番号
TokenTime | トークン監視時間
MinFrameInterval | 最小許容フレーム間隔
LocalIP | 自ノードローカルIPアドレス
LinkInTimeout | リンク参加タイムアウト時間
NodeName | ノード名称
CommonAddress | コモンメモリ送信領域（先頭アドレス）
CommonSize | コモンメモリ送信領域（データサイズ）
CommonValue | コモンメモリ値
CommonChangeAddress | コモンメモリ変化検出領域（開始アドレス）
CommonChangeSize | コモンメモリ変化検出領域（サイズ）
SendTimeout | メッセージ送信完了タイムアウト時間
RecvTimeout | メッセージ受信タイムアウト時間
BlockValue | 自ノードのバイト・ワードメモリ値
Threshold1 | コモンメモリ1変化検出条件
Threshold2 | コモンメモリ2変化検出条件
AlwaysLink | 自動リンク再参加モード
LockBlockMem | 自ノードブロックのライトロック
RunMode | 運転／停止モード
VendorMsgSupport | ベンダ固有メッセージサーバ機能実装
MeasureTokenTime | トークン保持時間の測定開始・停止
MeasureDataLog | 汎用通信データ送信元ログの測定開始・停止
CommandServerUdp | コマンドサーバ（UDP）の起動・停止
CommandServerTcp | コマンドサーバ（TCP）の起動・停止
CommandServerUdpIP | コマンドサーバ（UDP）用のIPアドレス
CommandServerTcpIP | コマンドサーバ（TCP）用のIPアドレス


Connectプロパティ

Property.gif (255 バイト) 　Connectプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

リンク（FL-netネットワーク）への参加・離脱

書式

[form].FLnet.Connect = {flLinkIn | flLinkOut | flLinkMonitor}

LinkState = [form].FLnet.Connect

設定値 | FlLinkType 型（定数列挙型）
 | flLinkIn | リンクに参加します（参加中）
 | flLinkOut | リンクから離脱します（離脱中）
 | flLinkMonitor | モニターモードを開始します（モニタ中）
 | flLinkInWait | 参加待機中（参照のみ可）
用法 | 設計時 | 参照
 | 実行時 | 設定／参照

説明

デフォルト値：flLinkOut（離脱中）

リンクに参加する場合は、ConnectプロパティにflLinkInを設定します。ネットワーク状況によりリンク参加までに時間が掛かる場合があるため、ConnectプロパティにflLinkInを設定した直後にプロパティを参照すると、flLinkInWaitになっている場合があります。リンクへの参加が完了すると LinkIn イベントが発生し、Connectプロパティの値がflLinkInになります。

リンク参加中に設定変更不可のプロパティは、リンク参加前にあらかじめ設定する必要があります。複数のLANカードがパソコンに実装されていて、LANカードを特定する場合は、あらかじめ LocalIP プロパティに設定してください。（LANカードを特定しない場合は、LocalIPプロパティに""（空文字）を設定します。）LocalIPプロパティに無効なIPアドレスが設定されている場合は、リンク参加時にランタイムエラーが発生します。

リンクから離脱する場合は、Connectプロパティの値をflLinkOutに設定します。リンクからの離脱が完了すると LinkOut イベントが発生します。アプリケーションを終了すると、FL-netコントロールによって自動的に離脱します。

モニタモードを開始する場合は、Connectプロパティの値をflLinkMonitorに設定します。この場合、自ノード番号（ NodeNo プロパティ）は自動的に0に変更され、LinkInイベントは発生しません。なお、自ノード番号が0の設定でConnectプロパティにflLinkInを設定した場合も、モニタモードの開始になります。この場合、Connectプロパティの値は自動的にflLinkMonitorに変更されます。（LinkInイベントは発生しません。）モニタモードにて参加中に、モニタモードを中断する場合、Connectプロパティの値をflLinkOutに設定します。この場合、LinkOutイベントは発生しません。

プロパティにflLinkInWaitの値を設定することはできません。設定した場合は、ランタイムエラーが発生します。

エラー | 以下の場合、ランタイムエラーが発生し、値は更新されません。
 | ｴﾗｰNo. | 内容
 | 10010 | リンク参加中（モニタモード実行中）にリンク再参加
 | 10011 | リンク離脱中にリンク再離脱
 | 10012 | 設計時の設定
 | 10013 | 設定値に不正値（flLinkInWaitも含む）の指定
 | 10014 | LocalIPプロパティに無効なIPアドレス指定
 | 10015 | セキュリティエラーを検知（プロテクトキー未接続）
 | 10016 | システムエラーを検知（以下の原因が考えられます。） ・メモリ不足。 ・ネットワークポート（IPポート番号=55000～55003）が既に使用中。 ・TCP/IPのプロパティが正しく設定されていない。
 | 10017 | IO割付設定異常

使用例

'【リンクへの参加処理】
Private Sub Command1_Click()

'参加パラメータの設定
'ノード番号=1，トークン監視時間=255[ms]，最小許容フレーム間隔=0[ms]
FLnet.NodeNo = 1
FLnet.TokenTime = 255
FLnet.MinFrameInterval = 0
'コモンメモリ送信領域
'領域1：開始アドレス=0、サイズ=128[バイト]
FLnet.CommonAddress(flCommon1) = 0
FLnet.CommonSize(flCommon1) = 128
'領域2：開始アドレス=500、サイズ=400[ワード]
FLnet.CommonAddress(flCommon2) = 500
FLnet.CommonSize(flCommon2) = 400
'LANカードを特定しない。
FLnet.LocalIP = ""
'リンク参加
FLnet.Connect = flLinkIn

End Sub

'【モニタモード開始】
Private Sub Command2_Click()

'IPアドレス="192.168.250.10"のLANカードを特定して、モニタモードを開始する。
FLnet.LocalIP = "192.168.250.10"
'モニタモード開始
FLnet.Connect = flLinkMonitor

End Sub

'【リンクからの離脱処理】
Private Sub Command3_Click()

FLnet.Connect = flLinkOut

End Sub

'【リンク参加状態の周期的監視】
Private Sub Timer1_Timer()

'現在の状態を取得します
Select Case FLnet.Connect
Case flLinkIn
Label1.Caption = "参加中"
Case flLinkOut
Label1.Caption = "離脱中"
Case flLinkMonitor
Label1.Caption = "モニタ中"
Case flLinkInWait
Label1.Caption = "参加待機中"
End Select

End Sub


NodeNoプロパティ

Property.gif (255 バイト) 　NodeNoプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

自ノード番号の設定／参照

書式

[form].FLnet.NodeNo = NodeNo%

NodeNo% = [form].FLnet.NodeNo

設定値

Integer型　0～254（0：モニタモード）

用法 | 設計時 | 設定／参照（プロパティページ）
 | 実行時 | 設定／参照

説明

デフォルト値：IPアドレスの4桁目（IPアドレスが設定されていない場合は0）

自ノードのノード番号を設定します。リンク参加中は、ノード番号の変更はできません。値を設定する場合は、リンク参加前に行う必要があります。

モニタモード実行中の場合、自ノード番号は0となります。

リンク参加時にノード番号の重複を検知した場合は、 LinkError イベント（Number=1）が発生し、リンクに参加しません。他ノードと重複しないように自ノード番号を設定してください。

エラー | 以下の場合、ランタイムエラーが発生し、値は更新されません。
 | ｴﾗｰNo. | 内容
 | 10020 | リンク参加中（モニタモード実行中）における値の設定
 | 10021 | 設定値に不正値（0～254範囲外）の指定

使用例

'【リンクへの参加処理】
Private Sub Command1_Click()

'ノード番号=1で、リンクへ参加します
FLnet.NodeNo = 1
FLnet.Connect = flLinkIn

End Sub

'【モニタモード開始処理】
Private Sub Command2_Click()

'モニタモードを開始する。（NodeNo=0を指定すると、モニタモードの開始となります。）
FLnet.NodeNo = 0
FLnet.Connect = flLinkIn


TokenTimeプロパティ

Property.gif (255 バイト) 　TokenTimeプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

トークン監視時間の設定／参照

書式

[form].FLnet.TokenTime = Timeout%

Timeout% = [form].FLnet.TokenTime

設定値

Integer型　1～255（[ms]単位）

用法 | 設計時 | 設定／参照（プロパティページ）
 | 実行時 | 設定／参照

説明

デフォルト値：255

トークン監視時間を[ms]単位で設定します。リンク参加中は、値の変更はできません。値を設定する場合は、リンク参加前に行う必要があります。

エラー | 以下の場合、ランタイムエラーが発生し、値は更新されません。
 | ｴﾗｰNo. | 内容
 | 10030 | リンク参加中（モニタモード実行中）における値の設定
 | 10031 | 設定値に不正値（1～255範囲外）の指定

使用例

Private Sub Command1_Click()

'【リンクへの参加処理】
'トークン監視時間=150[ms]で、リンクへ参加します
FLnet.TokenTime = 150
FLnet.Connect = flLinkIn


MinFrameIntervalプロパティ

Property.gif (255 バイト) 　MinFrameIntervalプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

最小許容フレーム間隔の設定／参照

書式

[form].FLnet.MinFrameInterval = Interval%

Interval% = [form].FLnet.MinFrameInterval

設定値

Integer型　0～50（[100μs]単位）

用法 | 設計時 | 設定／参照（プロパティページ）
 | 実行時 | 設定／参照

説明

デフォルト値：0

最小許容フレーム間隔を[100μs]単位で設定します。リンク参加中は、値の変更はできません。値を設定する場合は、リンク参加前に行う必要があります。

エラー | 以下の場合、ランタイムエラーが発生し、値は更新されません。
 | ｴﾗｰNo. | 内容
 | 10040 | リンク参加中（モニタモード実行中）における値の設定
 | 10041 | 設定値に不正値（設定範囲外）の指定

使用例

Private Sub Command1_Click()

'【リンクへの参加処理】
'最小許容フレーム間隔=1[ms]で、リンクへ参加します
FLnet.MinFrameInterval = 10
FLnet.Connect = flLinkIn


LocalIPプロパティ

Property.gif (255 バイト) 　LocalIPプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

自ノードIPアドレス

書式

[form].FLnet.LocalIP = IpAddr$

IpAddr$ = [form].FLnet.LocalIP

設定値

String型（”XXX.XXX.XXX.XXX”形式）

用法 | 設計時 | 設定／参照（プロパティページ）
 | 実行時 | 設定／参照

説明

デフォルト値：””（空文字）

特定のLANカードを指定する場合のIPアドレスを設定します。リンク参加中は、値の変更はできません。値を設定する場合は、リンク参加前に行う必要があります。

設定値は、10進数のゼロサプレスで”XXX.XXX.XXX.XXX”の形式で行ってください（例：192.168.250.1）。形式が不正の場合は、ランタイムエラーが発生します。なお、IPアドレスの有効性チェックはリンクに参加する時点で行います。

LANカードを特定しない場合は、””（空文字）を設定してください。この場合、OSが管理するデフォルトのLANカードが選択されます。

エラー | 以下の場合、ランタイムエラーが発生し、値は更新されません。
 | ｴﾗｰNo. | 内容
 | 10050 | リンク参加中（モニタモード実行中）における値の設定
 | 10051 | 設定値に不正形式（”XXX.XXX.XXX.XXX”形式でない）の指定

使用例

'【リンクへの参加処理（LANカード特定しない）】
Private Sub Command1_Click()

'LANカードを特定しないで、リンクに参加する。
FLnet.LocalIP = ""
'リンク参加
FLnet.Connect = flLinkIn

End Sub

'【モニタモードの開始処理（LANカード特定）】
Private Sub Command2_Click()

'IPアドレス="192.168.250.1"のLANカードを特定して、リンクに参加する。
FLnet.LocalIP = "192.168.250.1"
'モニタモード開始
FLnet.Connect = flLinkMonitor


LinkInTimeoutプロパティ

Property.gif (255 バイト) 　LinkInTimeoutプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

リンク参加タイムアウト時間の設定／参照

書式

[form].FLnet.LinkInTimeout = Timeout&

Timeout& = [form].FLnet.LinkInTimeout

設定値

Long型（0～600000，[ms]単位）

用法 | 設計時 | 設定／参照（プロパティページ）
 | 実行時 | 設定／参照

説明

デフォルト値：60000（60秒）

リンクへの参加開始から参加が完了するまでのタイムアウト時間を[ms]単位で設定します。0を設定した場合、タイムアウトは発生しません。

設定した時間を経過してもリンクに参加できなかった場合は LinkError イベント（Number=3）が発生し、リンクへの参加を中断します。

リンク参加中は、値の変更はできません。リンク参加前に設定する必要があります。

エラー | 以下の場合、ランタイムエラーが発生し、値は更新されません。
 | ｴﾗｰNo. | 内容
 | 10060 | リンク参加中（モニタモード実行中）における値の設定
 | 10061 | 設定値に不正値（0～600000範囲外）の指定

使用例

Private Sub Command1_Click()

'【リンクへの参加処理】
'リンク参加タイムアウトを検知しないで、リンクへ参加します
FLnet.LinkInTimeout = 0
FLnet.Connect = flLinkIn

End Sub

Private Sub Command2_Click()

'【リンクへの参加処理】
'リンク参加タイムアウト時間を30秒に設定してリンクへ参加します
FLnet.LinkInTimeout = 30000
FLnet.Connect = flLinkIn


NodeNameプロパティ

Property.gif (255 バイト) 　NodeNameプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

ノード名の設定／参照

書式

[form].FLnet.NodeName = NodeName$

NodeName$ = [form].FLnet.NodeName

設定値

String型（10バイト）

用法 | 設計時 | 設定／参照（プロパティページ）
 | 実行時 | 設定／参照

説明

デフォルト値：“FLnet△CTRL”　　△はスペース

ノード名称はUnicodeで指定し、半角10文字（全角5文字）を超えるデータは無視されます。10文字に満たない場合、残りは スペースで埋められます。

リンク参加中も、値の変更は可能です。

エラー

なし

使用例

Private Sub Command1_Click()

'【リンクへの参加処理】
'自ノード名称="Node123"としてリンクへ参加します
FLnet.NodeName = "Node123"
FLnet.Connect = flLinkIn


CommonAddressプロパティ

Property.gif (255 バイト) 　CommonAddressプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

コモンメモリ送信領域（先頭アドレス）の設定／参照

書式

[form].FLnet.CommonAddress(ByVal CommonType As FlCommonType) = Address%

Address%= [form].FLnet.CommonAddress(ByVal CommonType As FlCommonType)

引数

CommonType

コモンメモリの領域種別を指定します。（定数列挙型）
・flCommon1 = コモンメモリ1
・flCommon2 = コモンメモリ2

設定値

Integer型
・コモンメモリ1：バイト単位（&h0～&h3FF），偶数設定
・コモンメモリ2：ワード単位（&h0～&h1FFF）

用法 | 設計時 | 設定／参照（プロパティページ）
 | 実行時 | 設定／参照

説明

デフォルト値：0

コモンメモリ送信領域の先頭アドレスを設定します。リンク参加中は、値の設定はできません。値を設定する場合は、リンク参加前に行う必要があります。

CommonSizeプロパティに0が設定されている場合、CommonAddressプロパティの設定値は無視され、コモンメモリ送信領域無し（受信専用）としてリンクに参加します。

先頭アドレスとサイズ（CommonSizeプロパティ）の合計が、コモンメモリ全体の領域（コモンメモリ1は&h0～&h400バイト、コモンメモリ2は&h0～&h2000ワード）を越える設定はできません。コモンメモリ1はバイト単位（偶数）で設定する必要があります。

他ノードの領域と重複しないようにコモンメモリ送信領域を設定してください。コモンメモリ送信領域が他ノードと重複している場合は、リンクに参加する時点で LinkError イベント（Number=2）が発生し、コモンメモリ無としてリンクに参加します。この場合、CommonAddressプロパティおよびCommonSizeプロパティの値は0に変更されます。

モニタモードを開始する場合、コモンメモリ送信領域の設定は0に変更されます。

エラー | 以下の場合、ランタイムエラーが発生し、値は更新されません。
 | ｴﾗｰNo. | 内容
 | 10070 | リンク参加中（モニタモード実行中）における値の設定
 | 10071 | 設定値に不正値（設定範囲外）の指定
 | 10072 | CommonType 引数に不正値（指定範囲外）の指定

使用例

'【リンクへの参加処理】
Private Sub Command1_Click()

'コモンメモリ送信領域を設定して、リンクへ参加します
'一旦領域をリセットします。（設定時に、ランタイムエラー=10071の発生を防止するため。）
FLnet.CommonAddress(flCommon1) = 0
FLnet.CommonSize(flCommon1) = 0
FLnet.CommonAddress(flCommon2) = 0
FLnet.CommonSize(flCommon2) = 0

'領域1：開始アドレス=0、サイズ=128[バイト]
FLnet.CommonAddress(flCommon1) = 0
FLnet.CommonSize(flCommon1) = 128
'領域2：開始アドレス=500、サイズ=400[ワード]
FLnet.CommonAddress(flCommon2) = 500
FLnet.CommonSize(flCommon2) = 400

'リンク参加
FLnet.Connect = flLinkIn


CommonSizeプロパティ

Property.gif (255 バイト) 　CommonSizeプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

コモンメモリ送信領域（データサイズ）の設定／参照

書式

[form].FLnet.CommonSize(ByVal CommonType As FlCommonType) = Size%

Size% = [form].FLnet.CommonSize(ByVal CommonType As FlCommonType)

引数

CommonType

コモンメモリの領域種別を指定します。（定数列挙型）
・flCommon1 = コモンメモリ1
・flCommon2 = コモンメモリ2

設定値

Integer型
・コモンメモリ1：バイト単位（&h0～&h400），偶数設定
・コモンメモリ2：ワード単位（&h0～&h2000）

用法 | 設計時 | 設定／参照（プロパティページ）
 | 実行時 | 設定／参照

説明

デフォルト値：0（コモンメモリ無）

コモンメモリ送信領域のデータサイズを設定します。リンク参加中は、値の設定はできません。値を設定する場合は、リンク参加前に行う必要があります。

コモンメモリ送信領域を無しにする場合は、CommonSizeプロパティに0を設定します。

先頭アドレス（ CommonAddress プロパティ）とサイズの合計がコモンメモリ全体の領域（コモンメモリ1は&h0～&h400バイト、コモンメモリ2は&h0～&h2000ワード）を越える設定はできません。コモンメモリ1はバイト単位（偶数）で設定する必要があります。

他ノードの領域と重複しないようにコモンメモリ送信領域を設定してください。コモンメモリ送信領域が他ノードと重複している場合は、リンクに参加する時点で LinkError イベント（Number=2）が発生し、コモンメモリ無としてリンクに参加します。この場合、CommonAddressプロパティおよびCommonSizeプロパティの値は0に変更されます。

モニタモードを開始する場合、コモンメモリ送信領域の設定は0に変更されます。

エラー | 以下の場合、ランタイムエラーが発生し、値は更新されません。
 | ｴﾗｰNo. | 内容
 | 10080 | リンク参加中（モニタモード実行中）における値の設定
 | 10081 | 設定値に不正値（設定範囲外）の指定
 | 10082 | CommonType 引数に不正値（指定範囲外）の指定

使用例

'【リンクへの参加処理】
Private Sub Command1_Click()

'コモンメモリ送信領域を設定して、リンクへ参加します
'一旦領域をリセットします。（設定時に、ランタイムエラー=10081の発生を防止するため。）
FLnet.CommonAddress(flCommon1) = 0
FLnet.CommonSize(flCommon1) = 0
FLnet.CommonAddress(flCommon2) = 0
FLnet.CommonSize(flCommon2) = 0

'領域1：開始アドレス=0、サイズ=128[バイト]
FLnet.CommonAddress(flCommon1) = 0
FLnet.CommonSize(flCommon1) = 128
'領域2：開始アドレス=500、サイズ=400[ワード]
FLnet.CommonAddress(flCommon2) = 500
FLnet.CommonSize(flCommon2) = 400

'リンク参加
FLnet.Connect = flLinkIn


CommonValueプロパティ

Property.gif (255 バイト) 　CommonValueプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

コモンメモリ値の設定／参照

書式

[form].FLnet.CommonValue(ByVal CommonType As FlCommonType, _
                ByVal Address As Integer, [ByVal Size As Integer]) = Value()

Value() = [form].FLnet.CommonValue(ByVal CommonType As FlCommonType,_
                ByVal Address As Integer, [ByVal Size As Integer])

引数 | CommonType | コモンメモリの領域種別を指定します。（定数列挙型） ・flCommon1 = コモンメモリ1 ・flCommon2 = コモンメモリ2
 | Address | アクセスするコモンメモリの開始アドレスを指定します。 ・コモンメモリ1：バイト単位（&h0～&h3FF） ・コモンメモリ2：ワード単位（&h0～&h1FFF）
 | Size | アクセスするコモンメモリのサイズを指定します。 ・コモンメモリ1：バイト単位（&h0～&h400） ・コモンメモリ2：ワード単位（&h0～&h2000） なお、引数を省略することが可能です。 設定時に引数を省略した場合は、設定するデータに応じたサイズが適用されます。 ・設定データが配列の場合 ：配列の要素数 ・設定データが非配列の場合：1 参照時に引数を省略した場合は、1となります。

設定値

Variant型配列

コモンメモリ領域種別に応じてデータ型が異なります。なお、複数のアドレスを同時にアクセスする場合は、1アドレスが1要素となる配列で設定します。

・コモンメモリ1 : Byte型（&h0～&hFF）
・コモンメモリ2 : Integer型（&h0～&hFFFF）

用法 | 設計時 | なし
 | 実行時 | 設定／参照

説明

デフォルト値：全領域0

コモンメモリ値の設定は、 CommonAddress プロパティおよび CommonSize プロパティで設定された自ノード送信領域のみ可能です。自ノード送信領域範囲外の設定を行う場合は、ランタイムエラーが発生し、コモンメモリの値は更新されません。コモンメモリの設定は、リンク未参加の状態でも可能です。ただし、モニタモード実行中の場合は、設定できません。

コモンメモリ値の参照は、リンク未参加の状態でも可能です。リンク未参加時に、自ノード送信領域外の範囲を参照する場合は、リンク参加中の最終時点において更新された値が格納されます。

コモンメモリ1はByte型、コモンメモリ2はInteger型で、値の設定／参照を行います。なお、複数アドレスの値を同時に設定する場合は、1アドレスが1要素となる配列変数を右辺に代入してください。配列変数の要素数が指定サイズよりも小さい場合は、エラーとなります。また、複数アドレスの値を同時に参照する場合は、コモンメモリ領域種別に応じた型の動的配列の変数を左辺に指定してください。参照後、要素数が指定サイズで、1アドレスが1要素の配列となります。なお、添字の最小値は、0となります。

エラー | 以下の場合、ランタイムエラーが発生し、値は更新されません。
 | ｴﾗｰNo. | 内容
 | 10090 | モニタモード実行中における値の設定
 | 10091 | 自ノード送信領域範囲外への値の設定
 | 10092 | 設定値に不正値（設定範囲外）の指定
 | 10093 | 設定値に不正データ型の指定
 | 10094 | CommonType 引数に不正値（指定範囲外）の指定
 | 10095 | Address 引数に不正値（指定範囲外）の指定
 | 10096 | Size 引数に不正値（指定範囲外）の指定

使用例

Private Sub Command2_Click()

Dim I%
Dim Data1(1 To 50) As Byte
Dim Data2() As Integer

'【コモンメモリの参照処理】
'コモンメモリ領域1のアドレス=100バイト、5ビット目の値を参照します
Label1.Caption = IIf(FLnet.CommonValue(flCommon1, 100) And (2 ^ 5), "ON", "OFF")
'コモンメモリ領域2のアドレス=1000からサイズ=100の値を同時に参照します
Data2 = FLnet.CommonValue(flCommon2, 1000, 100)
'★Data2配列は、最小添字=0、最大添字=99に拡張されます。
For I% = 0 To 99 Step 1
Debug.Print "領域2 ｱﾄﾞﾚｽ" & Format$(I% + 1000) & " の値は、" & Hex$(Data2(I)) & "です。"
Next I%

'【コモンメモリの更新処理】
'コモンメモリ領域1のアドレス=10からサイズ=50バイト分の値を同時に更新します。
For I% = 1 To 50 Step 1
Data1(I%) = I%
Next I%
FLnet.CommonValue(flCommon1, 10) = Data1

'コモンメモリ領域2のアドレス=4000ワードの値を更新します。
FLnet.CommonValue(flCommon2, 4000) = 10

'コモンメモリ領域1のアドレス=5バイト、7ビット目の値をONします。
FLnet.CommonValue(flCommon1, 5) = FLnet.CommonValue(flCommon1, 5) Or (2 ^ 7)

'コモンメモリ領域1のアドレス=6バイト、2ビット目の値をOFFします。
FLnet.CommonValue(flCommon1, 6) = FLnet.CommonValue(flCommon1, 6) And (&HFF - 2 ^ 2)


CommonChangeAddressプロパティ

Property.gif (255 バイト) 　CommonChangeAddressプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

コモンメモリ変化検出領域（開始アドレス）の設定／参照

書式

[form].FLnet.CommonChangeAddress(_
                             ByVal CommonType As FlCommonType) = Address%

Address% = [form].FLnet.CommonChangeAddress(_
                            ByVal CommonType As FlCommonType)

引数

CommonType

コモンメモリの領域種別を指定します。（定数列挙型）
・flCommon1 = コモンメモリ1
・flCommon2 = コモンメモリ2

設定値

Integer型
・コモンメモリ1：バイト単位（&h0～&h3FF）
・コモンメモリ2：ワード単位（&h0～&h1FFF）

用法 | 設計時 | 設定／参照（プロパティページ）
 | 実行時 | 設定／参照

説明

デフォルト値：0

コモンメモリの変化を検出する領域の開始アドレスを設定します。
 CommonChangeAddress プロパティおよび CommonChangeSize プロパティで設定された範囲のコモンメモリに変化を検出した場合、 CommonChanged イベントが発生します。

CommonChangeSizeプロパティに0が設定されている場合、CommonChangeAddress プロパティの設定値は無視され、コモンメモリの変化を検出しません。

開始アドレスとサイズ（CommonChangeSizeプロパティ）の合計がコモンメモリ全体の領域（コモンメモリ1は&h0～&h400バイト、コモンメモリ2は&h0～&h2000ワード）を越える設定はできません。コモンメモリ1はバイト単位で設定する必要があります。

なお、コモンメモリ変化検出領域の設定に関わらず、 Threshold1 プロパティまたは Threshold2 プロパティで設定した条件を満たす場合は、 Threshold イベントが発生します。

エラー | 以下の場合、ランタイムエラーが発生し、値は更新されません。
 | ｴﾗｰNo. | 内容
 | 10100 | 設定値に不正値（設定範囲外）の指定
 | 10101 | CommonType 引数に不正値（指定範囲外）の指定

使用例

'【変化検出領域設定】
 Private Sub Command1_Click()

'コモンメモリ変化領域を設定します
'領域1：全領域
FLnet.CommonChangeAddress(flCommon1) = 0
FLnet.CommonChangeSize(flCommon1) = 1024
'領域2：検出無
FLnet.CommonChangeAddress(flCommon2) = 0
FLnet.CommonChangeSize(flCommon2) = 0


CommonChangeSizeプロパティ

Property.gif (255 バイト) 　CommonChangeSizeプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

コモンメモリ変化検出領域（サイズ）の設定／参照

書式

[form].FLnet.CommonChangeSize(ByVal CommonType As FlCommonType) =Size%

Size%= [form].FLnet.CommonChangeSize(ByVal CommonType As FlCommonType)

引数

CommonType

コモンメモリの領域種別を指定します。（定数列挙型）
・flCommon1 = コモンメモリ1
・flCommon2 = コモンメモリ2

設定値

Integer型
・コモンメモリ1：バイト単位（&h0～&h400）
・コモンメモリ2：ワード単位（&h0～&h2000）

用法 | 設計時 | 設定／参照（プロパティページ）
 | 実行時 | 設定／参照

説明

デフォルト値：&h400（コモンメモリ1），&h2000（コモンメモリ2）

コモンメモリの変化を検出する領域のサイズを設定します。 CommonChangeAddress プロパティおよびCommonChangeSizeプロパティで設定された範囲のコモンメモリに変化を検出した場合、 CommonChanged イベントが発生します。

コモンメモリ変化検出を無しにする場合は、CommonChangeSizeプロパティに0を設定します。

開始アドレス（CommonChangeAddressプロパティ）とサイズの合計がコモンメモリ全体の領域（コモンメモリ1は&h0～&h400バイト、コモンメモリ2は&h0～&h2000ワード）を越える設定はできません。コモンメモリ1はバイト単位で設定する必要があります。

なお、コモンメモリ変化検出領域の設定に関わらず、 Threshold1 プロパティまたは Threshold2 プロパティで設定した条件を満たす場合は、 Threshold イベントが発生します。

エラー | 以下の場合、ランタイムエラーが発生し、値は更新されません。
 | ｴﾗｰNo. | 内容
 | 10110 | 設定値に不正値（設定範囲外）の指定
 | 10111 | CommonType 引数に不正値（指定範囲外）の指定

使用例

'【コモンメモリ変化領域設定】
Private Sub Command1_Click()
'コモンメモリ変化領域を設定します
 '領域 1：全領域
 FLnet.CommonChangeAddress(flCommon1) = 0
FLnet.CommonChangeSize(flCommon1) = 1024
'領域 2：検出無
 FLnet.CommonChangeAddress(flCommon2) = 0
FLnet.CommonChangeSize(flCommon2) = 0


SendTimeoutプロパティ

Property.gif (255 バイト) 　SendTimeoutプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

メッセージ送信完了タイムアウト時間の設定／参照

書式

[form].FLnet.SendTimeout = Value&

Value& = [form].FLnet.SendTimeout

設定値

Long型（0～600000，[ms]単位）

用法 | 設計時 | 設定／参照（プロパティページ）
 | 実行時 | 設定／参照

説明

デフォルト値：3000（3秒）

メッセージの送信を開始してから送信先ノードより送達確認（ACK応答）を受信するまでのタイムアウト時間を[ms]単位で設定します。0を設定した場合、タイムアウトは発生しません。

設定した時間を経過しても送信先ノードから送達確認を受信できなかった場合は、 MsgError イベント（Number=1）が発生します。

リンク参加中は、値の変更はできません。リンク参加前に設定する必要があります。

エラー | 以下の場合、ランタイムエラーが発生し、値は更新されません。
 | ｴﾗｰNo. | 内容
 | 10120 | リンク参加中（モニタモード実行中）における値の設定
 | 10121 | 設定値に不正値（0～600000範囲外）の指定

使用例

Private Sub Command1_Click()

'【リンクへの参加処理】
'メッセージ送信完了タイムアウトを検知しないで、リンクへ参加します
FLnet.SendTimeout = 0
FLnet.Connect = flLinkIn

End Sub

Private Sub Command2_Click()

'【リンクへの参加処理】
'メッセージ送信完了タイムアウト時間を4秒に設定してリンクへ参加します
FLnet.SendTimeout = 4000
FLnet.Connect = flLinkIn


RecvTimeoutプロパティ

Property.gif (255 バイト) 　RecvTimeoutプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

メッセージ応答受信タイムアウト時間の設定／参照

書式

[form].FLnet.RecvTimeout = Value&

Value& = [form].FLnet.RecvTimeout

設定値

Long型（0～600000，[ms]単位）

用法 | 設計時 | 設定／参照（プロパティページ）
 | 実行時 | 設定／参照

説明

デフォルト値：3000（3秒）

要求メッセージの送信が完了してから送信先ノードより応答メッセージを受信するまでのタイムアウト時間を[ms]単位で設定します。0を設定した場合、タイムアウトは発生しません。

設定した時間を経過しても送信先ノードから応答メッセージを受信できなかった場合は MsgError イベント（Number=2）が発生します。

リンク参加中は、値の変更はできません。リンク参加前に設定する必要があります。

エラー | 以下の場合、ランタイムエラーが発生し、値は更新されません。
 | ｴﾗｰNo. | 内容
 | 10130 | リンク参加中（モニタモード実行中）における値の設定
 | 10131 | 設定値に不正値（0～600000範囲外）の指定

使用例

Private Sub Command1_Click()

'【リンクへの参加処理】
'メッセージ応答受信タイムアウトを検知しないで、リンクへ参加します
FLnet.RecvTimeout = 0
FLnet.Connect = flLinkIn

End Sub

Private Sub Command2_Click()

'【リンクへの参加処理】
'メッセージ応答受信タイムアウト時間を5秒に設定してリンクへ参加します
FLnet.RecvTimeout = 5000
FLnet.Connect = flLinkIn


BlockValueプロパティ

Property.gif (255 バイト) 　BlockValueプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

自ノードのバイト・ワードブロックメモリ値の設定／参照

書式

[form].FLnet.BlockValue(ByVal BlockType As FlBlockType, _
                      ByVal Address As Long, [ByVal Size As Integer]) = Value

Value = [form].FLnet.BlockValue(ByVal BlockType As FlBlockType,_
                      ByVal Address As Long, [ByVal Size As Integer])

引数 | BlockType | ブロックメモリの種別を指定します。（定数列挙型） ・flByteBlock = バイトブロック ・flWordBlock = ワードブロック
 | Address | アクセスするブロックメモリの開始アドレスを指定します。 ・バイトブロック：バイト単位（&h0～&h1FFFFF） ・ワードブロック：ワード単位（&h0～&h1FFFFF）
 | Size | アクセスするブロックメモリのサイズを指定します。 ・バイトブロック：バイト単位（&h0～&h200000） ・ワードブロック：ワード単位（&h0～&h200000） なお、引数を省略することが可能です。 設定時に引数を省略した場合は、設定するデータに応じたサイズが適用されます。 ・設定データが配列の場合 ：配列の要素数 ・設定データが非配列の場合：1 参照時に引数を省略した場合は、1となります。

設定値

Variant型配列

ブロックメモリ種別に応じてデータ型が異なります。なお、複数のアドレスを同時にアクセスする場合は、1アドレスが1要素となる配列を指定します。

・バイトブロックメモリ : Byte型（&h0～&hFF）
・ワードブロックメモリ : Integer型（&h0～&hFFFF）

用法 | 設計時 | なし
 | 実行時 | 設定／参照

説明

デフォルト値：全領域0

FL-netコントロールにて管理可能なブロックメモリの領域には制限があります。（バイトブロックメモリ1は&h0～&h200000バイト、ワードブロックメモリは&h0～&h200000ワードです。）領域範囲を越えて設定／参照を行った場合は、ランタイムエラーが発生します。

バイトブロックメモリはByte型、ワードブロックメモリはInteger型で値の設定／参照を行います。なお、複数アドレスの値を同時に設定する場合は、1アドレスが1要素となる配列変数を右辺に代入してください。配列変数の要素数が指定サイズよりも小さい場合は、エラーとなります。また、複数アドレスの値を同時に参照する場合は、コモンメモリ種別に応じた型の動的配列の変数を左辺に指定してください。参照後、要素数が指定サイズで、1アドレスが1要素の配列となります。なお、添字の最小値は、0となります。

エラー | 以下の場合、ランタイムエラーが発生します。
 | ｴﾗｰNo. | 内容
 | 10140 | 設定値に不正値（設定範囲外）の指定
 | 10141 | 設定値に不正データ型の指定
 | 10142 | BlockType 引数に不正値（指定範囲外）の指定
 | 10143 | Address 引数に不正値（指定範囲外）の指定
 | 10144 | Size 引数に不正値（指定範囲外）の指定

使用例

Private Sub Command1_Click()
Dim I%
Dim DataB(1 To 50) As Byte
Dim DataW() As Integer

'【ブロックメモリの参照処理】
'バイトブロックメモリのアドレス=100バイトの値を参照します。
Debug.Print "バイトブロックアドレス100の値は、" & FLnet.BlockValue(flByteBlock, 100) & "です。"

'ワードブロックメモリのアドレス=5からサイズ=1024ワードの値を同時に参照します。
DataW = FLnet.BlockValue(flWordBlock, 5, 1024)
'★DataW配列は、最小添字=0、最大添字=1023に拡張されます。
For I% = 5 To 1028 Step 1
Debug.Print "ワードブロックアドレス" & Format$(I%) & " の値は、" & DataW(I%-5) & "です。"
Next I%

'【ブロックメモリの更新処理】
'バイトブロックメモリのアドレス=0からサイズ=50バイト分の値を同時に更新します。
For I% = 1 To 50 Step 1
DataB(I%) = I%
Next I%
FLnet.BlockValue(flByteBlock, 0) = DataB

'ワードブロックメモリ、ｱﾄﾞﾚｽ=10000ワードの値を更新します。
FLnet.BlockValue(flWordBlock, 10000) = 5000


Threshold1プロパティ

Property.gif (255 バイト) 　Threshold1プロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

コモンメモリ1変化検出条件の設定／参照

書式

[form].FLnet.Threshold1(ByVal TagIndex As Integer, [ByVal TagName As String],
          [ByVal Address As Integer], [ByVal Bit As Byte], _
          [ByVal Trigger As FlBitTriggerType], [Delay As Integer]) = {True | False}

Action = [form].FLnet.Threshold1(ByVal TagIndex As Integer, _
          [ByRef TagName As String], [ByRef Address As Integer], _
          [ByRef Bit As Byte], [ByRef Trigger As FlBitTriggerType], [Delay As Integer])

引数 | TagIndex | タグ番号を指定します。（1～100）
 | TagName | タグ名称（30バイト）
 | Address | コモンメモリ1アドレス（バイト単位）
 | Bit | ビット（0～7）
 | Trigger | トリガ種別（定数列挙型）
 |  | flOn | 立ち上がり検出（OFF→ON）
 |  | flOff | 立ち下がり検出（ON→OFF）
 |  | flOnOff | 変化検出（OFF⇔ON）
 | Delay | イベント検知遅延時間（0～100，[100ms]単位）
設定値 | Boolean型
 | True | 検出します
 | False | 検出しません
用法 | 設計時 | 設定／参照（プロパティページ）
 | 実行時 | 設定／参照

説明

デフォルト値：False

コモンメモリ1のビット変化検出条件の設定／参照を行います。コモンメモリ1の変化検出件数は、最大100件です。タグ番号にで1～100の値を指定します。

コモンメモリ1の変化検出条件を満たす場合は、 Threshold イベントが発生します。ただし、自ノード送信領域を CommonValue プロパティにて設定した場合は、イベントが発生しません。なお、 CommonChangeAddress プロパティおよび CommonChangeSize プロパティにて設定された変化検出範囲には、依存しません。

プロパティを設定するとき、省略可能な引数に値を設定した項目の値が更新されます。省略した引数の値は更新されません。ただし、未登録のタグ番号に引数を省略して設定することはできません。プロパティを参照するとき、引数には現在の設定値が取得されます。引数を省略した場合は取得されません。

変化検出を行うビットは、引数のAddressおよびBitにて指定します。Addressにてコモンメモリ1のバイト単位のアドレスを指定し、BitにてAddress内の下位からのビット位置を指定します。

チャタリングを防止するために、イベント通知時間の設定を設定することが可能です。条件を満たしてからイベント検知遅延時間を経過したときに、イベントが発生します。なお、イベント検知遅延時間内に条件を満たさなくなった場合は、イベントが発生しません。イベント検知遅延時間に0を設定した場合は、条件を満たした直後にイベントが発生します。

リンク参加中は、値の変更はできません。リンク参加前に設定する必要があります。

エラー | 以下の場合、ランタイムエラーが発生します。
 | ｴﾗｰNo. | 内容
 | 10150 | リンク参加中（モニタモード実行中）における値の設定
 | 10151 | TagIndex 引数に不正値（1～100範囲外）の指定
 | 10152 | TagName 引数に不正値の指定
 | 10153 | Address 引数に不正値の指定
 | 10154 | Bit 引数に不正値の指定
 | 10155 | Trigger 引数に不正値の指定
 | 10156 | Delay 引数に不正値の指定
 | 10157 | 新規設定時における引数省略指定

使用例

'【変化条件変更】
Private Sub Command1_Click()

'コモンメモリ変化条件1のタグ番号=1の変化検出を有効に変更します。
FLnet.Threshold1(1) = True

'コモンメモリ変化条件1のタグ番号=50の変化検出条件（アドレス=100, ビット=7）を変更します。
FLnet.Threshold1(50, , 100, 7) = True

'コモンメモリ変化条件1のタグ番号=100の変化検出条件（遅延時間=7[s]）を変更します。
FLnet.Threshold1(100, , , , , 70) = True

End Sub

'【コモンメモリ変化検出イベントの処理】
Private Sub FLnet_Threshold(ByVal CommonType As Integer, ByVal TagIndex As Integer, ByVal EventNo As Integer, ByVal Value As Variant)

Dim Work As Boolean
Dim TagName$, Address%, Bit%

'領域1の場合
If CommonType = flCommon1 Then
'コモンメモリ変化条件1のタグ名称・アドレス・ビットを参照する。
Work = FLnet.Threshold1(TagIndex, TagName$, Address%, Bit%)
Debug.Print "コモンメモリ変化条件1を満たしました。タグ番号="& Format$(TagIndex) & _
", タグ名称="& TagName$ & ", アドレス=" & Format$(Address%) & ", ビット=" & Format$(Bit%)
End If


Threshold2プロパティ

Property.gif (255 バイト) 　Threshold2プロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

コモンメモリ2変化検出条件の設定／参照

書式

[form].FLnet.Threshold2(ByVal TagIndex As Integer, [ByVal TagName As String],
          [ByVal Address As Integer], [ByVal Threshold As Integer], _
          [ByVal Trigger As FlWordTriggerType], [Delay As Integer]) = {True | False}

Action = [form].FLnet.Threshold2(ByVal TagIndex As Integer, _
[ByRef TagName As String], _
[ByRef Address As Integer], [ByRef Threshold As Integer], _
[ByRef Trigger As FlWordTriggerType], [Delay As Integer])

引数 | TagIndex | タグ番号を指定します。（1～100）
 | TagName | タグ名称（30バイト）
 | Address | コモンメモリ2アドレス（ワード単位）
 | Threshold | しきい値
 | Trigger | トリガ種別（定数列挙型）
 |  | flLower | 下回り検出
 |  | flHigher | 上回り検出
 |  | flChange | 変化検出
 | Delay | イベント検知遅延時間（0～100，[100ms]単位）
設定値 | Boolean型
 | True | 検出します
 | False | 検出しません
用法 | 設計時 | 設定／参照（プロパティページ）
 | 実行時 | 設定／参照

説明

デフォルト値：False

コモンメモリ2のワード変化検出条件の設定／参照を行います。コモンメモリ2の変化検出件数は、最大100件です。タグ番号にで1～100の値を指定します。

コモンメモリ2の変化検出条件を満たす場合は、 Threshold イベントが発生します。ただし、自ノード送信領域を CommonValue プロパティにて設定した場合は、イベントが発生しません。なお、 CommonChangeAddress プロパティおよび CommonChangeSize プロパティにて設定された変化検出範囲には、依存しません。

プロパティを設定するとき、省略可能な引数に値を設定した項目の値が更新されます。省略した引数の値は更新されません。ただし、未登録のタグ番号に引数を省略して設定することはできません。プロパティを参照するとき、引数には現在の設定値が格納されます。引数を省略した場合は格納されません。

チャタリングを防止するために、イベント通知時間の設定を設定することが可能です。条件を満たしてからイベント検知遅延時間を経過したときに、イベントが発生します。なお、イベント検知遅延時間内に条件を満たさなくなった場合は、イベントが発生しません。イベント検知遅延時間に0を設定した場合は、条件を満たした直後にイベントが発生します。

エラー | 以下の場合、ランタイムエラーが発生します。
 | ｴﾗｰNo. | 内容
 | 10160 | リンク参加中（モニタモード実行中）における値の設定
 | 10161 | TagIndex 引数に不正値（1～100範囲外）の指定
 | 10162 | TagName 引数に不正値の指定
 | 10163 | Address 引数に不正値の指定
 | 10164 | Threshold 引数に不正値の指定
 | 10165 | Trigger 引数に不正値の指定
 | 10166 | Delay 引数に不正値の指定
 | 10167 | 新規設定時における引数省略指定

使用例

'【変化条件変更】
Private Sub Command1_Click()

'コモンメモリ変化条件2のタグ番号=1の変化検出を無効に変更します。
FLnet.Threshold2(1) = False

'コモンメモリ変化条件2のタグ番号=50の変化検出条件（アドレス=8000, しきい値=5000）を変更します。
FLnet.Threshold2(50, , 8000, 5000) = True

'コモンメモリ変化条件2のタグ番号=100の変化検出条件（遅延時間=5[s]）を変更します。
FLnet.Threshold2(100, , , , , 50) = True

End Sub

'【コモンメモリ変化検出イベントの処理】
Private Sub FLnet_Threshold(ByVal CommonType As Integer, ByVal TagIndex As Integer, ByVal EventNo As Integer, ByVal Value As Variant)

Dim Work As Boolean
Dim TagName$, Address%, Threshold%

'領域2の場合
If CommonType = flCommon2 Then
'コモンメモリ変化条件2のタグ名称・アドレス・しきい値を参照する。
Work = FLnet.Threshold2(TagIndex, TagName$, Address%, Threshold%)
Debug.Print "コモンメモリ変化条件2を満たしました。タグ番号="& Format$(TagIndex) & ", タグ名称="& _
TagName$ & ", アドレス=" & Format$(Address%) & ", しきい値=" & Format$(Threshold%)
End If


AlwaysLinkプロパティ

Property.gif (255 バイト) 　AlwaysLinkプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー

機能

自動リンク再参加モードの設定／参照

書式

[form].FLnet.AlwaysLink = {True | False}

State = [form].FLnet.AlwaysLink

設定値 | Boolean型
 | True | 自動再参加します
 | False | 自動再参加しません
用法 | 設計時 | 設定／参照（プロパティページ）
 | 実行時 | 設定／参照

説明

デフォルト値：False

ネットワーク状況（他ノードが離脱したことにより、ネットワーク上に存在するノードが自ノードのみになった場合など。）によって、自ノードがリンクから離脱してしまった場合に自動的にリンクに再参加するモードを設定します。 Connect プロパティの値にflLinkOutを設定したことで離脱した場合は、リンクへの再参加は行いません。

Trueの状態でネットワークによる自ノードの離脱を検知した場合は、 LinkError イベント（Number=5）発生後、自動的に再参加処理を行います。再参加が完了した時点で LinkIn イベントが発生します。

リンク確立前にエラー（ノード番号重複やトークンモード不一致）を検知した場合およびリンク参加タイムアウトが発生した場合は、リンクへの再参加は行いません。

リンク再参加を行う際にエラーを検知した場合は、LinkErrorイベント（Number=6）が発生します。

エラー

なし

使用例

'【リンクへの参加処理】
Private Sub Command1_Click()

'自動再参加モードに設定します。
FLnet.AlwaysLink = True
'リンク参加
FLnet.Connect = flLinkIn


LockBlockMemプロパティ

Property.gif (255 バイト) 　LockBlockMemプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

ブロックメモリ自動更新ロックモードの設定／参照

書式

[form].FLnet.LockBlockMem(ByVal BlockType As FlBlockType) = {True | False}

Locked = [form].FLnet.LockBlockMem(ByVal BlockType As FlBlockType)

引数

BlockType

ブロックメモリの種別を指定します。（定数列挙型）
・flByteBlock = バイトブロック
・flWordBlock = ワードブロック

設定値 | Boolean型
 | True | ロックします （他ノードからの書込みを禁止します。）
 | False | ロックしません（他ノードからの書込みを許可します。）
用法 | 設計時 | 設定／参照（プロパティページ）
 | 実行時 | 設定／参照

説明

デフォルト値：True

他ノードから自ノード宛にブロックメモリの書込み要求メッセージを受信した場合に、自ノードが管理するブロックメモリへの書込みを許可するかのモードを設定します。

Trueの設定でブロックメモリ書込み要求を受信した場合は、要求元ノードへ異常応答を送信します。この場合、ブロックメモリの内容は更新しません。

Falseの設定でブロックメモリ書込み要求を受信した場合は、自ノードのブロックメモリにデータの書込みを行い、送信元ノードに正常応答を送信します。また、ブロックメモリの内容が更新された場合は、 BlockChanged イベントが発生します。

LockBlockMemプロパティの値がTrueに設定されている場合でも、 BlockValue プロパティで自ノードのブロックメモリを書込むことは可能です。

エラー | 以下の場合、ランタイムエラーが発生し、値は更新されません。
 | ｴﾗｰNo. | 内容
 | 10170 | BlockType引数に不正値（指定範囲外）の指定

使用例

Private Sub Command1_Click()

'他ノードからのバイトブロックメモリ書込み要求を禁止（ロック）します。
FLnet.LockBlockMem(flByteBlock) = True

'他ノードからのワードブロックメモリ書込み要求を許可（ロック解除）します。
FLnet.LockBlockMem(flWordBlock) = False


RunModeプロパティ

Property.gif (255 バイト) 　RunModeプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

運転・停止モードの設定／参照

書式

[form].FLnet.RunMode = {True | False}

Mode = [form].FLnet. RunMode

設定値 | Boolean型
 | True | 運転モード
 | False | 停止モード
用法 | 設計時 | 設定／参照（プロパティページ）
 | 実行時 | 設定／参照

説明

デフォルト値：True

自ノードの運転・停止モードの切替を行います。

FL-netコントロールでは運転・停止モードによる動作の違いはありません。他ノードへ上位層の状態を伝えるために使用します。

エラー

なし

使用例

Private Sub Command1_Click()

'自ノードを「運転」状態に設定します。
FLnet.RunMode = True

'自ノードを「停止」状態に設定します。
FLnet.RunMode = False

'自ノードの運転状態を取得します。
If FLnet.RunMode = True Then
Debug.Print "自ノードは、運転状態です。"
Else
Debug.Print "自ノードは、停止状態です。"
End If


VendorMsgSupportプロパティ

Property.gif (255 バイト) 　VendorMsgSupportプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー

機能

ベンダ固有メッセージサーバ機能実装モードの設定／参照

書式

[form].FLnet.VendorMsgSupport = {True | False}

Mode = [form].FLnet.VendorMsgSupport

設定値 | Boolean型
 | True | 実装
 | False | 非実装
用法 | 設計時 | 設定／参照（プロパティページ）
 | 実行時 | 設定／参照

説明

デフォルト値：False

自ノードのベンダ固有メッセージサーバ機能実装モードの切替を行います。

ベンダ固有メッセージサーバ機能を実装する場合は、VendorMsgSupportプロパティをTrueに設定します。他ノードからベンダ固有要求メッセージを受信した際に、RecvReqVendorMsgイベントが発生します。アプリケーションでは要求メッセージ内容を判断し、 RepVendorMsg メソッドをコールしてベンダ固有応答メッセージを送信する必要があります。

ベンダ固有メッセージサーバ機能を実装しない場合は、VendorMsgSupportプロパティをFalseに設定します。他ノードからベンダ固有要求メッセージを受信した際に、ベンダ固有非実装応答メッセージを自動的に送信します。 RecvReqVendorMsg イベントは発生しません。

エラー

なし


MeasureTokenTimeプロパティ

Property.gif (255 バイト) 　MeasureTokenTime プロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

トークン保持時間の測定開始・停止

書式

[form].FLnet.MeasureTokenTime = {flMeasureStart | flMeasureStop}

MeasureState = [form].FLnet.MeasureTokenTime

設定値 | FlMeasureType型 (定数列挙型)
 | flMeasureStart | 測定開始(測定中)
 | flMeasureStop | 測定停止(停止中)
用法 | 設計時 | 参照
 | 実行時 | 設定／参照

説明

デフォルト値：flMeasureStop(停止中)

トークン保持時間の測定を開始する場合は、MeasureTokenTime プロパティにflMeasureStartを設定します。
トークン保持時間の測定を停止する場合は、MeasureTokenTime プロパティにflMeasureStopを設定します。
測定状態が変更されると、MeasureTokenChangedイベントが発生し、MeasureTokenTime プロパティの値が現在の測定状態になります。
測定中に測定開始すると、測定結果を破棄し、再度測定を開始します。

測定結果は、GetMeasureTokenTimeStateメソッドで取得できます。

エラー | 以下の場合、ランタイムエラーが発生し、値は更新されません。
 | ｴﾗｰNo. | 内容
 | 10210 | 設計時に設定できません
 | 10211 | 設定値に不正値（設定範囲外）の指定

使用例

'【トークン保持時間測定開始処理】

Private Sub Command1_Click()

'トークン保持時間の測定開始

FLnet.MeasureTokenTime = flMeasureStart

End Sub

'【トークン保持時間測定停止処理】

Private Sub Command2_Click()

'トークン保持時間の測定停止

FLnet.MeasureTokenTime = flMeasureStop


MeasureDataLogプロパティ

Property.gif (255 バイト) 　MeasureDataLog プロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

汎用通信データ送信元ログの測定開始・停止

書式

[form].FLnet.MeasureDataLog = {flMeasureStart | flMeasureStop}

MeasureState = [form].FLnet.MeasureDataLog

設定値 | FlMeasureType型 (定数列挙型)
 | flMeasureStart | 測定開始(測定中)
 | flMeasureStop | 測定停止(停止中)
用法 | 設計時 | 参照
 | 実行時 | 設定／参照

説明

デフォルト値：flMeasureStop(停止中)

汎用通信データ送信元ログの測定を開始する場合は、MeasureDataLog プロパティにflMeasureStartを設定します。
汎用通信データ送信元ログの測定を停止する場合は、MeasureDataLog プロパティにflMeasureStopを設定します。
測定状態が変更されると、MeasureDataChangedイベントが発生し、MeasureDataLog プロパティの値が現在の測定状態になります。
測定中に測定開始すると、測定結果を破棄し、再度測定を開始します。

測定結果は、GetMeasureDataLogStateメソッドで取得できます。

エラー | 以下の場合、ランタイムエラーが発生し、値は更新されません。
 | ｴﾗｰNo. | 内容
 | 10220 | 設計時に設定できません
 | 10221 | 設定値に不正値（設定範囲外）の指定
 | 10222 | システムエラー(スレッドの起動に失敗)
 | 10223 | NICアダプタのオープンに失敗しました

使用例

'【 汎用通信データ送信元ログ測定開始処理】

Private Sub Command1_Click()

'汎用通信データ送信元ログの測定開始

FLnet.Measure DataLog = flMeasureStart

End Sub

'【汎用通信データ送信元ログ測定停止処理】

Private Sub Command2_Click()

'汎用通信データ送信元ログの測定停止

FLnet.Measure DataLog = flMeasureStop


BlockValueプロパティ

Property.gif (255 バイト) 　CommandServerUdpプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

コマンドサーバ（UDP）の起動・停止

書式

[form].FLnet.CommandServerUdp = {flServerStart | flServerStop}
State = [form].FLnet.CommandServerUdp

設定値 | FlServerType型（定数列挙型）
 | flServerStart | コマンドサーバを起動します。
 | flServerStop | コマンドサーバを停止します。
用法 | 設計時 | 参照
 | 実行時 | 設定／参照

説明

デフォルト値：flServerStop（停止）

コマンドサーバ（UDP）の起動・停止をします。
IPアドレスを指定する場合は、CommandServerUdpIPプロパティにアドレスを設定してください。
エラー | 以下の場合、ランタイムエラーが発生し、値は更新されません。
 | ｴﾗｰNo. | 内容
 | 10250 | CommandServerUdpプロパティは、設計時に設定できません
 | 10251 | CommandServerUdpプロパティに、不正な値が設定されました (IPアドレスが正しくない場合も含む）
 | 10252 | システムエラーを検知したため、起動できません
使用例 '【コマンドサーバの起動処理】
Private Sub Command1_Click()
'コマンドサーバ(UDP)を起動する。
FLnet.CommandServerUdp = flServerStart
End Sub

'【コマンドサーバの停止処理】
Private Sub Command2_Click()
'コマンドサーバ(UDP)を停止する。
FLnet.CommandServerUdp = flServerStop


BlockValueプロパティ

Property.gif (255 バイト) 　CommandServerTcpプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

コマンドサーバ（TCP）の起動・停止

書式

[form].FLnet.CommandServerTcp = {flServerStart | flServerStop}
State = [form].FLnet.CommandServerTcp

設定値 | FlServerType型（定数列挙型）
 | flServerStart | コマンドサーバを起動します。
 | flServerStop | コマンドサーバを停止します。
用法 | 設計時 | 参照
 | 実行時 | 設定／参照

説明

デフォルト値：flServerStop（停止）

コマンドサーバ（TCP）の起動・停止をします。
IPアドレスを指定する場合は、CommandServerTcpIPプロパティにアドレスを設定してください。
エラー | 以下の場合、ランタイムエラーが発生し、値は更新されません。
 | ｴﾗｰNo. | 内容
 | 10260 | CommandServerTcpプロパティは、設計時に設定できません
 | 10261 | CommandServerTcpプロパティに、不正な値が設定されました (IPアドレスが正しくない場合も含む）
 | 10262 | システムエラーを検知したため、起動できません
使用例 '【コマンドサーバの起動処理】
Private Sub Command1_Click()
'コマンドサーバ(TCP)を起動する。
FLnet.CommandServerTcp = flServerStart
End Sub

'【コマンドサーバの停止処理】
Private Sub Command2_Click()
'コマンドサーバ(TCP)を停止する。
FLnet.CommandServerTcp = flServerStop


BlockValueプロパティ

Property.gif (255 バイト) 　CommandServerUdpIPプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

コマンドサーバ（UDP）用のIPアドレス

書式

[form].FLnet.CommandServerUdpIP = IpAddr$
IpAddr$ = [form].FLnet.CommandServerUdpIP

設定値

String型（”XXX.XXX.XXX.XXX”形式）

用法 | 設計時 | 設定／参照
 | 実行時 | 設定／参照

説明

デフォルト値：””（空文字）

特定のLANカードを指定する場合のIPアドレスを設定します。

設定値は、10進数のゼロサプレスで”XXX.XXX.XXX.XXX”の形式で行ってください（例：192.168.250.1）。形式が不正の場合は、ランタイムエラーが発生します。なお、IPアドレスの有効性チェックはコマンドサーバ起動時に行います。

LANカードを特定しない場合は、””（空文字）を設定してください。この場合、OSが管理するデフォルトのLANカードが選択されます。
エラー | 以下の場合、ランタイムエラーが発生し、値は更新されません。
 | ｴﾗｰNo. | 内容
 | 10230 | CommandServerUdpIPプロパティに不正な形式の値が設定されました
 | 10231 | コマンドサーバ（UDP/IP）起動中は設定できません
使用例 '【コマンドサーバの起動処理(LANカード指定あり)】
Private Sub Command1_Click()
' IPアドレス192.168.250.1のLANカードでコマンドサーバ(UDP)を起動する。
FLnet.CommandServerUdpIP = “192.168.250.1”
'コマンドサーバ(UDP)を起動する。
FLnet.CommandServerUdp = flServerStart
End Sub

'【コマンドサーバの起動処理(LANカード指定なし)】
Private Sub Command2_Click()
'デフォルトのLANカードでコマンドサーバ(UDP)を起動する。
FLnet.CommandServerUdpIP = “”
'コマンドサーバ(UDP)を起動する。
FLnet.CommandServerUdp = flServerStart


BlockValueプロパティ

Property.gif (255 バイト) 　CommandServerTcpIPプロパティ

機能　　書式　　設定値　　用法　　説明　　エラー　　使用例

機能

コマンドサーバ（TCP）用のIPアドレス

書式

[form].FLnet.CommandServerTcpIP = IpAddr$
IpAddr$ = [form].FLnet.CommandServerTcpIP

設定値

String型（”XXX.XXX.XXX.XXX”形式）

用法 | 設計時 | 設定／参照
 | 実行時 | 設定／参照

説明

デフォルト値：””（空文字）

特定のLANカードを指定する場合のIPアドレスを設定します。

設定値は、10進数のゼロサプレスで”XXX.XXX.XXX.XXX”の形式で行ってください（例：192.168.250.1）。形式が不正の場合は、ランタイムエラーが発生します。なお、IPアドレスの有効性チェックはコマンドサーバ起動時に行います。

LANカードを特定しない場合は、””（空文字）を設定してください。この場合、OSが管理するデフォルトのLANカードが選択されます。
エラー | 以下の場合、ランタイムエラーが発生し、値は更新されません。
 | ｴﾗｰNo. | 内容
 | 10240 | CommandServerTcpIPプロパティに不正な形式の値が設定されました
 | 10241 | コマンドサーバ（TCP/IP）起動中は設定できません
使用例 '【コマンドサーバの起動処理(LANカード指定あり)】
Private Sub Command1_Click()
' IPアドレス192.168.250.1のLANカードでコマンドサーバ(TCP)を起動する。
FLnet.CommandServerTcpIP = “192.168.250.1”
'コマンドサーバ(TCP)を起動する。
FLnet.CommandServerTcp = flServerStart
End Sub

'【コマンドサーバの起動処理(LANカード指定なし)】
Private Sub Command2_Click()
'デフォルトのLANカードでコマンドサーバ(TCP)を起動する。
FLnet.CommandServerTcpIP = “”
'コマンドサーバ(TCP)を起動する。
FLnet.CommandServerTcp = flServerStart


メソッド一覧

Method.gif (242 バイト) 　メソッド一覧

メソッド名 | 内容
GetNodeState | ノード状態の取得
GetNetworkState | ネットワーク状態の取得
GetLinkInNodes | リンク参加ノード一覧の取得
GetMyNodeLog | 自ノードログデータの取得（FL-net Ver.2専用）
ClearMyNodeLog | 自ノードログデータのクリア
ReadBlock | 他ノードからバイト・ワードブロックメモリの読込み
WriteBlock | 他ノードへバイト／ワードブロックメモリの書込み
ReadNetParam | 他ノードからネットワークパラメータの読込み
WriteNetParam | 他ノードへネットワークパラメータの書込み
RunStop | 他ノードへ運転･停止モードの切り替え
ReadProfile | 他ノードからプロファイルデータの読込み
ReadLog | 他ノードからログデータの読込み
ClearLog | 他ノードのログデータをクリア
SendEchoMsg | 他ノードへ折返しメッセージの送信
ReqVendorMsg | 他ノードへベンダ固有要求メッセージの送信
RepVendorMsg | 他ノードへベンダ固有応答メッセージの送信
SendUserMsg | 他ノードへ透過形（ユーザ定義）メッセージの送信
GetLinkInSlaves | スレーブノード参加状態一覧の取得
GetMyNodeLogV3 | 自ノードログデータの取得（FL-net Ver.3対応版）
GetMeasureTokenTimeState | トークン保持時間測定結果取得
GetMeasureDataLogState | 汎用通信データ送信元ログの測定結果取得
RepWriteNetParamMsg | 他ノードへネットワークパラメータライト応答メッセージの送信
RepRunStopMsg | 他ノードへ運転・停止指令応答メッセージの送信
SetIO | IO割付情報の設定
GetIO | IO割付情報の取得
ReadInputBitData | 入力データのビット読出し（連続）
ReadInputWordData | 入力データのワード読出し（連続）
ReadInputRandomBitData | 入力データのビット読出し（ランダム）
ReadInputRandomWordData | 入力データのワード読出し（ランダム）
ReadOutputBitData | 出力データのビット読出し（連続）
ReadOutputWordData | 出力データのワード読出し（連続）
ReadOutputRandomBitData | 出力データのビット読出し（ランダム）
ReadOutputRandomWordData | 出力データのワード読出し（ランダム）
WriteOutputBitData | 出力データのビット書込み（連続）
WriteOutputWordData | 出力データのワード書込み（連続）
WriteOutputRandomBitData | 出力データのビット書込み（ランダム）
WriteOutputRandomWordData | 出力データのワード書込み（ランダム）
GetInputState | 入力ステータスの取得
GetOutputState | 出力ステータスの取得
SetOutputState | 出力ステータスの設定


GetNodeStateメソッド

Method.gif (242 バイト) 　GetNodeStateメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

ノード状態の取得

書式

Rtc% = [form].FLnet.GetNodeState(ByVal NodeNo As Integer, ByRef State As FlNodeState)

引数 | NodeNo | IN | 取得を行うノード番号を指定します。（0～254） ※0を指定した場合は、自ノードの状態を取得します。
 | State | OUT | ノード状態を取得する変数を指定します。（項目の内容は、クラス情報のFlNodeStateをご参照ください。）
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（0～254範囲外）の指定
 | -2 | State 引数に不正データ型の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）
 | 5 | 対象ノード リンク未参加

説明

ノード毎の状態を取得します。ノード状態の取得では、FL-netコントロール内にある管理情報パラメータを参照します。他ノードの最新状態を取得する場合は、 ReadNetParam メソッドにてネットワークパラメータの読込みを行う必要があります。正常応答を受信した際に、 ReadNetParamOK イベントが発生します。

読出しを行う対象ノードに応じて、取得可能な項目が異なります。取得可能な項目および関数戻り値の一覧は、以下の通りです。

１）NodeNo引数に自ノード番号を指定した場合
  自ノードの参加状況に応じて、取得可能な項目が異なります。
項目 | メンバ変数名 | 自ノード参加状況による取得可能項目※1
 |  | 未参加 | 待機中 | 参加中 | モニタ中
ベンダ名称 | VendorName | ○ | ○ | ○ | ○
製造業者形式 | MakerType | ○ | ○ | ○ | ○
ノード名称 | NodeName | ○ | ○ | ○ | ○
コモンメモリ情報 | Common | ○ | ○ | ○ | ○
トークン監視時間 | TokenTime | ○ | ○ | ○ | ○
リフレッシュサイクル許容時間 | MaxRefreshCycle | × | × | ○ | ×
リフレッシュサイクル実測値 | RefreshCycle | × | × | ○ | ×
最小許容フレーム間隔 | MinFrameInterval | ○ | ○ | ○ | ○
上位層の状態 | UpperState | ○ | ○ | ○ | ○
FAリンクの状態 | LinkState | ○ | ○ | ○ | ○
プロトコルタイプ | ProtocolVersion | ○ | ○ | ○ | ○
自ノード状態 | MyNodeState | ○ | ○ | ○ | ○
メソッド戻り値 |  | 2 | 2 | 0 | 2

※1. 取得可能項目の記号の意味は、以下の通りです。
・○：取得可能です。
・×：取得不可能（変数の値は、0固定となります。）

２）NodeNo引数に他ノード番号を指定した場合
  自ノードおよび対象ノードの参加状況に応じて、取得可能な項目が異なります。
項目 | メンバ変数名 | 参加状況による取得可能項目※2 （上段：自ノード，下段：対象ノード）
 |  | 未参加 | 参加中 |  | モニタ中
 |  | － | 参加中 | 未参加 | 参加中 | 未参加
ベンダ名称 | VendorName | × | △ | × | ▲ | ×
製造業者形式 | MakerType | × | △ | × | ▲ | ×
ノード名称 | NodeName | × | △ | × | ▲ | ×
コモンメモリ情報 | Common | × | ○ | × | ○ | ×
トークン監視時間 | TokenTime | × | ○ | × | ○ | ×
リフレッシュサイクル許容時間 | MaxRefreshCycle | × | ○ | × | ○ | ×
リフレッシュサイクル実測値 | RefreshCycle | × | △ | × | × | ×
最小許容フレーム間隔 | MinFrameInterval | × | ○ | × | ○ | ×
上位層の状態 | UpperState | × | ○ | × | ○ | ×
FAリンクの状態 | LinkState | ◇ | ○ | ◇ | ○ | ◇
プロトコルタイプ | ProtocolVersion | × | ○ | × | ○ | ×
自ノード状態 | MyNodeState | ○ | ○ | ○ | ○ | ○
メソッド戻り値 |  | 2 | 0 | 5 | 2 | 5

※2. 取得可能項目の記号の意味は、以下の通りです。
・○：取得可能です。
・×：取得不可能（変数の値は、0又は””固定となります。）
・△：ReadNetParamOKイベント発生後に、最新状態が取得可能です。
・▲：途中で参加したノードのみ取得可能です。
・◇：通信無効検知フラグのみ取得可能です。

エラー

なし

使用例

'【ノード状態取得】
Private Sub Command1_Click()

Dim Rtc%
Dim Node As FlNodeState

'ノードNo.=10のノード状態を取得する。
Rtc% = FLnet.GetNodeState(10, Node)
If Rtc% = 0 Then
'コモンメモリ情報を表示
Debug.Print "領域1先頭アドレス=" & Node.Common.Address1 & "です。"
Debug.Print "領域1サイズ=" & Node.Common.Bytes & "です。"
Debug.Print "領域2先頭アドレス=" & Node.Common.Address2 & "です。"
Debug.Print "領域2サイズ=" & Node.Common.Words & "です。"
'ノード名称を表示
Debug.Print "ノード名称=" & Node.NodeName & "です。"
'上位層の状態より上位層の動作情報を表示
Debug.Print "上位層の動作情報=" & IIf(Node.UpperState And &H8000, "RUN", "STOP") & "です。"
End If


GetNetworkStateメソッド

Method.gif (242 バイト) 　GetNetworkStateメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

ネットワーク状態の取得

書式

Rtc% = [form].FLnet.GetNetworkState(ByRef State As FlNetworkState)

引数

State

OUT

ネットワーク状態を取得する変数を指定します。（項目の内容は、クラス情報のFlNetworkStateをご覧ください。）

戻り値 | Integer型
 | 0 | 正常終了（モニタモード実行中も含む）
 | -1 | State 引数に不正データ型の指定
 | 2 | リンク未参加

説明

ネットワーク状態の取得を行います。自ノードがリンクに未参加（モニタモード実行中は含まない）の場合は、エラーとして状態の取得は行いません。

エラー

なし

使用例

'【ネットワーク状態を周期的に監視する。】
Private Sub Timer1_Timer()

Dim State As FlNetworkState 'ネットワーク状態用変数

'ネットワーク状態を取得します。
If FLnet.GetNetworkState(State) = 0 Then
'取得したネットワーク状態を参照します。
Debug.Print "最小許容フレーム間隔は、" & Format$(State.MinFrameInterval * 10) & "msです。"
Debug.Print "リフレッシュサイクル実測値は、" & Format$(State.RefreshCycle) & "msです。"
End If


GetLinkInNodesメソッド

Method.gif (242 バイト) 　GetLinklnNodesメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

リンク参加ノード一覧の取得

書式

Rtc% = [form].FLnet.GetLinkInNodes(ByRef Nodes As Byte)

引数

Nodes

OUT

全ノードのリンク参加状況を取得するテーブルを指定します。

テーブル内容は、1ノードあたり1要素のByte型配列とし、ノード番号の昇順で全ノード（=254台）分の大きさとします。
※必ず全ノード分の領域（254要素以上のバイト型配列）を確保のうえ、指定してください。

本メソッド実行後は、ノード毎のリンク参加状況に応じて、以下の値が格納されます。
・0=未参加
・1=参加中
・2=通信無効検知（未参加）

戻り値 | Integer型
 | 0 | 正常終了（モニタモード実行中の場合も含む）
 | -1 | Node 引数に不正データ型の指定
 | 2 | リンク未参加

説明

全ノードのリンク参加状況（未参加・参加中・通信無効検知）を取得します。

エラー

なし

使用例

'【ネットワーク参加時に、参加ノード一覧を取得する。】
Private Sub FLnet_LinkIn(ByVal NodeNo As Integer)

Dim Rtc%, I%, Buff1$, Buff2$
Dim Nodes(1 To 254) As Byte 'ノード一覧 ★要素数=254のByte型配列

 '自ノードの場合
If NodeNo = FLnet.NodeNo Then
'参加ノード一覧を取得します。
Rtc% = FLnet.GetLinkInNodes(Nodes)
'★配列1要素=1ノードで、ノード番号の昇順に格納されます。
For I% = 1 To 254 Step 1
'Nodes配列の要素を参照することで、リンクの参加状況を判定します。
Select Case Nodes(I%)
'参加中
Case 1
Buff1$ = Buff1$ & Format$(I%) & ", "
'通信無効検知
Case 2
Buff2$ = Buff2$ & Format$(I%) & ", "
End Select
Next I%
Debug.Print "現在参加しているノードは、" & Buff1$ & "です。"
Debug.Print "通信無効を検知したノードは、" & Buff2$ & "です。"
End If


GetMyNodeLogメソッド

Method.gif (242 バイト) 　GetMyNodeLogメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

自ノードログデータの取得（FL-net Ver.2専用）

書式

Rtc% = [form].FLnet.GetMyNodeLog(ByRef Log As FlLogInfo)

引数

Log

OUT

ログデータを取得する変数を指定します。（項目の内容は、クラス情報のFlLogInfoをご覧ください。）

戻り値 | Integer型
 | 0 | 正常終了
 | -1 | Log 引数に不正データ型の指定

説明

自ノードのログデータを取得します。

エラー

なし

使用例

'【自ノードログデータ取得】
Private Sub Command2_Click()

Dim Log As FlLogInfo 'ログデータ用変数

'自ノードログデータを取得します。
If FLnet.GetMyNodeLog(Log) = 0 Then
'取得したログデータを参照します。
Debug.Print "1対1メッセージ受信回数は、"; Format$(Log.Frame.RecvUnicast) & "回です。"
Debug.Print "他ノード離脱回数は、"; Format$(Log.Link.AnotherLinkOut) & "回です。"
End If


ClearMyNodeLogメソッド

Method.gif (242 バイト) 　ClearMyNodeLogメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

自ノードログデータのクリア

書式

Rtc% = [form].FLnet.ClearMyNodeLog( )

引数

なし

戻り値 | Integer型
 | 0 | 正常終了

説明

自ノードのログデータをクリアします。 LogCleared イベントは発生しません。

他ノードのログデータをクリアする場合は、ClearLogメソッドをコールしてください。

エラー

なし

使用例

'【自ノードログデータクリア】
Private Sub Command1_Click()

'自ノードログデータをクリアします。
FLnet.ClearMyNodeLog


ReadBlockメソッド

Method.gif (242 バイト) 　ReadBlockメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

他ノードからバイト・ワードブロックメモリの読込み

書式

Rtc% = [form].FLnet.ReadBlock(ByVal NodeNo As Integer, _
ByVal BlockType As FlBlockType,
                                        ByVal Address As Long, ByVal Size As Integer)

引数 | NodeNo | IN | 読込みを行うノード番号を指定します。（1～254）
 | Block | IN | ブロックメモリの種別を指定します。（定数列挙型） ・flByteBlock = バイトブロック ・flWordBlock = ワードブロック
 | Address | IN | 読込み開始アドレスを指定します。（0～&hFFFFFFFF） ・バイトブロック：バイト単位 ・ワードブロック：ワード単位
 | Size | IN | 読込みサイズを指定します。0の指定はできません。 ・バイトブロック：バイト単位（最大1024バイト） ・ワードブロック：ワード単位（最大512ワード）
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～254範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | Block引数に不正値（指定範囲外）の指定
 | -4 | Address 引数に不正値（指定範囲外）の指定
 | -5 | Size 引数に不正値（指定範囲外）の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）
 | 3 | 読込みノード リンク未参加
 | 6 | 送信ビジー

説明

他ノードからバイト・ワードブロックメモリの読込みを行います。引数で指定された条件に基づき、ブロックメモリ読込み要求メッセージを作成し送信します。

本メソッドが正常終了すると、メッセージ送信中の状態となり、メッセージ送信完了時にSendCompleteイベントが発生します。読込み先ノードから応答メッセージを受信した時点で、応答種別に応じ以下のイベントが発生します。
・正常応答　： ReadBlockOK イベント
・異常応答　： ReadBlockError イベント
・非実装応答： MsgError イベント（Number=3）

自ノードおよび読込みを行うノードがリンクに未参加の場合はエラーとなり、メッセージの送信は行いません。

エラー

なし

使用例

'【バイトブロックメモリ読込み】
Private Sub Command1_Click()

'ノード番号=100より、バイトブロックメモリ（先頭アドレス=10000，サイズ=500）の読込みを行います。
If FLnet.ReadBlock(100, flByteBlock, 10000, 500) = 0 Then
'★読込み結果はReadBlockOK，ReadBlockErrorイベント内で確認します。
 End If

End Sub

'【ワードブロックメモリ読込み】
Private Sub Command2_Click()

'ノード番号=1より、ワードブロックメモリ（先頭アドレス=0，サイズ=100）の読込みを行います。
If FLnet.ReadBlock(1, flWordBlock, 0, 100) = 0 Then
'★読込み結果はReadBlockOK，ReadBlockErrorイベント内で確認します。
End If


WriteBlockメソッド

Method.gif (242 バイト) 　WriteBlockメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

他ノードへバイト・ワードブロックメモリの書込み

書式

Rtc% = [form].FLnet.WriteBlock(ByVal NodeNo As Integer, _
ByVal BlockType As FlBlockType, ByVal Address As Long, Data As Variant)

引数 | NodeNo | IN | 書込みを行うノード番号を指定します。（1～254）
 | Block | IN | ブロックメモリの種別を指定します。（定数列挙型） ・flByteBlock = バイトブロック ・flWordBlock = ワードブロック
 | Address | IN | 書込み開始アドレスを指定します。（0～&hFFFFFFFF） ・バイトブロック：バイト単位 ・ワードブロック：ワード単位
 | Data | IN | 書込みデータを指定します。ブロックメモリ種別に応じて指定するデータ型が異なります。 ・バイトブロック：Byte型（&h0～&hFF，最大1024バイト） ・ワードブロック：Integer型（&h0～&hFFFF，最大512ワード） 複数アドレスの値を書込む場合は、1アドレスが1要素となる配列を指定してください。
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～254範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | Block引数に不正値（指定範囲外）の指定
 | -4 | Address 引数に不正値（指定範囲外）の指定
 | -5 | Data 引数に不正サイズ（指定範囲外）の指定
 | -6 | Data引数に不正データ型の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）
 | 3 | 書込みノード リンク未参加
 | 6 | 送信ビジー

説明

他ノードへバイト・ワードブロックメモリの書込みを行います。引数で指定された条件に基づき、ブロックメモリ書込み要求メッセージを作成し送信します。

バイトブロックメモリはByte型、ワードブロックメモリはInteger型で指定してください。なお、複数ブロックの値を書込む場合は、1アドレス=1要素となる配列変数を指定してください。書込みデータのサイズは、配列の要素数から自動的に決定されます。

本メソッドが正常終了すると、メッセージ送信中の状態となり、メッセージ送信完了時にSendCompleteイベントが発生します。書込み先ノードから応答メッセージを受信した時点で、応答種別に応じ以下のイベントが発生します。
・正常応答　： WriteBlockOK イベント
・異常応答　： WriteBlockError イベント
・非実装応答： MsgError イベント（Number=3）

自ノードおよび書込みを行うノードがリンクに未参加の場合はエラーとなり、メッセージの送信は行いません。

エラー

なし

使用例

'【バイトブロック書込み処理】
Private Sub Command1_Click()

'ノード番号=100に、バイトブロックメモリ（先頭アドレス=10000バイト，サイズ=1バイト，値=100）の書込みを行います。
 If FLnet.WriteBlock(100, flByteBlock, 10000, 100) = 0 Then
'★書込み結果はWriteBlockOK，WriteBlockErrorイベント内で確認します。
End If

End Sub

'【ワードブロック書込み処理】
Private Sub Command2_Click()

Dim I%
Dim DataW(1 To 400) As Integer '★Integer型の配列

'書込みを行うデータを作成。★1アドレス=1要素の配列とする。
For I% = 1 To 400 Step 1
DataW(I%) = I% * 10
Next I%

'ノード番号=1に、ワードブロックメモリ（先頭アドレス=0ワード，サイズ=400ワード）の書込みを行います。
'★DataW配列の要素数より、400ワードの指定となる。
If FLnet.WriteBlock(1, flWordBlock, 0, DataW) = 0 Then
'★書込み結果はWriteBlockOK，WriteBlockErrorイベント内で確認します。
End If


ReadNetParamメソッド

Method.gif (242 バイト) 　ReadNetParamメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

他ノードからネットワークパラメータの読込み

書式

Rtc% = [form].FLnet.ReadNetParam(ByVal NodeNo As Integer)

引数

NodeNo

IN

読込みを行うノード番号を指定します。（1～254）

戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～254範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）
 | 3 | 読込みノード リンク未参加
 | 6 | 送信ビジー

説明

他ノードからネットワークパラメータの読込みを行います。引数で指定された条件に基づき、ネットワークパラメータ読込み要求メッセージを作成し送信します。

本メソッドが正常終了すると、メッセージ送信中の状態となり、メッセージ送信完了時に SendComplete イベントが発生します。読込み先ノードから応答メッセージを受信した時点で、応答種別に応じ以下のイベントが発生します。
・正常応答： ReadNetParamOK イベント
・異常応答： ReadNetParamError イベント

自ノードおよび読込みを行うノードがリンクに未参加の場合はエラーとなり、メッセージの送信は行いません。

エラー

なし

使用例

'【ネットワークパラメータ読込】
Private Sub Command1_Click()

'ノード番号=123よりネットワークパラメータの読込みを行います。
If FLnet.ReadNetParam(123) = 0 Then
'★読込み結果はReadNetParamOK，ReadNetParamErrorイベント内で確認します。
End If


WriteNetParamメソッド

Method.gif (242 バイト) 　WriteNetParamメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

他ノードへネットワークパラメータの書込み

書式

Rtc% = [form].FLnet.WriteNetParam(ByVal NodeNo As Integer,
                  [Common As FlCommonInfo], [ByVal NodeName As String])

引数 | NodeNo | IN | 書込みを行うノード番号を指定します。（1～254）
 | Common | IN | コモンメモリ領域パラメータを指定します。（省略可）
 | NodeName | IN | ノード名称を指定します。（省略可，10バイト）
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～254範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -4 | Common引数に不正値（先頭アドレス範囲外）の指定
 | -5 | Common引数に不正値（データサイズ範囲外）の指定
 | -6 | Common引数および NodeName 引数の同時省略
 | -7 | Common引数に不正データ型の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）
 | 3 | 書込みノード リンク未参加
 | 6 | 送信ビジー

説明

他ノードへネットワークパラメータの書込みを行います。引数で指定された条件に基づき、要求メッセージを作成し送信します。コモンメモリ領域パラメータおよびノード名称の引数は省略することが可能です。省略した項目のパラメータの書込みは行いません。ただし、両方の引数を同時に省略することはできません。

コモンメモリ領域パラメータの書込みを行う場合は、 FlCommonInfo 型変数のメンバに値を指定します。なお、コモンメモリ１の値はバイト単位（偶数）で指定する必要があります。

ノード名称の書込みを行う場合は、NodeName引数にUnicode文字列を指定します。半角10文字（全角5文字）を超えるデータは無視されます。10文字に満たない場合は、残りはスペースで埋められます。

本メソッドが正常終了すると、メッセージ送信中の状態となり、メッセージ送信完了時にSendCompleteイベントが発生します。書込み先ノードから応答メッセージを受信した時点で、応答種別に応じ以下のイベントが発生します。
・正常応答　： WriteNetParamOK イベント
・異常応答　： WriteNetParamError イベント
・非実装応答： MsgError イベント（Number=3）

自ノードおよび書込みを行うノードがリンクに未参加の場合はエラーとなり、メッセージの送信は行いません。

エラー

なし

使用例

'【ネットワークパラメータ書込み（ノード名称のみ指定）】
Private Sub Command1_Click()

 'ノード番号=10にネットワークパラメータ（ノード名称="ChangeNode"）の書込みを行います。
 '★Common引数を省略する。
 If FLnet.WriteNetParam(10, , "ChangeNode") = 0 Then
'★書込み結果はWriteNetParamOK，WriteNetParamErrorイベント内で確認します。
End If

End Sub

'【ネットワークパラメータ書込み（コモンメモリ領域のみ指定）】
Private Sub Command2_Click()

Dim Common As FlCommonInfo

'コモンメモリ領域パラメータの設定 ★領域1はバイト単位
'領域1アドレス=0[バイト], 領域1サイズ=100[バイト], 領域2アドレス=80[ワード], 領域2サイズ=1000[ワード]
Common.Address1 = 0
Common.Bytes = 100
Common.Address2 = 80
Common.Words = 1000
 'ノード番号=77にネットワークパラメータ（コモンメモリ領域）の書込みを行います。★NodeName引数を省略する。
 If FLnet.WriteNetParam(77, Common) = 0 Then
'★書込み結果はWriteNetParamOK，WriteNetParamErrorイベント内で確認します。
End If

End Sub

'【ネットワークパラメータ書込み（コモンメモリ領域＋ノード名称指定）】
Private Sub Command3_Click()

Dim Common As FlCommonInfo

'コモンメモリ領域パラメータの設定 ★領域1はバイト単位
'領域1アドレス=0[バイト], 領域1サイズ=0[バイト], 領域2アドレス=0[ワード], 領域2サイズ=0[ワード]
Common.Address1 = 0
Common.Bytes = 0
Common.Address2 = 0
Common.Words = 0
 'ノード番号=200にネットワークパラメータ（コモンメモリ領域，ノード名称="Node200"）の書込みを行います。
If FLnet.WriteNetParam(200, Common, "Node200") = 0 Then
'★書込み結果はWriteNetParamOK，WriteNetParamErrorイベント内で確認します。
End If


RunStopメソッド

Method.gif (242 バイト) 　RunStopメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

他ノードへ運転・停止モードの切り替え

書式

Rtc% = [form].FLnet.RunStop(ByVal NodeNo As Integer, _
ByVal Command As FlControlType)

引数 | NodeNo | IN | 切り替えを行うノード番号を指定します。（1～254）
 | Command | IN | 運転・停止コマンドを指定します。（定数列挙型） ・flRun = 運転指令 ・flStop = 停止指令
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～254範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | Command引数に不正値（指定範囲外）の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）
 | 3 | 切替ノード リンク未参加
 | 6 | 送信ビジー

説明

他ノードへ運転・停止指令の切り替えを行います。引数で指定された条件に基づき、要求メッセージを作成し送信します。

本メソッドが正常終了すると、メッセージ送信中の状態となり、メッセージ送信完了時にSendCompleteイベントが発生します。要求先ノードから応答メッセージを受信した時点で、応答種別に応じ以下のイベントが発生します。
・正常応答　： RunStopOK イベント
・異常応答　： RunStopError イベント
・非実装応答： MsgError イベント（Number=3）

自ノードおよび切り替えを行うノードがリンクに未参加の場合はエラーとなり、メッセージの送信は行いません。

エラー

なし

使用例

'【運転指令】
Private Sub Command1_Click()

'ノード番号=100に運転命令を送信します。
If FLnet.RunStop(100, flRun) = 0 Then
'★運転結果はRunStopOK，RunStopErrorイベント内で確認します。
 End If

End Sub

'【停止指令】
Private Sub Command2_Click()

'ノード番号=1に停止命令を送信します。
If FLnet.RunStop(1, flStop) = 0 Then
'★停止結果はRunStopOK，RunStopErrorイベント内で確認します。
End If


ReadProfileメソッド

Method.gif (242 バイト) 　ReadProfileメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

他ノードからプロファイルデータの読込み

書式

Rtc% = [form].FLnet.ReadProfile(ByVal NodeNo As Integer)

引数

NodeNo

IN

読込みを行うノード番号を指定します。（1～254）

戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～254範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）
 | 3 | 読込みノード リンク未参加
 | 6 | 送信ビジー

説明

他ノードからプロファイルデータの読込みを行います。引数で指定された条件に基づき、要求メッセージを作成し送信します。

本メソッドが正常終了すると、メッセージ送信中の状態となり、メッセージ送信完了時にSendCompleteイベントが発生します。読込み先ノードから応答メッセージを受信した時点で、応答種別に応じ以下のイベントが発生します。
・正常応答： ReadProfileOK イベント
・異常応答： ReadProfileError イベント

自ノードおよび読込みを行うノードがリンクに未参加の場合はエラーとなり、メッセージの送信は行いません。

エラー

なし

使用例

'【プロファイルデータ読込み】
Private Sub Command1_Click()

'ノード番号=80からプロファイルデータの読込みを行います。
If FLnet.ReadProfile(80) = 0 Then
'★読込み結果はReadProfileOK，ReadProfileErrorイベント内で確認します。
End If


ReadLogメソッド

Method.gif (242 バイト) 　ReadLogメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

他ノードからログデータの読込み

書式

Rtc% = [form].FLnet.ReadLog(ByVal NodeNo As Integer)

引数

NodeNo

IN

読込みを行うノード番号を指定します。（1～254）

戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～254範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）
 | 3 | 読込みノード リンク未参加
 | 6 | 送信ビジー

説明

他ノードからログデータの読込みを行います。引数で指定された条件に基づき、要求メッセージを作成し送信します。

本メソッドが正常終了すると、メッセージ送信中の状態となり、メッセージ送信完了時に SendComplete イベントが発生します。読込み先ノードから応答メッセージを受信した時点で、応答種別に応じ以下のイベントが発生します。
・正常応答： ReadLogOK イベント
・異常応答： ReadLogError イベント

自ノードおよび読込みを行うノードがリンクに未参加の場合はエラーとなり、メッセージの送信は行いません。

エラー

なし

使用例

'【ログデータ読込み】
Private Sub Command1_Click()

'ノード番号=3からログデータを読込みます。
If FLnet.ReadLog(3) = 0 Then
'★読込み結果はReadLogOK，ReadLogErrorイベント内で確認します。
End If


ClearLogメソッド

Method.gif (242 バイト) 　ClearLogメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

他ノードログデータのクリア

書式

Rtc% = [form].FLnet.ClearLog(ByVal NodeNo As Integer)

引数

NodeNo

IN

ログデータのクリアを行うノード番号を指定します。（1～255）

戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～255範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）
 | 3 | クリア先ノード リンク未参加
 | 6 | 送信ビジー

説明

他ノードのログデータをクリアします。

引数で指定された条件に基づき、要求メッセージを作成し送信します。なお、NodeNoに255を指定すると、ネットワークに参加している全てのノードのログデータをクリアします。この場合、自ノードのログデータもクリアされます。 LogCleared イベントは発生しません。

本メソッドが正常終了すると、メッセージ送信中の状態となり、メッセージ送信完了時に SendComplete イベントが発生します。要求先ノードから応答メッセージを受信した時点で、応答種別に応じ以下のイベントが発生します。ただし、NodeNoに255を指定した場合は、応答イベントは発生しません。
・正常応答： ClearLogOK イベント
・異常応答： ClearLogError イベント

自ノードおよびクリア先ノードがリンクに未参加の場合はエラーとなり、メッセージの送信は行いません。

自ノードのログデータをクリアする場合は、 ClearMyNodeLog メソッドをコールします。

エラー

なし

使用例

'【ログデータクリア（1対1メッセージ）】
Private Sub Command1_Click()

'ノード番号=180のログデータをクリアします。
If FLnet.ClearLog(180) = 0 Then
'★クリア結果はClearLogOK，ClearLogErrorイベント内で確認します。
End If

End Sub

'【ログデータクリア（1対nメッセージ）】
Private Sub Command2_Click()

'全ノードのログデータをクリアします。
If FLnet.ClearLog(255) = 0 Then
'★ClearLogOK，ClearLogErrorイベントは発生しません。
 End If


SendEchoMsgメソッド

Method.gif (242 バイト) 　SendEchoMsgメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

他ノードへ折返しメッセージの送信

書式

Rtc% = [form].FLnet.SendEchoMsg(ByVal NodeNo As Integer, Data As Variant)

引数 | Node | IN | 送信先のノード番号を指定します。（1～254）
 | Data | IN | 折返しメッセージデータを指定します。（最大1024バイト） 指定可能なデータ型および送信されるデータ内容については、こちらをご覧ください。 メッセージデータのサイズが1024バイトを越える場合はエラーとなります。
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～254範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | Data 引数に不正サイズ（指定範囲外）の指定
 | -4 | Data引数に不正データ型の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）
 | 3 | 送信先ノード リンク未参加
 | 6 | 送信ビジー

説明

他ノードへ折返しメッセージの送信を行います。引数で指定された条件に基づき、要求メッセージを作成し送信します。メッセージデータのサイズは、Data引数のデータ型および配列の要素数から自動的に決定されます。

本メソッドが正常終了すると、メッセージ送信中の状態となり、メッセージ送信完了時にSendCompleteイベントが発生します。送信先ノードから応答メッセージを受信した時点で、折返しデータの比較結果に応じ以下のイベントが発生します。
・一致　： EchoMsgOK イベント
・不一致： EchoMsgError イベント

イベントが発生する前にSendEchoMsgメソッドを呼び出さないで下さい、送信データと受信データの比較が正しく行われず、発生するイベントが不正になることがあります。

自ノードおよび送信先のノードがリンクに未参加の場合はエラーとなり、メッセージの送信は行いません。

エラー

なし

使用例

'【折返しメッセージ送信（テキストデータ）】
Private Sub Command1_Click()

'ノード番号=10に折返し要求メッセージ（"123･･･IJK"）を送信します。
'★文字列を指定した場合は、ANSI文字コードとして送信します。
If FLnet.SendEchoMsg(10, "1234567890ABCDEFGHIJK") = 0 Then
'★折返し結果はEchoMsgOK，EchoMsgErrorイベント内で確認します。
End If

End Sub

'【折返しメッセージ送信（Byte型バイナリデータ）】
Private Sub Command2_Click()

Dim I%
Dim DataB(101 To 200) As Byte

'送信データセット
For I% = 101 To 200 Step 1
DataB(I%) = I%
Next I%
'ノード番号=254に折返し要求メッセージ（サイズ=100バイトのバイナリデータ）を送信します。
'★Byte型配列を指定した場合は、1要素=1バイトのデータを送信します。データサイズは要素数になります。
If FLnet.SendEchoMsg(254, DataB) = 0 Then
'★折返し結果はEchoMsgOK，EchoMsgErrorイベント内で確認します。
End If

End Sub

'【折返しメッセージ送信（Integer型バイナリデータ）】
Private Sub Command3_Click()

Dim I%
Dim DataI(1 To 300) As Integer

'送信データセット
For I% = 1 To 300 Step 1
DataI(I%) = I% * 10
Next I%
'ノード番号=100に折返し要求メッセージ（サイズ=600バイトのバイナリデータ）を送信します。
'★Integer型配列を指定した場合は、1要素=2バイトのデータを送信します。データサイズは要素数×2バイトになります。
If FLnet.SendEchoMsg(100, DataI) = 0 Then
'★折返し結果はEchoMsgOK，EchoMsgErrorイベント内で確認します。
End If

End Sub

'【折返しメッセージ送信（Long型バイナリデータ）】
Private Sub Command4_Click()

'ノード番号=1に折返し要求メッセージ（サイズ=4バイトのバイナリデータ）を送信します。
'★Long型変数を指定した場合は、4バイトのデータを送信します。
If FLnet.SendEchoMsg(1, CLng(1)) = 0 Then
'★折返し結果はEchoMsgOK，EchoMsgErrorイベント内で確認します。
End If


SendUserMsgﾒｿｯﾄﾞ

Method.gif (242 バイト) 　SendUserMsgメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

他ノードへ透過形（ユーザ定義）メッセージの送信

書式

Rtc% = [form].FLnet.SendUserMsg(ByVal NodeNo As Integer, _
ByVal MsgNo As Integer, [Data As Variant])

引数 | NodeNo | IN | 送信先のノード番号を指定します。（1～255）
 | MsgNo | IN | メッセージ番号を指定します。（0～59999） ※0～9999の範囲はリザーブ番号としてプロトコル仕様で定義されていますので、指定しないでください。（指定は可能です。）
 | Data | IN | メッセージデータを指定します。（最大1024バイト，省略可） 指定可能なデータ型および送信されるデータの内容については、こちらをご覧ください。 データサイズが1024バイトを越える場合はエラーとなります。なお、引数を省略した場合は、データサイズ=0バイトのメッセージを送信します。
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～255範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | MsgNo引数に不正値（指定範囲外）の指定
 | -4 | Data 引数に不正サイズ（指定範囲外）の指定
 | -5 | Data引数に不正データ型の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）
 | 3 | 送信先ノード リンク未参加
 | 6 | 送信ビジー

説明

他ノードへ透過形メッセージの送信を行います。引数で指定された条件に基づき、要求メッセージを作成し送信します。メッセージデータのサイズは、Data引数のデータ型および配列の要素数から自動的に決定されます。なお、NodeNoに255を指定すると、ネットワークに参加している全てのノードに透過形メッセージを送信します。

本メソッドが正常終了すると、メッセージ送信中の状態となり、メッセージ送信完了時に SendComplete イベントが発生します。なお、透過形メッセージには、応答イベントはありません。

自ノードおよび送信先ノードがリンクに未参加の場合はエラーとなり、メッセージの送信は行いません。

エラー

なし

使用例

'【透過形メッセージ送信（データ省略）】
Private Sub Command1_Click()

Dim Rtc%

'ノード番号=10に透過形メッセージ（メッセージ番号=10000，データ無し）を送信します。
'★Data引数を省略した場合は、メッセージデータ=無となります。
Rtc% = FLnet.SendUserMsg(10, 10000)

End Sub

'【透過形メッセージ送信（テキストデータ）】
Private Sub Command2_Click()

Dim Rtc%

'ノード番号=100に透過形メッセージ（メッセージ番号=12345，データ="123･･･IJK"(21バイト)）を送信します。
'★文字列を指定した場合は、ANSI文字コードとして送信します。
Rtc% = FLnet.SendUserMsg(100, 12345, "1234567890ABCDEFGHIJK")

End Sub

'【透過形メッセージ送信（Byte型バイナリデータ，1対nメッセージ）】
Private Sub Command3_Click()

Dim Rtc%, I%
Dim DataB(101 To 200) As Byte

'送信データセット
For I% = 101 To 200 Step 1
DataB(I%) = I%
Next I%
'全ノードに透過形メッセージ（メッセージ番号=59999，データ=100バイトのバイナリデータ）を送信します。
'★Byte型配列を指定した場合は、1要素=1バイトのデータを送信します。データサイズは要素数になります。
Rtc% = FLnet.SendUserMsg(255, 59999, DataB)

End Sub

'【透過形メッセージ送信（Integer型バイナリデータ）】
Private Sub Command4_Click()

Dim Rtc%, I%

'ノード番号=1に透過形メッセージ（メッセージ番号=50000, データ=2バイトのバイナリデータ）を送信します。
'★Integer型変数を指定した場合は、2バイトのデータを送信します。
Rtc% = FLnet.SendUserMsg(1, 50000, CLng(&H1234))

End Sub

'【透過形メッセージ送信（Long型バイナリデータ，1対nメッセージ）】
Private Sub Command5_Click()

Dim Rtc%, I%
Dim DataL(1 To 250) As Long

'送信データセット
For I% = 1 To 250 Step 1
DataL(I%) = I% * 100
Next I%
'全ノードに透過形メッセージ（メッセージ番号=10000, データ=1000バイトのバイナリデータ）を送信します。
'★Long型配列を指定した場合は、1要素=4バイトのデータを送信します。データサイズは要素数×4バイトになります。
Rtc% = FLnet.SendUserMsg(255, 10000, DataL)


ReqVendorMsgメソッド

Method.gif (242 バイト) 　ReqVendorMsgメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

他ノードへベンダ固有（要求）メッセージの送信

書式

Rtc% = [form].FLnet.ReqVendorMsg(ByVal NodeNo As Integer, _
                          VendorName As Variant, SubCode As Variant, [Data As Variant])

引数 | NodeNo | IN | 送信先のノード番号を指定します。（1～255）
 | VendorName | IN | ベンダ名称を指定します。（最大10バイト） 指定可能なデータ型および送信されるベンダ名称の内容については、こちらをご覧ください。 ベンダ名称のデータサイズが10バイトを越える場合はエラーとなります。なお、10バイトに満たない部分は、NULL（=16#00）で埋められます。
 | SubCode | IN | サブコードを指定します。（最大6バイト） 指定可能なデータ型および送信されるサブコードの内容については、こちらをご覧ください。 サブコードのデータサイズが6バイトを越える場合はエラーとなります。なお、6バイトに満たない部分は、NULL（=16#00）で埋められます。
 | Data | IN | メッセージデータを指定します。（最大1024バイト，省略可） 指定可能なデータ型および送信されるデータの内容（値・サイズ）については、こちらをご覧ください。 データサイズが1024バイトを越える場合はエラーとなります。なお、引数を省略した場合は、データサイズ=0バイトのメッセージを送信します。
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～255範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | VendorName引数に不正サイズ（11バイト以上）の指定
 | -4 | VendorName 引数に不正データ型の指定
 | -5 | SubCode引数に不正サイズ（7バイト以上）の指定
 | -6 | SubCode 引数に不正データ型の指定
 | -7 | Data引数に不正サイズ（1025バイト以上）の指定
 | -8 | Data 引数に不正データ型の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）
 | 3 | 送信先ノード リンク未参加
 | 6 | 送信ビジー

説明

他ノードへベンダ固有要求メッセージを送信します。

引数で指定された条件に基づき、要求メッセージを作成し送信します。メッセージデータのサイズは、Data引数のデータ型および配列の要素数から自動的に決定されます。なお、NodeNoに255を指定すると、ネットワークに参加している全てのノードにベンダ固有要求メッセージを送信します。

本メソッドが正常終了すると、メッセージ送信中の状態となり、メッセージ送信完了時にSendCompleteイベントが発生します。要求先ノードから応答メッセージを受信した時点で、応答種別に応じ以下のイベントが発生します。ただし、NodeNoに255を指定した場合は、応答イベントは発生しません。
・正常応答　： VendorMsgOK イベント
・異常応答　： VendorMsgError イベント
・非実装応答： VendorMsgNonSupport イベント（ MsgError イベントは発生しません。）

自ノードおよび要求先ノードがリンクに未参加の場合はエラーとなり、メッセージの送信は行いません。

エラー

なし

使用例

'【ベンダ固有要求（1対1）メッセージ送信（テキストデータ, ）】
Private Sub Command1_Click()

'ノード番号=10にベンダ固有要求メッセージを送信します。
'★文字列を指定した場合は、ANSI文字コードとして送信します。
If FLnet.ReqVendorMsg(10, "HITACHI-KE", "000001", "1234567890ABCDEF") = 0 Then
'★応答結果はVendorMsgOK，VendorMsgError，VendorMsgNonSupportイベント内で確認します。
End If

End Sub

'【ベンダ固有要求（1対n）メッセージ送信（Byte型バイナリデータ）】
Private Sub Command2_Click()

Dim I%
Dim DataB(101 To 200) As Byte

'送信データセット
For I% = 101 To 200 Step 1
DataB(I%) = I%
Next I%
'全ノードにベンダ固有要求メッセージ（サイズ=600バイトのバイナリデータ）を送信します。
'★Byte型配列を指定した場合は、1要素=1バイトのデータを送信します。データサイズは要素数になります。
If FLnet.ReqVendorMsg(255, "VNAME ", "SCODE ", DataB) = 0 Then
'★1対nメッセージの場合は応答イベントは発生しません。
End If

End Sub

'【ベンダ固有要求（1対1）メッセージ送信（Integer型バイナリデータ）】
Private Sub Command3_Click()

Dim Rtc%, I%
Dim DataI(1 To 300) As Integer

'送信データセット
For I% = 1 To 300 Step 1
DataI(I%) = I% * 10
Next I%
'ノード番号=100にベンダ固有要求メッセージ（サイズ=600バイトのバイナリデータ）を送信します。
'★Integer型配列を指定した場合は、1要素=2バイトのデータを送信します。データサイズは要素数×2バイトになります。
If FLnet.ReqVendorMsg(100, "HITACHI-KE", 1, DataI) = 0 Then
'★応答結果はVendorMsgOK，VendorMsgError，VendorMsgNonSupportイベント内で確認します。
End If

 End Sub

'【ベンダ固有要求（1対n）メッセージ送信（データ無し）】
Private Sub Command4_Click()

'全ノードにベンダ固有要求メッセージ（データ無し）を送信します。
'★Data引数を省略した場合は、データ無しとなります。
 If FLnet.ReqVendorMsg(255, "ABCDEFGHIJ", 12345) = 0 Then
'★1対nメッセージの場合は応答イベントは発生しません。
End If


RepVendorMsgメソッド

Method.gif (242 バイト) 　RepVendorMsgメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

他ノードへベンダ固有（応答）メッセージの送信

書式

Rtc% = [form].FLnet.RepVendorMsg(ByVal NodeNo As Integer, _
ByVal Result As FlReplyType, _
VendorName As Variant, SubCode As Variant, [Data As Variant])

引数

NodeNo

IN

応答先のノード番号を指定します。（1～254）

Result

IN

応答結果を指定します。（定数列挙型）
・flReplyOK = 正常
・flReplyError = 異常
・flReplyNonSupport = 非実装

応答結果に指定する値の判断基準を以下に示します。

値 | 判断基準
flReplyOK | 要求メッセージに対する処理が正常に終了した
flReplyError | 要求元ノードから受信したサブコードが認識できない 要求メッセージに対する処理で異常が発生した
flReplyNonSupport | 要求元ノードから受信したベンダ名称が認識できない

VendorName

IN

ベンダ名称を指定します。（最大10バイト）

※要求元ノードから受信したベンダ名称（ RecvReqVendorMsg イベントのVendorName引数の値）を指定してください。

指定可能なデータ型および送信されるベンダ名称の内容については、こちらをご覧ください。

ベンダ名称のサイズが10バイトを越える場合はエラーとなります。なお、10バイトに満たない部分は、NULL（=16#00）で埋められます。

SubCode

IN

サブコードを指定します。（最大6バイト）

指定可能なデータ型および送信されるサブコードの内容については、こちらをご覧ください。

サブコードのサイズが6バイトを越える場合はエラーとなります。なお、6バイトに満たない部分は、NULL（=16#00）で埋められます。

Data

IN

メッセージデータを指定します（最大1024バイト，省略可）。

Result（応答結果）に応じて以下の内容を指定します。
・正常　：正常データ
・異常　：エラーコード
・非実装：省略可能です。指定したデータ内容は無視されます。

指定可能なデータ型および送信されるデータ内容については、こちらをご覧ください。

メッセージデータのサイズが1024バイトを越える場合はエラーとなります。なお、引数を省略した場合は、データサイズ=0バイトとなります。

戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～254範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | Result引数に不正値（指定範囲外）の指定
 | -4 | VendorName引数に不正サイズ（11バイト以上）の指定
 | -5 | VendorName 引数に不正データ型の指定
 | -6 | SubCode引数に不正サイズ（7バイト以上）の指定
 | -7 | SubCode 引数に不正データ型の指定
 | -8 | Data引数に不正サイズ（1025バイト以上）の指定
 | -9 | Data 引数に不正データ型の指定
 | -10 | ベンダ固有メッセージサーバ機能非実装（VendorMsgSupportプロパティ=False）
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）
 | 3 | 送信先ノード リンク未参加
 | 6 | 送信ビジー

説明

他ノードから受信したベンダ固有（要求）メッセージ対する応答メッセージの送信を行います。

引数で指定された条件に基づき、応答メッセージを作成し送信します。メッセージデータのサイズは、Data 引数のデータ型および配列の要素数から自動的に決定されます。

ベンダ固有（要求）メッセージの受信は、 RecvReqVendorMsg イベントにて通知されます。要求メッセージが1対nメッセージの場合は、ベンダ固有（応答）メッセージを送信してはいけません。RecvReqVendorMsgイベントのMulti引数の値にて判断してください。

VendorMsgSupportプロパティの値がFalseの場合はエラーとなり、メッセージの送信は行いません。

本メソッドが正常終了すると、メッセージ送信中の状態となり、メッセージ送信完了時に SendComplete イベントが発生します。

自ノードおよび応答先のノードがリンクに未参加の場合はエラーとなり、メッセージの送信は行いません。

エラー

なし

使用例

'【ベンダ固有要求メッセージ受信時の処理】
Private Sub FLnet_RecvReqVendorMsg(ByVal NodeNo As Integer, ByVal Multi As Boolean, ByVal VendorName As Variant, ByVal SubCode As Variant, ByVal Bytes As Integer, ByVal Data As Variant)

Dim Result% '応答結果

'ベンダ名称のチェック
'★VendorName引数はANSI文字コードのため、Strconv関数でUnicodeに変換する。
If StrConv(VendorName, vbUnicode) <> "HITACHI-KE" Then
'認識しないベンダ名称の場合は、応答結果=非実装とする。
Result% = 2
'サブコードのチェック
ElseIf StrConv(SubCode, vbUnicode) <> "000001" Then
'認識しないサブコードの場合は、応答結果=異常とする。
Result% = 1
Else
Result% = 0
'★その他パラメータ等のチェックが必要であれば行う。
 '★ベンダ固有要求メッセージに対する処理を行う。
End If

'要求元にベンダ固有（応答）メッセージを送信する。
'★1対nメッセージの場合は、応答しない。
If Multi = False Then
Select Case Result%
'正常応答
Case 0
Rtc% = FLnet.RepVendorMsg(NodeNo, flReplyOK, VendorName, SubCode, Data)
'異常応答
Case 1
Rtc% = FLnet.RepVendorMsg(NodeNo, flReplyError, VendorName, SubCode, CByte(1))
'非実装応答
Case 2
Rtc% = FLnet.RepVendorMsg(NodeNo, flReplyNonSupport, VendorName, SubCode)
End Select
End If


ClearLogメソッド

Method.gif (242 バイト) 　GetLinkInSlavesメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

スレーブノード参加状態一覧の取得

書式

Rtc% = [form].FLnet.GetLinkInSlaves(ByRef Slaves As Byte)

引数

Slaves

 OUT

全スレーブノードのリンク参加状態を取得するテーブルを指定します。
テーブルの内容は、1ノード当たり1要素のByte型配列とし、ノード番号の昇順で全スレーブノード（=249台）分の大きさとします。
※必ず全スレーブノード分の領域（249要素以上のバイト型配列）を確保の上、指定してください。

本メソッド実行後は、ノード毎のリンク参加状況に応じて、以下の値が格納されます。
・0=未参加
・1=参加中
・2=スレーブノード以外

戻り値 | Integer型
 | 0 | 正常終了
 | -1 | Slaves引数に不正サイズの指定
 | -2 | Slaves引数に不正データ型の指定
 | 2 | リンク未参加（モニタモードを含む）

説明

自ノードが管理しているスレーブノードのリンク参加状態（未参加・参加中・スレーブノード以外）を取得します。
FL-netネットワーク未参加の状態で本メソッドをコールした場合、戻り値=リンク未参加となりリンク参加状態の読出しは行いません。

エラー

なし
使用例 '【ネットワーク参加時に、参加スレーブノード一覧を取得する。】
Private Sub FLnet_LinkIn(ByVal NodeNo As Integer)

Dim Rtc%, I%, Buff1$
Dim Slaves(1 To 249) As Byte 'スレーブノード一覧 ★要素数=249のByte型配列

'自ノードの場合
If NodeNo = FLnet.NodeNo Then
'参加ノード一覧を取得します。
Rtc% = FLnet.GetLinkInSlaves(Slaves)
 '★配列1要素=1ノードで、ノード番号の昇順に格納されます。
For I% = 1 To 249 Step 1
 'Nodes配列の要素を参照することで、リンクの参加状況を判定します。
 If Slaves(I%) = 1 Then
 '参加中
 Buff1$ = Buff1$ & Format$(I%) & ", "
 End If
 Next I%
 Debug.Print "現在参加している スレーブノードは、" & Buff1$ & "です。"
 End If


ClearLogメソッド

Method.gif (242 バイト) 　GetMyNodeLogV3メソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

自ノードログデータの取得（FL-net Ver.3対応版）

書式

Rtc% = [form].FLnet.GetMyNodeLogV3(ByRef Log As FlLogInfoV3)

引数

Log

 OUT

ログデータを取得する変数を指定します。（項目の内容は、クラス情報のFlLogInfoV3 をご覧ください。）

戻り値 | Integer型
 | 0 | 正常終了
 | -1 | Loｇ引数に不正データ型の指定

説明

自ノードのログデータ（V3対応版）を取得します。

エラー

なし
使用例 '【自ノードログデータ取得】
Private Sub Command1_Click()

Dim Log As FlLogInfoV3 'ログデータ用変数

'自ノードログデータを取得します。
If FLnet.GetMyNodeLogV3(Log) = 0 Then
'取得したログデータを参照します。
Debug.Print "トークン多重化回数は" & Format$(Log.Token.Conflict) & "回です。"
End If


ClearLogメソッド

Method.gif (242 バイト) 　GetMeasureTokenTimeStateメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

トークン保持時間測定結果取得

書式

Rtc% = [form].FLnet.GetMeasureTokenTimeState(ByRef State As FlTokenTimeState)

引数

State

 OUT

トークン保持時間測定結果を取得する変数を指定します。（項目の内容は、クラス情報のFlTokenTimeState をご覧ください。）

戻り値 | Integer型
 | 0 | 正常終了
 | -1 | State引数に不正データ型の指定

説明

自ノードのトークン保持時間測定結果を取得します。

測定中は前回の測定結果を取得します。

エラー

なし
使用例 '【自ノードのトークン保持時間測定結果取得】
Private Sub Command1_Click()

Dim State As FlTokenTimeState 'トークン保持時間測定結果用変数

'自ノードのトークン保持時間測定結果を取得します。
If FLnet.GetMeasureTokenTimeState(State) = 0 Then
'取得したデータを参照します。
Debug.Print "トークン再発行回数は" & Format$(State.Retry) & "回です。"
End If


ClearLogメソッド

Method.gif (242 バイト) 　GetMeasureDataLogStateメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

汎用通信データ送信元ログの測定結果取得

書式

Rtc% = [form].FLnet.GetMeasureDataLogState(ByRef State As FlLogIpV3)

引数

State

 OUT 汎用通信データ送信元ログの測定結果を取得する変数を指定します。（項目の内容は、クラス情報のFlLogIpV3 をご覧ください。）
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | State引数に不正データ型の指定

説明

自ノードの汎用通信データ送信元ログの測定結果を取得します。

測定中は前回の測定結果を取得します。

エラー

なし
使用例 '【自ノードの汎用通信データ送信元ログの測定結果取得】
Private Sub Command1_Click()

Dim State As FlLogIpV3 '汎用通信データ送信元ログ用変数

'自ノードの汎用通信データ送信元ログの測定結果を取得します。
If FLnet.GetMeasureDataLogState(State) = 0 Then
'取得したデータを参照します。
Debug.Print "測定時間は" & Format$( State.Time) & "です。"
End If


ClearLogメソッド

Method.gif (242 バイト) 　RepWriteNetParamMsgメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

他ノードへネットワークパラメータライト応答メッセージの送信

書式

RRtc% = [form].FLnet.RepWriteNetParamMsg(ByVal NodeNo As Integer, _
 _________＿＿＿＿＿＿＿＿＿＿＿＿＿ByVal Result As FlReplyType, [Data As Variant])

引数 | NodeNo | IN | 応答先のノード番号を指定します。（1～254）
 | Result | IN | 応答結果を指定します。（定数列挙型） ・flReplyOK=正常 ・flReplyError=異常 ・flReplyNonSupport=非実装
 | Data | IN | メッセージデータを指定します（最大1024バイト，省略可）。 Result（応答結果）に応じて以下の内容を指定します。 ・正常 ：省略可能です。指定したデータ内容は無視されます。 ・異常 ：エラーコード ・非実装：省略可能です。指定したデータ内容は無視されます。 指定可能なデータ型および送信されるデータ内容については、こちらをご覧ください。 メッセージデータのサイズが1024バイトを越える場合はエラーとなります。なお、引数を省略した場合は、データサイズ=0バイトとなります。
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo 引数に不正値（1～254範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | Data引数に不正サイズ（1025バイト以上）の指定
 | -4 | Data引数に不正データ型の指定
 | -5 | Result引数に不正値（指定範囲外）の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）
 | 3 | 送信先ノード リンク未参加
 | 6 | 送信ビジー

説明

他ノードから受信したネットワークパラメータライト要求メッセージに対する応答メッセージの送信を行います。

引数で指定された条件に基づき、応答メッセージを作成し送信します。メッセージデータのサイズは、Data引数のデータ型および配列の要素数から自動的に決定されます。

ネットワークパラメータライト要求メッセージの受信は、RecvReqWriteNetParamMsgイベントにて通知されます。

本メソッドが正常終了すると、メッセージ送信中の状態となり、メッセージ送信完了時にSendCompleteイベントが発生します。

自ノードおよび応答先のノードがリンクに未参加の場合はエラーとなり、メッセージの送信は行いません。

エラー

なし
使用例 '【ネットワークパラメータライト要求メッセージ受信時の処理】
Private Sub FLnet_RecvReqWriteNetParamMsg(ByVal NodeNo As Integer, _
ByVal Common1Addr As Integer, ByVal Common2Bytes As Integer, _
ByVal Common2Addr As Integer, ByVal Common2Words As Integer, _
ByVal NodeName As String, _
ByVal CommonFlg As Boolean, ByVal NodeNameFlg As Boolean)
Dim Rtc%
Dim Result% '応答結果

'アドレスの設定
If CommonFlg Then
'アドレスのチェック
'応答結果を決める
End If

'ノード名称の設定
If NodeNameFlg Then
'ノード名称のチェック
'応答結果を決める
End If

'要求元にネットワークパラメータライト（応答）メッセージを送信する。
Select Case Result%
'正常応答
Case 0
Rtc% = FLnet.RepWriteNetParamMsg(NodeNo, flReplyOK)
'異常応答
Case 1
Rtc% = FLnet.RepWriteNetParamMsg(NodeNo, flReplyError, CByte(1))
'非実装応答
Case 2
Rtc% = FLnet.RepWriteNetParamMsg(NodeNo, flReplyNonSupport)
End Select


ClearLogメソッド

Method.gif (242 バイト) 　RepRunStopMsgメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

他ノードへ運転・停止指令応答メッセージの送信

書式

Rtc% = [form].FLnet.RepRunStopMsg(ByVal NodeNo As Integer, _
___ByVal Command As FlControlType, ByVal Result As FlReplyType, [Data As Variant])

引数 | NodeNo | IN | 応答先のノード番号を指定します。（1～254）
 | Command | IN | 運転・停止コマンドを指定します。（定数列挙型） ・flRun=運転指令 ・flStop=停止指令
 | Result | IN | 応答結果を指定します。（定数列挙型） ・flReplyOK=正常 ・flReplyError=異常 ・flReplyNonSupport=非実装
 | Data | IN | メッセージデータを指定します（最大1024バイト，省略可）。 Result（応答結果）に応じて以下の内容を指定します。 ・正常 ：省略可能です。指定したデータ内容は無視されます。 ・異常 ：エラーコード ・非実装：省略可能です。指定したデータ内容は無視されます。 指定可能なデータ型および送信されるデータ内容については、こちらをご覧ください。 メッセージデータのサイズが1024バイトを越える場合はエラーとなります。なお、引数を省略した場合は、データサイズ=0バイトとなります。
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～254範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | Data 引数に不正サイズ（1025バイト以上）の指定
 | -4 | Data 引数に不正データ型の指定
 | -5 | Result 引数に不正値（指定範囲外）の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）
 | 3 | 送信先ノード リンク未参加
 | 6 | 送信ビジー

説明

他ノードから受信した運転・停止指令要求メッセージに対する応答メッセージの送信を行います。

引数で指定された条件に基づき、応答メッセージを作成し送信します。メッセージデータのサイズは、Data引数のデータ型および配列の要素数から自動的に決定されます。

運転・停止指令要求メッセージの受信は、RecvReqRunStopMsgイベントにて通知されます。

本メソッドが正常終了すると、メッセージ送信中の状態となり、メッセージ送信完了時にSendComplete イベントが発生します。

自ノードおよび応答先のノードがリンクに未参加の場合はエラーとなり、メッセージの送信は行いません。

エラー

なし
使用例 '【運転・停止指令要求メッセージ受信時の処理】
Private Sub FLnet_RecvReqRunStopMsg(ByVal NodeNo As Integer,ByVal Command As FlControlType)
Dim Rtc%
Dim Result% '応答結果

'コマンドのチェック
If Command = flStop Then
'停止指令の場合の応答結果を決める
Else
'運転指令の場合の応答結果を決める
End If

'要求元に運転・停止指令（応答）メッセージを送信する。
Select Case Result%
'正常応答
Case 0
Rtc% = FLnet.RepRunStopMsg(NodeNo, Command, flReplyOK)
'異常応答
Case 1
Rtc% = FLnet.RepRunStopMsg(NodeNo, Command, flReplyError, CByte(1))
'非実装応答
Case 2
Rtc% = FLnet.RepRunStopMsg(NodeNo, Command, flReplyNonSupport)
End Select


ClearLogメソッド

Method.gif (242 バイト) 　SetIOメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

IO割付情報の設定

書式

Rtc% = [form].FLnet.SetIO(ByRef IO As FlIOInfos, ByRef Error As Byte)

引数 | IO | IN | IO割付情報 （項目の内容は、クラス情報のFlIOInfosをご覧ください。）
 | Error | OUT | エラー情報。戻り値=-3の時の値。 ・0=正常 ・1=ノード番号が範囲外 ・2=ノード番号が自ノード番号と同じ ・3=ノード番号が重複 ・4=領域が範囲外（1,2以外） ・5=アドレスまたはサイズが範囲外 ・6=出力データと出力ステータスが重複 ・7=スレーブ出力エリアが重複 ・8=スレーブ出力エリアが自ノード送信領域範囲外 ・9=入力データと入力ステータスが重複 ・10=スレーブ入力エリアが重複 ・11=スレーブ入力エリアが自ノード送信領域範囲内 ・12=入出力点数が範囲外 ※必ず制御スレーブノード分の領域を確保のうえ、指定してください。
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | IO 引数に不正型の指定
 | -2 | スレーブ個数異常
 | -3 | IO 引数に不正値の指定（エラー情報を参照してください）
 | -4 | Error引数に不正型の指定
 | 4 | 自ノード参加中（モニタモード実行中の場合も含む）
 | 7 | 既に参加待機中
 | 10 | 設定ツールから設定中

説明

IO割付情報の設定を行います。IO割付を設定する前に、あらかじめ自ノードのコモンメモリ送信領域およびノード番号を設定しておく必要があります。リンク参加中は、設定できません。

本メソッドをコールして、正常終了すると前回の設定はクリアされ新しい設定で上書きされます。そのため、IO割付設定を追加する使い方はできません。制御スレーブノード数分一括で設定してください。

IO割付け設定を解除するには、スレーブノード数を0にして 本メソッドをコールしてください。

引数のError配列には、引数のIOで設定した同じ並びでエラー情報が格納されます。

エラー

なし
使用例

’【IO割付設定】
Private Sub Command1_Click()
Dim IO As FlIOInfos
Dim Error(2) As Byte

'制御スレーブノード数
IO.SlaveNum = 2

'ノード番号1の設定

IO.Infos(0).NodeNo = 1
IO.Infos(0).InDataArea = 1
IO.Infos(0).InDataAddress = 0
IO.Infos(0).InDataSize = 4
IO.Infos(0).InputPoint = 32
IO.Infos(0).InStateArea = 2
IO.Infos(0).InStateAddress = 0
IO.Infos(0).OutDataArea = 1
IO.Infos(0).OutDataAddress = 256
IO.Infos(0).OutDataSize = 4
IO.Infos(0).OutputPoint = 32
IO.Infos(0).OutStateArea = 2
IO.Infos(0).OutStateAddress = 1024

'ノード番号5の設定
IO.Infos(1).NodeNo = 5
IO.Infos(1).InDataArea = 1
IO.Infos(1).InDataAddress = 4
IO.Infos(1).InDataSize = 4
IO.Infos(1).InputPoint = 32
IO.Infos(1).InStateArea = 2
IO.Infos(1).InStateAddress = 16
IO.Infos(1).OutDataArea = 1
IO.Infos(1).OutDataAddress = 260
IO.Infos(1).OutDataSize = 4
IO.Infos(1).OutputPoint = 32
IO.Infos(1).OutStateArea = 2
IO.Infos(1).OutStateAddress = 1040

'設定
If FLnet.SetIO(IO, Error) = -3 Then

Debug.Print "ノード1のエラー=" & Format$( Error(0))

Debug.Print "ノード5のエラー=" & Format$( Error(1))

End If

End Sub

’【IO割付解除】
Private Sub Command2_Click()
Dim IO As FlIOInfos
Dim Error(0) As Byte

'制御スレーブノード数
IO.SlaveNum = 0

'解除
Call FLnet.SetIO(IO, Error)


ClearLogメソッド

Method.gif (242 バイト) 　GetIOメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

IO割付情報の取得

書式

Rtc% = [form].FLnet.GetIO(ByRef IO As FlIOInfos)

引数

IO

 OUT

IO割付情報 （項目の内容は、クラス情報のFlIOInfosをご覧ください。）

戻り値 | Integer型
 | 0 | 正常終了
 | -1 | IO引数に不正値の指定

説明

IO割付情報の取得を行います。

エラー

なし
使用例 ’【IO割付取得】
Private Sub Command1_Click()
Dim Rtc
Dim IO As FlIOInfos

'読込
Rtc = FLnet.GetIO(IO)


ClearLogメソッド

Method.gif (242 バイト) 　ReadInputBitDataメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

入力データのビット読出し（連続）

書式

Rtc% = [form].FLnet.ReadInputBitData(ByVal NodeNo As Integer, _

ByVal StartAddr As Long, _

ByVal Size As Long, Data As Variant)

引数 | NodeNo | IN | 読出し先のスレーブノード番号を指定します。（1～249）
 | StartAddr | IN | 読出し先の相対アドレス（ビット単位）を指定します。
 | Size | IN | 読出し先の点数（ビット単位）を指定します。
 | Data | OUT | 入力データを読出す変数を指定します。1点当たり1要素のBoolean型配列を指定します。要素数が読出し点数以上となる配列を指定してください。 False=ビット値0 True=ビット値1
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～249範囲外）の指定
 | -2 | NodeNo 引数に不正値（自ノード番号）の指定
 | -3 | NodeNo引数に不正値（管理スレーブノード番号以外）の指定
 | -4 | StartAddr 引数およびSize引数に不正値の指定
 | -5 | Data 引数に不正サイズの指定
 | -6 | Data引数に不正型の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）（読出しは可）
 | 5 | 対象ノードリンク未参加（読出しは可）
 | 8 | コモンメモリ無効（対象ノードのFAリンク状態=コモンメモリ無効の場合）

説明

対象スレーブノードの入力データをビット単位で連続読出します。

エラー

なし
使用例 ’【入力データを読出す。】
Private Sub Command1_Click()
Dim I%
Dim Data(1 To 20) As Boolean '入力データ用配列

'スレーブノード1の入力データを読出します。
If FLnet.ReadInputBitData(1, 2, 20, Data) = 0 Then
'読出した入力データを参照します。
For I% = 1 To 20
Debug.Print Format$(Data(I%))
Next I%
End If


ClearLogメソッド

Method.gif (242 バイト) 　ReadInputWordDataメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

入力データのワード読出し（連続）

書式

Rtc% = [form].FLnet.ReadInputWordData(ByVal NodeNo As Integer, _

ByVal StartAddr As Long, _
ByVal Size As Long, Data As Variant)

引数 | NodeNo | IN | 読出し先のスレーブノード番号を指定します。（1～249）
 | StartAddr | IN | 読出し先の相対アドレス（ワード単位）を指定します。
 | Size | IN | 読出し先の点数（ワード単位）を指定します。
 | Data | OUT | 入力データを読出す変数を指定します。1点当たり1要素のInteger型配列を指定します。要素数が読出し点数以上となる配列を指定してください。
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～249範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | NodeNo 引数に不正値（管理スレーブノード番号以外）の指定
 | -4 | StartAddr引数およびSize引数に不正値の指定
 | -5 | Data引数に不正サイズの指定
 | -6 | Data引数に不正型の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）（読出しは可）
 | 5 | 対象ノードリンク未参加（読出しは可）
 | 8 | コモンメモリ無効（対象ノードのFAリンク状態=コモンメモリ無効の場合）

説明

対象スレーブノードの入力データをワード単位で連続読出します。

エラー

なし
使用例 ’【入力データを読出す。】
Private Sub Command1_Click()
Dim I%
Dim Data(1 To 4) As Integer '入力データ用配列

'スレーブノード1の入力データを読出します。
If FLnet.ReadInputWordData(1, 2, 4, Data) = 0 Then
'読出した入力データを参照します。
For I% = 1 To 4
Debug.Print Format$(Data(I%))
Next I%
End If


ClearLogメソッド

Method.gif (242 バイト) 　ReadInputRandomBitDataメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

入力データのビット読出し（ランダム）

書式

Rtc% = [form].FLnet.ReadInputRandomBitData(ByVal NodeNo As Integer, _
 _________＿＿＿＿＿＿Addr As Variant, ByVal Size As Long, Data As Variant)

引数 | NodeNo | IN | 読出し先のスレーブノード番号を指定します。（1～249）
 | Addr | IN | 読出し先アドレス(ビット単位)のLong型配列を指定します。要素数が読出し点数以上となる配列を指定してください。
 | Size | IN | 読出し先の点数（ビット単位）を指定します。
 | Data | OUT | 入力データを読出す変数を指定します。1点当たり1要素のBoolean型配列を指定します。要素数が読出し点数以上となる配列を指定してください。
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～249範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | NodeNo引数に不正値（管理スレーブノード番号以外）の指定
 | -4 | Addr引数およびSize引数に不正値の指定
 | -5 | Data引数に不正サイズの指定
 | -6 | Data引数に不正型の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）（読出しは可）
 | 5 | 対象ノードリンク未参加（読出しは可）
 | 8 | コモンメモリ無効(対象ノードのFAリンク状態=コモンメモリ無効の場合)

説明

対象スレーブノードの入力データをビット単位でランダム読出します。
アドレス配列に重複したアドレスを指定した場合、同じ値が読み出されます。

エラー

なし
使用例 ’【入力データを読出す。】
Private Sub Command1_Click()
Dim I%
Dim Addr(1 To 5) As Long '読出し先アドレス
Dim Data(1 To 5) As Boolean '入力データ用配列

Addr(1) = 0 '0ビット目
Addr(2) = 5 '5ビット目
Addr(3) = 16 '16ビット目
Addr(4) = 19 '19ビット目
Addr(5) = 32 '32ビット目

'スレーブノード1の入力データをビット単位でランダムに読出します。
If FLnet.ReadInputRandomBitData(1, Addr, 5, Data) = 0 Then
'読出した入力データを参照します。
For I% = 1 To 5
Debug.Print Format$(Data(I%))
Next I%
End If


ClearLogメソッド

Method.gif (242 バイト) 　ReadInputRandomWordDataメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

入力データのワード読出し（ランダム）

書式

Rtc% = [form].FLnet.ReadInputRandomWordData(ByVal NodeNo As Integer, _
_________＿＿＿＿＿＿＿＿＿＿＿＿＿＿Addr As Variant, _
_________＿＿＿＿＿＿＿＿＿＿＿＿＿＿ByVal Size As Long, Data As Variant)

引数 | NodeNo | IN | 読出し先のスレーブノード番号を指定します。（1～249）
 | Addr | IN | 読出し先アドレス(ワード単位)のLong型配列を指定します。要素数が読出し点数以上となる配列を指定してください。
 | Size | IN | 読出し先のサイズ（ワード単位）を指定します。
 | Data | OUT | 入力データを読出す変数を指定します。1点当たり1要素のInteger型配列を指定します。要素数が読出し点数以上となる配列を指定してください。
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～249範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | NodeNo引数に不正値（管理スレーブノード番号以外）の指定
 | -4 | Addr引数およびSize引数に不正値の指定
 | -5 | Data 引数に不正サイズの指定
 | -6 | Data引数に不正型の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）（読出しは可）
 | 5 | 対象ノードリンク未参加（読出しは可）
 | 8 | コモンメモリ無効（対象ノードのFAリンク状態=コモンメモリ無効の場合）

説明

対象スレーブノードの入力データをワード単位でランダム読出します。
アドレス配列に重複したアドレスを指定した場合、同じ値が読み出されます。

エラー

なし
使用例 ’【入力データを読出す。】
Private Sub Command1_Click()
Dim I%
Dim Addr(1 To 3) As Long '読出し先アドレス
Dim Data(1 To 3) As Integer '入力データ用配列

Addr(1) = 0 '0ワード目
Addr(2) = 2 '2ワード目
Addr(3) = 5 '5ワード目

'スレーブノード1の入力データをワード単位でランダムに読出します。
If FLnet.ReadInputRandomWordData(1, Addr, 3, Data) = 0 Then
'読出した入力データを参照します。
For I% = 1 To 3
Debug.Print Format$(Data(I%))
Next I%
End If


ClearLogメソッド

Method.gif (242 バイト) 　ReadOutputBitDataメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

出力データのビット読出し（連続）

書式

Rtc% = [form].FLnet.ReadOutputBitData(ByVal NodeNo As Integer, _

ByVal StartAddr As Long, _
ByVal Size As Long, Data As Variant)

引数 | NodeNo | IN | 読出し先のスレーブノード番号を指定します。（1～249）
 | StartAddr | IN | 読出し先の相対アドレス（ビット単位）を指定します。
 | Size | IN | 読出し先の点数（ビット単位）を指定します。
 | Data | OUT | 出力データを読出す変数を指定します。1点当たり1要素のBoolean型配列を指定します。要素数が読出し点数以上となる配列を指定してください。
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～249範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | NodeNo 引数に不正値（管理スレーブノード番号以外）の指定
 | -4 | StartAddr引数およびSize引数に不正値の指定
 | -5 | Data引数に不正サイズの指定
 | -6 | Data引数に不正型の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）（読出しは可）
 | 5 | 対象ノードリンク未参加（読出しは可）

説明

対象スレーブノードの出力データをビット単位で連続読出します。

エラー

なし
使用例 ’【出力データを読出す。】
Private Sub Command1_Click()
Dim I%
Dim Data(1 To 20) As Boolean '出力データ用配列

'スレーブノード1の出力データを読出します。
If FLnet.ReadOutputBitData(1, 2, 20, Data) = 0 Then
'読出した出力データを参照します。
For I% = 1 To 20
Debug.Print Format$(Data(I%))
Next I%
End If


ClearLogメソッド

Method.gif (242 バイト) 　ReadOutputWordDataメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

出力データのワード読出し（連続）

書式

Rtc% = [form].FLnet.ReadOutputWordData(ByVal NodeNo As Integer, _

ByVal StartAddr As Long, ByVal Size As Long, Data As Variant)

引数 | NodeNo | IN | 読出し先のスレーブノード番号を指定します。（1～249）
 | StartAddr | IN | 読出し先の相対アドレス（ワード単位）を指定します。
 | Size | IN | 読出し先の点数（ワード単位）を指定します。
 | Data | OUT | 出力データを読出す変数を指定します。1点当たり1要素のInteger型配列を指定します。要素数が読出し点数以上となる配列を指定してください。
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～249範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | NodeNo引数に不正値（管理スレーブノード番号以外）の指定
 | -4 | StartAddr引数およびSize引数に不正値の指定
 | -5 | Data引数に不正サイズの指定
 | -6 | Data引数に不正型の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）（読出しは可）
 | 5 | 対象ノードリンク未参加（読出しは可）

説明

対象スレーブノードの出力データをワード単位で連続読出します。

エラー

なし
使用例 ’【出力データを読出す。】
Private Sub Command1_Click()
Dim I%
Dim Data(1 To 4) As Integer '出力データ用配列

'スレーブノード1の出力データを読出します。
If FLnet.ReadOutputWordData(1, 2, 4, Data) = 0 Then
'読出した出力データを参照します。
For I% = 1 To 4
Debug.Print Format$(Data(I%))
Next I%
End If


ClearLogメソッド

Method.gif (242 バイト) 　ReadOutputRandomBitDataメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

出力データのビット読出し（ランダム）

書式

Rtc% = [form].FLnet.ReadOutputRandomBitData(ByVal NodeNo As Integer, _
_________＿＿＿＿＿＿＿Addr As Variant, ByVal Size As Long, Data As Variant)

引数 | NodeNo | IN | 読出し先のスレーブノード番号を指定します。（1～249）
 | Addr | IN | 読出し先アドレス(ビット単位)のLong型配列を指定します。要素数が読出し点数以上となる配列を指定してください。
 | Size | IN | 読出し先の点数（ビット単位）を指定します。
 | Data | OUT | 出力データを読出す変数を指定します。1点当たり1要素のBoolean型配列を指定します。要素数が読出し点数以上となる配列を指定してください。
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo 引数に不正値（1～249範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | NodeNo引数に不正値（管理スレーブノード番号以外）の指定
 | -4 | Addr引数およびSize引数に不正値の指定
 | -5 | Data引数に不正サイズの指定
 | -6 | Data引数に不正型の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）（読出しは可）
 | 5 | 対象ノードリンク未参加（読出しは可）

説明

対象スレーブノードの出力データをビット単位でランダム読出します。
アドレス配列に重複したアドレスを指定した場合、同じ値が読み出されます。

エラー

なし
使用例 ’【出力データを読出す。】
Private Sub Command1_Click()
Dim I%
Dim Addr(1 To 5) As Long '読出し先アドレス
Dim Data(1 To 5) As Boolean '出力データ用配列

Addr(1) = 0 '0ビット目
Addr(2) = 5 '5ビット目
Addr(3) = 16 '16ビット目
Addr(4) = 19 '19ビット目
Addr(5) = 32 '32ビット目

'スレーブノード1の出力データをビット単位でランダムに読出します。
If FLnet.ReadOutputRandomBitData(1, Addr, 5, Data) = 0 Then
'読出した出力データを参照します。
For I% = 1 To 5
Debug.Print Format$(Data(I%))
Next I%
End If


ClearLogメソッド

Method.gif (242 バイト) 　ReadOutputRandomWordDataメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

出力データのワード読出し（ランダム）

書式

Rtc% = [form].FLnet.ReadOutputRandomWordData(ByVal NodeNo As Integer, _
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿Addr As Variant, _
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿ByVal Size As Long, Data As Variant)

引数 | NodeNo | IN | 読出し先のスレーブノード番号を指定します。（1～249）
 | Addr | IN | 読出し先アドレス(ワード単位)のLong型配列を指定します。要素数が読出し点数以上となる配列を指定してください。
 | Size | IN | 読出し先のサイズ（ワード単位）を指定します。
 | Data | OUT | 出力データを読出す変数を指定します。1点当たり1要素のInteger型配列を指定します。要素数が読出し点数以上となる配列を指定してください。
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～249範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | NodeNo引数に不正値（管理スレーブノード番号以外）の指定
 | -4 | Addr引数およびSize引数に不正値の指定
 | -5 | Data引数に不正サイズの指定
 | -6 | Data引数に不正型の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）（読出しは可）
 | 5 | 対象ノードリンク未参加（読出しは可）

説明

対象スレーブノードの出力データをワード単位でランダム読出します。
アドレス配列に重複したアドレスを指定した場合、同じ値が読み出されます。

エラー

なし
使用例 ’【出力データを読出す。】
Private Sub Command1_Click()
Dim I%
Dim Addr(1 To 3) As Long '読出し先アドレス
Dim Data(1 To 3) As Integer '出力データ用配列

Addr(1) = 0 '0ワード目
Addr(2) = 2 '2ワード目
Addr(3) = 5 '5ワード目

'スレーブノード1の出力データをワード単位でランダムに読出します。
If FLnet.ReadOutputRandomWordData(1, Addr, 3, Data) = 0 Then
'読出した出力データを参照します。
For I% = 1 To 3
Debug.Print Format$(Data(I%))
Next I%
End If


ClearLogメソッド

Method.gif (242 バイト) 　WriteOutputBitDataメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

出力データのビット書込み（連続）

書式

Rtc% = [form].FLnet.WriteOutputBitData(ByVal NodeNo As Integer, _

ByVal StartAddr As Long, _
ByVal Size As Long, Data As Variant)

引数 | NodeNo | IN | 書込み先のスレーブノード番号を指定します。（1～249）
 | StartAddr | IN | 書込み先の相対アドレス（ビット単位）を指定します。
 | Size | IN | 書込み先の点数（ビット単位）を指定します。
 | Data | IN | 出力データを書込む変数を指定します。1点当たり1要素のBoolean型配列を指定します。要素数が書込み点数以上となる配列を指定してください。
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～249範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | NodeNo引数に不正値（管理スレーブノード番号以外）の指定
 | -4 | StartAddr引数およびSize引数に不正値の指定
 | -5 | Data引数およびSize引数に不正サイズの指定
 | -6 | Data引数に不正型の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）（書込みは可）
 | 5 | 対象ノードリンク未参加（書込みは可）

説明

対象スレーブノードの出力データをビット単位で連続書込みします。

エラー

なし
使用例 ’【出力データを書き込む。】
Private Sub Command1_Click()
Dim Rtc%
Dim Data(1 To 5) As Boolean '出力データ用配列

Data(1) = True
Data(2) = False
Data(3) = True
Data(4) = True
Data(5) = False

'スレーブノード1に出力データを書込みします。
Rtc% = FLnet.WriteOutputBitData(1, 2, 5, Data)


ClearLogメソッド

Method.gif (242 バイト) 　WriteOutputWordDataメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

出力データのワード書込み（連続）

書式

Rtc% = [form].FLnet.WriteOutputWordData(ByVal NodeNo As Integer, _
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿ByVal StartAddr As Long, _
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿ByVal Size As Long, Data As Variant)

引数 | NodeNo | IN | 書込み先のスレーブノード番号を指定します。（1～249）
 | StartAddr | IN | 書込み先の相対アドレス（ワード単位）を指定します。
 | Size | IN | 書込み先のサイズ（ワード単位）を指定します。
 | Data | IN | 出力データを書込む変数を指定します。1点当たり1要素のInteger型配列を指定します。要素数が書込み点数以上となる配列を指定してください。
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～249範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | NodeNo引数に不正値（管理スレーブノード番号以外）の指定
 | -4 | StartAddr引数およびSize引数に不正値の指定
 | -5 | Data引数およびSize引数に不正サイズの指定
 | -6 | Data引数に不正型の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）（書込みは可）
 | 5 | 対象ノードリンク未参加（書込みは可）

説明

対象スレーブノードの出力データをワード単位で連続書込みします。

エラー

なし
使用例 ’【出力データを書き込む。】
Private Sub Command1_Click()
Dim Rtc%
Dim Data(1 To 3) As Integer '出力データ用配列

Data(1) = &HFF00
Data(2) = &H1234
Data(3) = &H00AA

'スレーブノード1へ出力データを書き込みします。
Rtc% = FLnet.WriteOutputWordData(1, 0, 3, Data)


ClearLogメソッド

Method.gif (242 バイト) 　WriteOutputRandomBitDataメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

出力データのビット書込み（ランダム）

書式

Rtc% = [form].FLnet.WriteOutputRandomBitData(ByVal NodeNo As Integer, _
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿Addr As Variant, _
 ＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿ByVal Size As Long, Data As Variant)

引数 | NodeNo | IN | 書込み先のスレーブノード番号を指定します。（1～249）
 | Addr | IN | 書込み先アドレス(ビット単位)のLong型配列を指定します。要素数が書込み点数以上となる配列を指定してください。
 | Size | IN | 書込み先の点数（ビット単位）を指定します。
 | Data | OUT | 出力データを書込む変数を指定します。1点当たり1要素のBoolean型配列を指定します。要素数が書込み点数以上となる配列を指定してください。
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～249範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | NodeNo引数に不正値（管理スレーブノード番号以外）の指定
 | -4 | Addr引数およびSize引数に不正値の指定
 | -5 | Data引数およびSize引数に不正サイズの指定
 | -6 | Data引数に不正型の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）（書込みは可）
 | 5 | 対象ノードリンク未参加（書込みは可）

説明

対象スレーブノードの出力データをビット単位でランダム書込みします。
アドレス配列に重複したアドレスを指定した場合、後のデータで上書きされます。

エラー

なし
使用例 ’【出力データを書込む。】
Private Sub Command1_Click()
Dim Rtc%
Dim Addr(1 To 5) As Long '書込み先アドレス
Dim Data(1 To 5) As Boolean '出力データ用配列

Addr(1) = 0 '0ビット目
Addr(2) = 5 '5ビット目
Addr(3) = 16 '16ビット目
Addr(4) = 19 '19ビット目
Addr(5) = 32 '32ビット目

Data(1) = False
Data(2) = True
Data(3) = True
Data(4) = False
Data(5) = True

'スレーブノード1へ出力データをビット単位でランダムに書込みします。
Rtc% = FLnet.WriteOutputRandomBitData(1, Addr, 5, Data)


ClearLogメソッド

Method.gif (242 バイト) 　WriteOutputRandomWordDataメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

出力データのワード書込み（ランダム）

書式

Rtc% = [form].FLnet.WriteOutputRandomWordData(ByVal NodeNo As Integer, _
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿Addr As Variant, _
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿ByVal Size As Long, Data As Variant)

引数 | NodeNo | IN | 書込み先のスレーブノード番号を指定します。（1～249）
 | Addr | IN | 書込み先アドレス(ワード単位)のLong型配列を指定します。要素数が書込み点数以上となる配列を指定してください。
 | Size | IN | 書込み先の点数（ワード単位）を指定します。
 | Data | IN | 出力データを書込む変数を指定します。1点当たり1要素のInteger型配列を指定します。要素数が書込み点数以上となる配列を指定してください。
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～249範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | NodeNo引数に不正値（管理スレーブノード番号以外）の指定
 | -4 | Addr引数およびSize引数に不正値の指定
 | -5 | Data引数およびSize引数に不正サイズの指定
 | -6 | Data引数に不正型の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）（書込みは可）
 | 5 | 対象ノードリンク未参加（書込みは可）

説明

対象スレーブノードの出力データをワード単位でランダム書込みします。
アドレス配列に重複したアドレスを指定した場合、後のデータで上書きされます。

エラー

なし
使用例 ’【出力データを書込む。】
Private Sub Command1_Click()
Dim Rtc%
Dim Addr(1 To 3) As Long '書込み先アドレス
Dim Data(1 To 3) As Integer '出力データ用配列

Addr(1) = 0 '0ワード目
Addr(2) = 2 '2ワード目
Addr(3) = 5 '5ワード目

Data(1) = &HF000
Data(2) = &H0FA9
Data(3) = &H58BC

'スレーブノード1へ出力データをワード単位でランダムに書込みします。
Rtc% = FLnet.WriteOutputRandomWordData(1, Addr, 3, Data)


ClearLogメソッド

Method.gif (242 バイト) 　GetInputStateメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

入力ステータスの取得

書式

Rtc% = [form].FLnet.GetInputState(ByVal NodeNo As Integer, _
 ByRef State As FlInputState)

引数 | NodeNo | IN | 取得先のスレーブノード番号を指定します。（1～249）
 | State | OUT | 入力状態を取得する変数を指定します。（項目の内容は、クラス情報のFlInputStateをご覧ください。 ）
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～249範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | NodeNo引数に不正値（管理スレーブノード番号以外）の指定
 | -4 | State引数に不正データ型の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）（取得は可）
 | 5 | 対象ノードリンク未参加（取得は可）
 | 8 | コモンメモリ無効（対象ノードのFAリンク状=コモンメモリ無効の場合）

説明

対象スレーブノードの入力状態を取得します。

エラー

なし
使用例 ’【入力状態を取得する。】
Private Sub Command1_Click()

Dim State As FlInputState '入力状態用変数

'スレーブノード1の入力状態を取得します。
If FLnet.GetInputState(1, State) = 0 Then
'取得した入力状態を参照します。
Debug.Print "スレーブ状態番号は、" & Format$(State.StatusNo) & "です。"
End If


ClearLogメソッド

Method.gif (242 バイト) 　GetOutputStateメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

出力ステータスの取得

書式

Rtc% = [form].FLnet.GetOutputState(ByVal NodeNo As Integer, _
 _________＿＿＿＿＿＿＿＿＿＿＿ ByRef State As FlOutputState)

引数 | NodeNo | IN | 取得先のスレーブノード番号を指定します。（1～249）
 | State | OUT | 出力状態を取得する変数を指定します。（項目の内容は、クラス情報のFlOutputStateをご覧ください。）
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～249範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | NodeNo引数に不正値（管理スレーブノード番号以外）の指定
 | -4 | State引数に不正データ型の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）（取得は可）
 | 5 | 対象ノードリンク未参加（取得は可）

説明

対象スレーブノードの出力状態を取得します。

エラー

なし
使用例 ’【出力状態を取得する。】
Private Sub Command1_Click()

Dim State As FlOutputState '出力状態用変数

'スレーブノード1の出力状態を取得します。
If FLnet.GetOutputState(1, State) = 0 Then
'取得した出力状態を参照します。
Debug.Print "リモート制御は、" & Format$(State.RemoteControl) & "です。"
End If


ClearLogメソッド

Method.gif (242 バイト) 　SetOutputStateメソッド

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

出力ステータスの設定

書式

Rtc% = [form].FLnet.SetOutputState(ByVal NodeNo As Integer, _
     ByRef State As FlOutputState, _
     ByVal PointFlg As Boolean)

引数 | NodeNo | IN | 設定先のスレーブノード番号を指定します。（1～249）
 | State | IN | 出力状態を設定する変数を指定します。（項目の内容は、クラス情報のFlOutputStateをご覧ください。）
 | PointFlg | IN | 入出力点数更新フラグ（True=更新, False=非更新）
戻り値 | Integer型
 | 0 | 正常終了
 | -1 | NodeNo引数に不正値（1～249範囲外）の指定
 | -2 | NodeNo引数に不正値（自ノード番号）の指定
 | -3 | NodeNo引数に不正値（管理スレーブノード番号以外）の指定
 | -4 | State引数に不正データ型の指定
 | -5 | State引数のメンバに不正値の指定
 | 2 | 自ノード リンク未参加（モニタモード実行中の場合も含む）（設定は可）
 | 5 | 対象ノードリンク未参加（設定は可）

説明

対象スレーブノードの出力状態を設定します。

エラー

なし
使用例 ’【出力状態を設定する。】
Private Sub Command1_Click()
Dim Rtc%
Dim State As FlOutputState '出力状態用変数

State.RemoteControl = 1 'リモート制御＝リモート動作

'スレーブノード1の出力状態を設定します。
Rtc% = FLnet.SetOutputState(1, State, False)


イベント一覧

wb01042_.gif (250 バイト) 　イベント一覧

イベント名 | 内容
LinkIn | リンク参加
LinkOut | リンク離脱
LinkError | リンクエラー
CommonChanged | コモンメモリ変化検出
LogCleared | 自ノードログデータクリア
Threshold | コモンメモリ条件変化検出
BlockChanged | 自ノードのバイト・ワードブロックメモリ値の変化検出
SendComplete | メッセージ送信完了
MsgError | メッセージ通信エラー
ReadBlockOK | ブロックメモリ読込み正常応答メッセージ受信
ReadBlockError | ブロックメモリ読込み異常応答メッセージ受信
WriteBlockOK | ブロックメモリ書込み正常応答メッセージ受信
WriteBlockError | ブロックメモリ書込み異常応答メッセージ受信
ReadNetParamOK | ネットワークパラメータ読込み正常応答メッセージ受信
ReadNetParamError | ネットワークパラメータ読込み異常応答メッセージ受信
WriteNetParamOK | ネットワークパラメータ書込み正常応答メッセージ受信
WriteNetParamError | ネットワークパラメータ書込み異常応答メッセージ受信
RunStopOK | 運転・停止指令正常応答メッセージ受信
RunStopError | 運転・停止指令異常応答メッセージ受信
ReadProfileOK | プロファイル読込み正常応答メッセージ受信
ReadProfileError | プロファイル読込み異常応答メッセージ受信
ReadLogOK | ログデータ読込み正常応答メッセージ受信
ReadLogError | ログデータ読込み異常応答メッセージ受信
ClearLogOK | ログデータクリア正常応答メッセージ受信
ClearLogError | ログデータクリア異常応答メッセージ受信
EchoMsgOK | 折返しメッセージデータ一致
EchoMsgError | 折返しメッセージデータ不一致
RecvUserMsg | 透過形メッセージ受信
RecvReqVendorMsg | ベンダ固有要求メッセージ受信
VendorMsgOK | ベンダ固有メッセージ正常応答受信
VendorMsgError | ベンダ固有メッセージ異常応答受信
VendorMsgNonSupport | ベンダ固有メッセージ非実装応答受信
RecvReqWriteNetParamMsg | ネットワークパラメータライト要求メッセージ受信
RecvReqRunStopMsg | 運転・停止指令要求メッセージ受信
LinkInSlave | スレーブノードのリンク参加検知
LinkOutSlave | スレーブノードのリンク離脱検知
InputDataChanged | IO入力データ変化検知
InputStatusChanged | IO入力ステータス変化検知
MeasureTokenTimeChanged | トークン保持時間測定状態変化検知
MeasureDataLogChanged | 汎用通信データ送信元ログ測定状態変化検知
RecvReqWriteNetParamFromSettingTool | 設定ツールからのネットワークパラメータライト要求受信
RecvReqRunStopFromSettingTool | 設定ツールからの運転・停止指令要求受信
RecvReqSetIOFromSettingTool | 設定ツールからのIO割付要求受信
RecvReqSetConfigParamFromSettingTool | 設定ツールからのコンフィギュレーション用パラメータ設定要求受信
RecvReqResetNodeFromSettingTool | 設定ツールからのノードリセット要求受信


LinkInイベント

Event.gif (250 バイト) 　LinkIｎイベント

機能　　書式　　引数　　説明　　使用例

機能

リンク参加検知

書式

Sub FLnet_LinkIn(ByVal NodeNo As Integer)

引数

NodeNo

IN

参加したノード番号（1～254）

説明

自ノードおよび他ノードがリンクに参加したときにイベントが発生します。

他ノードのリンク参加イベントは、自ノードがリンク参加中に途中加入した場合のみ発生します。すなわち、自ノードがリンクに参加する以前から既に参加中のノードについてはイベントが発生しません。自ノードが参加した地点で GetLinkInNodes メソッドを呼び出すことで、リンク参加ノードの一覧を確認することができます。

自ノードがリンクに参加する時点で、コモンメモリの領域が他ノードと重複している場合は、コモンメモリ無としてリンクに参加します。この場合、LinkInイベントが発生する前に LinkError イベント（Number=2）が発生します。また、 CommonAddress プロパティおよび CommonSize プロパティの値は0に変更されます。

モニタモードを開始する場合は、自ノードのリンク参加イベントは発生しません。他ノードがリンクに参加したイベントのみ発生します。

使用例

'【ネットワーク参加時に、参加ノード一覧を取得する。】
Private Sub FLnet_LinkIn(ByVal NodeNo As Integer)

Dim Rtc%, I%, Buff1$, Buff2$
Dim Nodes(1 To 254) As Byte 'ノード一覧 ★要素数=254のByte型配列

 '自ノードの場合
If NodeNo = FLnet.NodeNo Then
'イベント表示
Debug.Print "自ノードがリンクに参加しました。"
'参加ノード一覧を取得します。
Rtc% = FLnet.GetLinkInNodes(Nodes)
'★配列1要素=1ノードで、ノード番号の昇順に格納されます。
For I% = 1 To 254 Step 1
'Nodes配列の要素を参照することで、リンクの参加状況を判定します。
Select Case Nodes(I%)
'参加中
Case 1
Buff1$ = Buff1$ & Format$(I%) & ", "
'通信無効検知
Case 2
Buff2$ = Buff2$ & Format$(I%) & ", "
End Select
Next I%
Debug.Print "現在参加しているノードは、" & Buff1$ & "です。"
Debug.Print "通信無効を検知したノードは、" & Buff2$ & "です。"
'他ノードの場合
Else
'イベント表示
Debug.Print "ノード=" & Format$(NodeNo) " & "がリンクに参加しました。"
End If


LinkOutイベント

Event.gif (250 バイト) 　LinkOutイベント

機能　　書式　　引数　　説明　　使用例

機能

リンク離脱検知

書式

Sub FLnet_LinkOut(ByVal NodeNo As Integer)

引数

NodeNo

IN

離脱したノード番号（1～254）

説明

自ノードおよび他ノードがリンクから離脱したときにイベントが発生します。

自ノードのリンク離脱イベントは、 Connect プロパティの値にflLinkOutを設定して、離脱が完了した場合に発生します。ネットワーク状況により自ノードがリンクから離脱した場合は、LinkOutイベントではなく、 LinkError イベント（Number=4 or 5）が発生します。ネットワーク上に自ノード以外のノードが存在しなくなり自ノードが離脱した場合も、LinkErrorイベントが発生します。

他ノードのリンク離脱イベントは、自ノードがリンク参加中に離脱を検知した場合のみ発生します。

モニタモードを終了する場合は、自ノードの離脱イベントは発生しません。他ノードがリンクから離脱したイベントのみが発生します。

使用例

'【リンク離脱通知】
Private Sub FLnet_LinkOut(ByVal NodeNo As Integer)

'自ノードの場合
If NodeNo = FLnet.NodeNo Then
'イベント表示
Debug.Print "自ノードがリンクから離脱しました。"
'他ノードの場合
Else
'イベント表示
Debug.Print "ノード=" & Format$(NodeNo) & "がリンクから離脱しました。"
End If


LinkErrorイベント

Event.gif (250 バイト) 　LinkErrorイベント

機能　　書式　　引数　　説明　　使用例

機能

リンクエラー検知

書式

Sub FLnet_LinkError(ByVal Number As Integer, ByVal Description As String, _
   ByVal Param As Long)

引数 | Number | IN | エラー番号（以下の一覧表をご参照ください。）
 | Description | IN | エラーメッセージ
 | Param | IN | 詳細エラーコード

説明

リンク関連のエラーが発生したときにイベントが発生します。

エラー内容および対策方法を以下に示します。
番号 | メッセージと対策 | 詳細エラー コード
1 | ノード番号が重複しているためリンクに参加できませんでした →ノード番号を変更してからリンクに参加してください。 | 自ノード番号
2 | コモンメモリの領域が重複しているためコモンメモリ無としてリンクに参加しました →コモンメモリの領域を重複しないように設定してください。 | 自ノード番号
3 | リンク参加タイムアウトが発生しました →ネットワークの状況や他ノードの状態を確認してください。 | 自ノード番号
4 | ネットワーク状況によりリンクから離脱しました。（ネットワークへの再参加は、行いません。） →他ノードの状況を確認してください。 | 自ノード番号
5 | ネットワーク状況によりリンクから離脱しましたが、リンクに再参加します →他ノードの状況を確認してください。 | 自ノード番号
6 | リンク再参加処理にてエラーが発生しました →他ノードの状況を確認してください。 | 自ノード番号
7 | 試用版の制限時間を超えたため、リンクから離脱しました →これ以上、リンクに参加することはできません。 | 自ノード番号
8 | セキュリティエラーを検知したため、リンクから離脱しました →プロテクトキーが接続されていることを確認してください。 | 自ノード番号
9 | トークンモード不一致を検知したためリンクに参加できませんでした →ネットワーク上にFAリンクプロトコルVer.1.00版の機器が混在しています。Ver.1.00版とVer.2.00版を同一ネットワーク上に混在することはできません。バージョンを統一してください。 | 自ノード番号
11 | 通信エンジン（DLL）でシステムエラーを検出しました →詳細エラーコードで通知されるGetLastError関数の戻り値の内容を開発コンテナのオンラインヘルプ等でご確認ください。エラーの発生箇所は、イベントログにてご確認ください。 | GetLastError 関数戻り値
12 | 通信エンジン（DLL）でネットワークエラーを検出しました →詳細エラーコードで通知されるWSAGetLastError関数の戻り値の内容を開発コンテナのオンラインヘルプ等でご確認ください。エラーの発生箇所は、イベントログにてご確認ください。 | WSAGetLastError 関数戻り値
13 | 通信エンジン（DLL）で致命的エラーを検出しました →OSの状態が不安定の場合に発生する可能性があります。OSを再起動してから、再度プログラムを実行してください。 | DLLエラー番号 （致命的エラー）
14 | 通信エンジン（DLL）でプロトコルエラーを検出しました →詳細エラーコードで通知されるプロトコルエラー内容をご確認ください。 | DLLエラー番号 （ﾌﾟﾛﾄｺﾙｴﾗｰ）
15 | 通信エンジン（DLL）でセキュリティエラーを検出しました →詳細エラーコードで通知されるセキュリティエラー内容をご確認ください。 | DLLエラー番号 （ｾｷｭﾘﾃｨｴﾗｰ）

使用例

'【リンクエラー検知】
Private Sub FLnet_LinkError(ByVal Number As Integer, ByVal Description As String, ByVal Param As Long)

'エラー表示
Debug.Print "リンク関連のエラーが発生しました。内容：" & Description

'自ノード参加状況を確認する。
Select Case FLnet.Connect
Case flLinkIn
Label1.Caption = "参加中"
Case flLinkOut
Label1.Caption = "離脱中"
Case flLinkMonitor
Label1.Caption = "モニタ中"
Case flLinkInWait
Label1.Caption = "参加待機中"
End Select


CommonChangedイベント

Event.gif (250 バイト) 　CommonChangedイベント

機能　　書式　　引数　　説明　　使用例

機能

コモンメモリ変化検知

書式

Sub FLnet_CommonChanged(ByVal NodeNo As Integer, ByVal CommonType As Integer)

引数 | NodeNo | IN | コモンメモリが変化した領域を送信領域とするノード番号
 | CommonType | IN | コモンメモリ種別（定数列挙型） ・flCommon1=コモンメモリ1 ・flCommon2=コモンメモリ2

説明

コモンメモリの変化を検出したときにイベントが発生します。コモンメモリの変化検出は、 CommonChangeAddress プロパティおよび CommonChangeSize プロパティにて設定された範囲に限定されます。なお、コモンメモリのどの領域が変化したかは、上位アプリケーションにて判断する必要があります。

CommonValueプロパティの設定で自ノードの送信領域を更新した場合は、イベントが発生しません。

Threshold1 プロパティまたは Threshold2 プロパティで設定した条件を満たす場合は、CommonChangedイベントおよび Threshold イベントが共に発生します。

使用例

'【コモンメモリ変化検知】
Private Sub FLnet_CommonChanged(ByVal NodeNo As Integer, ByVal CommonType As Integer)

Dim Data1() As Byte
Dim Data2() As Integer

'イベント表示
Debug.Print "コモンメモリの内容が更新されました。"
'領域１の場合
If CommonType = flCommon1 Then
'コモンメモリ1の値を参照します。
Data1 = FLnet.CommonValue(flCommon1, 0, 100)
 '★Data1配列は、最小添字=0、最大添字=99に拡張されます。
'領域２の場合
Else
'コモンメモリ2の値を参照します。
Data2 = FLnet.CommonValue(flCommon2, 0, 100)
 '★Data2配列は、最小添字=0、最大添字=99に拡張されます。
End If


LogClearedイベント

Event.gif (250 バイト) 　LogClearedイベント

機能　　書式　　引数　　説明　　使用例

機能

自ノードログデータクリア通知

書式

Sub FLnet_LogCleared()

引数

なし

説明

他ノードからログデータクリア要求メッセージを受信して、自ノードのログデータがクリアされた場合にイベントが発生します。

ClearMyNodeLog メソッドで自ノードのログ情報をクリアした場合および ClearLog メソッドでNodeNoに255を指定した場合は、イベントは発生しません。

使用例

'【ログクリア検知】
Private Sub FLnet_LogCleared()

'イベント表示
Debug.Print "ログ情報がクリアされました。"


Thresholdイベント

Event.gif (250 バイト) 　Thresholdイベント

機能　　書式　　引数　　説明　　使用例

機能

コモンメモリ条件変化検出

書式

Sub FLnet_Threshold(ByVal CommonType As Integer, ByVal TagIndex As Integer, _
                   ByVal EventNo As Integer, ByVal Value As Variant)

引数 | CommonType | IN | コモンメモリ種別（定数列挙型） ・flCommon1=コモンメモリ1 ・flCommon2=コモンメモリ2
 | TagIndex | IN | タグ番号
 | EventNo | IN | イベント種別（定数列挙型） ・flBitOn=ビットがONになりました。 ・flBifOff=ビットがOFFになりました。 ・flBitOnOff=ビットのON／OFFが変化しました。 ・flWordLower=ワード値がしきい値を下回りました。 ・flWordHigher=ワード値がしきい値を上回りました。 ・flWordChange=ワード値が変化しました。
 | Value | IN | 変化後の値。コモンメモリ種別に応じて型が異なります。 ・コモンメモリ1：Byte型（OFFの場合0，ONの場合1です。） ・コモンメモリ2：Integer型

説明

Threshold1プロパティおよび Threshold2 プロパティにて設定された変化検出条件を満たすときにイベントが発生します。 CommonValue プロパティの設定で自ノードの送信領域を更新した場合は、イベントが発生しません。

CommonChangeAddressプロパティおよび CommonChangeSize プロパティにて設定された範囲には関連しません。

Threshold1プロパティおよびThreshold2プロパティを参照することで、変化したコモンメモリの詳細情報（アドレス，ビットなど）を確認することができます。

使用例

'【コモンメモリ条件変化検出】
Private Sub FLnet_Threshold(ByVal CommonType As Integer, ByVal TagIndex As Integer, ByVal EventNo As Integer, ByVal Value As Variant)

Dim Work As Boolean
Dim TagName$, Address%
Dim Bit As Byte

'領域１の場合
If CommonType = flCommon1 Then
'変化検出情報の取得
Work = FLnet.Threshold1(TagIndex, TagName$, Address%, Bit)
'イベント表示
Debug.Print "コモンメモリ領域１変化条件(" & TagName$ & ")を満たしました。"
'番号毎の処理を以下に記述します。
Select Case TagIndex
Case 0
FLnet.CommonValue(flCommon1, 0) = 0
Case 1
End Select
'領域２の場合
Else
'変化検出情報の取得
Work = FLnet.Threshold2(TagIndex, TagName$, Address%)
'イベント表示
Debug.Print "コモンメモリ領域２変化条件(" & TagName$ & ")を満たしました。"
'番号毎の処理を以下に記述します。
Select Case TagIndex
Case 0
Case 1
FLnet.CommonValue(flCommon2, 100) = 500
End Select
End If


BlockChangedイベント

機能

自ノードのバイト・ワードブロックメモリの値変化検知

書式

Sub FLnet_BlockChanged(ByVal BlockType As Integer, ByVal StartAddress As Long, _
                                  ByVal Size As Integer)

引数 | BlockType | IN | ブロックメモリ種別（定数列挙型） ・flByteBlock =バイトブロック ・flWordBlock=ワードブロック
 | StartAddress | IN | 書込まれたメモリの先頭アドレス ・バイトブロック：バイト単位 ・ワードブロック：ワード単位
 | Size | IN | 書込まれたメモリのサイズ ・バイトブロック：バイト単位 ・ワードブロック：ワード単位

説明

他ノードからのブロックメモリ書込み要求を受信し、ブロックメモリの内容が変更された場合にイベントが発生します。要求を受信してもメモリ内容に変化が無い場合、イベントは発生しません。StartAddressおよびSize引数には、ブロックメモリ書込み要求を受信した値（先頭アドレス・サイズ）が格納されます。

BlockValueプロパティの設定で自ノードのブロックメモリを更新した場合は、イベントが発生しません。

変化後の値は、BlockValueプロパティにて参照してください。

使用例

'【ブロックメモリ変化検知】
Private Sub FLnet_BlockChanged(ByVal BlockType As Integer, ByVal StartAddress As Long, ByVal Size As Integer)

Dim DataB() As Byte
Dim DataW() As Integer

'バイトブロックの場合
If BlockType = flByteBlock Then
'イベント表示
Debug.Print "バイトブロックメモリの内容が更新されました。"
'ブロックメモリ読出し
DataB = FLnet.BlockValue(flByteBlock, StartAddress, Size)
 '★DataB配列は、最小添字=0、最大添字=Size-1に拡張されます。
'ワードブロックの場合
Else
'イベント表示
Debug.Print "ワードブロックメモリの内容が更新されました。"
'ブロックメモリ読出し
DataW = FLnet.BlockValue(flWordBlock, StartAddress, Size)
 '★DataW配列は、最小添字=0、最大添字=Size-1に拡張されます。
End If


SendCompleteイベント

Event.gif (250 バイト) 　SendCompleteイベント

機能　　書式　　引数　　説明　　使用例

機能

メッセージ送信完了

書式

Sub FLnet_SendComplete(ByVal NodeNo As Integer, ByVal MsgNo As Long)

引数 | NodeNo | IN | 送信先ノード番号（1～255）
 | MsgNo | IN | メッセージ番号（トランザクションコード）

説明

メッセージの送信が完了したときにイベントが発生します。メッセージの送信完了とは、メッセージ要求先ノードからメッセージに対する送達確認（ACK応答）の正常応答を受信することを意味します。なお、送達確認で異常応答を受信した場合は、 MsgError イベント（Number=11～15）が発生します。

要求先ノードに255（マルチキャスト）を指定した場合は、要求先ノードからの送達確認の応答を受信しないため、ネットワーク上にメッセージの送信が完了した時点でSendCompleteイベントが発生します。

メッセージの送信完了が SendTimeout プロパティで設定された時間内に終了しない場合は、MsgErrorイベント（Number=1）が発生します。

使用例

'【送信完了通知】
Private Sub FLnet_SendComplete(ByVal NodeNo As Integer, ByVal MsgNo As Long)

Debug.Print "Node=" & Format$(NodeNo) & "にメッセージ番号=" & Format$(MsgNo) & _
"の送信が完了しました。"


MsgErrorイベント

Event.gif (250 バイト) 　MsgErrorイベント

機能　　書式　　引数　　説明　　使用例

機能

メッセージ通信エラー検知

書式

Sub FLnet_MsgError(ByVal NodeNo As Integer, ByVal MsgNo As Long, _
                             ByVal Number As Integer)

引数 | NodeNo | IN | 送信先ノード番号（1～255)
 | MsgNo | IN | メッセージ番号（トランザクションコード）
 | Number | IN | エラー番号（以下の一覧表をご参照ください。）

説明

メッセージ通信関連でエラーを検知したときにイベントが発生します。

エラー内容および対策方法を以下に示します。

番号 | メッセージと対策
1 | メッセージの送信タイムアウトが発生しました。 →ネットワークの状況によっては、メッセージ送信までに時間が掛かる場合があります。 ネットワーク状況に応じて、送信タイムアウトの値を調整してください。 調整してもエラーが頻発する場合は、送信先ノードの状態を確認してください。
2 | メッセージ応答受信タイムアウトが発生しました。 →ネットワーク状況によっては、メッセージ応答までに時間が掛かる場合があります。 ネットワーク状況に応じて、応答受信タイムアウトの値を調整してください。 調整してもエラーが頻発する場合は、要求先ノードの状態を確認してください。
3 | 送信先ノードは、このメッセージをサポートしていません。 ※ベンダ固有メッセージの場合は、MsgErrorイベントは発生しません。（ VendorMsgNonSupport イベントが発生します。） →送信先ノードのメッセージ実装仕様を確認してください。
4 | メッセージの自動応答処理でエラーが発生しました。 →イベントログにてエラー内容を確認してください。
11 | 送信先ノードのバッファが一杯です。 →しばらくしてからメッセージを再送してください。 エラーが頻発する場合は、送信先ノードの状態を確認してください。
12 | 送信先ノードの初期化が完了していません。 →送信先ノードを確認してください。
13 | 送信先ノードからの応答がありません。 →送信先ノードを確認してください。
14 | プロトコルエラー（通番バージョンエラー）が発生しました。 →送信先ノードを確認してください。
15 | 送信先ノードからフォーマット異常応答を受信しました。 →送信データを確認してください。

使用例

'【メッセージ通信エラー検知】
Private Sub FLnet_MsgError(ByVal NodeNo As Integer, ByVal MsgNo As Long, ByVal Number As Integer)

'エラー表示
Debug.Print "ノードNo.=" & Format$(NodeNo) & "にメッセージ番号=" & _
Format$(MsgNo) & "の通信でエラー" & Format$(Number) & "が発生しました。"


ReadBlockOKイベント

Event.gif (250 バイト) 　ReadBlockOKイベント

機能　　書式　　引数　　説明　　使用例

機能

ブロックメモリ読込み正常応答メッセージ受信

書式

Sub FLnet_ReadBlockOK(ByＶal NodeNo As Integer, ByＶal BlockType As Integer, _
              ByＶal Address As Long, ByＶal Size As Integer, ByＶal Data As Variant)

引数 | NodeNo | IN | メッセージ応答元ノード番号
 | BlockType | IN | ブロックメモリ種別（定数列挙型） ・flByteBlock =バイトブロック ・flWordBlock=ワードブロック
 | Address | IN | 読込み開始アドレス ・バイトブロック：バイト単位 ・ワードブロック：ワード単位
 | Size | IN | 読込みサイズ ・バイトブロック：バイト単位 ・ワードブロック：ワード単位
 | Data | IN | ブロックメモリ内容。ブロックメモリ種別に応じたデータ型の配列となります。（添字最小値は0です。） ・バイトブロック：Byte型（&h0～&hFF） ・ワードブロック：Integer型（&h0～&hFFFF）

説明

他ノードからブロックメモリ読込み応答メッセージを受信し、応答結果が正常の場合にイベントが発生します。

応答結果が異常の場合は、 ReadBlockError イベントが発生します。応答結果が非実装の場合は、 MsgError イベント（Number=3）が発生します。

使用例

'【ブロックメモリ読込正常応答受信】
Private Sub FLnet_ReadBlockOK(ByVal NodeNo As Integer, ByVal BlockType As Integer, ByVal Address As Long, ByVal Size As Integer, ByVal Data As Variant)

Dim I%, Hit%

'結果表示
Debug.Print "Node=" & Format$(NodeNo) & "からブロックメモリ読込み正常応答を受信しました。"
Debug.Print "種別：" & BlockType & ",開始アドレス：16#" & Hex$(Address) & ",サイズ：16#" & Hex$(Size)

'ブロックメモリ内容を参照し、しきい値が越えていないかをチェックします。
'バイトブロックの場合
If BlockType = flByteBlock Then
 '★Byte型配列で、要素は0～(Size-1)となります。
 For I% = 0 To Size - 1 Step 1
If Data(I%) >= 100 Then
Hit% = 1
Exit For
End If
Next I%
'ワードブロックの場合
Else
 '★Integer型配列で、要素は0～(Size-1)となります。
 For I% = 0 To Size - 1 Step 1
If Data(I%) >= 1000 Then
Hit% = 1
Exit For
End If
Next I%
End If
'チェック結果表示
If Hit% <> 0 Then
Debug.Print "ブロックメモリの値がしきい値を越えています。"
End If


ReadBlockErrorイベント

機能

ブロックメモリ読込み異常応答メッセージ受信

書式

Sub FLnet_ReadBlockError(ByVal NodeNo As Integer, ByVal BlockType As Integer, _
                          ByVal Address As Long, ByVal Size As Integer, _
                          ByVal ErrBytes As Integer, ByVal Error As Variant)

引数 | NodeNo | IN | メッセージ応答元ノード番号
 | BlockType | IN | ブロックメモリ種別（定数列挙型） ・flByteBlock=バイトブロック ・flWordBlock=ワードブロック
 | Address | IN | 読込み開始アドレス ・バイトブロック：バイト単位 ・ワードブロック：ワード単位
 | Size | IN | 読込みサイズ ・バイトブロック：バイト単位 ・ワードブロック：ワード単位
 | ErrBytes | IN | エラー情報バイト数
 | Error | IN | エラー情報（Byte型配列，添字最小値は0となります。） エラー情報への参照方法については、こちらをご覧ください。

説明

他ノードからブロックメモリ読込み応答メッセージを受信し、応答結果が異常の場合にイベントが発生します。

応答結果が正常の場合は、 ReadBlockOK イベントが発生します。応答結果が非実装の場合は、 MsgError イベント（Number=3）が発生します。

使用例

'【ブロックメモリ読込異常応答受信】
Private Sub FLnet_ReadBlockError(ByVal NodeNo As Integer, ByVal BlockType As Integer, ByVal Address As Long, ByVal Size As Integer, ByVal ErrBytes As Integer, ByVal Error As Variant)

Dim Buff$

'エラー情報を参照する。
'★文字列で扱う場合は、ANSI文字コードからUnicodeに変換します。
Buff$ = StrConv(Error, vbUnicode)
'結果表示
Debug.Print "Node=" & Format$(NodeNo) & "からブロックメモリ読込み異常応答を受信しました。"
Debug.Print "種別：" & BlockType & ",開始アドレス：16#" & Hex$(Address) & _
",サイズ：16#" & Hex$(Size) & ",内容：" & Buff$


WriteBlockOKイベント

Event.gif (250 バイト) 　WriteBlockOKイベント

機能　　書式　　引数　　説明　　使用例

機能

ブロックメモリ書込み正常応答メッセージ受信

書式

Sub FLnet_WriteBlockOK(ByVal NodeNo As Integer, ByVal BlockType As Integer, _
                       ByVal Address As Long, ByVal Size As Integer)

引数 | NodeNo | IN | メッセージ応答元ノード番号
 | BlockType | IN | ブロックメモリ種別（定数列挙型） ・flByteBlock=バイトブロック ・flWordBlock=ワードブロック
 | Address | IN | 書込み開始アドレス ・バイトブロック：バイト単位 ・ワードブロック：ワード単位
 | Size | IN | 書込みサイズ ・バイトブロック：バイト単位 ・ワードブロック：ワード単位

説明

他ノードからブロックメモリ書込み応答メッセージを受信し、応答結果が正常の場合にイベントが発生します。

応答結果が異常の場合は、 WriteBlockError イベントが発生します。応答結果が非実装の場合は、 MsgError イベント（Number=3）が発生します。

使用例

'【ブロックメモリ書込み正常応答受信】
Private Sub FLnet_WriteBlockOK(ByVal NodeNo As Integer, ByVal BlockType As Integer, ByVal Address As Long, ByVal Size As Integer)

'結果表示
'バイトブロックの場合
If BlockType = flByteBlock Then
Debug.Print "Node=" & Format$(NodeNo) & "からバイトブロック書込み正常応答を受信しました。"
'ワードブロックの場合
Else
Debug.Print "Node=" & Format$(NodeNo) & "からワードブロック書込み正常応答を受信しました。"
End If
Debug.Print "種別：" & BlockType & ",開始アドレス：16#" & Hex$(Address) & ",サイズ：16#" & Hex$(Size)


WriteBlockErrorイベント

Event.gif (250 バイト) 　WriteBlockErrorイベント

機能　　書式　　引数　　説明　　使用例

機能

ブロックメモリ書込み異常応答メッセージ受信

書式

Sub FLnet_WriteBlockError(ByVal NodeNo As Integer, ByVal BlockType As Integer, _
                          ByVal Address As Long, ByVal Size As Integer, _
                          ByVal ErrBytes As Integer, ByVal Error As Variant)

引数 | NodeNo | IN | メッセージ応答元ノード番号
 | BlockType | IN | ブロックメモリ種別（定数列挙型） ・flByteBlock=バイトブロック ・flWordBlock=ワードブロック
 | Address | IN | 書込みアドレス ・バイトブロック：バイト単位 ・ワードブロック：ワード単位
 | Size | IN | 書込みサイズ ・バイトブロック：バイト単位 ・ワードブロック：ワード単位
 | ErrBytes | IN | エラー情報バイト数
 | Error | IN | エラー情報（Byte型配列，添字最小値は0となります。） エラー情報への参照方法については、こちらをご覧ください。

説明

他ノードからブロックメモリ書込み応答メッセージを受信し、応答結果が異常の場合にイベントが発生します。

応答結果が正常の場合は、 WriteBlockOK イベントが発生します。応答結果が非実装の場合は、 MsgError イベント（Number=3）が発生します。

使用例

'【ブロックメモリ書込み異常応答受信】
Private Sub FLnet_WriteBlockError(ByVal NodeNo As Integer, ByVal BlockType As Integer, ByVal Address As Long, ByVal Size As Integer, ByVal ErrBytes As Integer, ByVal Error As Variant)

Dim Buff$

'結果表示
'バイトブロックの場合
If BlockType = flByteBlock Then
Debug.Print "Node=" & Format$(NodeNo) & "からバイトブロック書込み異常応答を受信しました。"
'ワードブロックの場合
Else
Debug.Print "Node=" & Format$(NodeNo) & "からワードブロック書込み異常応答を受信しました。"
End If
'エラー情報を参照する。
'★文字列で扱う場合は、ANSI文字コードからUnicodeに変換します。
Buff$ = StrConv(Error, vbUnicode)
 Debug.Print "種別：" & BlockType & ",開始アドレス：16#" & Hex$(Address) & _
",サイズ：16#" & Hex$(Size) & ",内容：" & Buff$


ReadNetParamOKイベント

Event.gif (250 バイト) 　ReadNetParamOKイベント

機能　　書式　　引数　　説明　　使用例

機能

ネットワークパラメータ読込み正常応答メッセージ受信

書式

Sub FLnet_ReadNetParamOK(ByVal NodeNo As Integer)

引数

NodeNo

IN

メッセージ応答元ノード番号

説明

他ノードからネットワークパラメータ読込み応答メッセージを受信し、応答結果が正常の場合にイベントが発生します。 GetNodeState メソッドにて最新のノード状態を取得できます。

応答結果が異常の場合は、 ReadNetParamError イベントが発生します。

使用例

'【ネットワークパラメータ読込み正常応答受信】
Private Sub FLnet_ReadNetParamOK(ByVal NodeNo As Integer)

Dim Node As FlNodeState

'結果表示
Debug.Print "Node=" & Format$(NodeNo) & "からネットワークパラメータ読込み正常応答を受信しました。"

'ノード情報を取得する。
If FLnet.GetNodeState(NodeNo, Node) = 0 Then
Debug.Print "ベンダ名称は、" & Node.VendorName & "です。"
Debug.Print "製造業者形式は、" & Node.MakerType & "です。"
Debug.Print "ノード名称は、" & Node.NodeName & "です。"
End If


ReadNetParamErrorイベント

Event.gif (250 バイト) 　ReadNetParamErrorイベント

機能　　書式　　引数　　説明　　使用例

機能

ネットワークパラメータ読込み異常応答メッセージ受信

書式

Sub FLnet_ReadNetParamError(ByVal NodeNo As Integer, _
                              ByVal ErrBytes As Integer, ByVal Error As Variant)

引数 | NodeNo | IN | メッセージ応答元ノード番号
 | ErrBytes | IN | エラー情報バイト数
 | Error | IN | エラー情報（Byte型配列，添字最小値は0となります。） エラー情報への参照方法については、こちらをご覧ください。

説明

他ノードからネットワークパラメータ読込み応答メッセージを受信し、応答結果が異常の場合にイベントが発生します。

応答結果が正常の場合は、 ReadNetParamOK イベントが発生します。

使用例

'【ネットワークパラメータ読込み異常応答受信】
Private Sub FLnet_ReadNetParamError(ByVal NodeNo As Integer, ByVal ErrBytes As Integer, ByVal Error As Variant)

Dim Buff$

'エラー情報を参照する。
'★文字列で扱う場合は、ANSI文字コードからUnicodeに変換します。
Buff$ = StrConv(Error, vbUnicode)
'結果表示
Debug.Print "Node=" & Format$(NodeNo) & "からネットワークパラメータ読込み異常応答を受信しました。" & _
"内容：" & Buff$


WriteNetParamOKイベント

Event.gif (250 バイト) 　WriteNetParamOKイベント

機能　　書式　　引数　　説明　　使用例

機能

ネットワークパラメータ書込み正常応答メッセージ受信

書式

Sub FLnet_WriteNetParamOK(ByVal NodeNo As Integer)

引数

NodeNo

IN

メッセージ応答元ノード番号

説明

他ノードからネットワークパラメータ書込み応答メッセージを受信し、応答結果が正常の場合にイベントが発生します。

応答結果が異常の場合は、 WriteNetParamError イベントが発生します。応答結果が非実装の場合は、 MsgError イベント（Number=3）が発生します。

使用例

'【ネットワークパラメータ書込正常応答受信】
Private Sub FLnet_WriteNetParamOK(ByVal NodeNo As Integer)

'結果表示
Debug.Print "Node=" & Format$(NodeNo) & "からネットワークパラメータ書込み正常応答を受信しました。"


WriteNetParamErrorイベント

Event.gif (250 バイト) 　WriteNetParamErrorイベント

機能　　書式　　引数　　説明　　使用例

機能

ネットワークパラメータ書込み異常応答メッセージ受信

書式

Sub FLnet_WriteNetParamError(ByVal NodeNo As Integer, _
                                           ByVal ErrBytes As Integer, ByVal Error As Variant)

引数 | NodeNo | IN | メッセージ応答元ノード番号
 | ErrBytes | IN | エラー情報バイト数
 | Error | IN | エラー情報（Byte型配列，添字最小値は0となります。） エラー情報への参照方法については、こちらをご覧ください。

説明

他ノードからネットワークパラメータ書込み応答メッセージを受信し、応答結果が異常の場合にイベントが発生します。

応答結果が正常の場合は、 WriteNetParamOK イベントが発生します。応答結果が非実装の場合は、 MsgError イベント（Number=3）が発生します。

使用例

'【ネットワークパラメータ書込異常応答受信】
Private Sub FLnet_WriteNetParamError(ByVal NodeNo As Integer, ByVal ErrBytes As Integer, ByVal Error As Variant)

Dim Buff$

'エラー情報を参照する。
'★文字列で扱う場合は、ANSI文字コードからUnicodeに変換します。
Buff$ = StrConv(Error, vbUnicode)
'結果表示
Debug.Print "Node=" & Format$(NodeNo) & "からネットワークパラメータ書込み異常応答を受信しました。内容：" & Buff$


RunStopOKイベント

Event.gif (250 バイト) 　RunStopOKイベント

機能　　書式　　引数　　説明　　使用例

機能

運転・停止指令正常応答メッセージ受信

書式

Sub FLnet_RunStopOK(ByVal NodeNo As Integer, ByVal Command As Integer)

引数 | NodeNo | IN | メッセージ応答元ノード番号
 | Command | IN | 運転・停止コマンド（定数列挙型） ・flRun=運転命令 ・flStop=停止命令

説明

他ノードから運転・停止指令応答メッセージを受信し、応答結果が正常の場合にイベントが発生します。

応答結果が異常の場合は、 RunStopError イベントが発生します。応答結果が非実装の場合は、 MsgError イベント（Number=3）が発生します。

使用例

'【運転・停止指令正常応答受信】
Private Sub FLnet_RunStopOK(ByVal NodeNo As Integer, ByVal Command As Integer)

'運転指令の場合
If Command = flRun Then
'結果表示
Debug.Print "Node=" & Format$(NodeNo) & "から運転指令正常応答を受信しました。"
'停止指令の場合
Else
'結果表示
Debug.Print "Node=" & Format$(NodeNo) & "から停止指令正常応答を受信しました。"
End If


RunStopErrorイベント

Event.gif (250 バイト) 　RunStopErrorイベント

機能　　書式　　引数　　説明　　使用例

機能

運転・停止指令異常応答メッセージ受信

書式

Sub FLnet_RunStopError(ByVal NodeNo As Integer, ByVal Command As Integer, _
                        ByVal ErrBytes As Integer, ByVal Error As Variant)

引数 | NodeNo | IN | メッセージ応答元ノード番号
 | Command | IN | 運転・停止コマンド（定数列挙型） ・flRun=運転命令 ・flStop=停止命令
 | ErrBytes | IN | エラー情報バイト数
 | Error | IN | エラー情報（Byte型配列，添字最小値は0となります。） エラー情報への参照方法については、こちらをご覧ください。

説明

他ノードから運転・停止指令応答メッセージを受信し、応答結果が異常の場合にイベントが発生します。

応答結果が正常の場合は、 RunStopOK イベントが発生します。応答結果が非実装の場合は、 MsgError イベント（Number=3）が発生します。

使用例

'【運転・停止指令異常応答受信】
Private Sub FLnet_RunStopError(ByVal NodeNo As Integer, ByVal Command As Integer, ByVal ErrBytes As Integer, ByVal Error As Variant)

Dim Buff$

'エラー情報を参照する。
'★文字列で扱う場合は、ANSI文字コードからUnicodeに変換します。
Buff$ = StrConv(Error, vbUnicode)
'運転命令の場合
If Command = flRun Then
'結果表示
Debug.Print "Node=" & Format$(NodeNo) & "から運転指令異常応答を受信しました。内容：" & Buff$
'停止命令の場合
Else
'結果表示
Debug.Print "Node=" & Format$(NodeNo) & "から停止指令異常応答を受信しました。内容：" & Buff$
End If


ReadProfileOKイベント

Event.gif (250 バイト) 　ReadProfileOKイベント

機能　　書式　　引数　　説明　　使用例

機能

プロファイル読込み正常応答メッセージ受信

書式

Sub FLnet_ReadProfileOK(ByVal NodeNo As Integer, ByVal Size As Integer, _
                          ByVal Info As Variant)

引数 | NodeNo | IN | メッセージ応答元ノード番号
 | Size | IN | プロファイルデータバイト数
 | Info | IN | プロファイルデータ（Byte型配列，添字最小値は0となります。） プロファイルデータはバイナリデータです。フォーマットは応答元ノードで公開されている実装仕様またはデバイスプロファイル仕様書（JEM-TR214）をご覧ください。 プロファイルデータへの参照方法については、こちらをご覧ください。

説明

他ノードからプロファイル読込み応答メッセージを受信し、応答結果が正常の場合にイベントが発生します。

応答結果が異常の場合は、 ReadProfileError イベントが発生します。

使用例

'【プロファイル読込み正常応答受信】
Private Sub FLnet_ReadProfileOK(ByVal NodeNo As Integer, ByVal Size As Integer, ByVal Info As Variant)

Dim I%

'結果表示
Debug.Print "Node=" & Format$(NodeNo) & "からプロファイル読込み正常応答を受信しました。"

'プロファイルデータ解析
For I% = 1 To Size Step 1
Select Case Info(I% - 1)
Case 30
End Select
Next I%


ReadProfileErrorイベント

Event.gif (250 バイト) 　ReadProfileErrorイベント

機能　　書式　　引数　　説明　　使用例

機能

プロファイル読込み異常応答メッセージ受信

書式

Sub FLnet_ReadProfileError(ByVal NodeNo As Integer, _
                            ByVal ErrBytes As Integer, ByVal Error As Variant)

引数 | NodeNo | IN | メッセージ応答元ノード番号
 | ErrBytes | IN | エラー情報バイト数
 | Error | IN | エラー情報（Byte型配列，添字最小値は0となります。） エラー情報への参照方法については、こちらをご覧ください。

説明

他ノードからプロファイル読込み応答メッセージを受信し、応答結果が異常の場合にイベントが発生します。

応答結果が正常の場合は、 ReadProfileOK イベントが発生します。

使用例

'【プロファイル読込み異常応答受信】
Private Sub FLnet_ReadProfileError(ByVal NodeNo As Integer, ByVal ErrBytes As Integer, ByVal Error As Variant)

Dim Buff$

'エラー情報を参照する。
'★文字列で扱う場合は、ANSI文字コードからUnicodeに変換します。
Buff$ = StrConv(Error, vbUnicode)
'結果表示
Debug.Print "Node=" & Format$(NodeNo) & "からプロファイル読込み異常応答を受信しました。内容：" & Buff$


ReadLogOKイベント

Event.gif (250 バイト) 　ReadLogOKイベント

機能　　書式　　引数　　説明　　使用例

機能

ログデータ読込み正常応答メッセージ受信

書式

Sub FLnet_ReadLogOK(ByVal NodeNo As Integer, ByVal Count As Integer, _
                       ByVal Log As Variant)

引数 | NodeNo | IN | メッセージ応答元ノード番号
 | Count | IN | ログデータ件数
 | Log | IN | ログデータ（Long型配列，添字最小値は0となります。） ログデータの内容につきましては、応答元ノードで公開されている実装仕様をご覧ください。

説明

他ノードからログデータ読込み応答メッセージを受信し、応答結果が正常の場合にイベントが発生します。

応答結果が異常の場合は、 ReadLogError イベントが発生します。

使用例

'【ログデータ読込み正常応答受信】
Private Sub FLnet_ReadLogOK(ByVal NodeNo As Integer, ByVal Count As Integer, ByVal Log As Variant)

'結果表示
Debug.Print "Node=" & Format$(NodeNo) & "からログデータ読込み正常応答を受信しました。"
'データ内容表示
'★Long型配列で、要素は0～(Count-1)となります。
 If Count >= 128 Then
Debug.Print "通算ソケット部送信回数は､" & Format$(Log(0)) & "回です｡"
Debug.Print "トークン多重化認識回数は､" & Format$(Log(60)) & "回です｡"
Debug.Print "加入回数は､" & Format$(Log(74)) & "回です｡"
End If


ReadLogErrorイベント

Event.gif (250 バイト) 　ReadLogErrorイベント

機能　　書式　　引数　　説明　　使用例

機能

ログデータ読込み異常応答メッセージ受信

書式

Sub FLnet_ReadLogError(ByVal NodeNo As Integer, ByVal ErrBytes As Integer, _
                         ByVal Error As Variant)

引数 | NodeNo | IN | メッセージ応答元ノード番号
 | ErrBytes | IN | エラー情報バイト数
 | Error | IN | エラー情報（Byte型配列，添字最小値は0となります。） エラー情報への参照方法については、こちらをご覧ください。

説明

他ノードからログデータ読込み応答メッセージを受信し、応答結果が異常の場合にイベントが発生します。

応答結果が正常の場合は、 ReadLogOK イベントが発生します。

使用例

'【ログデータ読込み異常応答受信】
Private Sub FLnet_ReadLogError(ByVal NodeNo As Integer, ByVal ErrBytes As Integer, ByVal Error As Variant)

Dim Buff$

'エラー情報を参照する。
'★文字列で扱う場合は、ANSI文字コードからUnicodeに変換します。
Buff$ = StrConv(Error, vbUnicode)
'結果表示
Debug.Print "Node=" & Format$(NodeNo) & "からログデータ読込み異常応答を受信しました。内容：" & Buff$


ClearLogOKイベント

Event.gif (250 バイト) 　ClearLogOKイベント

機能　　書式　　引数　　説明　　使用例

機能

ログデータクリア正常応答メッセージ受信

書式

Sub FLnet_ClearLogOK(ByVal NodeNo As Integer)

引数

NodeNo

IN

メッセージ応答元ノード番号

説明

他ノードからログデータクリア応答メッセージを受信し、応答結果が正常の場合にイベントが発生します。

応答結果が異常の場合は、 ClearLogError イベントが発生します。

使用例

'【ログデータクリア正常応答受信】
Private Sub FLnet_ClearLogOK(ByVal NodeNo As Integer)

'結果表示
Debug.Print "Node=" & Format$(NodeNo) & "からログデータクリア正常応答を受信しました。"


ClearLogErrorイベント

Event.gif (250 バイト) 　ClearLogErrorイベント

機能　　書式　　引数　　説明　　使用例

機能

ログデータクリア異常応答メッセージ受信

書式

Sub FLnet_ClearLogError(ByVal NodeNo As Integer, ByVal ErrBytes As Integer, _
                       ByVal Error As Variant)

引数 | NodeNo | IN | メッセージ応答元ノード番号
 | ErrBytes | IN | エラー情報バイト数
 | Error | IN | エラー情報（Byte型配列，添字最小値は0となります。） エラー情報への参照方法については、こちらをご覧ください。

説明

他ノードからログデータクリア応答メッセージを受信し、応答結果が異常の場合にイベントが発生します。

応答結果が正常の場合は、 ClearLogOK イベントが発生します。

使用例

'【ログデータクリア異常応答受信】
Private Sub FLnet_ClearLogError(ByVal NodeNo As Integer, ByVal ErrBytes As Integer, ByVal Error As Variant)

Dim Buff$

'エラー情報を参照する。
'★文字列で扱う場合は、ANSI文字コードからUnicodeに変換します。
Buff$ = StrConv(Error, vbUnicode)
'結果表示
Debug.Print "Node=" & Format$(NodeNo) & "からログデータクリア異常応答を受信しました。内容：" & Buff$


EchoMsgOKイベント

Event.gif (250 バイト) 　EchoMsgOKイベント

機能　　書式　　引数　　説明　　使用例

機能

折返しメッセージデータ一致

書式

Sub FLnet_EchoMsgOK(ByVal NodeNo As Integer)

引数

NodeNo

IN

メッセージ応答元ノード番号

説明

他ノードから折返し応答メッセージを受信し、折返しデータの内容が要求メッセージと一致している場合にイベントが発生します。

折返しデータが一致しない場合は、 EchoMsgError イベントが発生します。

使用例

'【折返しメッセージデータ一致】
Private Sub FLnet_EchoMsgOK(ByVal NodeNo As Integer)

'結果表示
Debug.Print "Node=" & Format$(NodeNo) & "との折返しメッセージテストは成功しました。"


EchoMsgErrorイベント

Event.gif (250 バイト) 　EchoMsgErrorイベント

機能　　書式　　引数　　説明　　使用例

機能

折返しメッセージデータ不一致

書式

Sub FLnet_EchoMsgError(ByVal NodeNo As Integer, ByVal Bytes As Integer, _
                           ByVal Data As Variant)

引数 | NodeNo | IN | メッセージ応答元ノード番号
 | Bytes | IN | 折返しデータのバイト数
 | Data | IN | 折返しメッセージ内容（Byte型配列，添字最小値は0となります。） 折返しメッセージ内容への参照方法については、こちらをご覧ください。

説明

他ノードから折返し応答メッセージを受信し、折返しデータの内容が要求メッセージと一致しない場合にイベントが発生します。

折返しデータが一致する場合は、 EchoMsgOK イベントが発生します。

使用例

'【折返しメッセージデータ不一致】
Private Sub FLnet_EchoMsgError(ByVal NodeNo As Integer, ByVal Bytes As Integer, ByVal Data As Variant)

Dim Buff$

'エラー情報を参照する。
'★文字列で扱う場合は、ANSI文字コードからUnicodeに変換します。
Buff$ = StrConv(Data, vbUnicode)
'結果表示
Debug.Print "Node=" & Format$(NodeNo) & "との折返しメッセージテストは失敗しました。応答内容：" & Buff$


RecvUserMsgイベント

Event.gif (250 バイト) 　RecvUserMsgイベント

機能　　書式　　引数　　説明　　使用例

機能

透過形メッセージ受信

書式

Sub FLnet_RecvUserMsg(ByVal NodeNo As Integer, ByVal MsgNo As Long, _
                         ByVal Bytes As Integer, ByVal Data As Variant)

引数 | NodeNo | IN | メッセージ応答元ノード番号
 | MsgNo | IN | メッセージ番号（0～59999）
 | Bytes | IN | 透過形メッセージバイト数
 | Data | IN | 透過形メッセージデータ（Byte型配列，添字最小値は0となります。） メッセージデータへの参照方法については、こちらをご覧ください。

説明

他ノードから透過形メッセージを受信した場合にイベントが発生します。

使用例

'【透過形メッセージ受信時の処理】
Private Sub FLnet_RecvUserMsg(ByVal NodeNo As Integer, ByVal MsgNo As Long, ByVal Bytes As Integer, ByVal Data As Variant)

Dim Buff$

'エラー情報を参照する。
'★文字列で扱う場合は、ANSI文字コードからUnicodeに変換します。
Buff$ = StrConv(Error, vbUnicode)
'結果表示
Debug.Print "Node=" & Format$(NodeNo) & "から透過形メッセージを受信しました。" & _
"番号：" & Format$(MsgNo) & ",内容：" & Buff$


RecvReqVendorMsgイベント

Event.gif (250 バイト) 　RecvReqVendorMsgイベント

機能　　書式　　引数　　説明　　使用例

機能

ベンダ固有（要求）メッセージ受信

書式

Sub FLnet_RecvReqVendorMsg(ByVal NodeNo As Integer, ByVal Multi As Boolean, _
                                 ByVal VendorName As Variant, ByVal SubCode As Variant, _
                       ByVal Bytes As Integer, ByVal Data As Variant)

引数 | NodeNo | IN | メッセージ要求元ノード番号
 | Multi | IN | 1対nメッセージ通信の判定 ・True = 1対nメッセージ ・False = 1対1メッセージ
 | VendorName | IN | ベンダ名（Byte型配列，10バイト，添字の最小値は0となります。） ベンダ名への参照方法については、こちらをご覧ください。
 | SubCode | IN | サブコード（Byte型配列，6バイト，添字の最小値は0となります。） サブコードへの参照方法については、こちらをご覧ください。
 | Bytes | IN | 要求データのバイト数
 | Data | IN | 要求データ（Byte型配列，添字の最小値は0となります。） 要求データへの参照方法については、こちらをご覧ください。

説明

他ノードからベンダ固有（要求）メッセージを受信した場合にイベントが発生します。

VendorMsgSupportプロパティにFalseが設定されている場合は、RecvReqVendorMsgイベントは発生しません。

イベント内容を判断し、RepVendorMsgメソッドを呼び出し、要求元ノードにベンダ固有応答結果を行ってください。応答結果の判断基準は以下の通りです。

・要求されたベンダ名をサポートしていない場合は、結果=非実装で応答します。
・要求されたサブコードをサポートしていない場合は、結果=異常で応答します。

1対nメッセージ通信（Multi=True）の場合は、応答しないでください。

使用例

'【ベンダ固有要求メッセージ受信時の処理】
Private Sub FLnet_RecvReqVendorMsg(ByVal NodeNo As Integer, ByVal Multi As Boolean, ByVal VendorName As Variant, ByVal SubCode As Variant, ByVal Bytes As Integer, ByVal Data As Variant)
Dim Rtc%
Dim Result% '応答結果

'要求表示
'★文字列で扱う場合は、ANSI文字コードからUnicodeに変換します。
Debug.Print "Node=" & Format$(NodeNo) & "からベンダ固有要求メッセージを受信しました。"
Debug.Print "ベンダ名称=" & StrConv(VendorName, vbUnicode)
Debug.Print "サブコード=" & StrConv(SubCode, vbUnicode)
Debug.Print "内容=" & StrConv(Data, vbUnicode)

'ベンダ名称のチェック
'★VendorName引数はANSI文字コードのため、Strconv関数でUnicodeに変換する。
If StrConv(VendorName, vbUnicode) <> "HITACHI-KE" Then
'認識しないベンダ名称の場合は、応答結果=非実装とする。
Result% = 2
'サブコードのチェック
ElseIf StrConv(SubCode, vbUnicode) <> "000001" Then
'認識しないサブコードの場合は、応答結果=異常とする。
Result% = 1
Else
Result% = 0
'★その他パラメータ等のチェックが必要であれば行う。
 '★ベンダ固有要求メッセージに対する処理を行う。
End If

'要求元にベンダ固有（応答）メッセージを送信する。
'★1対nメッセージの場合は、応答しない。
If Multi = False Then
Select Case Result%
'正常応答
Case 0
Rtc% = FLnet.RepVendorMsg(NodeNo, flReplyOK, VendorName, SubCode, Data)
'異常応答
Case 1
Rtc% = FLnet.RepVendorMsg(NodeNo, flReplyError, VendorName, SubCode, CByte(1))
'非実装応答
Case 2
Rtc% = FLnet.RepVendorMsg(NodeNo, flReplyNonSupport, VendorName, SubCode)
End Select
End If


VendorMsgOKイベント

Event.gif (250 バイト) 　VendorMsgOKイベント

機能　　書式　　引数　　説明　　使用例

機能

ベンダ固有正常応答メッセージ受信

書式

Sub FLnet_VendorMsgOK(ByVal NodeNo As Integer, ByVal VendorName As Variant, _
ByVal SubCode As Variant, ByVal Bytes As Integer, ByVal Data As Variant)

引数 | NodeNo | IN | メッセージ応答元ノード番号
 | VendorName | IN | ベンダ名（Byte型配列，10バイト，添字最小値は0となります。） ベンダ名への参照方法については、こちらをご覧ください。
 | SubCode | IN | サブコード（Byte型配列，6バイト，添字最小値は0となります。） サブコードへの参照方法については、こちらをご覧ください。
 | Bytes | IN | 応答データバイト数
 | Data | IN | 応答データ内容（Byte型配列，添字最小値は0となります。） 応答データへの参照方法については、こちらをご覧ください。

説明

他ノードからベンダ固有応答メッセージを受信して、応答結果が正常の場合にイベントが発生します。

応答結果が異常の場合は、 VendorMsgError イベントが発生します。応答結果が非実装の場合は、 VendorMsgNonSupport イベントが発生します。

使用例

'【ベンダ固有正常応答メッセージ受信】
Private Sub FLnet_VendorMsgOK(ByVal NodeNo As Integer, ByVal VendorName As Variant, ByVal SubCode As Variant, ByVal Bytes As Integer, ByVal Data As Variant)

'結果表示
'★文字列で扱う場合は、ANSI文字コードからUnicodeに変換します。
Debug.Print "Node=" & Format$(NodeNo) & "からベンダ固有正常応答メッセージを受信しました。"
Debug.Print "ベンダ名称=" & StrConv(VendorName, vbUnicode)
Debug.Print "サブコード=" & StrConv(SubCode, vbUnicode)
Debug.Print "データ内容=" & StrConv(Data, vbUnicode)


VendorMsgErrorイベント

Event.gif (250 バイト) 　VendorMsgErrorイベント

機能　　書式　　引数　　説明　　使用例

機能

ベンダ固有異常応答メッセージ受信

書式

Sub FLnet_VendorMsgError(ByVal NodeNo As Integer, ByVal VendorName As Variant, _
ByVal SubCode As Variant, ByVal ErrBytes As Integer, ByVal Error As Variant)

引数 | NodeNo | IN | メッセージ応答元ノード番号
 | VendorName | IN | ベンダ名（Byte型配列，10バイト，添字最小値は0となります。） ベンダ名への参照方法については、こちらをご覧ください。
 | SubCode | IN | サブコード（Byte型配列，6バイト，添字最小値は0となります。） サブコードへの参照方法については、こちらをご覧ください。
 | ErrBytes | IN | 異常応答データバイト数
 | Error | IN | 異常応答データ内容（Byte型配列，添字最小値は0となります。） 異常応答データへの参照方法については、こちらをご覧ください。

説明

他ノードからベンダ固有応答メッセージを受信し、応答結果が異常の場合にイベントが発生します。

応答結果が正常の場合は、 VendorMsgOK イベントが発生します。応答が非実装の場合は、 VendorMsgNonSupport イベントが発生します。

使用例

'【ベンダ固有異常応答メッセージ受信】
Private Sub FLnet_VendorMsgError(ByVal NodeNo As Integer, ByVal VendorName As Variant, ByVal SubCode As Variant, ByVal ErrBytes As Integer, ByVal Error As Variant)

'結果表示
'★文字列で扱う場合は、ANSI文字コードからUnicodeに変換します。
Debug.Print "Node=" & Format$(NodeNo) & "からベンダ固有異常応答メッセージを受信しました。"
Debug.Print "ベンダ名称=" & StrConv(VendorName, vbUnicode)
Debug.Print "サブコード=" & StrConv(SubCode, vbUnicode)
Debug.Print "異常内容=" & StrConv(Error, vbUnicode)


VendorMsgNonSupportイベント

Event.gif (250 バイト) 　VendorMsgNonSupportイベント

機能　　書式　　引数　　説明　　使用例

機能

ベンダ固有非実装応答メッセージ受信

書式

Sub FLnet_VendorMsgNonSupport(ByVal NodeNo As Integer, _
ByVal VendorName As Variant, ByVal SubCode As Variant)

引数 | NodeNo | IN | メッセージ応答元ノード番号
 | VendorName | IN | ベンダ名（Byte型配列，10バイト，添字最小値は0となります。） ベンダ名への参照方法については、こちらをご覧ください。
 | SubCode | IN | サブコード（Byte型配列，6バイト，添字最小値は0となります。） サブコードへの参照方法については、こちらをご覧ください。

説明

他ノードからベンダ固有応答メッセージを受信し、応答結果が非実装の場合にイベントが発生します。

応答結果が正常の場合は、 VendorMsgOK イベントが発生します。応答結果が異常の場合は、 VendorMsgError イベントが発生します。

使用例

'【ベンダ固有非実装応答メッセージ受信】
Private Sub FLnet_VendorMsgNonSupport(ByVal NodeNo As Integer, ByVal VendorName As Variant, ByVal SubCode As Variant)
'結果表示
'★文字列で扱う場合は、ANSI文字コードからUnicodeに変換します。
Debug.Print "Node=" & Format$(NodeNo) & "からベンダ固有非実装応答メッセージを受信しました。"
Debug.Print "ベンダ名称=" & StrConv(VendorName, vbUnicode)
Debug.Print "サブコード=" & StrConv(SubCode, vbUnicode)


ClearLogメソッド

Event.gif (250 バイト) 　RecvReqWriteNetParamMsgイベント

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

ネットワークパラメータライト要求メッセージ受信

書式

Sub FLnet_RecvReqWriteNetParamMsg(ByVal NodeNo As Integer, _
 ByVal Common1Addr As Integer, ByVal Common1Bytes As Integer, _
ByVal Common2Addr As Integer, ByVal Common2Words As Integer, _
ByVal NodeName As String, ByVal CommonFlg As Boolean,_
ByVal NodeNameFlg As Boolean)

引数 | NodeNo | IN | メッセージ要求元ノード番号（1～254）
 | Common1Addr | IN | コモンメモリ1アドレス （バイト単位）
 | Common1Bytes | IN | コモンメモリ1サイズ （バイト単位）
 | Common2Addr | IN | コモンメモリ2アドレス （ワード単位）
 | Common2Words | IN | コモンメモリ2サイズ （ワード単位）
 | NodeName | IN | ノード名称（10バイト，添字の最小値は0となります。）
 | CommonFlg | IN | コモンメモリの設定（True=有効, False=無効）
 | NodeNameFlg | IN | ノード名称の設定（True=有効, False=無効）

説明

他ノードからネットワークパラメータライト要求メッセージを受信した場合にイベントが発生します。

イベント内容を判断し、RepWriteNetParamMsgメソッドを呼び出し、要求元ノードにネットワークパラメータライト応答を行ってください。
使用例 '【ネットワークパラメータライト要求メッセージ受信時の処理】
Private Sub FLnet_RecvReqWriteNetParamMsg(ByVal NodeNo As Integer, _
ByVal Common1Addr As Integer, ByVal Common2Bytes As Integer, _
ByVal Common2Addr As Integer, ByVal Common2Words As Integer, _
ByVal NodeName As String, _
ByVal CommonFlg As Boolean, ByVal NodeNameFlg As Boolean)
Dim Rtc%
Dim Result% '応答結果

'アドレスの設定
If CommonFlg Then
'アドレスのチェック
'応答結果を決める
End If

'ノード名称の設定
If NodeNameFlg Then
'ノード名称のチェック
'応答結果を決める
End If

'要求元にネットワークパラメータライト（応答）メッセージを送信する。
Select Case Result%
'正常応答
Case 0
Rtc% = FLnet.RepWriteNetParamMsg(NodeNo, flReplyOK)
'異常応答
Case 1
Rtc% = FLnet.RepWriteNetParamMsg(NodeNo, flReplyError, CByte(1))
'非実装応答
Case 2
Rtc% = FLnet.RepWriteNetParamMsg(NodeNo, flReplyNonSupport)
End Select


ClearLogメソッド

Event.gif (250 バイト) 　RecvReqRunStopMsgイベント

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

運転・停止指令要求メッセージ受信

書式

Sub FLnet_RecvReqRunStopMsg(ByVal NodeNo As Integer, _

ByVal Command As FlControlType)

引数 | NodeNo | IN | メッセージ要求元ノード番号（1～254）
 | Command | IN | 運転・停止指令 ・flStop=停止指令 ・flRun=運転指令

説明

他ノードから運転・停止指令要求メッセージを受信した場合にイベントが発生します。

イベント内容を判断し、RepRunStopMsgメソッドを呼び出し、要求元ノードに運転・停止指令応答を行ってください。
使用例 '【運転・停止指令要求メッセージ受信時の処理】
Private Sub FLnet_RecvReqRunStopMsg(ByVal NodeNo As Integer,ByVal Command As FlControlType)

Dim Result% '応答結果

'コマンドのチェック
If Command = flStop Then
'停止指令の場合の応答結果を決める
Else
'運転指令の場合の応答結果を決める
End If

'要求元に運転・停止指令（応答）メッセージを送信する。
Select Case Result%
'正常応答
Case 0
Rtc% = FLnet.RepRunStopMsg(NodeNo, Command, flReplyOK)
'異常応答
Case 1
Rtc% = FLnet.RepRunStopMsg(NodeNo, Command, flReplyError, CByte(1))
'非実装応答
Case 2
Rtc% = FLnet.RepRunStopMsg(NodeNo, Command, flReplyNonSupport)
End Select


ClearLogメソッド

Event.gif (250 バイト) 　LinkInSlaveイベント

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

スレーブノードのリンク参加検知

書式

Sub FLnet_LinkInSlave(ByVal NodeNo As Integer)

引数

NodeNo

 IN

参加したスレーブノード番号（1～249）

説明

スレーブノードがリンクに参加したときにイベントが発生します。

スレーブノードのリンク参加イベントは、自ノードがリンク参加中に途中加入した場合のみ発生します。すなわち、自ノードがリンクに参加する以前から既に参加中のスレーブノードについてはイベントが発生しません。自ノードが参加した時点でGetLinkInSlavesメソッドを呼び出すことで、リンクに参加しているスレーブノードの一覧を確認することができます。

本イベントと同時に、LinkIn イベントも発生します。発生順序は以下の通りです。
 1. LinkInイベント
2. LinkInSlaveイベント
使用例 '【スレーブノードがネットワーク参加時に、参加スレーブノード一覧を取得する。】
Private Sub FLnet_LinkInSlave(ByVal NodeNo As Integer)

Dim Rtc%, I%, Buff1$, Buff2$
Dim Nodes(1 To 249) As Byte 'ノード一覧 ★要素数=249のByte型配列

'イベント表示
Debug.Print "スレーブノード=" & Format$(NodeNo) & "がリンクに参加しました。"

'参加ノード一覧を取得します。
Rtc% = FLnet.GetLinkInSlaves(Nodes)
 '★配列1要素=1ノードで、ノード番号の昇順に格納されます。
For I% = 1 To 249 Step 1
'Nodes配列の要素を参照することで、リンクの参加状況を判定します。
Select Case Nodes(I%)
'参加中
Case 1
Buff1$ = Buff1$ & Format$(I%) & ", "
End Select
Next I%
Debug.Print "現在参加しているスレーブノードは、" & Buff1$ & "です。"


ClearLogメソッド

Event.gif (250 バイト) 　LinkOutSlaveイベント

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

スレーブノードのリンク離脱検知

書式

 Sub FLnet_LinkOutSlave(ByVal NodeNo As Integer)

引数

NodeNo

 IN

離脱したスレーブノード番号（1～249）

説明

スレーブノードがリンクから離脱したときにイベントが発生します。

スレーブノードのリンク離脱イベントは、自ノードがリンク参加中に離脱検知した場合のみ発生します。

本イベントと同時に、LinkOutイベントも発生します。発生順序は以下の通りです。
1. LinkOutイベント
2. LinkOutSlaveイベント
使用例 '【リンク離脱通知】
Private Sub FLnet_LinkOutSlave(ByVal NodeNo As Integer)

'イベント表示
Debug.Print "ノード=" & Format$(NodeNo) & "がリンクから離脱しました。"


ClearLogメソッド

Event.gif (250 バイト) 　InputDataChangedイベント

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

IO入力データ変化検知

書式

 Sub FLnet_InputDataChanged(ByVal NodeNo As Integer)

引数

NodeNo

 IN

変化したスレーブノード番号（1～249）

説明

スレーブノードから受信したサイクリックデータをコモンメモリにコミット（反映）させる時点で、受信した入力データ値が受信前の値と異なっているときにイベントが発生します。

なお、本イベントはCommonChangeAddressプロパティおよびCommonChangeSize プロパティにて設定された変化検出範囲には、依存しません。

本イベントと同時に、CommonChanged イベントも条件を満たす場合発生します。その場合の発生順序は以下の通りです。
 1. CommonChangedイベント
2. InputDataChangedイベント
使用例 '【IO入力データ変化検知】
Private Sub FLnet_InputDataChanged(ByVal NodeNo As Integer)

'イベント表示
Debug.Print "スレーブノード：” & Format$(NodeNo) & ”のデータが更新されました。"


ClearLogメソッド

Event.gif (250 バイト) 　InputStatusChangedイベント

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

IO入力ステータス変化検知

書式

 Sub FLnet_InputStatusChanged(ByVal NodeNo As Integer)

引数

NodeNo

 IN

変化したスレーブノード番号（1～249）

説明

スレーブノードから受信したサイクリックデータをコモンメモリにコミット（反映）させる時点で、受信した入力ステータス値が受信前の値と異なっているときにイベントが発生します。

なお、本イベントはCommonChangeAddressプロパティおよびCommonChangeSize プロパティにて設定された変化検出範囲には、依存しません。

本イベントと同時に、CommonChanged イベントも条件を満たす場合発生します。その場合の発生順序は以下の通りです。
 1. CommonChangedイベント
2. InputStatusChangedイベント
使用例 '【IO入力ステータス変化検知】
Private Sub FLnet_InputStatusChanged(ByVal NodeNo As Integer)

'イベント表示
Debug.Print "スレーブノード：” & Format$(NodeNo) & ”のステータスが更新されました。"


ClearLogメソッド

Event.gif (250 バイト) 　MeasureTokenTimeChangedイベント

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

トークン保持時間測定状態変化検知

書式

Sub FLnet_MeasureTokenTimeChanged(ByVal Status As FlMeasureChangeType, _
ByVal Sender As Boolean)

引数 | Status | IN | トークン保持時間測定状態 （定数列挙型） ・flMeasureStartStop=測定中→停止中 ・flMeasureStopStart=停止中→測定中 ・flMeasureStartStart=測定中→測定中
 | Sender | IN | イベント発生元。 ・False=自分（APP自身） ・True=自分以外（設定ツールなど）

説明

トークン保持時間測定状態が変化したときにイベントが発生します。
使用例 '【トークン保持時間測定状態変化検知】
Private Sub FLnet_MeasureTokenTimeChanged(ByVal Status As FlMeasureChangeType, _
ByVal Sender As Boolean)

'イベント表示
Debug.Print "状態が変化しました：" & Format$(Status)


ClearLogメソッド

Event.gif (250 バイト) 　MeasureDataLogChangedイベント

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

汎用通信データ送信元ログ測定状態変化検知

書式

Sub FLnet_MeasureDataLogChanged(ByVal Status As FlMeasureChangeType, _
 ByVal Sender As Boolean)

引数 | Status | IN | 汎用通信データ送信元ログ測定状態 （定数列挙型） ・flMeasureStartStop=測定中→停止中 ・flMeasureStopStart=停止中→測定中 ・flMeasureStartStart=測定中→測定中
 | Sender | IN | イベント発生元。 ・False=自分（APP自身） ・True=自分以外（設定ツールなど）

説明

汎用通信データ送信元ログ測定状態が変化したときにイベントが発生します。
使用例 '【汎用通信データ送信元ログ測定状態変化検知】
Private Sub FLnet_MeasureDataLogChanged(ByVal Status As FlMeasureChangeType, _
ByVal Sender As Boolean)
'イベント表示
Debug.Print "状態が変化しました：" & Format$(Status)


ClearLogメソッド

Event.gif (250 バイト) 　RecvReqWriteNetParamFromSettingToolイベント

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

設定ツールからのネットワークパラメータライト要求受信

書式

Sub FLnet_RecvReqWriteNetParamFromSettingTool(ByVal SettingToolAddr As Long, _
 ByVal Common1Addr As Integer, ByVal Common1Bytes As Integer, _
ByVal Common2Addr As Integer, ByVal Common2Words As Integer, _
ByVal NodeName As String, _
ByVal CommonFlg As Boolean, ByVal NodeNameFlg As Boolean, _
 ByRef Result As FlReqMessageResultType, ByRef Join As Boolean)

引数 | SettingToolAddr | IN | 設定ツールのIPアドレス
 | Common1Addr | IN | コモンメモリ1アドレス （バイト単位）
 | Common1Bytes | IN | コモンメモリ1サイズ （バイト単位）
 | Common2Addr | IN | コモンメモリ2アドレス （ワード単位）
 | Common2Words | IN | コモンメモリ2サイズ （ワード単位）
 | NodeName | IN | ノード名称（10バイト，添字の最小値は0となります。）
 | CommonFlg | IN | コモンメモリの設定（True=有効, False=無効）
 | NodeNameFlg | IN | ノード名称の設定（True=有効, False=無効）
 | Result | OUT | 設定可否判定結果 ・flEnable=許可 ・flDisable=不許可 ・flNotImplement=非実装
 | Join | OUT | 再参加有無 ・True=再参加有り ・False=再参加無し

説明

設定ツールからネットワークパラメータライト要求を受信したときにイベントが発生します。
ネットワークパラメータのライト可否を判定して、Resultに結果を設定する必要があります。

設定許可（Result引数＝flEnable）の場合、ネットワークパラメータを更新します。リンク参加中の場合は、自ノードを離脱します。
ネットワークパラメータ更新後、リンクを再参加する場合は、Joinに再参加ありを設定します。

本イベントを定義していない場合、非実装として応答を返します。
使用例 '【設定ツールからのネットワークパラメータライト要求受信】
Private Sub FLnet_RecvReqWriteNetParamFromSettingTool(ByVal SettingToolAddr As Long, _
 ByVal Common1Addr As Integer, ByVal Common2Bytes As Integer, _
 ByVal Common2Addr As Integer, ByVal Common2Words As Integer, _
 ByVal NodeName As String, _
 ByVal CommonFlg As Boolean, ByVal NodeNameFlg As Boolean, _
ByRef Result As FlReqMessageResultType, ByRef Join As Boolean)

 Dim Rtc As FlReqMessageResultType

 'コモンメモリのチェック
 If CommonFlg Then
 'Rtcに判定結果を設定
 End If

 'ノード名称のチェック
 If NodeNameFlg Then
 'Rtcに判定結果を設定
 End If

 '判定結果を設定
 Result = Rtc
 Join = True


ClearLogメソッド

Event.gif (250 バイト) 　RecvReqRunStopFromSettingToolイベント

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

設定ツールからの運転・停止指令要求受信

書式

Sub FLnet_RecvReqRunStopFromSettingTool(ByVal SettingToolAddr As Long, _
ByVal Command As FlControlType, ByRef Result As FlReqMessageResultType)

引数 | SettingToolAddr | IN | 設定ツールのIPアドレス
 | Command | IN | 運転・停止指令 ・flStop=停止指令 ・flRun=運転指令
 | Result | OUT | 設定可否判定結果 ・flEnable=許可 ・flDisable=不許可 ・flNotImplement=非実装

説明

設定ツールから運転・停止指令要求を受信したときにイベントが発生します。
運転・停止指令要求の可否を判定して、Resultに結果を設定する必要があります。

設定許可（Result引数＝flEnable）の場合、運転状態を更新します。

本イベントを定義していない場合、非実装として応答を返します。
使用例 '【設定ツールからの運転・停止指令要求受信】
Private Sub FLnet_RecvReqRunStopFromSettingTool(ByVal SettingToolAddr As Long, _
 ByVal Command As FlControlType, ByRef Result As FlReqMessageResultType)

 Dim Rtc As FlReqMessageResultType

 'Commandのチェック
 '判定結果をRtcに設定

 '判定結果を設定
 Result = Rtc


ClearLogメソッド

Event.gif (250 バイト) 　RecvReqSetIOFromSettingToolイベント

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

設定ツールからのIO割付要求受信

書式

Sub FLnet_RecvReqSetIOFromSettingTool(ByVal SettingToolAddr As Long, _
 ByVal IO() As FlIOInfo, ByRef Result As FlReqMessageResultType)

引数 | SettingToolAddr | IN | 設定ツールのIPアドレス
 | IO | IN | IO割付情報
 | Result | OUT | 設定可否判定結果 ・flEnable=許可 ・flDisable=不許可 ・flNotImplement=非実装

説明

設定ツールからIO割付要求を受信したときにイベントが発生します。
 IO割付設定可否を判定して、Resultに結果を設定する必要があります。

設定許可（Result 引数＝flEnable）の場合、IO割付設定を更新します。

本イベントを定義していない場合、非実装として応答を返します。
使用例 '【設定ツールからのIO割付要求受信】
Private Sub FLnet_RecvReqSetIOFromSettingTool(ByVal SettingToolAddr As Long, _
 IO() As FLNETCTLLib.FlIOInfo, Result As FLNETCTLLib.FlReqMessageResultType)

 Dim Rtc As FlReqMessageResultType

 'IOのチェック
 '判定結果をRtcに設定

 '判定結果を設定
 Result = Rtc


ClearLogメソッド

Event.gif (250 バイト) 　RecvReqSetConfigParamFromSettingToolイベント

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

設定ツールからのコンフィギュレーション用パラメータ設定要求受信

書式

Sub FLnet_RecvReqSetConfigParamFromSettingTool(ByVal SettingToolAddr As Long, _
ByVal Common1Addr As Integer, ByVal Common1Bytes As Integer, _
ByVal Common2Addr As Integer, ByVal Common2Words As Integer, _
ByVal TokenWatchTime As Integer, _
ByVal MinFrameInterval As Integer, ByVal NodeName As String, _
ByVal CommonFlg As Boolean, ByVal NodeNameFlg As Boolean, _
ByVal TokenFlg As Boolean, ByVal MinFrameFlg As Boolean, _
ByRef Result As FlReqMessageResultType, ByRef Join As Boolean)

引数 | SettingToolAddr | IN | 設定ツールのIPアドレス
 | Common1Addr | IN | コモンメモリ1アドレス （バイト単位）
 | Common1Bytes | IN | コモンメモリ1サイズ （バイト単位）
 | Common2Addr | IN | コモンメモリ2アドレス （ワード単位）
 | Common2Words | IN | コモンメモリ2サイズ （ワード単位）
 | TokenWatchTime | IN | トークン監視時間（ms単位）
 | MinFrameInterval | IN | 最小許容フレーム間隔（100μs単位）
 | NodeName | IN | ノード名称
 | CommonFlg | IN | コモンメモリ更新フラグ（True=有効, False=無効）
 | NodeNameFlg | IN | ノード名更新フラグ（True=有効, False=無効）
 | TokenFlg | IN | トークン監視時間更新フラグ（True=有効, False=無効）
 | MinFrameFlg | IN | 最小許容フレーム間隔更新フラグ（True=有効, False=無効）
 | Result | OUT | 設定可否判定結果 ・flEnable=許可 ・flDisable=不許可 ・flNotImplement=非実装
 | Join | OUT | 再参加有無 ・True=再参加有り ・False=再参加無し

説明

設定ツールからコンフィギュレーション用パラメータ設定要求を受信したときにイベントが発生します。
コンフィギュレーション用パラメータ設定可否と再参加の有無を判定して、Resultに結果を設定する必要があります。

設定許可（Result引数＝flEnable）の場合、コンフィギュレーション用パラメータを更新します。リンク参加中の場合は、自ノードを離脱します。
コンフィギュレーション用パラメータ更新後、リンクを再参加する場合は、Joinに再参加ありを設定します。

本イベントを定義していない場合、非実装として応答を返します。
使用例

'【設定ツールからのコンフィギュレーション用パラメータ設定要求受信】
Private Sub FLnet_RecvReqSetConfigParamFromSettingTool(ByVal SettingToolAddr As Long, _
 ByVal Common1Addr As Integer, ByVal Common2Bytes As Integer, _
 ByVal Common2Addr As Integer, ByVal Common2Words As Integer, _
 ByVal TokenWatchTime As Integer, _
 ByVal MinFrameInterval As Integer, ByVal NodeName As String, _
 ByVal CommonFlg As Boolean, ByVal NodeNameFlg As Boolean, _
 ByVal TokenFlg As Boolean, ByVal MinFrameFlg As Boolean, _
 ByRef Result As FlReqMessageResultType, ByRef Join As Boolean)

 Dim Rtc As FlReqMessageResultType

 'コンフィギュレーション用パラメータ設定のチェック
 '判定結果をRtcに設定

 '判定結果を設定
 Result = Rtc

Join = True


ClearLogメソッド

Event.gif (250 バイト) 　RecvReqResetNodeFromSettingToolイベント

機能　　書式　　引数　　戻り値　　説明　　エラー　　使用例

機能

設定ツールからのノードリセット要求受信

書式

Sub FLnet_RecvReqResetNodeFromSettingTool(ByVal SettingToolAddr As Long, _
ByRef Result As FlReqMessageResultType, ByRef Join As Boolean)

引数 | SettingToolAddr | IN | 設定ツールのIPアドレス
 | Result | OUT | リセット可否判定結果 ・flEnable=許可 ・flDisable=不許可 ・flNotImplement=非実装
 | Join | OUT | 再参加有無 ・True=再参加有り ・False=再参加無し

説明

設定ツールからノードリセット要求を受信したときにイベントが発生します。
ノードリセット可否と再参加の有無を判定して、Resultに結果を設定する必要があります。

リセット可の場合、リンク参加中の場合は、自ノードを離脱します。
リセット後、リンクを再参加する場合は、Joinに再参加ありを設定します。

本イベントを定義していない場合、非実装として応答を返します。
使用例

'【設定ツールからのノードリセット要求受信】
Private Sub FLnet_RecvReqResetNodeFromSettingTool(ByVal SettingToolAddr As Long, _
 ByRef Result As FlReqMessageResultType, ByRef Join As Boolean)

 Dim Rtc As FlReqMessageResultType

 'ノードリセットのチェック
 '判定結果をRtcに設定

 '判定結果を設定
 Result = Rtc

Join = True


プロパティページ

Other.gif (262 バイト) 　プロパティページ

FL-netコントロールには、引数を含むプロパティが存在します。
これらの値を設計時に設定／参照する場合は、プロパティページでの操作が必要です。
FL-netコントロールには、プロパティ内容に応じて、以下5枚のプロパティページがあります。

    １． FL-net全般

    ２．コモンメモリ領域

    ３．オプション設定

    ４．コモンメモリ １変化タグ

    ５．コモンメモリ ２変化タグ

    6．IO割付

    7．コマンドサーバ


FL-net全般 プロパティページ

Other.gif (262 バイト) 　FL-net全般プロパティページ

FL-netのリンク参加時に必要な項目の設定／参照が可能です。
プロパティページの概略図および項目の一覧表を以下に示します。

＜概略図＞

＜項目一覧表＞

項目名 | プロパティ名 | 備考
ノード番号 | NodeNo | 0～254
トークン監視時間 | TokenTime | [ms]単位，1～255
最小許容フレーム間隔 | MinFrameInterval | ×100[μs]単位，0～50
ノード名称 | NodeName | 最大10バイト
ローカルIPアドレス | LocalIP | 特定しない場合は未入力。 特定する場合は、クラス毎（”．”区切り）の値を全て入力します。 ゼロサプレス，1～255


コモンメモリ領域 プロパティページ

Other.gif (262 バイト) 　コモンメモリ領域プロパティページ

コモンメモリ領域に関連する項目の設定／参照が可能です。
プロパティページの概略図および項目の一覧表を以下に示します。

＜概略図＞

＜項目一覧表＞

項目名 |  | プロパティ名 | 備考
送信領域（自ノードエリア）
 | コモンメモリ1アドレス | CommonAddress | CommonType引数=flCommon1 バイト単位，0～1023
 | コモンメモリ1サイズ | CommonSize | CommonType引数=flCommon1 バイト単位，0～1024
 | コモンメモリ2アドレス | CommonAddress | CommonType引数=flCommon2 ワード単位，0～8191
 | コモンメモリ2サイズ | CommonSize | CommonType引数=flCommon2 ワード単位，0～8192
変化検出領域
 | コモンメモリ1アドレス | CommonChangeAddress | CommonType引数=flCommon1 バイト単位，0～1023
 | コモンメモリ1サイズ | CommonChangeSize | CommonType引数=flCommon1 バイト単位，0～1024
 | コモンメモリ2アドレス | CommonChangeAddress | CommonType引数=flCommon2 ワード単位，0～8191
 | コモンメモリ2サイズ | CommonChangeSize | CommonType引数=flCommon2 ワード単位，0～8192


オプション設定 プロパティページ

Other.gif (262 バイト) 　オプション設定プロパティページ

FL-netコントロールのオプション機能に関連する項目の設定／参照が可能です。
プロパティページの概略図および項目の一覧表を以下に示します。

＜概略図＞

＜項目一覧表＞

項目名 |  | プロパティ名 | 備考
タイムアウト値[ms]
 | リンク参加 | LinkInTimeout | [ms]単位，0～600000
 | メッセージ送信 | SendTimeout | [ms]単位，0～600000
 | メッセージ受信 | RecvTimeout | [ms]単位，0～600000
ブロックメモリの自動更新ロック
 | バイトブロックメモリ | LockBlockMem | BlockType引数=flByteBlock。 ・チェック有=ロック（True） ・チェック無=ロック解除（False）
 | ワードブロックメモリ | LockBlockMem | BlockType引数=flWordBlock。 ・チェック有=ロック（True） ・チェック無=ロック解除（False）
 | 自動再参加モード | AlwaysLink | ・チェック有=自動再参加（True） ・チェック無=自動再参加なし（False）
 | 運転モード | RunMode | ・チェック有=運転モード（True） ・チェック無=停止モード（False）
 | ベンダ固有メッセージ サーバ機能 | VendorMsgSupport | ・チェック有=実装（True） ・チェック無=非実装（False）


コモンメモリ1変化タグ プロパティページ

Other.gif (262 バイト) 　コモンメモリ1変化タグプロパティページ

コモンメモリ1変化検出条件（ Threshold1 プロパティ）に関連する項目の設定／参照が可能です。
プロパティページの概略図および画面操作の一覧表を以下に示します。

＜概略図＞

＜操作一覧表＞

項目名 | 内容
タグ一覧 | 登録されているタグデータについて、タグ番号・タグ名称を一覧で表示します。（タグ番号昇順，最大100件）
［編集］ボタン | 一覧で選択されたタグデータを修正します。 タグデータ登録画面を表示します。
［追加］ボタン | タグデータを新規に追加します。 タグデータ登録画面を表示します。
［コピー］ボタン | 一覧で選択されたタグデータをコピーします。コピー先のタグ番号は、未登録のタグで最小の値となります。
［削除］ボタン | 一覧で選択されたタグデータを削除します。
［インポート］ボタン | ファイルから、タグ条件データを入力します。
［エクスポート］ボタン | ファイルに、タグ条件データを出力します。

＜タグデータ登録画面＞

コモンメモリ1変化検出条件（Threshold1プロパティ）を登録する画面です。
各項目は、Threshold1プロパティの引数に相当します。
登録する場合は、全ての項目に値を入力し［OK］ボタンをクリックします。

＜項目一覧表＞

項目名 | 引数名 | 備考
タグ番号 | TagIndex | 1～100
タグ名称 | TagName | 最大30バイト
アドレス | Address | バイト単位，0～1023
ビット | Bit | 0～7
トリガ種別 | Trigger | 一覧から内容を選択します。 ・立ち下がり=flOff ・立ち上がり=flOn ・値変化=flOnOff
イベント遅延時間 | Delay | ×100ms単位，0～100
変化検出有無 | Action | ・チェック有=検出(True) ・チェック無=検出なし(False)

FL-netコントロールは、外部ファイルに作成されたタグ条件データを読込む機能および
プロパティページで作成されたタグ条件データを外部ファイルに出力する機能を提供します。
外部ファイルの形式を以下に示します。

＜ファイル形式＞

タグ条件を項目毎にカンマ（”,”）で区切ったCSVファイル形式です。1条件を1行とします。
インポート時に、タグ番号が複数行存在する場合や既に登録済のタグ番号が存在する場合は、
設定値は上書されます。

Tag1File.gif (3089 バイト)

＜ファイル項目一覧表＞

項目名 | 設定値
TagIndex | 1～100
TagName | 最大30バイト
Address | バイト単位，0～1023
Bit | 0～7
Trigger | 0=flOff，1=flOn，2=flOnOff
Delay | ×100[ms]単位，0～100
Notify | 0=検出なし（False），1=検出（True）


コモンメモリ2変化タグ プロパティページ

Other.gif (262 バイト) 　コモンメモリ２変化タグプロパティページ

コモンメモリ2変化検出条件（ Threshold2 プロパティ）に関連する項目の設定／参照が可能です。
プロパティページの概略図および画面操作の一覧表を以下に示します。

＜概略図＞

＜操作一覧表＞

項目名 | 内容
タグ一覧 | 登録されているタグデータについて、タグ番号・タグ名称を一覧で表示します。（タグ番号昇順，最大100件）
［編集］ボタン | 一覧で選択されたタグデータを修正します。 タグデータ登録画面を表示します。
［追加］ボタン | タグデータを新規に追加します。 タグデータ登録画面を表示します。
［コピー］ボタン | 一覧で選択されたタグデータをコピーします。コピー先のタグ番号は、未登録のタグで最小の値となります。
［削除］ボタン | 一覧で選択されたタグデータを削除します。
［インポート］ボタン | ファイルから、タグ条件データを入力します。
［エクスポート］ボタン | ファイルに、タグ条件データを出力します。

＜タグデータ登録画面＞

コモンメモリ2変化検出条件（Threshold2プロパティ）を登録する画面です。
各項目は、Threshold2プロパティの引数に相当します。
登録する場合は、全ての項目に値を入力し［OK］ボタンをクリックします。

＜項目一覧表＞

項目名 | 引数名 | 備考
タグ番号 | TagIndex | 1～100
タグ名称 | TagName | 最大30バイト
アドレス | Address | ワード単位，0～8191
しきい値 | Threshold | 0～65535
トリガ種別 | Trigger | 一覧から内容を選択します。 ・下回り=flLower ・上回り=flHigher ・値変化=flChange
イベント遅延時間 | Delay | ×100[ms]単位，0～100
変化検出有無 | Action | ・チェック有=検出(True) ・チェック無=検出なし(False)

FL-netコントロールは、外部ファイルに作成されたタグ条件データを読込む機能および
プロパティページで作成されたタグ条件データを外部ファイルに出力する機能を提供します。
外部ファイルの形式を以下に示します。

＜ファイル形式＞

タグ条件を項目毎にカンマ（”,”）で区切ったCSVファイル形式です。1条件を1行とします。
インポート時に、タグ番号が複数行存在する場合や既に登録済のタグ番号が存在する場合は、
設定値は上書されます。

Tag2File.gif (3278 バイト)

＜ファイル項目一覧表＞

項目名 | 設定値
TagIndex | 1～100
TagName | 最大30バイト
Address | ワード単位，0～8191
Threshold | 0～65535
Trigger | 0=flLower，1=flHigher，2=flChange
Delay | ×100[ms]単位，0～100
Notify | 0=検出なし(False)，1=検出(True)


コモンメモリ2変化タグ プロパティページ

Other.gif (262 バイト) 　IO割付

IO割付に関連する項目の設定／参照が可能です。
プロパティページの概略図および画面の操作一覧表を以下に示します。

＜概略図＞

＜操作一覧表＞

項目名 | 内容
IO割付設定一覧 | 登録されているIO割付設定データについて、ノード番号、入出力データ領域、アドレス、サイズ、入出力ステータス領域、アドレス、入出力点数を一覧で表示します。（ノード番号昇順、最大248件） [表示フォーマット] xxx:ID[,,],IS[,],OD[,,],OS[,],IP[],OP[] [意味] xxx･･･ノード番号 ID[領域, アドレス, サイズ]･･･Input Data(入力データ) IS[領域, アドレス]･･･Input Status(入力ステータス) OD[領域, アドレス, サイズ]･･･Output Data(出力データ) OS[領域, アドレス]･･･Output Status(出力ステータス) IP[入力点数]･･･Input Point(入力点数) OP[出力点数]･･･Output Point(出力点数)
［編集］ボタン | 一覧で選択されたIO割付設定データを修正します。 IO割付設定データ登録画面 を表示します。
［追加］ボタン | IO割付設定データを新規に追加します。 IO割付設定データ登録画面 を表示します。
［削除］ボタン | 一覧で選択されたIO割付設定データを削除します。
［インポート］ボタン | ファイルから、IO割付設定データを入力します。
［エクスポート］ボタン | ファイルに、IO割付設定データを出力します。

＜IO割付設定データ登録画面＞

＜項目一覧表＞

項目名 |  | 備考
ノード番号
 | ノード番号 | 1～249
入力データ
 | 領域 | 領域1チェック＝領域1 領域2チェック＝領域2
 | アドレス | ワード単位 領域1チェック時＝0～511 領域2チェック時＝0～8191
 | サイズ | ワード単位 領域1チェック時＝0～512 領域2チェック時＝0～8192
 | 入力点数 | 0～サイズ×16
入力ステータス
 | 領域 | 領域1チェック＝領域1 領域2チェック＝領域2
 | アドレス | ワード単位 領域1チェック時＝0～496 領域2チェック時＝0～8176
出力データ
 | 領域 | 領域1チェック＝領域1 領域2チェック＝領域2
 | アドレス | ワード単位 領域1チェック時＝0～511 領域2チェック時＝0～8191
 | サイズ | ワード単位 領域1チェック時＝0～512 領域2チェック時＝0～8192
 | 出力点数 | 0～サイズ×16
出力ステータス
 | 領域 | 領域1チェック＝領域1 領域2チェック＝領域2
 | アドレス | ワード単位 領域1チェック時＝0～496 領域2チェック時＝0～8176

  FL-netコントロールは、外部ファイルに作成されたIO割付設定データを読込む機能および
プロパティページで作成されたIO割付設定データを外部ファイルに出力する機能を提供します。
外部ファイルの形式を以下に示します。

＜ファイル形式＞

  IO割付設定データを項目ごとにカンマ（”，”）で区切ったCSVファイル形式です。1設定データを1行とします。
インポート時に、ノード番号が複数行存在する場合や既に登録済のノード番号が存在する場合は、
設定値は上書されます。

メモ: ﾉｰﾄﾞ番号, 入力ﾃﾞｰﾀ領域, 入力ﾃﾞｰﾀｱﾄﾞﾚｽ, 入力ﾃﾞｰﾀｻｲｽﾞ, 入力ｽﾃｰﾀｽ領域, 入力ｽﾃｰﾀｽｱﾄﾞﾚｽ, 出力ﾃﾞｰﾀ領域, 出力ﾃﾞｰﾀｱﾄﾞﾚｽ, 出力ﾃﾞｰﾀｻｲｽﾞ, 出力ｽﾃｰﾀｽ領域, 出力ｽﾃｰﾀｽｱﾄﾞﾚｽ, 入力点数, 出力点数

＜ファイル項目一覧表＞

項目名 | 備考
ノード番号 | 1～249
入力データ領域 | 領域1=0, 領域2=1
入力データアドレス | ワード単位 領域1チェック時＝0～511 領域2チェック時＝0～8191
入力データサイズ | ワード単位 領域1チェック時＝0～512 領域2チェック時＝0～8192
入力ステータス領域 | 領域1=0, 領域2=1
入力ステータスアドレス | ワード単位 領域1チェック時＝0～496 領域2チェック時＝0～8176
出力データ領域 | 領域1=0, 領域2=1
出力データアドレス | ワード単位 領域1チェック時＝0～511 領域2チェック時＝0～8191
出力データサイズ | ワード単位 領域1チェック時＝0～512 領域2チェック時＝0～8192
出力ステータス領域 | 領域1=0, 領域2=1
出力ステータスアドレス | ワード単位 領域1チェック時＝0～496 領域2チェック時＝0～8176
入力点数 | 0～入力データサイズ×16
出力点数 | 0～出力データサイズ×16


コモンメモリ領域 プロパティページ

Other.gif (262 バイト) 　コマンドサーバ

コマンドサーバに関連する項目の設定／参照が可能です。
プロパティページの概略図および項目の一覧表を以下に示します。

＜概略図＞

＜項目一覧表＞

項目名 |  | プロパティ名 | 備考
IPアドレス
 | UDP | CommandServerUdpIP | 特定しない場合は未入力。 特定する場合は、クラス毎（”．”区切り）の値を全て入力します。 ゼロサプレス，0～255
 | TCP | CommandServerTcpIP | 特定しない場合は未入力。 特定する場合は、クラス毎（”．”区切り）の値を全て入力します。 ゼロサプレス，0～255


リンクデータ設定機能

Other.gif (262 バイト) 　リンクデータ仕様

 FL-netコントロールでは、以下に示すリンクデータを保有します。

・ノード状態

・プロファイルデータ

Other.gif (262 バイト) ノード状態

FL-netコントロールでは、以下に示す項目のノード状態を保有します。各項目は、フレームのヘッダ情報および他ノードからのネットワークパラメータ読込み要求に対する応答データとして使用されます。各項目に対する自ノードの値を、該当するプロパティで更新することが可能です。また、 GetNodeState メソッドにて各項目の値を取得することが可能です。

項目

自ノードの値

ベンダ名

“HITACHI-KE”（固定値）

製造業者形式

“KE-SFL3WIN”（固定値）

ノード番号

NodeNoプロパティ値

ノード名（設備名）

NodeNameプロパティ値

コモンメモリ領域1先頭アドレス

CommonAddress（flCommon1）プロパティ値÷2

コモンメモリ領域1データサイズ

CommonSize（flCommon1）プロパティ値÷2

コモンメモリ領域2先頭アドレス

CommonAddress（flCommon2） プロパティ値÷2

コモンメモリ領域2データサイズ

CommonSize（flCommon2） プロパティ値÷2

トークン監視時間

TokenTimeプロパティ値

最小許容フレーム間隔

MinFrameIntervalプロパティ値

プロトコル・タイプ

&h80（固定値）

上位層の状態

下記、参照ください。

FAリンクの状態

下記、参照ください。

自ノードの状態

下記、参照ください。

1）上位層の状態（Upper Layer Status）

ビット

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

値

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

?

各ビットの値は、以下の表に対応します。

ビット

意 味

詳 細

0～11

上位層のエラー内容

全ビット0固定

12

予備

0固定

13,14

上位層のエラー情報

・00=NORMAL（常に00固定）
・01=WARNING
・10=ALARM
・11=ALARM

15

上位層の動作情報
（運転・停止状態）

RunModeプロパティの値に応じます。
・Trueの場合=1
・Falseの場合=0

2）FAリンクの状態（Link Status）

ビット

0

1

2

3

4

5

6

7

値

?

?

0

0

0

1

1

?

各ビットの値は、以下の表に対応します。

ビット

意 味

詳 細

0

参加状態

・0=離脱
・1=参加中

1

 通信無効検知

・0=検知無し
・1=検知有り

2～3

予備

0固定

4

上位層信号エラー

・0=正常（常に0固定）
・1=エラー

5

コモンメモリ･データ有効通知

コモンメモリの送信領域が設定済の場合を有効とし、受信専用の場合を無効とします。
・0=無効
・1=有効

6

コモンメモリ(ｱﾄﾞﾚｽ･ｻｲｽﾞ)設定完了

・0=未完了
・1=完了（常に1固定）

7

コモンメモリアドレス重複

・0=重複なし
・1=重複あり

3）自ノードの状態（Own Status）

ビット

0

1

2

3

4

5

6

7

値

?

?

?

?

?

0

0

0

各ビットの値は、以下の表に対応します。

ビット

意 味

詳 細

0

自ノードのノード番号重複

・0=重複なし
・1=重複あり

1

トークン監視時間エラー

・0=エラーなし
・1=エラー発生

2

受信待ち状態

・0=待ちなし
・1=受信待ち

3

初期化エラー

・0=エラーなし
・1=エラー発生

4

参加状態

・0=未参加
・1=参加中

5～7

予備

全ビット0

Other.gif (262 バイト) プロファイルデータ

FL-netコントロールでは、以下に示す項目のプロファイルデータを保有します。各項目は、他ノードからのプロファイル読込み要求に対する応答データとして使用します。なお、各パラメータの値は、FL-netコントロール固有の値のため、アプリケーションより変更することはできません。

パラメータ名称

名称文字
（長さ）,（文字）

データタイプ［型］

パラメータ内容
（長さ）,（内容）

デバイスプロファイル
共通仕様バージョン

6, “COMVER”

INTEGER

1, 1

システムパラメータ
識別文字

2, “ID”

PrintableString

7, “SYSPARA”

システムパラメータ
改変番号

3, “REV”

INTEGER

1, 1

システムパラメータ
変更日付

7, “REVDATE”

[INTEGER]
[INTEGER]
[INTEGER]

2, 2011
1, 11
1, 01

デバイス種別

10, “DVCATEGORY”

PrintableString

8, “COMPUTER”

ベンダ名

6, “VENDOR”

PrintableString

10, “HITACHI-KE”

製造業者形名

7, “DVMODEL”

PrintableString

10, “KE-SFL3WIN”


メッセージ送信データ内容

Other.gif (262 バイト) 　メッセージ送信内容

メッセージ送信メソッドに指定するVariant型引数と送信データ内容の関係を以下に示します。

１）非配列データを指定

  以下の型を指定可能です。その他の型を指定した場合は、型不一致エラーとなります。

型 | データ内容 | データサイズ
String | ANSI文字コード | 半角=1バイト，全角=2バイト
Byte | 0～&HFF | 1バイト
Integer | 0～&HFFFF，リトルエンディアン | 2バイト
Long | 0～&HFFFFFFFF，リトルエンディアン | 4バイト

２）配列データを指定

  以下の型を指定可能です。その他の型を指定した場合は、型不一致エラーとなります。
  メッセージデータ内容は、配列の最小要素から最大要素までの連続データとなります。

型 | データ内容 | データサイズ
Byte | 1要素=1バイト（0～&HFF）の連続データ | 配列要素数×1バイト
Integer | 1要素=2バイト（0～&HFFFF）の連続データ バイトオーダは、要素単位でリトルエンディアン | 配列要素数×2バイト
Long | 1要素=4バイト（0～&HFFFFFFFF）の連続データ バイトオーダは、要素単位でリトルエンディアン | 配列要素数×4バイト

＜データ例＞

引数 | 送信データ内容
 | 値（16進数） | bytes
"" | － | 0
"12345あいうえお" | 31 32 33 34 35 82 A0 82 A2 82 A4 82 A6 82 A8 | 15
CByte(12) | 12 | 1
CInt(12345) | 39 30 | 2
CLng(&H12345678) | 78 56 34 12 | 4
Dim DataB(1 To 50) As Byte DataB(I) = I (I=1,2,…50) | 01 02 03 04 05 … … … 31 32 | 50
Dim DataI(1 To 10) As Integer DataI(I) = I *1000 (I=1,2,…10) | E8 03 D0 07 B8 0B A0 0F 88 13 70 17 58 1B 40 1F 28 23 10 27 | 20
Dim DataL(1 To 8) As Long Data(I) = I * 123456 (I=1,2,…8) | 40 E2 01 00 80 C4 03 00 C0 A6 05 00 00 89 07 00 40 6B 09 00 80 4D 0B 00 C0 2F 0D 00 00 12 0F 00 | 32

Other.gif (262 バイト) 　メッセージ受信内容

メッセージ受信イベントで通知されるデータ内容は、Byte型配列（添字最小値=0）となります。
データの参照方法を以下に示します。

参照形式 | 参照方法
テキスト | StrConv関数をコールし、ANSI文字コードをUnicodeに変換する。
バイナリ | 配列の最小要素から最大要素までの各要素を参照する。

＜参照例＞

Private Sub FLnet_RecvUserMsg(ByVal NodeNo As Integer, ByVal MsgNo As Long, _
ByVal Bytes As Integer, ByVal Data As Variant)

Dim I%, Buff$

'テキストデータとして扱う場合
Buff$ = StrConv(Data, vbUnicode)
Debug.Print "ﾃｷｽﾄﾃﾞｰﾀ：" & Buff$

'バイナリデータとして扱う場合
Buff$ = ""
For I% = 1 To Bytes Step 1
Buff$ = Buff$ & Hex$(Data(I%-1)) & " "
Next I%
Debug.Print "ﾊﾞｲﾅﾘﾃﾞｰﾀ：" & Buff$

End Sub

透過形メッセージ（データ内容="123456789"）を受信した場合、結果は以下の通りとなります。
ﾃｷｽﾄﾃﾞｰﾀ：123456789
ﾊﾞｲﾅﾘﾃﾞｰﾀ：31 32 33 34 35 36 37 38 39


列挙型定数

Other.gif (262 バイト) 　列挙型定数

Other.gif (262 バイト) FlLinkType（ Connect プロパティ）

定数 | 値 | 内容
flLinkOut | 0 | リンクから離脱する（離脱中）
flLinkIn | 1 | リンクに参加する（参加中）
flLinkMonitor | 2 | モニターモードで参加する（モニタモード）
flLinkInWait | 3 | リンク参加待ち

 Other.gif (262 バイト) FlCommonType（コモンメモリ種別）

定数 | 値 | 内容
flCommon1 | 1 | コモンメモリ1
flCommon2 | 2 | コモンメモリ2

Other.gif (262 バイト) FlBlockType（ブロックメモリ種別）

定数 | 値 | 内容
flByteBlock | 1 | バイトブロック
flWordBlock | 2 | ワードブロック

Other.gif (262 バイト) FlControlType（運転・停止モード）

定数 | 値 | 内容
flStop | 0 | 停止指令
flRun | 1 | 運転指令

Other.gif (262 バイト) FlReplyType（メッセージ応答結果）

定数 | 値 | 内容
flReplyOK | 0 | 正常
flReplyError | 1 | 異常
flReplyNonSupport | 2 | 非実装

Other.gif (262 バイト) FlBitTriggerType（ Threshold1 プロパティ）

定数 | 値 | 内容
flOn | 0 | コモンメモリ1ビットON変化検出
flOff | 1 | コモンメモリ1ビットOFF変化検出
flChange | 2 | コモンメモリ1ビット変化検出

Other.gif (262 バイト) FlWordTriggerType（ Threshold2 プロパティ）

定数 | 値 | 内容
flLower | 0 | コモンメモリ2しきい値下回り検出
flHigher | 1 | コモンメモリ2しきい値上回り検出
flChange | 2 | コモンメモリ2変化検出

Other.gif (262 バイト) FlEventType（ Threshold イベント）

定数 | 値 | 内容
flBitOn | 0 | コモンメモリ1ビットON変化検出
flBitOff | 1 | コモンメモリ1ビットOFF変化検出
flBitOnOff | 2 | コモンメモリ1ビット変化検出
flWordLower | 3 | コモンメモリ2しきい値下回り検出
flWordHigher | 4 | コモンメモリ2しきい値上回り検出
flWordChange | 5 | コモンメモリ2変化検出

Other.gif (262 バイト) FlMeasureType（測定状態）

定数 | 値 | 内容
flMeasureStart | 0 | 測定開始(測定中)
flMeasureStop | 1 | 測定停止(停止中)

Other.gif (262 バイト) FlMeasureChangeType（測定変化状態）

定数 | 値 | 内容
flMeasureStartStop | 0 | 測定中→停止中
flMeasureStopStart | 1 | 停止中→測定中
flMeasureStartStart | 2 | 測定中→測定中

Other.gif (262 バイト) FlServerType（サーバ起動状態）

定数 | 値 | 内容
flServerStart | 0 | サーバ起動(起動中)
flServerStop | 1 | サーバ停止(停止中)

Other.gif (262 バイト) FlReqMessageResultType（要求メッセージへの応答）

定数 | 値 | 内容
flEnable | 0 | 許可
flDisable | 1 | 不許可
flNotImplement | 2 | 非実装


ｸﾗｽ情報

Other.gif (262 バイト) 　クラス情報

Other.gif (262 バイト) FlCommonInfo：コモンメモリ領域情報

データ型 | メンバ変数 | 内容
Integer | Address1 | コモンメモリ1の先頭アドレス [バイト]
Integer | Bytes | コモンメモリ1のデータサイズ [バイト]
Integer | Address2 | コモンメモリ2の先頭アドレス [ワード]
Integer | Words | コモンメモリ2のデータサイズ [ワード]

Other.gif (262 バイト) FlNodeState：ノード状態

データ型 | メンバ変数 | 内容
String | VendorName | ベンダ名称
String | MakerType | 製造業者形式
String | NodeName | ノード名称
FlCommonInfo | Common | コモンメモリ情報
Byte | TokenTime | トークン監視時間
Long | MaxRefreshCycle | リフレッシュサイクル許容時間
Long | RefleshCycle | リフレッシュサイクル実測値
Byte | MinFrameInterval | 最小許容フレーム間隔
Long | UpperState | 上位層の状態
Byte | LinkState | FAリンクの状態
Byte | ProtocolVersion | プロトコルタイプ
Byte | MyNodeState | 自ノード状態

Other.gif (262 バイト) FlNetworkState：ネットワーク状態

データ型 | メンバ変数 | 内容
Byte | TokenOwner | トークン保持ノード番号
Byte | MinFrameInterval | 最小許容フレーム間隔 [×100μs]
Long | MaxRefreshCycle | リフレッシュサイクル許容時間 [ms]
Long | RefreshCycle | リフレッシュサイクル実測値 [ms]
Long | RefreshCycleHigh | リフレッシュサイクル最大値 [ms]
Long | RefreshCycleLow | リフレッシュサイクル最小値 [ms]

Other.gif (262 バイト) FlLogInfo：ログ情報

データ型 | メンバ変数 | 内容
FlLogProtocol | Protocol | プロトコル情報
FlLogFrame | Frame | フレーム情報
FlLogCyclic | Cyclic | サイクリック情報
FlLogMessage | Message | メッセージ情報
FlLogAck | Ack | ACK情報
FlLogToken | Token | トークン情報
FlLogLink | Link | リンク情報

1）FlLogProtocol：ログ情報（プロトコル情報）

データ型 | メンバ変数 | 内容
Long | SendData | ソケット送信通算回数
Long | SendSockErr | ソケット送信エラー回数
Long | RecvData | ソケット受信通算回数
Long | RecvSockErr | ソケット受信エラー回数

2）FlLogFrame：ログ情報（フレーム情報）

データ型 | メンバ変数 | 内容
Long | SendToken | トークン送信回数
Long | SendCyclic | サイクリックフレーム送信回数
Long | SendUnicast | 1：1メッセージ送信回数
Long | SendMuiticast | 1：nメッセージ送信回数
Long | RecvToken | トークン受信回数
Long | RecvCyclic | サイクリックフレーム受信回数
Long | RecvUnicast | 1：1メッセージ受信回数
Long | RecvMulticast | 1：nメッセージ受信回数

3）FlLogCyclic：ログ情報（サイクリック情報）

データ型 | メンバ変数 | 内容
Long | RecvCyclicErr | 送受信エラー回数
Long | AddrErr | アドレスサイズエラー回数
Long | CbnErr | CBNエラー回数
Long | TbnErr | TBNエラー回数
Long | BsizeErr | Bsizeエラー回数

4）FlLogMessage：ログ情報（メッセージ情報）

データ型 | メンバ変数 | 内容
Long | Resend | 再送回数
Long | RetryOut | 再送オーバー回数
Long | RecvErr | 受信エラー回数
Long | SeqVerErr | 通番バージョンエラー回数
Long | SeqVerify | 通番再送認識回数

5）FlLogAck：ログ情報（ACK情報）

データ型 | メンバ変数 | 内容
Long | AckErr | ACKエラー回数
Long | VersionErr | 通番バージョンエラー回数
Long | SeqNoErr | 通番番号エラー回数
Long | MsgNoErr | メッセージ番号エラー回数

6）FlLogToken：ログ情報（トークン情報）

データ型 | メンバ変数 | 内容
Long | Conflict | 多重化回数
Long | Destroy | 破棄回数
Long | Retry | 再発行回数
Long | KeepTimeout | 保持タイムアウト回数
Long | WatchTimeout | 監視タイムアウト回数

7）FlLogLink：ログ情報（リンク情報）

データ型 | メンバ変数 | 内容
Long | ElapseTime | 通算稼働時間[秒]
Long | WaitFrame | フレーム待ち回数
Long | Linkin | 加入回数
Long | LinkOut | 離脱回数
Long | LinkOutBySkip | トークンスキップによる離脱回数
Long | AnotherLinkOut | 他ノード離脱回数

Other.gif (262 バイト) FlLogInfoV3：ログ情報(V3対応版)

データ型 | メンバ変数 | 内容
FlLogProtocol | Protocol | プロトコル情報
FlLogFrame | Frame | フレーム情報
FlLogCyclicV3 | Cyclic | サイクリック情報(V3対応版)
FlLogMessageV3 | Message | メッセージ情報(V3対応版)
FlLogAck | Ack | ACK情報
FlLogTokenV3 | Token | トークン情報(V3対応版)
FlLogLink | Link | リンク情報
FlLogIpV3 | Ip | IP情報(V3対応版)

1）FlLogCyclicV3：ログ情報（サイクリック情報V3対応版）

データ型 | メンバ変数 | 内容
Long | RecvCyclicErr | 送受信エラー回数
Long | AddrErr | アドレスサイズエラー回数
Long | CbnErr | CBNエラー回数
Long | TbnErr | TBNエラー回数
Long | BsizeErr | Bsizeエラー回数
Long | RecvCyclicErrTime | 受信エラー検出時間

2）FlLogMessageV3：ログ情報（メッセージ情報V3対応版）

データ型 | メンバ変数 | 内容
Long | Resend | 再送回数
Long | RetryOut | 再送オーバー回数
Long | RefreshCycleTime | リフレッシュサイクル最大値検出時の時間
Long | RecvErr | 受信エラー回数
Long | SeqVerErr | 通番バージョンエラー回数
Long | SeqVerify | 通番再送認識回数
Long | RecvMessageErrTime | メッセージ伝送受信エラー検出時間

 3）FlLogTokenV3：ログ情報（トークン情報V3対応版）

データ型 | メンバ変数 | 内容
Long | Conflict | 多重化回数
Long | Destroy | 破棄回数
Long | Retry | 再発行回数
Long | DestroyTime | トークン破棄検出直近の時間
Long | RetryTime | トークン再発行直近の時間
Long | KeepTimeoutTime | トークン保持タイムアウト直近の時間
Long | KeepTimeout | 保持タイムアウト回数
Long | WatchTimeout | 監視タイムアウト回数
Long | WatchTimeoutTime | トークン監視タイムアウト直近の時間
Long | MaxHoldTime | トークン保持時間最大値
Long | MinHoldTime | トークン保持時間最小値
Long | MaxHoldTimeDetect | トークン保持時間最大値検出時間
Long | HoldTimeMeasure | トークン保持時間測定時間
Long | HoldTimeMeasureCount | トークン保持時間測定中のトークン回数

 4）FlLogIpV3：ログ情報（IP情報V3対応版）

データ型 | メンバ変数 | 内容
Long | Time | 測定時間[s]
Long | Ip1Address | IP1アドレス
Long | Ip1Count | IP1受信カウンタ
Long | Ip2Address | IP2アドレス
Long | Ip2Count | IP2受信カウンタ
Long | Ip3Address | IP3アドレス
Long | Ip3Count | IP3受信カウンタ
Long | Ip4Address | IP4アドレス
Long | Ip4Count | IP4受信カウンタ
Long | Ip5Address | IP5アドレス
Long | Ip5Count | IP5受信カウンタ
Long | Ip6Address | IP6アドレス
Long | Ip6Count | IP6受信カウンタ
Long | Ip7Address | IP7アドレス
Long | Ip7Count | IP7受信カウンタ
Long | Ip8Address | IP8アドレス
Long | Ip8Count | IP8受信カウンタ
Long | Ip9Address | IP9アドレス
Long | Ip9Count | IP9受信カウンタ
Long | Ip10Address | IP10アドレス
Long | Ip10Count | IP10受信カウンタ

Other.gif (262 バイト) FlIOInfo：IO割付情報

データ型 | メンバ変数 | 内容
Byte | NodeNo | ノード番号
Byte | InDataArea | IO入力データ領域 [1=領域1、2=領域2]
Integer | InDataAddress | IO入力データアドレス
Integer | InDataSize | IO入力データサイズ
Integer | InputPoint | 入力点数
Byte | OutDataArea | IO出力データ領域 [1=領域1、2=領域2]
Integer | OutDataAddress | IO出力データアドレス
Integer | OutDataSize | IO出力データサイズ
Integer | OutputPoint | 出力点数
Byte | InStateArea | IO入力ステータス領域 [1=領域1、2=領域2]
Integer | InStateAddress | IO入力ステータスアドレス
Byte | OutStateArea | IO出力ステータス領域 [1=領域1、2=領域2]
Integer | OutStateAddress | IO出力ステータスアドレス

Other.gif (262 バイト) FlIOInfos：全IO割付情報

データ型 | メンバ変数 | 内容
Byte | SlaveNum | スレーブ個数
FlIOInfo | Infos(255) | スレーブ登録情報

Other.gif (262 バイト) FlInputState：入力状態

データ型 | メンバ変数 | 内容
Integer | StatusNo | スレーブ状態[0=未加入， 1=停止中， 2=接続処理中， 3=動作中， 4=マスタ不在， 5=自ノード離脱， 6=設定異常]
Integer | InputPoint | 入力点数
Integer | OutputPoint | 出力点数
Integer | MasterNodeNo | マスタノード番号
Byte | MasterOffOutput | マスタ離脱時のIO出力[0=クリア，1=ホールド]
Byte | RemoteOffOutput | リモート制御フラグOFF時のIO出力[0=クリア，1=ホールド]
Byte | RemoteOffInput | リモート制御フラグOFF時のIO入力[0=クリア，1=ホールド]
Integer | FreeData(6) | マスタからスレーブ毎に指定する設定
Integer | GeneralPurpose(6) | 汎用ステータス

Other.gif (262 バイト) FlOutputState：出力状態

データ型 | メンバ変数 | 内容
Byte | RemoteControl | リモート制御[0=リモート停止，1=リモート動作]
Integer | InputPoint | 入力点数
Integer | OutputPoint | 出力点数
Integer | MasterNodeNo | マスタノード番号
Byte | MasterOffOutput | マスタ離脱時のIO出力[0=クリア，1=ホールド]
Byte | RemoteOffOutput | リモート制御フラグOFF時のIO出力[0=クリア，1=ホールド]
Byte | RemoteOffInput | リモート制御フラグOFF時のIO入力[0=クリア，1=ホールド]
Integer | FreeData(6) | マスタからスレーブ毎に指定する設定
Integer | GeneralPurpose(6) | 汎用ステータス

Other.gif (262 バイト) FlTokenTimeState：トークン保持時間測定情報

データ型 | メンバ変数 | 内容
Long | Destroy | トークン破棄回数
Long | DestroyTime | トークン破棄検出直近の時間
Long | Retry | トークン再発行回数
Long | RetryTime | トークン再発行直近の時間
Long | KeepTimeout | トークン保持タイムアウト回数
Long | KeepTimeoutTime | トークン保持タイムアウト直近の時間
Long | WatchTimeout | トークン監視タイムアウト回数
Long | WatchTimeoutTime | トークン監視タイムアウト直近の時間
Long | MaxHoldTime | トークン保持時間最大値
Long | MinHoldTime | トークン保持時間最小値
Long | MaxHoldTimeDetect | トークン保持時間最大値検出時間
Long | HoldTimeMeasure | トークン保持時間測定時間
Long | HoldTimeMeasureCount | トークン保持時間測定中のトークン回数
Long | RefreshCycleTime | リフレッシュサイクル最大値検出時の時間
Long | RecvCyclic | サイクリックフレーム受信回数
Long | RecvCyclicErr | サイクリック伝送受信エラー回数
Long | RecvCyclicErrTime | サイクリック伝送受信エラー検出時間
Long | RecvMessageErr | メッセージ伝送受信エラー回数
Long | RecvMessageErrTime | メッセージ伝送受信エラー検出時間


ﾗﾝﾀｲﾑｴﾗｰ番号

Other.gif (262 バイト) 　ランタイムエラー番号一覧

ｴﾗｰ番号 | エラー文字列
10000 | DLLへのアタッチ処理でエラーが発生しました
10001 | DLLへのコールバック登録処理でエラーが発生しました
10002 | FL-netコントロールは既にロード済です
10003 | FL-netコントロールの初期化処理でエラーが発生しました
10010 | リンク参加中に、リンクに再参加することはできません
10011 | リンク離脱中に、リンクから再離脱することはできません
10012 | Connectプロパティは、設計時に設定できません
10013 | Connectプロパティに、不正な値が設定されました
10014 | LocalIPプロパティに無効なIPアドレスが設定されています
10015 | セキュリティエラーを検知したため、リンクに参加できません
10016 | システムエラーを検知したため、リンクに参加できません
10017 | IO割付設定異常のため、リンクに参加できません
10020 | NodeNoプロパティは、リンク参加中に設定できません
10021 | NodeNoプロパティに不正な値が設定されました
10030 | TokenTimeプロパティは、リンク参加中に設定できません
10031 | TokenTimeプロパティに不正な値が設定されました
10040 | MinFrameIntervalプロパティは、リンク参加中に設定できません
10041 | MinFrameIntervalプロパティに不正な値が設定されました
10050 | LocalIPプロパティは、リンク参加中に設定できません
10051 | LocalIPプロパティに、不正な形式の値が設定されました
10060 | LinkInTimeoutプロパティは、リンク参加中に設定できません
10061 | LinkInTimeoutプロパティに、不正な値が設定されました
10070 | CommonAddressプロパティは、リンク参加中に設定できません
10071 | CommonAddressプロパティに、不正なアドレスが設定されました
10072 | CommonAddressプロパティの設定／参照で、コモンメモリ種別の指定が不正です
10080 | CommonSizeプロパティは、リンク参加中に設定できません
10081 | CommonSizeプロパティに、不正なサイズが設定されました
10082 | CommonSizeプロパティの設定／参照で、コモンメモリ種別の指定が不正です
10090 | CommonValueプロパティは、モニタモード中に設定できません
10091 | CommonValueプロパティは、自ノード送信領域範囲外を指定できません
10092 | CommonValueプロパティの設定値が範囲外です
10093 | CommonValueプロパティ設定のデータ形式が一致していません
10094 | CommonValueプロパティの設定／参照で、コモンメモリ種別の指定が不正です
10095 | CommonValueプロパティの設定／参照で、アドレスの指定が不正です
10096 | CommonValueプロパティの設定／参照で、サイズの指定が不正です
10100 | CommonChangeAddressプロパティに、不正なアドレスが設定されました
10101 | CommonChangeAddressプロパティの設定／参照で、コモンメモリ種別の指定が不正です
10110 | CommonChangeSizeプロパティに、不正なサイズが設定されました
10111 | CommonChangeSizeプロパティの設定／参照で、コモンメモリ種別の指定が不正です
10120 | SendTimeoutプロパティは、リンク参加中に設定できません
10121 | SendTimeoutプロパティに、不正な値が設定されました
10130 | RecvTimeoutプロパティは、リンク参加中に設定できません
10131 | RecvTimeoutプロパティに、不正な値が設定されました
10140 | BlockValueプロパティの設定値が範囲外です
10141 | BlockValueプロパティ設定のデータ形式が一致していません
10142 | BlockValueプロパティの設定／参照で、ブロックメモリ種別の指定が不正です
10143 | BlockValueプロパティの設定／参照で、アドレスの指定が不正です
10144 | BlockValueプロパティの設定／参照で、サイズの指定が不正です
10150 | Threshold1プロパティは、リンク参加中に設定できません
10151 | Threshold1プロパティの設定／参照で、タグ番号の指定が不正です
10152 | Threshold1プロパティの設定で、タグ名称の指定が不正です
10153 | Threshold1プロパティの設定で、アドレスの指定が不正です
10154 | Threshold1プロパティの設定で、ビットマスクの指定が不正です
10155 | Threshold1プロパティの設定で、トリガ種別の指定が不正です
10156 | Threshold1プロパティの設定で、遅延時間の指定が不正です
10157 | Threshold1プロパティに新規に設定する場合は、パラメータを省略できません
10160 | Threshold2プロパティは、リンク参加中に設定できません
10161 | Threshold2プロパティの設定／参照で、タグ番号の指定が不正です
10162 | Threshold2プロパティの設定で、タグ名称の指定が不正です
10163 | Threshold2プロパティの設定で、アドレスの指定が不正です
10164 | Threshold2プロパティの設定で、しきい値の指定が不正です
10165 | Threshold2プロパティの設定で、トリガ種別の指定が不正です
10166 | Threshold2プロパティの設定で、遅延時間の指定が不正です
10167 | Threshold2プロパティに新規に設定する場合は、パラメータを省略できません
10170 | LockBlockMemプロパティの設定／参照で、ブロックメモリ種別の指定が不正です
10180 | IOプロパティの設定で、ノード番号の指定が不正です
10181 | IOプロパティの設定で、入力データ領域の指定が不正です
10182 | IOプロパティの設定で、入力データアドレスの指定が不正です
10183 | IOプロパティの設定で、入力データサイズの指定が不正です
10184 | IOプロパティの設定で、入力ステータス領域の指定が不正です
10185 | IOプロパティの設定で、入力ステータスアドレスの指定が不正です
10186 | IOプロパティの設定で、出力データ領域の指定が不正です
10187 | IOプロパティの設定で、出力データアドレスの指定が不正です
10188 | IOプロパティの設定で、出力データサイズの指定が不正です
10189 | IOプロパティの設定で、出力ステータス領域の指定が不正です
10190 | IOプロパティの設定で、出力ステータスアドレスの指定が不正です
10191 | IOプロパティの設定で、領域の指定が不正です
10192 | IOプロパティの設定で、アドレスの指定が不正です
10193 | IOプロパティの設定で、出力データと出力ステータスが重複しています
10194 | IOプロパティの設定で、出力領域が重複しています
10195 | IOプロパティの設定で、出力領域が自ノード送信領域範囲外です
10196 | IOプロパティの設定で、入力データと入力ステータスが重複しています
10197 | IOプロパティの設定で、入力領域が重複しています
10198 | IOプロパティの設定で、入力領域が自ノード送信領域範囲内です
10199 | IOプロパティの設定で、入出力点数が範囲外です
10200 | IOプロパティの設定で、入力エリアと出力エリアが重複しています
10210 | MeasureTokenTimeプロパティは、設計時に設定できません
10211 | MeasureTokenTimeプロパティに、不正な値が設定されました
10220 | MeasureDataLogプロパティは、設計時に設定できません
10221 | MeasureDataLogプロパティに、不正な値が設定されました
10222 | システムエラーを検知したため、測定できません
10223 | NICアダプタのオープンに失敗しました
10230 | UdpIPプロパティに不正な形式の値が設定されました
10231 | コマンドサーバ(UDP/IP)起動中は設定できません
10240 | TcpIPプロパティに不正な形式の値が設定されました
10241 | コマンドサーバ(TCP/IP)起動中は設定できません
10250 | CommandServerUdpプロパティは、設計時に設定できません
10251 | CommandServerUdpプロパティに、不正な値が設定されました
10252 | システムエラーを検知したため、起動できません
10260 | CommandServerTcpプロパティは、設計時に設定できませんCommandServerTcpプロパティに、不正な値が設定されました
10261 | CommandServerTcpプロパティに、不正な値が設定されました
10262 | システムエラーを検知したため、起動できません


DLLエラー番号（ネットワーク）

Other.gif (262 バイト) 　DLLエラー番号一覧（ネットワークエラー）

LinkError イベントで通知される Number 引数の値が12（DLLでネットワークエラー検出）の場合、Param 引数（詳細エラー番号）の値は、WSAGetLastError( )の戻り値を示します。意味および対策方法は、以下の通りです。

ｴﾗｰ番号 | 別名定義 | 意味および対策
10024 | WSAEMFILE | 使用可能なリソースが不足しています。（接続しているコネクションが多いなど） →実行中または常駐しているプログラムを終了したり、他のコネクションを切断してから、プログラムを再起動してください。
10042 | WSAENO PROTOOPT | ソケットオプションの指定が不正です。 →Windows(R)標準以外のTCP/IPシステムが組み込まれている可能性があります。組み込まれているTCP/IPを確認してください。
10048 | WSAEADDR INUSE | 指定したアドレスは既に使用されています。以前に使用していたコネクションが正常に終了できなかった場合に発生することもあります。同じアドレス，ポート番号を使用するプログラムが実行中の場合に発生します。 →同じアドレス，ポート番号を使用するプログラムを終了し、時間をおいてから、プログラムを再起動してください。
10049 | WSAEADDR NOTAVAIL | 指定したアドレスは無効です。TPケーブルがNICポートに接続されていない場合も、発生することがあります。 →指定したアドレス（LocalIP プロパティ）が間違っています。アドレスの値を確認して、再実行してください。
10050 | WSAENETDOWN | ネットワークシステムに障害を検知しました。動作パソコンにProxyが導入されている場合にも、発生することがあります。 →TCP/IPプロトコルの設定を再確認してください。Proxyが導入されている場合は、Proxyの使用を無効にしてください。
10055 | WSAENOBUFS | システムに使用可能な空きバッファが不足しています。接続コネクション数や実行プログラムが多い場合にも、発生することがあります。 →他のプログラムを終了したり、他のコネクションを切断してから、プログラムを再起動してください。
10058 | WSAESHUTDOWN | 既にTCP/IPシステムがシャットダウンしているため、送受信ができない状態となっています。 →TCP/IPプロトコルのサービスが動作していることを確認してください。サービスが起動していない場合は、サービスを開始してください。
10091 | WSASYSNOT READY | ネットワークサブシステムが利用できません。 →TCP/IPプロトコルが正しく組み込まれていることを確認してください。
10092 | WSAVERNOT SUPPORTED | 要求されたバージョンをサポートしていません。 →Windows(R)標準以外のTCP/IPシステムが組み込まれている可能性があります。組み込まれているTCP/IPを確認してください。
11001 | WSAHOST_ NOT_FOUND | 指定されたホスト名称（アドレス）が正しくありません。 →指定したアドレス（LocalIP プロパティ）の値を確認して、再実行してください。


DLLエラー番号（致命的）

Other.gif (262 バイト) 　DLLエラー番号一覧（致命的エラー）

LinkError イベントで通知される Number 引数の値が13（DLLで致命的エラー検出）の場合、Param 引数（詳細エラー番号）の値と意味の一覧は以下の通りです。OSの状態が不安定の場合に発生する可能性があります。OSを再起動してから、再度プログラムを実行してください。

ｴﾗｰ番号 | 意味
10001 | メモリ確保エラー（送信データバッファ）
10002 | メモリ確保エラー（サイクリック受信バッファ）
10003 | メモリ確保エラー（メッセージ受信バッファ）
10004 | メモリ確保エラー（参加要求受信バッファ）
10005 | メモリ確保エラー（サイクリック送信バッファ・0ページ）
10006 | メモリ確保エラー（サイクリック送信バッファ・1ページ）
10007 | メモリ確保エラー（メッセージ送信管理メモリ）
10008 | メモリ確保エラー（ACK バッファ）
20001 | スレッド生成エラー（サイクリック受信スレッド）
20002 | スレッド生成エラー（メッセージ受信スレッド）
20003 | スレッド生成エラー（参加要求フレーム受信スレッド）
20004 | スレッド生成エラー（メッセージ受信メインスレッド）
20005 | スレッド生成エラー（メッセージ送信メインスレッド）
20006 | スレッド生成エラー（サイクリック送信スレッド）
20007 | スレッド生成エラー（プロトコル管理スレッド）
20008 | スレッド生成エラー（ コマンドサーバメインスレッド）
20009 | スレッド生成エラー（ コマンドサーバ(UDP)スレッド）
20010 | スレッド生成エラー（ コマンドサーバ(TCP)スレッド）
20011 | スレッド生成エラー（ 汎用通信データ送信元ログ測定スレッド）
20012 | スレッド生成エラー（ 任意マスタスレッド）
30001 | イベント生成エラー（サイクリック受信スレッド）
30002 | イベント生成エラー（メッセージ受信スレッド）
30003 | イベント生成エラー（参加要求フレーム受信スレッド）
30004 | イベント生成エラー（タイマ通知）
30005 | イベント生成エラー（メッセージ受信メインスレッド）
30006 | イベント生成エラー（メッセージ送信メインスレッド）
30007 | イベント生成エラー（サイクリック送信スレッド）
30008 | イベント生成エラー（プロトコル管理スレッド）
30009 | イベント生成エラー（最小許容フレーム通知）
30010 | イベント生成エラー（ コマンドサーバメインスレッド）
30011 | イベント生成エラー（ コマンドサーバ(UDP)スレッド）
30012 | イベント生成エラー（ コマンドサーバ(TCP)スレッド）
30013 | イベント生成エラー（ デバイスレベル管理）
40001 | 初期化処理エラー(ミューテックス取得)
40002 | 初期化処理エラー(DLL読込み)


DLLエラー番号（プロトコル）

Other.gif (262 バイト) 　DLLエラー番号一覧（プロトコルエラー）

LinkError イベントで通知される Number 引数の値が14（DLLでプロトコルエラー検出）の場合、Param 引数（詳細エラー番号）の値と意味の一覧は以下の通りです。

ｴﾗｰ番号 | 意味および対策
10001 | トークン多重化検出（トークン剥奪。他ノードがトークンを保持している） →自ノードがトークン保持中に他ノードからトークンフレームを受信したため、自ノードのトークンを破棄しました。ネットワークパラメータの設定によって発生する場合があります。コモンメモリ送信領域の大きさに合わせて、トークン監視タイムアウト時間の値を調整（大きく）してください。
10002 | トークン重複検出（トークン保持。自ノードがトークンを保持している） →自ノードがトークン保持中に他ノードからトークンフレームを受信しましたが、自ノードがトークンを保持しています。ネットワークパラメータの設定によって発生する場合があります。コモンメモリ送信領域の大きさに合わせて、トークン監視タイムアウト時間の値を調整（大きく）してください。
10003 | トークン重複検出（トークン保留。トークン保持中に、自ノードへのトークン受信） →自ノードがトークン保持中に他ノードからトークンフレームを受信しましたが、自ノードがトークンを保持しています。ネットワークパラメータの設定によって発生する場合があります。コモンメモリ送信領域の大きさに合わせて、トークン監視タイムアウト時間の値を調整（大きく）してください。
10004 | トークン取りこぼし（受信バッファフル） →サイクリック受信用のバッファがフルになったため、サイクリックフレームの受信に失敗しました。要因としては、パソコン内の処理負荷が大きいために発生することが考えられます。パソコン内の処理負荷を減らすか、最小許容フレーム間隔の値を調整（大きく）してください。
20001 | カレントフラグメントブロック異常 →受信したサイクリックフレームのCBNの値が正しくないため、サイクリックデータの書込みに失敗しました。要因としては、他ノードでトークン保持タイムアウトが発生したため、サイクリックフレームの送信が途中で中断された場合も考えられます。イベントログにて、異常が発生しているノードをご確認ください。
20002 | カレントブロック長異常 →受信したサイクリックフレームのデータサイズまたはBSIZEの値が正しくないため、サイクリックデータの書込みに失敗しました。イベントログにて、異常が発生しているノードをご確認ください。
20003 | トータルフラグメントブロック異常 →受信したサイクリックフレームのTBNの値が正しくないため、サイクリックデータの書込みに失敗しました。イベントログにて、異常が発生しているノードをご確認ください。
30001 | 受信通番バージョン異常 →受信したメッセージフレームの通番バージョンの値が正しくないため、メッセージ受信ができませんでした。この場合、送信元ノードに通番バージョン番号異常のACKデータを送信します。
30002 | 受信通番異常 →同一通番（再送用）のメッセージフレームを受信しました。
30003 | 受信フォーマット異常 →受信したメッセージフレームの形式が正しくない（プロトコル仕様に準拠しない）ため、メッセージ受信ができませんでした。送信元ノードから送信されるメッセージ内容をご確認ください。
30004 | メッセージ取りこぼし（受信バッファフル） →メッセージ受信用バッファがフルになったため、送信元ノードからのメッセージ受信ができませんでした。要因としては、イベントに対するアプリケーションの処理に時間が掛かり過ぎる場合が考えられます。なお、メッセージ受信バッファフルの場合は、送信元ノードのメッセージ再送機能により、メッセージの受信が可能です。
30005 | ACK送信バッファフル →送信元ノードに送信するACKデータのバッファがフルになったため、送信元ノードからのメッセージ受信ができませんでした。なお、ACKデータの送信ができない場合は、送信元ノードのメッセージ再送機能により、メッセージの受信が可能です。
40001 | ヘッダタイプ異常（サイクリックデータ） →サイクリック受信用ポート（ポート番号=55000）でFAリンクフレーム以外のフレームを受信しました。他のネットワークのフレームが混在する場合、FL-netの通信性能に悪影響をおよぼす可能性があります。ネットワーク上にFL-net通信に悪影響をおよぼす通信プログラムを混在しないようにしてください。
40002 | ヘッダタイプ異常（メッセージデータ） →メッセージ受信用ポート（ポート番号=55001）でFAリンクフレーム以外のフレームを受信しました。他のネットワークのフレームが混在する場合、FL-netの通信性能に悪影響をおよぼす可能性があります。ネットワーク上にFL-net通信に悪影響をおよぼす通信プログラムを混在しないようにしてください。
40003 | ヘッダタイプ異常（参加要求データ） →参加要求受信用ポート（ポート番号=55002）でFAリンクフレーム以外のフレームを受信しました。他のネットワークのフレームが混在する場合、FL-netの通信性能に悪影響をおよぼす可能性があります。ネットワーク上にFL-net通信に悪影響をおよぼす通信プログラムを混在しないようにしてください。
40004 | トークンモード不一致検知 →ネットワーク上にFAリンクプロトコルVer.1.00版の機器が混在しています。Ver.1.00版とVer.2.00版を同一ネットワーク上に混在することはできません。バージョンを統一してください。
40005 | ヘッダタイプ異常（ コマンドサーバ） →汎用コマンド送受信用ポート（ポート番号=55004）でFAリンクフレーム以外のフレームを受信しました。
50001 | コモンメモリ（アドレス・サイズ）異常 →受信したサイクリックフレームに含まれるヘッダ項目（コモンメモリアドレス・サイズ）が正しくないため、サイクリックデータの書込みに失敗しました。イベントログにて、異常が発生しているノードをご確認ください。
60001 | ACK内容異常 →受信したACKデータの内容が正しくありません。送信先ノードとのメッセージ伝送で同期がとれない理由で発生する可能性があります。3回連続してイベントが発生する場合は、送信先ノードにメッセージ送信が完了できません。イベントログにて、送信先ノードから送信されるACKデータ内容をご確認ください。
60002 | 通番バージョン不一致 →受信したACKデータに含まれる通番バージョンのデータが正しくありません。送信先ノードとのメッセージ伝送で同期がとれない理由で発生する可能性があります。3回連続してイベントが発生する場合は、送信先ノードにメッセージ送信が完了できません。イベントログにて、送信先ノードから送信されるACKデータ内容をご確認ください。
60003 | 通番不一致 →受信したACKデータに含まれる通番データが正しくありません。送信先ノードとのメッセージ伝送で同期がとれない理由で発生する可能性があります。3回連続してイベントが発生する場合は、送信先ノードにメッセージ送信が完了できません。イベントログにて、送信先ノードから送信されるACKデータ内容をご確認ください。
70001 | トークン監視タイムアウト発生 →トークン監視タイムアウト時間内にトークンを受信することができませんでした。コモンメモリ送信領域の大きさに合わせて、対象ノードのトークン監視タイムアウト時間の値を調整（大きく）してください。なお、ノードがリンクから離脱する場合には必ず発生します。
70002 | トークン保持タイムアウト発生 →自ノードのトークン監視タイムアウト時間内にトークンを送信することができませんでした。コモンメモリ送信領域の大きさに合わせて、自ノードのトークン監視タイムアウト時間（ TokenTime プロパティ）の値を調整（大きく）してください。


DLLエラー番号（セキュリティ）

Other.gif (262 バイト) 　DLLエラー番号一覧（セキュリティエラー）

LinkError イベントで通知される Number 引数の値が15（DLLでセキュリティエラー検出）の場合、Param 引数（詳細エラー番号）の値と意味の一覧は以下の通りです。

ｴﾗｰ番号 | 意味および対策
10001 | プロテクトキー接続確認時にエラーを検知しました。 →プロテクトキー用通信ドライバをインストールしてください。
10002 | ①プロテクトキーが接続されていません。プロテクトキー用通信ドライバがインストールされていない場合にも、発生することがあります。 ②ライセンス認証データが不一致です。 →①プロテクトキーの接続を確認してください。プロテクトキー用通信ドライバがインストールされていない場合は、インストールを行ってください。 ②正しいライセンス認証データを登録してください。
10003 | パソコンに接続されているプロテクトキーが正しくありません。 →接続されているプロテクトキーを確認してください。FL-netコントロール専用のプロテクトキーを使用してください。


はじめに

試用版の制限事項

Function.gif (255 バイト) 試用版の制限について

試用版では一部機能制限があります。

・起動後1時間で処理を停止します。
  引き続き試用される場合は、本ソフトウェアを再起動してください。

・自ノードのコモンメモリ送信領域の範囲設定に制限があります。
  領域1は0～15[バイト]の範囲、領域2は0～15[ワード]の範囲のみ設定が可能です。

Function.gif (255 バイト) 再配布について

本ソフトウェアを弊社の許諾なく再配布することを禁じます。

Function.gif (255 バイト) サポートについて

試用版に関するサポートはありません。個別のメールサポートもいたしません。製品に関するお問合せは、弊社営業窓口へお願いします。

Function.gif (255 バイト) 免責事項

本ソフトウェアを使用することにより生じた被害等は一切の保証をいたしません｡また、機能的な不具合に対する対策は行いません。