Class Mcp
- Namespace
- McpXLib
- Assembly
- McpXLib.dll
MCプロトコル実装クラス(コマンド追加以外は、McpXクラスを使用してください。)
public class Mcp : BasePlc, IDisposable, IPlc
- Inheritance
-
Mcp
- Implements
- Derived
- Inherited Members
Properties
IsAscii
ASCIIコードによる交信を行う場合にtrue
を指定します。
public bool IsAscii { get; set; }
Property Value
RequestFrame
フレーム(データ交信電文)の種類を指定します。
public RequestFrame RequestFrame { get; set; }
Property Value
Route
アクセス経路を指定します。
public IPacketBuilder Route { get; set; }
Property Value
Methods
MonitorAsync<T1, T2>((Prefix, string)[], (Prefix, string)[])
デバイスモニター(非同期)
public Task<(T1[] wordValues, T2[] doubleValues)> MonitorAsync<T1, T2>((Prefix, string)[] wordAddresses, (Prefix, string)[] doubleWordAddresses) where T1 : unmanaged where T2 : unmanaged
Parameters
wordAddresses
(Prefix, string)[]16ビット単位でモニターするデバイスアドレスの配列を指定します。
・prefix
:モニター対象のデバイスコードを指定します。
・address
:モニター対象のアドレスを指定します。doubleWordAddresses
(Prefix, string)[]32ビット単位でモニターするデバイスの配列を指定します。
・prefix
:モニター対象のデバイスコードを指定します。
・address
:モニター対象のアドレスを指定します。
Returns
- Task<(T1[] wordValues, T2[] doubleValues)>
PLCから読み込んだ値を指定した型
T1
、T2
に変換して返します。
・wordValues
: 16ビット単位で読み込まれたT1
型の値の配列
・doubleValues
: 32ビット単位で読み込まれたT2
型の値の配列
Type Parameters
T1
16ビット単位で読み込むデータの型。bool, short, int などの値型を指定します。
unmanaged
制約があるため、参照型は使用できません。T2
32ビット単位で読み込むデータの型。bool, short, int などの値型を指定します。
unmanaged
制約があるため、参照型は使用できません。
Remarks
モニター登録したデバイスの値を非同期でPLCから読み込みます。
指定された型T1
、T2
に応じて、内部的に読み込むデバイス点数は自動的に調整されます。
Exceptions
- ArgumentException
モニター登録のデバイス範囲を超過した場合に例外をスローします。
- RecivePacketException
受信したパケットの内容が不正な値の場合に例外をスローします。
- McProtocolException
PLCからエラーコードを受信した場合に例外をスローします。
MonitorRegist((Prefix, string)[], (Prefix, string)[])
デバイスモニター登録
public void MonitorRegist((Prefix, string)[] wordAddresses, (Prefix, string)[] doubleWordAddresses)
Parameters
wordAddresses
(Prefix, string)[]16ビット単位でモニターするデバイスアドレスの配列を指定します。
・prefix
:モニター対象のデバイスコードを指定します。
・address
:モニター対象のアドレスを指定します。doubleWordAddresses
(Prefix, string)[]32ビット単位でモニターするデバイスの配列を指定します。
・prefix
:モニター対象のデバイスコードを指定します。
・address
:モニター対象のアドレスを指定します。
Remarks
モニターするデバイスをPLCに登録します。
Exceptions
- DeviceAddressException
指定したアドレスが不正の場合に例外をスローします。
- ArgumentException
モニター登録のデバイス範囲を超過した場合に例外をスローします。
- RecivePacketException
受信したパケットの内容が不正な値の場合に例外をスローします。
- McProtocolException
PLCからエラーコードを受信した場合に例外をスローします。
MonitorRegistAsync((Prefix, string)[], (Prefix, string)[])
デバイスモニター登録(非同期)
public Task MonitorRegistAsync((Prefix, string)[] wordAddresses, (Prefix, string)[] doubleWordAddresses)
Parameters
wordAddresses
(Prefix, string)[]16ビット単位でモニターするデバイスアドレスの配列を指定します。
・prefix
:モニター対象のデバイスコードを指定します。
・address
:モニター対象のアドレスを指定します。doubleWordAddresses
(Prefix, string)[]32ビット単位でモニターするデバイスの配列を指定します。
・prefix
:モニター対象のデバイスコードを指定します。
・address
:モニター対象のアドレスを指定します。
Returns
Remarks
モニターするデバイスを非同期でPLCに登録します。
Exceptions
- DeviceAddressException
指定したアドレスが不正の場合に例外をスローします。
- ArgumentException
モニター登録のデバイス範囲を超過した場合に例外をスローします。
- RecivePacketException
受信したパケットの内容が不正な値の場合に例外をスローします。
- McProtocolException
PLCからエラーコードを受信した場合に例外をスローします。
Monitor<T1, T2>((Prefix, string)[], (Prefix, string)[])
デバイスモニター
public (T1[] wordValues, T2[] doubleValues) Monitor<T1, T2>((Prefix, string)[] wordAddresses, (Prefix, string)[] doubleWordAddresses) where T1 : unmanaged where T2 : unmanaged
Parameters
wordAddresses
(Prefix, string)[]16ビット単位でモニターするデバイスアドレスの配列を指定します。
・prefix
:モニター対象のデバイスコードを指定します。
・address
:モニター対象のアドレスを指定します。doubleWordAddresses
(Prefix, string)[]32ビット単位でモニターするデバイスの配列を指定します。
・prefix
:モニター対象のデバイスコードを指定します。
・address
:モニター対象のアドレスを指定します。
Returns
- (T1[] wordValues, T2[] doubleValues)
PLCから読み込んだ値を指定した型
T1
、T2
に変換して返します。
・wordValues
: 16ビット単位で読み込まれたT1
型の値の配列
・doubleValues
: 32ビット単位で読み込まれたT2
型の値の配列
Type Parameters
T1
16ビット単位で読み込むデータの型。bool, short, int などの値型を指定します。
unmanaged
制約があるため、参照型は使用できません。T2
32ビット単位で読み込むデータの型。bool, short, int などの値型を指定します。
unmanaged
制約があるため、参照型は使用できません。
Remarks
モニター登録したデバイスの値をPLCから読み込みます。
指定された型T1
、T2
に応じて、内部的に読み込むデバイス点数は自動的に調整されます。
Exceptions
- ArgumentException
モニター登録のデバイス範囲を超過した場合に例外をスローします。
- RecivePacketException
受信したパケットの内容が不正な値の場合に例外をスローします。
- McProtocolException
PLCからエラーコードを受信した場合に例外をスローします。