自分のI / Oをリンクする
この機能により、ローカルI / Oをコントローラーに接続し、IECアプリケーションから使用できます。
デバイスの説明を編集する
提供されているサンプル UDSIoDrvExample.project
では、2 つの入力と出力がデバイス記述と一緒に作成されています。入力と出力はUnixドメイン・ソケットを介してリンクされています。このサンプルは、 CODESYS 子目录 CODESYS Control SL Extension Package\<version>\Examples\ExternalIoDrv
.

独自の入力と出力を定義するには、デバイス記述ファイル SocketUnixIOTemplate.devdesc.xml
適応させる必要があります。 XML parameter
要素は、入力と出力のそれぞれに対して定義する必要があります。 ParameterId
ここでは、デバイス記述ファイル内で一意である必要があります。ギャップなしで昇順で番号を付けることをお勧めします。例:1000 1001 1002など:入力には1000から、出力には2000から番号を付けます。
注記
デバイスの説明を変更した場合は、プロジェクトで使用できるようにデバイスリポジトリに再インストールする必要があります。
<Parameter ParameterId="1000" type="std:DWORD"> <Attributes channel="input"/> <Default/> <Name name="local:in1">/Namne> </Parameter>
名前 | 説明 |
---|---|
ParameterId | 入力または出力が呼び出される一意のID |
タイプ | 入力または出力の幅の定義。これは、次のような適切に広いデータ型を指定することによって行われます。 |
属性チャネル |
|
名前名前 | それぞれの入力または出力の名前 |
さらに、デバイスIDを割り当てる必要があります。これは、 <DeviceIdentification>
。0x00018000〜0x0001 80FFの範囲は、既存のデバイスとの衝突を回避するためにこの目的のために提供されています。
重要
モジュールの順序は固定されていないため、デバイスの説明と基盤となるI / Oドライバを1つのPLCで複数回インスタンス化しないでください。これにより、I / Oドライバーが割り当てを保証できなくなる可能性があります。
Pythonの例
Pythonの例では uds_io_driver.py
、出力が受信され、デバイスの入力が書き込まれます。入力パラメータ(IEC出力)は、文字列のタプルとして渡されます(paramType
、 paramValue
)デバイス記述のパラメータIDをインデックスとして使用します。
ドライバーはデータ型を処理できます USINT
、 UINT
、 UDINT
、 と ULINT
。他のデータ型は、適切なデータ型にキャストする必要があります。
例: ('2000': ('UDINT', '11'), '2001': ('UDINT', '22')}
。出力パラメータは同じ形式です。
ピアの場合も、「出力」/出力パラメータは、それでもIECアプリケーションによって「外部」に転送される出力値です(たとえば、実際のGPIOに書き出されます)。 The UDS_IODriver_0
例で実装されたクラスは、 ExternalFunctionBase
class。クラスの名前はから派生しています UDS_IODriver_
昇順でインスタンスインデックスが続きます。 Call()
IECのメカニズムから呼び出される機能が必要です。ここでIEC出力を評価し、IEC入力を転送することができます。
Linuxのメンバーとしてのみインターフェースを使用する | はい |
プロセス分離 | はい |