Table of Contents

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

bool

RequestFrame

フレーム(データ交信電文)の種類を指定します。

public RequestFrame RequestFrame { get; set; }

Property Value

RequestFrame

Route

アクセス経路を指定します。

public IPacketBuilder Route { get; set; }

Property Value

IPacketBuilder

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から読み込んだ値を指定した型T1T2に変換して返します。
wordValues: 16ビット単位で読み込まれた T1型の値の配列
doubleValues: 32ビット単位で読み込まれた T2型の値の配列

Type Parameters

T1

16ビット単位で読み込むデータの型。bool, short, int などの値型を指定します。 unmanaged 制約があるため、参照型は使用できません。

T2

32ビット単位で読み込むデータの型。bool, short, int などの値型を指定します。 unmanaged 制約があるため、参照型は使用できません。

Remarks

モニター登録したデバイスの値を非同期でPLCから読み込みます。
指定された型T1T2に応じて、内部的に読み込むデバイス点数は自動的に調整されます。

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

Task

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から読み込んだ値を指定した型T1T2に変換して返します。
wordValues: 16ビット単位で読み込まれた T1型の値の配列
doubleValues: 32ビット単位で読み込まれた T2型の値の配列

Type Parameters

T1

16ビット単位で読み込むデータの型。bool, short, int などの値型を指定します。 unmanaged 制約があるため、参照型は使用できません。

T2

32ビット単位で読み込むデータの型。bool, short, int などの値型を指定します。 unmanaged 制約があるため、参照型は使用できません。

Remarks

モニター登録したデバイスの値をPLCから読み込みます。
指定された型T1T2に応じて、内部的に読み込むデバイス点数は自動的に調整されます。

Exceptions

ArgumentException

モニター登録のデバイス範囲を超過した場合に例外をスローします。

RecivePacketException

受信したパケットの内容が不正な値の場合に例外をスローします。

McProtocolException

PLCからエラーコードを受信した場合に例外をスローします。