ドライバー

ドライバーとは何か、有効化と無効化、機器に固定されるドライバー、この製品が知っているすべてのドライバーの表、各ドライバーのページが説明する内容、そしてパッケージが持たないドライバーについての注意。

Markdown で表示

ドライバーは、ステーションがある種類の設備と話すときに使うプロトコルです。TCP 越しの Modbus レジスター、OPC UA サーバー、Siemens の PLC などです。Connector のページのすべての機器は、ちょうど 1 つのドライバーに属し、そのドライバーが、機器がどの接続の項目を見せるか、タグのアドレスをどう書くか、どのデータ型を持てるか、書き込めるかどうか、ドライバーが設備を探せるかどうか、そしてステーションが読みに行くのか設備が送ってくるのかを決めます。このグループにはドライバーごとに 1 ページずつあり、このページはそれらに共通するものです。

ドライバーの一覧

ドライバーの顔ぶれは決まっています。アプリケーションに同梱されており、ページから増やすことはできません。「通信」欄の一番上のドライバーの行が、この導入が持つものを、説明、機器の台数、稼働状態、有効化と無効化の組とともに並べます。この表とその規則はドライバーの一覧とドライバーのページにあります。

ドライバーは有効な状態で同梱されます。無効にしても、そのグループをツリーから隠すだけです。しかもドライバーがまだ機器(Modbus RTU ではシリアル回線)を持っているあいだは拒否されるので、設定済みの機器が視界から消えることは決してありません。有効にすると、ツリーの「機器のないドライバー」の行の下に空のグループが加わります。ドライバーに機器を追加すると、そのドライバーは自動的に有効になります。有効なドライバーの組は構成とともに保存され、バックアップと一緒に運ばれます。

機器のドライバーは固定です

ドライバーは、機器を作るときに選びます。欄の新規…のメニューは、その機器がどのドライバーの下に置かれるかを名指ししますし、ドライバーのページの機器を追加は、そのドライバーの下に作ります。そのあとは、「機器」のカードがドライバーを読み取り専用の文字として見せます。機器を別のプロトコルに移すには、もう一方のドライバーの下に新しい機器を作り、古いほうを削除してください。アドレスが変わるので、参照は各タグの「使っている場所」のカードから新しいタグへ向け直す必要があります。

すべてのドライバー

ドライバー 話す相手
Simulated ハードウェアなしで試すための、アプリ内の合成信号。
Modbus TCP TCP/IP 越しの Modbus レジスター。既定のポートは 502。
Modbus RTU シリアル回線(RS-485/232)越しの Modbus レジスター。
OPC UA opc.tcp 越しの OPC Unified Architecture のクライアント。
Siemens S7 S7comm のドライバー越しの Siemens S7 の PLC。
Rockwell EtherNet/IP EtherNet/IP(CIP)越しの Allen-Bradley / Rockwell の PLC。
Beckhoff ADS ADS/AMS 越しの Beckhoff TwinCAT の PLC。
Mitsubishi MC MELSEC MC のドライバー越しの Mitsubishi の PLC。
BACnet BACnet/IP のビル自動化機器。
IEC 61850 MMS 越しの IEC 61850 の変電所 IED。配布パッケージには含まれません(下記)。
OCPP OCPP 越しの EV の充電ポイント(充電ポイントの側からこのステーションに接続します)。
Redfish サーバーやデータセンターのハードウェア向けの Redfish REST API。
Matter Matter のスマートホーム機器(Bluetooth でのコミッショニング)。
LoRaWAN 内蔵の Basics Station のネットワークサーバー経由の LoRaWAN のセンサー。
AVEVA PI PI Web API 経由の AVEVA PI System の点。既定では HTTPS を使います。
HTTP タグとして読みに行く、汎用の HTTP/JSON のエンドポイント。

一覧は OPC DA(COM/DCOM 越しの従来の OPC Data Access)も知っていますが、この製品にはそれを提供するドライバーがありません。決して並ばず、有効にもならず、機器も取りません。

ドライバーに共通するもの、違うもの

Connector はどのドライバーにも 1 つの編集画面を描き、どの部分を出すかはドライバーに決めさせます。この表は、ドライバーのページを開く前に何を予想すればよいかを伝えます。

