Table of Contents

Class McpX

Namespace
McpXLib
Assembly
McpXLib.dll

MCプロトコル拡張クラス

public class McpX : Mcp, IDisposable, IPlc
Inheritance
McpX
Implements
Inherited Members

Remarks

Mcpクラス(MCプロトコル)を拡張して、デバイスアクセス点数などの機能制限を補うクラスです。

Constructors

McpX(string, int, string?, bool, bool, RequestFrame)

インスタンス初期化

public McpX(string ip, int port, string? password = null, bool isAscii = false, bool isUdp = false, RequestFrame requestFrame = RequestFrame.E3)

Parameters

ip string

PLCのIPアドレスを指定します。

port int

PLCのポートを指定します。

password string

PLCのリモートパスワードを指定します。(リモートパスワードを設定している場合に指定してください。)

isAscii bool

ASCIIコードによる交信を行う場合にtrueを指定します。(デフォルトは、バイナリ交信:falseです。)

isUdp bool

UDPによる交信を行う場合にtrueを指定します。(デフォルトは、TCP交信:falseです。)

requestFrame RequestFrame

フレーム(データ交信電文)の種類を指定します。(デフォルトは、3Eフレーム:RequestFrame.E3です。)

Remarks

PLCのパラメータ設定に合わせたPLCの接続情報を指定します。
必要に応じて、リモートロックの解除を行います。

Exceptions

RecivePacketException

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

McProtocolException

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

Methods

BatchReadAsync<T>(Prefix, string, ushort)

連続デバイス読み込み(非同期)

public Task<T[]> BatchReadAsync<T>(Prefix prefix, string address, ushort length) where T : unmanaged

Parameters

prefix Prefix

読み込み対象の先頭デバイスコードを指定します。

address string

読み込み対象の先頭アドレスを指定します。

length ushort

読み込み対象の要素数を指定します。
指定された型Tに応じて、内部的に読み込むデバイス点数は自動的に調整されます。
そのため、この引数には「最終的に取得する配列の要素数(T型の要素数)」を指定してください。

Returns

Task<T[]>

PLCから読み込んだ値を指定された型Tに変換して返します。

Type Parameters

T

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

Remarks

指定したデバイス範囲の値を非同期でPLCから読み込みます。

Exceptions

DeviceAddressException

指定したアドレスが不正の場合に例外をスローします。

RecivePacketException

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

McProtocolException

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

BatchReadBool(Prefix, string, ushort)

public bool[] BatchReadBool(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

bool[]

BatchReadBoolAsync(Prefix, string, ushort)

public Task<bool[]> BatchReadBoolAsync(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

Task<bool[]>

BatchReadByte(Prefix, string, ushort)

public byte[] BatchReadByte(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

byte[]

BatchReadByteAsync(Prefix, string, ushort)

public Task<byte[]> BatchReadByteAsync(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

Task<byte[]>

BatchReadDouble(Prefix, string, ushort)

public double[] BatchReadDouble(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

double[]

BatchReadDoubleAsync(Prefix, string, ushort)

public Task<double[]> BatchReadDoubleAsync(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

Task<double[]>

BatchReadInt16(Prefix, string, ushort)

public short[] BatchReadInt16(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

short[]

BatchReadInt16Async(Prefix, string, ushort)

public Task<short[]> BatchReadInt16Async(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

Task<short[]>

BatchReadInt32(Prefix, string, ushort)

public int[] BatchReadInt32(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

int[]

BatchReadInt32Async(Prefix, string, ushort)

public Task<int[]> BatchReadInt32Async(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

Task<int[]>

BatchReadInt64(Prefix, string, ushort)

public long[] BatchReadInt64(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

long[]

BatchReadInt64Async(Prefix, string, ushort)

public Task<long[]> BatchReadInt64Async(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

Task<long[]>

BatchReadSByte(Prefix, string, ushort)

public sbyte[] BatchReadSByte(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

sbyte[]

BatchReadSByteAsync(Prefix, string, ushort)

public Task<sbyte[]> BatchReadSByteAsync(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

Task<sbyte[]>

BatchReadSingle(Prefix, string, ushort)

public float[] BatchReadSingle(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

float[]

BatchReadSingleAsync(Prefix, string, ushort)

public Task<float[]> BatchReadSingleAsync(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

Task<float[]>

BatchReadUInt16(Prefix, string, ushort)

public ushort[] BatchReadUInt16(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

ushort[]

BatchReadUInt16Async(Prefix, string, ushort)

public Task<ushort[]> BatchReadUInt16Async(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

Task<ushort[]>

BatchReadUInt32(Prefix, string, ushort)

public uint[] BatchReadUInt32(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

uint[]

BatchReadUInt32Async(Prefix, string, ushort)

public Task<uint[]> BatchReadUInt32Async(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

Task<uint[]>

BatchReadUInt64(Prefix, string, ushort)

public ulong[] BatchReadUInt64(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

ulong[]

BatchReadUInt64Async(Prefix, string, ushort)

public Task<ulong[]> BatchReadUInt64Async(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix
address string
length ushort

Returns

Task<ulong[]>

BatchRead<T>(Prefix, string, ushort)

連続デバイス読み込み

public T[] BatchRead<T>(Prefix prefix, string address, ushort length) where T : unmanaged

Parameters

prefix Prefix

読み込み対象の先頭デバイスコードを指定します。

address string

読み込み対象の先頭アドレスを指定します。

length ushort

読み込み対象の要素数を指定します。
指定された型Tに応じて、内部的に読み込むデバイス点数は自動的に調整されます。
そのため、この引数には「最終的に取得する配列の要素数(T型の要素数)」を指定してください。

Returns

T[]

PLCから読み込んだ値を指定された型Tに変換して返します。

Type Parameters

T

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

Remarks

指定したデバイス範囲の値をPLCから読み込みます。

Exceptions

DeviceAddressException

指定したアドレスが不正の場合に例外をスローします。

RecivePacketException

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

McProtocolException

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

BatchWriteAsync<T>(Prefix, string, T[])

連続デバイス書き込み(非同期)

public Task<T[]> BatchWriteAsync<T>(Prefix prefix, string address, T[] values) where T : unmanaged

Parameters

prefix Prefix

書き込み対象の先頭デバイスコードを指定します。

address string

書き込み対象の先頭アドレスを指定します。

values T[]

書き込みする値を配列で指定します。

Returns

Task<T[]>

valuesの値をそのまま返します。

Type Parameters

T

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

Remarks

指定したデバイス範囲に値を非同期でPLCへ書き込みます。
指定された型Tに応じて、内部的に書き込むデバイス点数は自動的に調整されます。

Exceptions

DeviceAddressException

指定したアドレスが不正の場合に例外をスローします。

RecivePacketException

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

McProtocolException

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

BatchWriteBool(Prefix, string, bool[])

public bool[] BatchWriteBool(Prefix prefix, string address, bool[] values)

Parameters

prefix Prefix
address string
values bool[]

Returns

bool[]

BatchWriteBoolAsync(Prefix, string, bool[])

public Task<bool[]> BatchWriteBoolAsync(Prefix prefix, string address, bool[] values)

Parameters

prefix Prefix
address string
values bool[]

Returns

Task<bool[]>

BatchWriteByte(Prefix, string, byte[])

public byte[] BatchWriteByte(Prefix prefix, string address, byte[] values)

Parameters

prefix Prefix
address string
values byte[]

Returns

byte[]

BatchWriteByteAsync(Prefix, string, byte[])

public Task<byte[]> BatchWriteByteAsync(Prefix prefix, string address, byte[] values)

Parameters

prefix Prefix
address string
values byte[]

Returns

Task<byte[]>

BatchWriteDouble(Prefix, string, double[])

public double[] BatchWriteDouble(Prefix prefix, string address, double[] values)

Parameters

prefix Prefix
address string
values double[]

Returns

double[]

BatchWriteDoubleAsync(Prefix, string, double[])

public Task<double[]> BatchWriteDoubleAsync(Prefix prefix, string address, double[] values)

Parameters

prefix Prefix
address string
values double[]

Returns

Task<double[]>

BatchWriteInt16(Prefix, string, short[])

public short[] BatchWriteInt16(Prefix prefix, string address, short[] values)

Parameters

prefix Prefix
address string
values short[]

Returns

short[]

BatchWriteInt16Async(Prefix, string, short[])

public Task<short[]> BatchWriteInt16Async(Prefix prefix, string address, short[] values)

Parameters

prefix Prefix
address string
values short[]

Returns

Task<short[]>

BatchWriteInt32(Prefix, string, int[])

public int[] BatchWriteInt32(Prefix prefix, string address, int[] values)

Parameters

prefix Prefix
address string
values int[]

Returns

int[]

BatchWriteInt32Async(Prefix, string, int[])

public Task<int[]> BatchWriteInt32Async(Prefix prefix, string address, int[] values)

Parameters

prefix Prefix
address string
values int[]

Returns

Task<int[]>

BatchWriteInt64(Prefix, string, long[])

public long[] BatchWriteInt64(Prefix prefix, string address, long[] values)

Parameters

prefix Prefix
address string
values long[]

Returns

long[]

BatchWriteInt64Async(Prefix, string, long[])

public Task<long[]> BatchWriteInt64Async(Prefix prefix, string address, long[] values)

Parameters

prefix Prefix
address string
values long[]

Returns

Task<long[]>

BatchWriteSByte(Prefix, string, sbyte[])

public sbyte[] BatchWriteSByte(Prefix prefix, string address, sbyte[] values)

Parameters

prefix Prefix
address string
values sbyte[]

Returns

sbyte[]

BatchWriteSByteAsync(Prefix, string, sbyte[])

public Task<sbyte[]> BatchWriteSByteAsync(Prefix prefix, string address, sbyte[] values)

Parameters

prefix Prefix
address string
values sbyte[]

Returns

Task<sbyte[]>

BatchWriteSingle(Prefix, string, float[])

public float[] BatchWriteSingle(Prefix prefix, string address, float[] values)

Parameters

prefix Prefix
address string
values float[]

Returns

float[]

BatchWriteSingleAsync(Prefix, string, float[])

public Task<float[]> BatchWriteSingleAsync(Prefix prefix, string address, float[] values)

Parameters

prefix Prefix
address string
values float[]

Returns

Task<float[]>

BatchWriteUInt16(Prefix, string, ushort[])

public ushort[] BatchWriteUInt16(Prefix prefix, string address, ushort[] values)

Parameters

prefix Prefix
address string
values ushort[]

Returns

ushort[]

BatchWriteUInt16Async(Prefix, string, ushort[])

public Task<ushort[]> BatchWriteUInt16Async(Prefix prefix, string address, ushort[] values)

Parameters

prefix Prefix
address string
values ushort[]

Returns

Task<ushort[]>

BatchWriteUInt32(Prefix, string, uint[])

public uint[] BatchWriteUInt32(Prefix prefix, string address, uint[] values)

Parameters

prefix Prefix
address string
values uint[]

Returns

uint[]

BatchWriteUInt32Async(Prefix, string, uint[])

public Task<uint[]> BatchWriteUInt32Async(Prefix prefix, string address, uint[] values)

Parameters

prefix Prefix
address string
values uint[]

Returns

Task<uint[]>

BatchWriteUInt64(Prefix, string, ulong[])

public ulong[] BatchWriteUInt64(Prefix prefix, string address, ulong[] values)

Parameters

prefix Prefix
address string
values ulong[]

Returns

ulong[]

BatchWriteUInt64Async(Prefix, string, ulong[])

public Task<ulong[]> BatchWriteUInt64Async(Prefix prefix, string address, ulong[] values)

Parameters

prefix Prefix
address string
values ulong[]

Returns

Task<ulong[]>

BatchWrite<T>(Prefix, string, T[])

連続デバイス書き込み

public T[] BatchWrite<T>(Prefix prefix, string address, T[] values) where T : unmanaged

Parameters

prefix Prefix

書き込み対象の先頭デバイスコードを指定します。

address string

書き込み対象の先頭アドレスを指定します。

values T[]

書き込みする値を配列で指定します。

Returns

T[]

valuesの値をそのまま返します。

Type Parameters

T

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

Remarks

指定したデバイス範囲に値をPLCへ書き込みます。
指定された型Tに応じて、内部的に書き込むデバイス点数は自動的に調整されます。

Exceptions

DeviceAddressException

指定したアドレスが不正の場合に例外をスローします。

RecivePacketException

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

McProtocolException

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

Dispose()

インスタンス破棄

public override void Dispose()

Remarks

使用済みのリソースを解放し、必要に応じてPLCのリモートロックを実行します。

RandomReadAsync<T1, T2>((Prefix prefix, string address)[], (Prefix prefix, string address)[])

ランダムデバイス読み込み(非同期)

public Task<(T1[] wordValues, T2[] doubleValues)> RandomReadAsync<T1, T2>((Prefix prefix, string address)[] wordAddresses, (Prefix prefix, string address)[] 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

DeviceAddressException

指定したアドレスが不正の場合に例外をスローします。

RecivePacketException

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

McProtocolException

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

RandomReadInt16Int32((Prefix prefix, string address)[], (Prefix prefix, string address)[])

public (short[] wordValues, int[] doubleValues) RandomReadInt16Int32((Prefix prefix, string address)[] wordAddresses, (Prefix prefix, string address)[] doubleWordAddresses)

Parameters

wordAddresses (Prefix, string)[]
doubleWordAddresses (Prefix, string)[]

Returns

(short[] wordValues, int[] doubleValues)

RandomReadInt16Int32Async((Prefix prefix, string address)[], (Prefix prefix, string address)[])

public Task<(short[] wordValues, int[] doubleValues)> RandomReadInt16Int32Async((Prefix prefix, string address)[] wordAddresses, (Prefix prefix, string address)[] doubleWordAddresses)

Parameters

wordAddresses (Prefix, string)[]
doubleWordAddresses (Prefix, string)[]

Returns

Task<(short[] wordValues, int[] doubleValues)>

RandomReadInt16Single((Prefix prefix, string address)[], (Prefix prefix, string address)[])

public (short[] wordValues, float[] doubleValues) RandomReadInt16Single((Prefix prefix, string address)[] wordAddresses, (Prefix prefix, string address)[] doubleWordAddresses)

Parameters

wordAddresses (Prefix, string)[]
doubleWordAddresses (Prefix, string)[]

Returns

(short[] wordValues, float[] doubleValues)

RandomReadInt16SingleAsync((Prefix prefix, string address)[], (Prefix prefix, string address)[])

public Task<(short[] wordValues, float[] doubleValues)> RandomReadInt16SingleAsync((Prefix prefix, string address)[] wordAddresses, (Prefix prefix, string address)[] doubleWordAddresses)

Parameters

wordAddresses (Prefix, string)[]
doubleWordAddresses (Prefix, string)[]

Returns

Task<(short[] wordValues, float[] doubleValues)>

RandomReadInt16UInt32((Prefix prefix, string address)[], (Prefix prefix, string address)[])

public (short[] wordValues, uint[] doubleValues) RandomReadInt16UInt32((Prefix prefix, string address)[] wordAddresses, (Prefix prefix, string address)[] doubleWordAddresses)

Parameters

wordAddresses (Prefix, string)[]
doubleWordAddresses (Prefix, string)[]

Returns

(short[] wordValues, uint[] doubleValues)

RandomReadInt16UInt32Async((Prefix prefix, string address)[], (Prefix prefix, string address)[])

public Task<(short[] wordValues, uint[] doubleValues)> RandomReadInt16UInt32Async((Prefix prefix, string address)[] wordAddresses, (Prefix prefix, string address)[] doubleWordAddresses)

Parameters

wordAddresses (Prefix, string)[]
doubleWordAddresses (Prefix, string)[]

Returns

Task<(short[] wordValues, uint[] doubleValues)>

RandomReadUInt16Int32((Prefix prefix, string address)[], (Prefix prefix, string address)[])

public (ushort[] wordValues, int[] doubleValues) RandomReadUInt16Int32((Prefix prefix, string address)[] wordAddresses, (Prefix prefix, string address)[] doubleWordAddresses)

Parameters

wordAddresses (Prefix, string)[]
doubleWordAddresses (Prefix, string)[]

Returns

(ushort[] wordValues, int[] doubleValues)

RandomReadUInt16Int32Async((Prefix prefix, string address)[], (Prefix prefix, string address)[])

public Task<(ushort[] wordValues, int[] doubleValues)> RandomReadUInt16Int32Async((Prefix prefix, string address)[] wordAddresses, (Prefix prefix, string address)[] doubleWordAddresses)

Parameters

wordAddresses (Prefix, string)[]
doubleWordAddresses (Prefix, string)[]

Returns

Task<(ushort[] wordValues, int[] doubleValues)>

RandomReadUInt16Single((Prefix prefix, string address)[], (Prefix prefix, string address)[])

public (ushort[] wordValues, float[] doubleValues) RandomReadUInt16Single((Prefix prefix, string address)[] wordAddresses, (Prefix prefix, string address)[] doubleWordAddresses)

Parameters

wordAddresses (Prefix, string)[]
doubleWordAddresses (Prefix, string)[]

Returns

(ushort[] wordValues, float[] doubleValues)

RandomReadUInt16SingleAsync((Prefix prefix, string address)[], (Prefix prefix, string address)[])

public Task<(ushort[] wordValues, float[] doubleValues)> RandomReadUInt16SingleAsync((Prefix prefix, string address)[] wordAddresses, (Prefix prefix, string address)[] doubleWordAddresses)

Parameters

wordAddresses (Prefix, string)[]
doubleWordAddresses (Prefix, string)[]

Returns

Task<(ushort[] wordValues, float[] doubleValues)>

RandomReadUInt16UInt32((Prefix prefix, string address)[], (Prefix prefix, string address)[])

public (ushort[] wordValues, uint[] doubleValues) RandomReadUInt16UInt32((Prefix prefix, string address)[] wordAddresses, (Prefix prefix, string address)[] doubleWordAddresses)

Parameters

wordAddresses (Prefix, string)[]
doubleWordAddresses (Prefix, string)[]

Returns

(ushort[] wordValues, uint[] doubleValues)

RandomReadUInt16UInt32Async((Prefix prefix, string address)[], (Prefix prefix, string address)[])

public Task<(ushort[] wordValues, uint[] doubleValues)> RandomReadUInt16UInt32Async((Prefix prefix, string address)[] wordAddresses, (Prefix prefix, string address)[] doubleWordAddresses)

Parameters

wordAddresses (Prefix, string)[]
doubleWordAddresses (Prefix, string)[]

Returns

Task<(ushort[] wordValues, uint[] doubleValues)>

RandomRead<T1, T2>((Prefix prefix, string address)[], (Prefix prefix, string address)[])

ランダムデバイス読み込み

public (T1[] wordValues, T2[] doubleValues) RandomRead<T1, T2>((Prefix prefix, string address)[] wordAddresses, (Prefix prefix, string address)[] 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

DeviceAddressException

指定したアドレスが不正の場合に例外をスローします。

RecivePacketException

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

McProtocolException

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

RandomWriteAsync<T1, T2>((Prefix prefix, string address, T1 value)[], (Prefix prefix, string address, T2 value)[])

ランダムデバイス書き込み(非同期)

public Task RandomWriteAsync<T1, T2>((Prefix prefix, string address, T1 value)[] wordDevices, (Prefix prefix, string address, T2 value)[] doubleWordDevices) where T1 : unmanaged where T2 : unmanaged

Parameters

wordDevices (Prefix prefix, string address, T1 value)[]

16ビット単位で書き込むデバイスの配列を指定します。
prefix:書き込み対象のデバイスコードを指定します。
address:書き込み対象のアドレスを指定します。
value:書き込みする値を指定します。

doubleWordDevices (Prefix prefix, string address, T2 value)[]

32ビット単位で書き込むデバイスの配列を指定します。
prefix:書き込み対象のデバイスコードを指定します。
address:書き込み対象のアドレスを指定します。 ・value:書き込みする値を指定します。

Returns

Task

Type Parameters

T1

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

T2

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

Remarks

指定したデバイスに対し、値を非同期でPLCへ書き込みます。
指定された型T1T2に応じて、内部的に読み込むデバイス点数は自動的に調整されます。

Exceptions

DeviceAddressException

指定したアドレスが不正の場合に例外をスローします。

RecivePacketException

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

McProtocolException

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

RandomWriteInt16Int32((Prefix prefix, string address, short value)[], (Prefix prefix, string address, int value)[])

public void RandomWriteInt16Int32((Prefix prefix, string address, short value)[] wordDevices, (Prefix prefix, string address, int value)[] doubleWordDevices)

Parameters

wordDevices (Prefix prefix, string address, short value)[]
doubleWordDevices (Prefix prefix, string address, int value)[]

RandomWriteInt16Int32Async((Prefix prefix, string address, short value)[], (Prefix prefix, string address, int value)[])

public Task RandomWriteInt16Int32Async((Prefix prefix, string address, short value)[] wordDevices, (Prefix prefix, string address, int value)[] doubleWordDevices)

Parameters

wordDevices (Prefix prefix, string address, short value)[]
doubleWordDevices (Prefix prefix, string address, int value)[]

Returns

Task

RandomWriteInt16Single((Prefix prefix, string address, short value)[], (Prefix prefix, string address, float value)[])

public void RandomWriteInt16Single((Prefix prefix, string address, short value)[] wordDevices, (Prefix prefix, string address, float value)[] doubleWordDevices)

Parameters

wordDevices (Prefix prefix, string address, short value)[]
doubleWordDevices (Prefix prefix, string address, float value)[]

RandomWriteInt16SingleAsync((Prefix prefix, string address, short value)[], (Prefix prefix, string address, float value)[])

public Task RandomWriteInt16SingleAsync((Prefix prefix, string address, short value)[] wordDevices, (Prefix prefix, string address, float value)[] doubleWordDevices)

Parameters

wordDevices (Prefix prefix, string address, short value)[]
doubleWordDevices (Prefix prefix, string address, float value)[]

Returns

Task

RandomWriteInt16UInt32((Prefix prefix, string address, short value)[], (Prefix prefix, string address, uint value)[])

public void RandomWriteInt16UInt32((Prefix prefix, string address, short value)[] wordDevices, (Prefix prefix, string address, uint value)[] doubleWordDevices)

Parameters

wordDevices (Prefix prefix, string address, short value)[]
doubleWordDevices (Prefix prefix, string address, uint value)[]

RandomWriteInt16UInt32Async((Prefix prefix, string address, short value)[], (Prefix prefix, string address, uint value)[])

public Task RandomWriteInt16UInt32Async((Prefix prefix, string address, short value)[] wordDevices, (Prefix prefix, string address, uint value)[] doubleWordDevices)

Parameters

wordDevices (Prefix prefix, string address, short value)[]
doubleWordDevices (Prefix prefix, string address, uint value)[]

Returns

Task

RandomWriteUInt16Int32((Prefix prefix, string address, ushort value)[], (Prefix prefix, string address, int value)[])

public void RandomWriteUInt16Int32((Prefix prefix, string address, ushort value)[] wordDevices, (Prefix prefix, string address, int value)[] doubleWordDevices)

Parameters

wordDevices (Prefix prefix, string address, ushort value)[]
doubleWordDevices (Prefix prefix, string address, int value)[]

RandomWriteUInt16Int32Async((Prefix prefix, string address, ushort value)[], (Prefix prefix, string address, int value)[])

public Task RandomWriteUInt16Int32Async((Prefix prefix, string address, ushort value)[] wordDevices, (Prefix prefix, string address, int value)[] doubleWordDevices)

Parameters

wordDevices (Prefix prefix, string address, ushort value)[]
doubleWordDevices (Prefix prefix, string address, int value)[]

Returns

Task

RandomWriteUInt16Single((Prefix prefix, string address, ushort value)[], (Prefix prefix, string address, float value)[])

public void RandomWriteUInt16Single((Prefix prefix, string address, ushort value)[] wordDevices, (Prefix prefix, string address, float value)[] doubleWordDevices)

Parameters

wordDevices (Prefix prefix, string address, ushort value)[]
doubleWordDevices (Prefix prefix, string address, float value)[]

RandomWriteUInt16SingleAsync((Prefix prefix, string address, ushort value)[], (Prefix prefix, string address, float value)[])

public Task RandomWriteUInt16SingleAsync((Prefix prefix, string address, ushort value)[] wordDevices, (Prefix prefix, string address, float value)[] doubleWordDevices)

Parameters

wordDevices (Prefix prefix, string address, ushort value)[]
doubleWordDevices (Prefix prefix, string address, float value)[]

Returns

Task

RandomWriteUInt16UInt32((Prefix prefix, string address, ushort value)[], (Prefix prefix, string address, uint value)[])

public void RandomWriteUInt16UInt32((Prefix prefix, string address, ushort value)[] wordDevices, (Prefix prefix, string address, uint value)[] doubleWordDevices)

Parameters

wordDevices (Prefix prefix, string address, ushort value)[]
doubleWordDevices (Prefix prefix, string address, uint value)[]

RandomWriteUInt16UInt32Async((Prefix prefix, string address, ushort value)[], (Prefix prefix, string address, uint value)[])

public Task RandomWriteUInt16UInt32Async((Prefix prefix, string address, ushort value)[] wordDevices, (Prefix prefix, string address, uint value)[] doubleWordDevices)

Parameters

wordDevices (Prefix prefix, string address, ushort value)[]
doubleWordDevices (Prefix prefix, string address, uint value)[]

Returns

Task

RandomWrite<T1, T2>((Prefix prefix, string address, T1 value)[], (Prefix prefix, string address, T2 value)[])

ランダムデバイス書き込み

public void RandomWrite<T1, T2>((Prefix prefix, string address, T1 value)[] wordDevices, (Prefix prefix, string address, T2 value)[] doubleWordDevices) where T1 : unmanaged where T2 : unmanaged

Parameters

wordDevices (Prefix prefix, string address, T1 value)[]

16ビット単位で書き込むデバイスの配列を指定します。
prefix:書き込み対象のデバイスコードを指定します。
address:書き込み対象のアドレスを指定します。
value:書き込みする値を指定します。

doubleWordDevices (Prefix prefix, string address, T2 value)[]

32ビット単位で書き込むデバイスの配列を指定します。
prefix:書き込み対象のデバイスコードを指定します。
address:書き込み対象のアドレスを指定します。 ・value:書き込みする値を指定します。

Type Parameters

T1

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

T2

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

Remarks

指定したデバイスに対し、値をPLCへ書き込みます。
指定された型T1T2に応じて、内部的に読み込むデバイス点数は自動的に調整されます。

Exceptions

DeviceAddressException

指定したアドレスが不正の場合に例外をスローします。

RecivePacketException

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

McProtocolException

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

ReadAsync<T>(Prefix, string)

単一デバイス読み込み(非同期)

public Task<T> ReadAsync<T>(Prefix prefix, string address) where T : unmanaged

Parameters

prefix Prefix

読み込み対象の先頭デバイスコードを指定します。

address string

読み込み対象の先頭アドレス

Returns

Task<T>

PLCから読み込んだ値を指定された型Tに変換して返します。

Type Parameters

T

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

Remarks

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

Exceptions

DeviceAddressException

指定したアドレスが不正の場合に例外をスローします。

RecivePacketException

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

McProtocolException

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

ReadBool(Prefix, string)

public bool ReadBool(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

bool

ReadBoolAsync(Prefix, string)

public Task<bool> ReadBoolAsync(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

Task<bool>

ReadByte(Prefix, string)

public byte ReadByte(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

byte

ReadByteAsync(Prefix, string)

public Task<byte> ReadByteAsync(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

Task<byte>

ReadDouble(Prefix, string)

public double ReadDouble(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

double

ReadDoubleAsync(Prefix, string)

public Task<double> ReadDoubleAsync(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

Task<double>

ReadInt16(Prefix, string)

public short ReadInt16(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

short

ReadInt16Async(Prefix, string)

public Task<short> ReadInt16Async(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

Task<short>

ReadInt32(Prefix, string)

public int ReadInt32(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

int

ReadInt32Async(Prefix, string)

public Task<int> ReadInt32Async(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

Task<int>

ReadInt64(Prefix, string)

public long ReadInt64(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

long

ReadInt64Async(Prefix, string)

public Task<long> ReadInt64Async(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

Task<long>

ReadSByte(Prefix, string)

public sbyte ReadSByte(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

sbyte

ReadSByteAsync(Prefix, string)

public Task<sbyte> ReadSByteAsync(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

Task<sbyte>

ReadSingle(Prefix, string)

public float ReadSingle(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

float

ReadSingleAsync(Prefix, string)

public Task<float> ReadSingleAsync(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

Task<float>

ReadString(Prefix, string, ushort)

文字列読み込み

public string ReadString(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix

読み込み対象の先頭デバイスコードを指定します。

address string

読み込み対象の先頭アドレスを指定します。

length ushort

読み込みデバイス点数を指定します。

Returns

string

PLCから読み込んだ値(Shift_JIS)を文字列に変換して返します。

Remarks

指定したデバイス範囲の値を文字列として、PLCから読み込みます。

Exceptions

DeviceAddressException

指定したアドレスが不正の場合に例外をスローします。

RecivePacketException

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

McProtocolException

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

ReadStringAsync(Prefix, string, ushort)

文字列読み込み(非同期)

public Task<string> ReadStringAsync(Prefix prefix, string address, ushort length)

Parameters

prefix Prefix

読み込み対象の先頭デバイスコードを指定します。

address string

読み込み対象の先頭アドレスを指定します。

length ushort

読み込みデバイス点数を指定します。

Returns

Task<string>

PLCから読み込んだ値(Shift_JIS)を文字列に変換して返します。

Remarks

指定したデバイス範囲の値を文字列として、非同期でPLCから読み込みます。

Exceptions

DeviceAddressException

指定したアドレスが不正の場合に例外をスローします。

RecivePacketException

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

McProtocolException

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

ReadUInt16(Prefix, string)

public ushort ReadUInt16(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

ushort

ReadUInt16Async(Prefix, string)

public Task<ushort> ReadUInt16Async(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

Task<ushort>

ReadUInt32(Prefix, string)

public uint ReadUInt32(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

uint

ReadUInt32Async(Prefix, string)

public Task<uint> ReadUInt32Async(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

Task<uint>

ReadUInt64(Prefix, string)

public ulong ReadUInt64(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

ulong

ReadUInt64Async(Prefix, string)

public Task<ulong> ReadUInt64Async(Prefix prefix, string address)

Parameters

prefix Prefix
address string

Returns

Task<ulong>

Read<T>(Prefix, string)

単一デバイス読み込み

public T Read<T>(Prefix prefix, string address) where T : unmanaged

Parameters

prefix Prefix

読み込み対象の先頭デバイスコードを指定します。

address string

読み込み対象の先頭アドレスを指定します。

Returns

T

PLCから読み込んだ値を指定された型Tに変換して返します。

Type Parameters

T

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

Remarks

単一デバイスの値をPLCから読み込みます。
指定された型Tに応じて、内部的に読み込むデバイス点数は自動的に調整されます。

Exceptions

DeviceAddressException

指定したアドレスが不正の場合に例外をスローします。

RecivePacketException

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

McProtocolException

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

WriteAsync<T>(Prefix, string, T)

単一デバイス書き込み(非同期)

public Task WriteAsync<T>(Prefix prefix, string address, T value) where T : unmanaged

Parameters

prefix Prefix

書き込み対象の先頭デバイスコードを指定します。

address string

書き込み対象の先頭アドレスを指定します。

value T

書き込みする値を指定します。

Returns

Task

Type Parameters

T

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

Remarks

指定したデバイスに値を非同期でPLCへ書き込みます。
指定された型Tに応じて、内部的に書き込むデバイス点数は自動的に調整されます。

Exceptions

DeviceAddressException

指定したアドレスが不正の場合に例外をスローします。

RecivePacketException

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

McProtocolException

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

WriteBool(Prefix, string, bool)

public void WriteBool(Prefix prefix, string address, bool value)

Parameters

prefix Prefix
address string
value bool

WriteBoolAsync(Prefix, string, bool)

public Task WriteBoolAsync(Prefix prefix, string address, bool value)

Parameters

prefix Prefix
address string
value bool

Returns

Task

WriteByte(Prefix, string, byte)

public void WriteByte(Prefix prefix, string address, byte value)

Parameters

prefix Prefix
address string
value byte

WriteByteAsync(Prefix, string, byte)

public Task WriteByteAsync(Prefix prefix, string address, byte value)

Parameters

prefix Prefix
address string
value byte

Returns

Task

WriteDouble(Prefix, string, double)

public void WriteDouble(Prefix prefix, string address, double value)

Parameters

prefix Prefix
address string
value double

WriteDoubleAsync(Prefix, string, double)

public Task WriteDoubleAsync(Prefix prefix, string address, double value)

Parameters

prefix Prefix
address string
value double

Returns

Task

WriteInt16(Prefix, string, short)

public void WriteInt16(Prefix prefix, string address, short value)

Parameters

prefix Prefix
address string
value short

WriteInt16Async(Prefix, string, short)

public Task WriteInt16Async(Prefix prefix, string address, short value)

Parameters

prefix Prefix
address string
value short

Returns

Task

WriteInt32(Prefix, string, int)

public void WriteInt32(Prefix prefix, string address, int value)

Parameters

prefix Prefix
address string
value int

WriteInt32Async(Prefix, string, int)

public Task WriteInt32Async(Prefix prefix, string address, int value)

Parameters

prefix Prefix
address string
value int

Returns

Task

WriteInt64(Prefix, string, long)

public void WriteInt64(Prefix prefix, string address, long value)

Parameters

prefix Prefix
address string
value long

WriteInt64Async(Prefix, string, long)

public Task WriteInt64Async(Prefix prefix, string address, long value)

Parameters

prefix Prefix
address string
value long

Returns

Task

WriteSByte(Prefix, string, sbyte)

public void WriteSByte(Prefix prefix, string address, sbyte value)

Parameters

prefix Prefix
address string
value sbyte

WriteSByteAsync(Prefix, string, sbyte)

public Task WriteSByteAsync(Prefix prefix, string address, sbyte value)

Parameters

prefix Prefix
address string
value sbyte

Returns

Task

WriteSingle(Prefix, string, float)

public void WriteSingle(Prefix prefix, string address, float value)

Parameters

prefix Prefix
address string
value float

WriteSingleAsync(Prefix, string, float)

public Task WriteSingleAsync(Prefix prefix, string address, float value)

Parameters

prefix Prefix
address string
value float

Returns

Task

WriteString(Prefix, string, string)

文字列書き込み

public void WriteString(Prefix prefix, string address, string value)

Parameters

prefix Prefix

書き込み対象の先頭デバイスコードを指定します。

address string

書き込み対象の先頭アドレスを指定します。

value string

書き込みする文字列を指定します。

Remarks

指定したデバイスに対して、Shift_JISに変換した文字列データをPLCへ書き込みます。

Exceptions

DeviceAddressException

指定したアドレスが不正の場合に例外をスローします。

RecivePacketException

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

McProtocolException

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

WriteStringAsync(Prefix, string, string)

文字列書き込み(非同期)

public Task WriteStringAsync(Prefix prefix, string address, string value)

Parameters

prefix Prefix

書き込み対象の先頭デバイスコードを指定します。

address string

書き込み対象の先頭アドレスを指定します。

value string

書き込みする文字列を指定します。

Returns

Task

Remarks

指定したデバイスに対して、Shift_JISに変換した文字列データを非同期でPLCへ書き込みます。

Exceptions

DeviceAddressException

指定したアドレスが不正の場合に例外をスローします。

RecivePacketException

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

McProtocolException

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

WriteUInt16(Prefix, string, ushort)

public void WriteUInt16(Prefix prefix, string address, ushort value)

Parameters

prefix Prefix
address string
value ushort

WriteUInt16Async(Prefix, string, ushort)

public Task WriteUInt16Async(Prefix prefix, string address, ushort value)

Parameters

prefix Prefix
address string
value ushort

Returns

Task

WriteUInt32(Prefix, string, uint)

public void WriteUInt32(Prefix prefix, string address, uint value)

Parameters

prefix Prefix
address string
value uint

WriteUInt32Async(Prefix, string, uint)

public Task WriteUInt32Async(Prefix prefix, string address, uint value)

Parameters

prefix Prefix
address string
value uint

Returns

Task

WriteUInt64(Prefix, string, ulong)

public void WriteUInt64(Prefix prefix, string address, ulong value)

Parameters

prefix Prefix
address string
value ulong

WriteUInt64Async(Prefix, string, ulong)

public Task WriteUInt64Async(Prefix prefix, string address, ulong value)

Parameters

prefix Prefix
address string
value ulong

Returns

Task

Write<T>(Prefix, string, T)

単一デバイス書き込み

public void Write<T>(Prefix prefix, string address, T value) where T : unmanaged

Parameters

prefix Prefix

書き込み対象の先頭デバイスコードを指定します。

address string

書き込み対象の先頭アドレスを指定します。

value T

書き込みする値を指定します。

Type Parameters

T

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

Remarks

単一デバイスの値をPLCに書き込みます。
指定された型Tに応じて、内部的に書き込むデバイス点数は自動的に調整されます。

Exceptions

DeviceAddressException

指定したアドレスが不正の場合に例外をスローします。

RecivePacketException

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

McProtocolException

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