ドライバー 機器のページの接続の項目 タグのアドレス指定 読み出し周期 タグの書き込み 機器検出
Simulated なし タグの名前と、信号の形 あり あり あり(カタログ)
Modbus TCP ホスト、ポート、ユニット ID、通信の最小間隔 型付き:レジスターの種類と番号 あり あり あり(ホストまたは CIDR のスキャン)
Modbus RTU シリアル回線(固定)、ユニット ID 型付き:レジスターの種類と番号 あり あり あり(回線上のユニット ID の探索)
OPC UA ホスト、ポート、リソースのパス、ユーザー名、パスワード 自由記述:ノード ID あり あり あり(サーバーのアドレス)
Siemens S7 ホスト、ラック / スロット 型付き:エリア、DB、バイト、ビット あり あり なし
Rockwell EtherNet/IP ホスト、スロット 自由記述:コントローラータグと、オフセット あり あり あり(同報)
Beckhoff ADS ホスト、ポート、ローカル IP(AMS) 自由記述:シンボル あり あり なし
Mitsubishi MC ホスト、ポート 自由記述:デバイスアドレス 固定 1 秒 あり なし
BACnet ホスト、ポート、機器 ID 型付き:オブジェクトの型とインスタンス 固定 1 秒 あり あり(Who-Is)
IEC 61850 ホスト、ポート 自由記述:MMS パス 固定 1 秒 あり なし
OCPP 識別子 型付き:充電コネクターの番号。タグの名前は Meter か Status で終わります 充電ポイントが送ってきます なし(読み取り専用) あり(接続中の充電ポイント)
Redfish ホスト、ユーザー名、パスワード 自由記述:リソースのパスと、JSON ポインター あり あり なし
Matter ノード ID(読み取り専用) タグの名前がクラスターです あり なし(読み取り専用) あり(参加処理済みのノード)
LoRaWAN 識別子(DevEUI)、サーバー / キー(アプリケーションキー) 型付き:チャネルまたはオフセット、LPP の型 センサーが送ってきます なし(読み取り専用) なし
AVEVA PI ホスト、ポート、リソースのパス、通信方式、ユーザー名、パスワード、ベアラートークン 自由記述:PI パス あり あり なし
HTTP ホスト、ポート、リソースのパス 自由記述:パス あり あり なし

どのドライバーも、タグが出すデータ型の一覧を、そのドライバーが実際に扱えるものに絞ります。正確な一覧はそれぞれのドライバーのページにあります。表が「固定 1 秒」と書いているところでは、ドライバーが設定した周期を無視するので、機器とタグのページは読み出し周期の項目を隠します。「読み取り専用」と書いているところでは、アクセスの項目が読み取りのみだけを出し、書き込みの入力欄は決して現れません。

各ドライバーのページが説明すること

どのドライバーのページも、同じ節を同じ順で歩きます。「機器」のカードが見せる接続の項目と、それが基準 URI をどう組み立てるか。タグのアドレスの書き方(型付きの項目か自由記述の字句と、パネルが見せる読み取り専用のバス上のアドレス)。出るデータ型。ドライバーが持つときは機器検出。書き込みを受けるときは書き込み。そしてそのドライバー独自の事情(資格情報、証明書、タイミング、ステーションが動かすネットワークサーバー、ペアリング)です。

パッケージが持たないドライバー

IEC 61850 のドライバーは、開発用の導入ではビルドされて動きますが、配布パッケージには入りません。そのプロトコルのライブラリのライセンスが、インストーラーの中に同梱して配ることを認めていないからです。Connector は、動いているパッケージが持たないドライバーを決して並べず、有効にもしません。それでもそういう機器を連れて届いた構成(復元したバックアップ、別の機械から来た構成)は、その機器を保ちます。ドライバーの行は、その機器がある限り並んだままで、説明には「このパッケージにドライバーが含まれていません。」と出て、ドライバーのページとその下のすべての機器に、同じことを伝える通知バーが付きます。それらの機器はオフラインのままで設定を保ち、削除はできますが複製はできず、そのドライバーの下で新しい機器や機器検出のスキャンを始めることもできません。行を有効にしようとすると「「IEC 61850」を有効にできませんでした:このパッケージにドライバーが含まれていません。」と拒否されます。

パッケージがどのドライバーを持つかは、内蔵サーバーのプラグインの一覧から読み取られ、その一覧はサーバーが起動して初めて存在します。それまではすべてのドライバーが存在するものとして数えられるので、ドライバーの一覧は起動の数秒後に確定し、そのセッションのあいだはそのままです。サーバーを止めてまた起動しても変わりません。

ドライバーのコードは、アプリケーションが動いているあいだ一度だけ読み込まれます。通信を止めて始め直すと、動いている機器とドライバーの一覧は、その同じ読み込みから組み立て直されます。これが、1 日じゅう再起動を繰り返してもステーションのメモリーが増えていかない理由です。その裏返しとして、ディスク上のドライバーのファイルそのものを入れ替えたときは、アプリケーション自体を再起動して初めて効きます。