IoT-Driver.OmronPlcRx.Reactive
1.0.2
dotnet add package IoT-Driver.OmronPlcRx.Reactive --version 1.0.2
NuGet\Install-Package IoT-Driver.OmronPlcRx.Reactive -Version 1.0.2
<PackageReference Include="IoT-Driver.OmronPlcRx.Reactive" Version="1.0.2" />
<PackageVersion Include="IoT-Driver.OmronPlcRx.Reactive" Version="1.0.2" />
<PackageReference Include="IoT-Driver.OmronPlcRx.Reactive" />
paket add IoT-Driver.OmronPlcRx.Reactive --version 1.0.2
#r "nuget: IoT-Driver.OmronPlcRx.Reactive, 1.0.2"
#:package IoT-Driver.OmronPlcRx.Reactive@1.0.2
#addin nuget:?package=IoT-Driver.OmronPlcRx.Reactive&version=1.0.2
#tool nuget:?package=IoT-Driver.OmronPlcRx.Reactive&version=1.0.2
<p align="center"> <img src="https://github.com/ChrisPulman/IoT-DriverCore/blob/main/images/omron-plc-rx.png" alt="OmronPlcRx package logo" width="320" /> </p>
OmronPlcRx
Overview
OmronPlcRx is a typed, reactive .NET driver for Omron FINS over TCP, UDP, Host Link FINS serial, and Toolbus serial. Register a PlcTag<T>, address it through a LogicalTagKey<T>, then read, write, or observe it. The base package uses ReactiveUI.Primitives; OmronPlcRx.Reactive is the equivalent System.Reactive-oriented surface. Both are shared-source builds.
The public namespaces are IoT.Driver.OmronPlcRx and its .Core, .Core.Types, .Enums, .Results, .Tags, and .Async children. The reactive package replaces the root with IoT.Driver.OmronPlcRx.Reactive.
Safety
PLC writes can change machinery state. Validate addresses, types, interlocks, ownership, and the target controller in a non-production environment first. Subscribe to Errors, use cancellation tokens and bounded timeouts, and prefer WriteValueAsync when a command must be observed. SetValue queues a background write; failures are reported through Errors rather than returned to the caller.
Package matrix
| Package | Use |
|---|---|
IoT-Driver.OmronPlcRx |
Base API using ReactiveUI.Primitives and BCL IObservable<T>. |
IoT-Driver.OmronPlcRx.Reactive |
Same driver shape for System.Reactive consumers; namespaces end in .Reactive. |
IoT-Driver.OmronPlcRx.Generators |
Standalone Roslyn generator package. |
All runtime packages target net462, net472, net481, net8.0, net9.0, net10.0, and net11.0.
Install
dotnet add package IoT-Driver.OmronPlcRx
# Or, for System.Reactive applications:
dotnet add package IoT-Driver.OmronPlcRx.Reactive
# Add separately when using source-generated bindings:
dotnet add package IoT-Driver.OmronPlcRx.Generators
Quick start
The public network constructor takes OmronConnectionOptions and an explicit nullable poll interval.
using IoT.Driver.Core;
using IoT.Driver.OmronPlcRx;
using IoT.Driver.OmronPlcRx.Enums;
using IoT.Driver.OmronPlcRx.Tags;
var motorRun = new PlcTag<bool>("MotorRun", "D100.0");
var temperature = new PlcTag<short>("Temperature", "D200");
var options = new OmronConnectionOptions(11, 1, ConnectionMethod.UDP, "192.168.250.1")
{
Port = 9600,
Timeout = 2000,
Retries = 1,
};
using var plc = new OmronPlcRx(options, TimeSpan.FromMilliseconds(200));
plc.AddUpdateTagItem(motorRun);
plc.AddUpdateTagItem(temperature);
var motor = new LogicalTagKey<bool>("MotorRun");
using var subscription = plc.Observe(motor).Subscribe(value => Console.WriteLine(value));
await plc.WriteValueAsync(motor, true, CancellationToken.None);
short? value = await plc.ReadValueAsync(new LogicalTagKey<short>("Temperature"), CancellationToken.None);
Configuration
Create OmronConnectionOptions(localNodeId, remoteNodeId, connectionMethod, remoteHost). Its init-only settings are Port (9600), Timeout milliseconds (2000), Retries (1), and optional SerialOptions.
For serial, use the dedicated constructor and supply every parameter:
using IoT.Driver.OmronPlcRx;
var serial = OmronSerialOptions.CreateToolbus("COM3");
using var plc = new OmronPlcRx(11, 0, serial, 2000, 1, TimeSpan.FromMilliseconds(250));
OmronSerialOptions defaults to Host Link FINS (9600, 7E2, no handshake). CreateToolbus sets Toolbus, 115200, 8N1, and RTS. Call Validate() before connecting when options are composed dynamically. Host Link supports Direct and Network OmronHostLinkFinsFrameMode values; classic C-mode Host Link is not the API exposed by this driver.
FINS addresses supported by the typed tag codec include bit forms such as D100.0 and word forms such as D200; strings use D600[20]. Use a tag type matching PLC storage: bool, integer types, float, double, string, and Bcd16, BcdU16, Bcd32, or BcdU32.
Detailed features
Typed tags, polling, and fault handling
ObserveAll emits changed IPlcTag instances and Errors emits OmronPLCException. Use a logical key whose type exactly matches the registered tag.
using IoT.Driver.Core;
using IoT.Driver.OmronPlcRx.Tags;
var level = new PlcTag<float>("TankLevel", "D400");
plc.AddUpdateTagItem(level);
using var changes = plc.ObserveAll.Subscribe(tag =>
Console.WriteLine($"{tag?.TagName}: {tag?.Value}"));
using var errors = plc.Errors.Subscribe(error => Console.Error.WriteLine(error?.Message));
var levelKey = new LogicalTagKey<float>("TankLevel");
plc.SetValue(levelKey, 12.5f); // fire-and-forget
await plc.WriteValueAsync(levelKey, 12.5f, CancellationToken.None); // awaited command
float? cached = plc.GetValue(levelKey);
bool removed = plc.RemoveTagItem("TankLevel");
Clock and scan-time operations
var clock = await plc.ReadClockAsync(CancellationToken.None);
Console.WriteLine(clock.Clock);
await plc.WriteClockAsync(DateTimeOffset.UtcNow, CancellationToken.None);
var cycle = await plc.ReadCycleTimeAsync(CancellationToken.None);
Console.WriteLine($"min={cycle.MinimumCycleTime}, max={cycle.MaximumCycleTime}");
ReadClockResult, WriteClockResult, ReadCycleTimeResult, ReadBitsResult, ReadWordsResult, WriteBitsResult, and WriteWordsResult expose transport counters, duration, and their operation-specific payload.
Async observation and simulation
OmronPlcRxAsyncObservableExtensions provides ObserveAsAsyncObservable, ObserveAllAsAsyncObservable, ErrorsAsAsyncObservable, and ObserveValuesAsync. Use OmronPlcSimulator for deterministic application tests: construct it, Seed(tag, value), optionally QueueFault, then exercise the same IOmronPlcRx API. It records OmronSimulatorOperationRecord values in Operations.
Source-generated bindings
After installing IoT-Driver.OmronPlcRx.Generators, apply PlcTagAttribute to a field in a partial class. The analyzer generates registration, observation, and optional write helpers. Its configurable members are TagName, Register, Observe, and Writable; PlcTagBindingAttribute marks a binding target. Treat generated member names as analyzer output and keep the containing type partial.
Exhaustive feature guide and worked workflows
The driver uses a definition (PlcTag<T>) and a lookup key (LogicalTagKey<T>). A definition has a logical TagName and FINS Address; a key contains only the logical name and must use the same T. This makes wrong address/type combinations visible at registration rather than allowing untyped strings to flow through every command. The reactive package has the same shape beneath IoT.Driver.OmronPlcRx.Reactive; do not mix base and reactive tag/key types.
Network constructors, serial constructors, and options validation
OmronConnectionOptions is the network constructor input: local node ID, remote node ID, ConnectionMethod.TCP or UDP, remote host, optional port, timeout, retry count, and optional serial options. Its values are immutable after construction except through the initializer, so build and validate it before creating a long-lived client. The serial constructor takes (localNodeId, remoteNodeId, OmronSerialOptions, timeout, retries, pollInterval). pollInterval is nullable: provide a positive interval for automatic tag polling; use null only when the application performs direct reads deliberately.
using IoT.Driver.OmronPlcRx;
using IoT.Driver.OmronPlcRx.Enums;
var options = new OmronConnectionOptions(11, 1, ConnectionMethod.TCP, "192.168.250.1")
{
Port = 9600,
Timeout = 2_000,
Retries = 2,
};
using var plc = new OmronPlcRx(options, TimeSpan.FromMilliseconds(250));
var serialOptions = OmronSerialOptions.CreateToolbus("COM3");
serialOptions.Validate();
using var serialPlc = new OmronPlcRx(11, 0, serialOptions, 2_000, 1,
TimeSpan.FromMilliseconds(250));
OmronSerialOptions models COM port, baud rate, data bits, parity, stop bits, handshake, Host Link unit number, response wait, maximum frame length, protocol, and Host Link FINS frame mode. The default is Host Link FINS at 9600 7E2. CreateToolbus changes the protocol and standard Toolbus framing (115200 8N1 with RTS). HostLinkFinsFrameMode.Direct is direct CPU framing; Network carries the full routed FINS header. Validate() throws for invalid combinations before a connection is attempted; communication/PLC errors arrive as OmronPLCException through Errors or from awaited calls.
Addressing, supported values, BCD, and codec behaviour
Use FINS addresses with the data area prefix: D100.0 is one data-memory bit, D200 one word, and D600[20] a string region. Match the tag generic type to the physical storage. Supported codecs include bool, signed/unsigned integral types, float, double, string, and Bcd16, BcdU16, Bcd32, BcdU32. BCD wrappers state that a value is decimal packed BCD rather than a normal signed binary integer; construct them from the logical numeric value. BCDConverter is the explicit conversion utility when an application must inspect raw BCD words. MemoryBitDataType and MemoryWordDataType describe areas used by lower-level FINS operations, while PlcType is detected controller metadata.
using IoT.Driver.Core;
using IoT.Driver.OmronPlcRx.Core.Types;
using IoT.Driver.OmronPlcRx.Tags;
plc.AddUpdateTagItem(new PlcTag<bool>("PumpEnabled", "D100.0"));
plc.AddUpdateTagItem(new PlcTag<int>("BatchCount", "D300"));
plc.AddUpdateTagItem(new PlcTag<string>("RecipeName", "D600[20]"));
plc.AddUpdateTagItem(new PlcTag<Bcd16>("TemperatureBcd", "D700"));
var bcdKey = new LogicalTagKey<Bcd16>("TemperatureBcd");
await plc.WriteValueAsync(bcdKey, new Bcd16(235), CancellationToken.None);
Bcd16? displayed = await plc.ReadValueAsync(bcdKey, CancellationToken.None);
Console.WriteLine(displayed?.Value);
Registration, cache, observations, and direct commands
AddUpdateTagItem(PlcTag<T>) registers or updates the logical definition. RemoveTagItem(name) returns true only if a definition existed. GetValue(key) is cached and therefore never a substitute for a command read. Observe(key) emits changed values for one registered definition, while ObserveAll emits every changed IPlcTag. SetValue(key, value) starts a background write to preserve compatibility with reactive UIs; it has no completion result. Use WriteValueAsync for a command that requires acknowledgement, cancellation, or a catchable failure. ReadValueAsync directly reads and updates the cache. Keep Errors subscribed for polling/queued-write failures; error streams and subscriptions must be disposed independently of the facade.
using IoT.Driver.Core;
using IoT.Driver.OmronPlcRx.Tags;
var pump = new LogicalTagKey<bool>("PumpEnabled");
var batch = new LogicalTagKey<int>("BatchCount");
using var changes = plc.Observe(pump).Subscribe(value => Console.WriteLine($"pump={value}"));
using var all = plc.ObserveAll.Subscribe(tag => Console.WriteLine($"{tag?.TagName}={tag?.Value}"));
using var errors = plc.Errors.Subscribe(error => Console.Error.WriteLine(error?.Message));
plc.SetValue(pump, true); // queue-only: observe Errors for failure
using var deadline = new CancellationTokenSource(TimeSpan.FromSeconds(2));
try
{
int? count = await plc.ReadValueAsync(batch, deadline.Token);
await plc.WriteValueAsync(pump, count is not null, deadline.Token);
}
catch (OperationCanceledException) { Console.Error.WriteLine("PLC command timed out."); }
catch (OmronPLCException ex) { Console.Error.WriteLine(ex.Message); }
PLC clock and cycle-time commands
ReadClockAsync(token) returns ReadClockResult, whose clock value and operation metadata describe the reply. WriteClockAsync(DateTimeOffset, token) infers the day of week. WriteClockAsync(DateTimeOffset, int dayOfWeek, token) is the explicit overload; day of week must be 0–6. Both return WriteClockResult. ReadCycleTimeAsync(token) returns ReadCycleTimeResult with the controller's min/max/average cycle information. These calls operate directly on the controller and should be used sparingly during production; treat cancellation as an incomplete operation rather than proof it was not received.
using var commandDeadline = new CancellationTokenSource(TimeSpan.FromSeconds(5));
try
{
var before = await plc.ReadClockAsync(commandDeadline.Token);
Console.WriteLine($"PLC time: {before.Clock:O}");
var clockWrite = await plc.WriteClockAsync(DateTimeOffset.UtcNow, commandDeadline.Token);
var cycle = await plc.ReadCycleTimeAsync(commandDeadline.Token);
Console.WriteLine($"cycle min={cycle.MinimumCycleTime}, max={cycle.MaximumCycleTime}");
}
catch (OperationCanceledException) { Console.Error.WriteLine("Clock/cycle request cancelled."); }
catch (FINSException ex) { Console.Error.WriteLine($"FINS rejected request: {ex.Message}"); }
Async enumeration and logical tags
OmronPlcRxAsyncObservableExtensions bridges Observe, ObserveAll, and Errors into IObservableAsync<T> through ObserveAsAsyncObservable, ObserveAllAsAsyncObservable, and ErrorsAsAsyncObservable; ObserveValuesAsync supplies asynchronous value enumeration. Each wrapper still owns/creates a subscription, so pass a cancellation token to consumers and dispose the client at application shutdown.
OmronLogicalTagClient is a higher-level catalog that creates/registers tags, reads/writes one or many logical values, exposes observable and async enumeration, and supports store/import/export/group CRUD where configured. It adds planning/batching and persistence convenience; it does not change the atomicity guarantees of the physical PLC. Use the core facade when a physical address/type must be explicit at the call site, and use logical tags when a reviewed catalog owns that mapping.
// A direct stream can be consumed as async enumeration with cancellation.
using var readWindow = new CancellationTokenSource(TimeSpan.FromSeconds(10));
await foreach (var value in plc.ObserveValuesAsync(new LogicalTagKey<int>("BatchCount"), readWindow.Token))
{
Console.WriteLine($"batch={value}");
if (value is > 1000) break;
}
When an application is already built on IObservableAsync<T>, convert individual values, all-tag changes, or driver errors with OmronPlcRxAsyncObservableExtensions. Convert back with ObservableAsyncBridgeExtensions.ToObservable only at the boundary where a classic IObservable<T> subscriber is required. The async stream does not turn a queued SetValue into an acknowledged command; use WriteValueAsync for that.
using IoT.Driver.Core;
using IoT.Driver.OmronPlcRx.Async;
using IoT.Driver.Serial;
var levelKey = new LogicalTagKey<float>("TankLevel");
var asyncLevels = plc.ObserveAsAsyncObservable(levelKey);
using var levels = ObservableAsyncBridgeExtensions.ToObservable(asyncLevels)
.Subscribe(level => Console.WriteLine($"tank level={level}"));
using var errors = ObservableAsyncBridgeExtensions.ToObservable(plc.ErrorsAsAsyncObservable())
.Subscribe(error => Console.Error.WriteLine(error?.Message));
Use ObserveValuesAsync when a sequential consumer is clearer than a callback. Cancellation ends the enumerable and the client still owns the polling/connection lifetime.
using var stop = new CancellationTokenSource(TimeSpan.FromSeconds(30));
await foreach (float? level in plc.ObserveValuesAsync(levelKey, stop.Token))
{
if (level is > 90f)
Console.WriteLine("High-level alarm policy should run here.");
}
Host Link and Toolbus codec testing
HostLinkFinsFrameCodec and ToolbusFinsFrameCodec are framing utilities for serial adapters and protocol tests. Normal application traffic should use OmronPlcRx with OmronSerialOptions; do not send codec output through an arbitrary serial port without the expected serial protocol. Host Link validates FCS/unit/header/end-code on decode; Toolbus validates start byte, declared length, checksum, and the FINS response header.
using IoT.Driver.OmronPlcRx;
var hostLinkOptions = new OmronSerialOptions("COM3")
{
FrameMode = OmronHostLinkFinsFrameMode.Network,
};
var hostLink = new HostLinkFinsFrameCodec(hostLinkOptions);
// A FINS request always has a 10-byte header followed by a 2-byte command code.
ReadOnlyMemory<byte> finsRequest = new byte[12] { 0x80, 0, 2, 0, 0, 1, 0, 0, 11, 1, 1, 1 };
string hostLinkRequest = hostLink.EncodeRequest(finsRequest);
Memory<byte> toolbusRequest = ToolbusFinsFrameCodec.EncodeRequest(finsRequest);
Console.WriteLine(hostLinkRequest); // ends with FCS + "*\\r"
Console.WriteLine(ToolbusFinsFrameCodec.CalculateChecksum(toolbusRequest.Span[..^2]));
// Build minimal complete response frames for a codec unit test.
var finsResponse = new byte[14];
finsResponse[0] = 0xC0;
string hostLinkBody = "@00FA00" + BitConverter.ToString(finsResponse).Replace("-", string.Empty);
string hostLinkResponse = hostLinkBody + HostLinkFinsFrameCodec.CalculateFcs(hostLinkBody) + "*\r";
Memory<byte> finsReply = hostLink.DecodeResponse(hostLinkResponse);
var toolbusResponse = new byte[3 + finsResponse.Length + 2];
toolbusResponse[0] = 0xAB;
toolbusResponse[1] = 0;
toolbusResponse[2] = (byte)(finsResponse.Length + 2);
finsResponse.CopyTo(toolbusResponse, 3);
ushort checksum = ToolbusFinsFrameCodec.CalculateChecksum(toolbusResponse.AsSpan(0, toolbusResponse.Length - 2));
toolbusResponse[^2] = (byte)(checksum >> 8);
toolbusResponse[^1] = (byte)checksum;
Memory<byte> toolbusReply = ToolbusFinsFrameCodec.DecodeResponse(toolbusResponse);
Explicit packed-BCD conversion
Bcd16, BcdU16, Bcd32, and BcdU32 are strongly typed PLC tag values. BCDConverter is for an explicit boundary conversion when a command or capture supplies raw BCD bytes/words. The value 0x0235 represents decimal 235, not binary 565; reject malformed BCD instead of treating it as a normal integer.
using IoT.Driver.OmronPlcRx.Core.Converters;
short encoded = BCDConverter.GetBCDWord(235);
short decoded = BCDConverter.ToInt16(encoded);
if (decoded != 235) throw new InvalidOperationException("Unexpected packed BCD conversion.");
short[] encoded32 = BCDConverter.GetBCDWords(12_345_678);
int decoded32 = BCDConverter.ToInt32(encoded32[0], encoded32[1]);
Console.WriteLine(decoded32);
Logical-tag persistence, CRUD, and combined batch command
Construct OmronLogicalTagClient with a SQLite connection string when the reviewed tag map must persist. Initialize the store before CRUD, and remember that UpsertTagAsync also registers the tag with the PLC facade. ReadManyAsync / WriteManyAsync preserve caller order and use grouped FINS operations where the facade supports them; they are not a PLC transaction.
using IoT.Driver.Core;
var database = $"Data Source={Path.Combine(AppContext.BaseDirectory, "omron-tags.db")}";
using var tags = new OmronLogicalTagClient(plc, database);
await tags.InitializeStoreAsync(CancellationToken.None);
var process = new LogicalTagGroup("Process");
await tags.UpsertGroupAsync(process, CancellationToken.None);
var temperature = tags.CreateTag(new PlcTag<short>("Temperature", "D200"),
groupName: "Process", description: "Product temperature", metadata: null,
accessMode: LogicalTagAccessMode.ReadWrite, scanInterval: TimeSpan.FromMilliseconds(250));
await tags.UpsertTagAsync(temperature, CancellationToken.None);
using var import = new StringReader(
"Name,Address,DataType,GroupName,Description,Metadata,AccessMode,ScanIntervalMilliseconds\n" +
"HighTemperature,D201,Int16,Process,High limit,,ReadWrite,250\n");
IReadOnlyList<LogicalTag> imported = await tags.ImportCsvAsync(import, ',', CancellationToken.None);
using var export = new StringWriter();
await tags.ExportCsvAsync(export, ',', CancellationToken.None);
Console.WriteLine($"Imported {imported.Count} tags; CSV length = {export.GetStringBuilder().Length}.");
LogicalTag? stored = await tags.GetTagAsync("Temperature", CancellationToken.None);
if (stored is not null)
{
var options = stored.CurrentOptions();
options.Description = "Validated process temperature";
await tags.EditTagAsync(stored.WithOptions(options), CancellationToken.None);
}
var results = await tags.WriteManyAsync(
[new LogicalTagValue("Temperature", (short)185, TimeProvider.System.GetUtcNow())],
CancellationToken.None);
if (!results.All(static result => result.Succeeded))
throw new InvalidOperationException("Logical write failed.");
await tags.DeleteTagAsync("Temperature", CancellationToken.None);
await tags.DeleteTagAsync("HighTemperature", CancellationToken.None);
await tags.DeleteGroupAsync("Process", CancellationToken.None);
Deterministic simulator workflow
OmronPlcSimulator implements IOmronPlcRx so application code can be exercised without a network endpoint. Register the same PlcTag<T>, seed a value, optionally queue a fault, then read/write/observe through the normal interface. Operations returns OmronSimulatorOperationRecord entries, while OmronSimulatorOperation describes the recorded kind. Use this for timeout/error/UI tests; it is not a protocol emulator or safety certification.
using var simulator = new OmronPlcSimulator();
await simulator.ConnectAsync(CancellationToken.None); // useful after construction with initiallyConnected: false
var simulatedPump = new PlcTag<bool>("PumpEnabled", "D100.0");
simulator.AddUpdateTagItem(simulatedPump);
simulator.Seed(simulatedPump, false);
using var observed = simulator.Observe(new LogicalTagKey<bool>("PumpEnabled"))
.Subscribe(Console.WriteLine);
await simulator.WriteValueAsync(new LogicalTagKey<bool>("PumpEnabled"), true, CancellationToken.None);
Console.WriteLine(simulator.Operations.Count);
simulator.Disconnect(); // retains registrations and seeded memory
Faults can deliberately disconnect the simulator. Handle the expected exception, call ReconnectAsync, and then repeat an awaited command; ReconnectCount and Operations make this recovery path assertable in application tests.
using IoT.Driver.Core;
using IoT.Driver.OmronPlcRx.Tags;
using var simulator = new OmronPlcSimulator(initiallyConnected: true);
var speed = new PlcTag<short>("Speed", "D100");
simulator.AddUpdateTagItem(speed);
simulator.Seed(speed, (short)25);
var speedKey = new LogicalTagKey<short>("Speed");
simulator.QueueFault(OmronSimulatorOperation.Read, new TimeoutException("Simulated cable loss"));
try
{
await simulator.ReadValueAsync(speedKey, CancellationToken.None);
}
catch (OmronPLCException)
{
await simulator.ReconnectAsync(CancellationToken.None);
}
short? recovered = await simulator.ReadValueAsync(speedKey, CancellationToken.None);
Console.WriteLine($"value={recovered}, reconnects={simulator.ReconnectCount}");
Combined workflow 1: network polling with explicit command verification
This keeps telemetry reactive, executes a command with an acknowledgement, and records failures without allowing a change stream to issue writes.
var motor = new LogicalTagKey<bool>("PumpEnabled");
var level = new LogicalTagKey<float>("TankLevel");
using var telemetry = plc.Observe(level).Subscribe(v => Console.WriteLine($"level={v}"));
using var faults = plc.Errors.Subscribe(e => Console.Error.WriteLine(e?.Message));
using var commandCt = new CancellationTokenSource(TimeSpan.FromSeconds(3));
float? currentLevel = await plc.ReadValueAsync(level, commandCt.Token);
if (currentLevel is < 85f)
await plc.WriteValueAsync(motor, true, commandCt.Token);
Combined workflow 2: serial commissioning with clock check and BCD recipe
var recipe = new LogicalTagKey<Bcd16>("TemperatureBcd");
using var faults = serialPlc.Errors.Subscribe(e => Console.Error.WriteLine(e?.Message));
using var commissioning = new CancellationTokenSource(TimeSpan.FromSeconds(5));
var cycle = await serialPlc.ReadCycleTimeAsync(commissioning.Token);
if (cycle.MaximumCycleTime > 1_000d) // cycle-time values are milliseconds
throw new InvalidOperationException("Controller cycle time is outside commissioning limit.");
await serialPlc.WriteValueAsync(recipe, new Bcd16(180), commissioning.Token);
var verify = await serialPlc.ReadValueAsync(recipe, commissioning.Token);
if (verify?.Value != 180) throw new InvalidOperationException("Recipe verification failed.");
Complete generator workflow
Install IoT-Driver.OmronPlcRx.Generators explicitly when a project needs source-generated bindings. Runtime packages never carry the generator assembly. Decorate a partial model with binding metadata and fields annotated by PlcTagAttribute. TagName selects the logical name; Register controls registration, Observe controls generated observation, and Writable requests write helpers. For each tag it generates the current value property, <Property>Observable, and—on .NET 8+—<Property>ObservableAsync; it also generates Read<Property>Async, Write<Property>, and Write<Property>Async for writable tags. Dispose the binding returned by BindPlcTags.
using IoT.Driver.OmronPlcRx;
[PlcTagBinding]
public partial class MixerTags
{
[PlcTag("D100.0", TagName = "MixerRun", Writable = true)]
private bool _mixerRun;
[PlcTag("D200", TagName = "MixerSpeed", Observe = true)]
private short _mixerSpeed;
}
var model = new MixerTags();
model.RegisterPlcTags(plc);
using var binding = model.BindPlcTags(plc);
model.WriteMixerRun(plc, true);
var written = await model.WriteMixerRunAsync(true, CancellationToken.None);
if (!written.Succeeded) throw new InvalidOperationException(written.Error);
using var speed = model.MixerSpeedObservable.Subscribe(Console.WriteLine);
#if NET8_0_OR_GREATER
using var asyncSpeed = ObservableAsyncBridgeExtensions.ToObservable(model.MixerSpeedObservableAsync)
.Subscribe(Console.WriteLine);
#endif
Complete public API reference
The reactive package has the same inventory under IoT.Driver.OmronPlcRx.Reactive.
| Area | Public types and primary members |
|---|---|
| Root | IOmronPlcRx and OmronPlcRx: ObserveAll, Errors, controller metadata, AddUpdateTagItem, RemoveTagItem, Observe, GetValue, SetValue, ReadValueAsync, WriteValueAsync, clock/cycle methods, and Dispose. OmronConnectionOptions, OmronSerialOptions, OmronPlcSimulator, OmronSimulatorOperation, OmronSimulatorOperationRecord, OmronHostLinkFinsFrameMode, and OmronSerialProtocol. |
| Tags | IPlcTag and PlcTag<T> (TagName, Address, Value, TagType). |
| Results | ReadBitsResult, ReadWordsResult, ReadClockResult, ReadCycleTimeResult, WriteBitsResult, WriteWordsResult, and WriteClockResult. |
| Enums and exceptions | ConnectionMethod, MemoryBitDataType, MemoryWordDataType, PlcType, FINSException, and OmronPLCException. |
| Core | Bcd16, BcdU16, Bcd32, BcdU32, BCDConverter, HostLinkFinsFrameCodec, and ToolbusFinsFrameCodec. |
| Logical tags | OmronLogicalTagClient; use it for catalog-backed, batch logical-tag work. Its public catalog and persistence operations are documented below. |
| Async and generation | OmronPlcRxAsyncObservableExtensions, PlcTagAttribute, PlcTagBindingAttribute, and the OmronPlcRx.SourceGenerators.PlcTagSourceGenerator analyzer. |
Member-by-member contract
| Member family | Inputs and return | Failure, lifecycle, and use |
|---|---|---|
| Construction/options | Network options or serial parameters; optional polling interval. | Validate serial settings first, use one client per endpoint, and dispose it after subscriptions. |
| Tags/keys | PlcTag<T>(tagName, address), LogicalTagKey<T>(tagName), AddUpdateTagItem, RemoveTagItem. |
The type/name must agree across all calls. Registration changes the polling set. |
| Cache/streams | GetValue, Observe, ObserveAll, Errors. |
Cache is not a direct read. Dispose subscriptions; errors from poll/background writes appear on Errors. |
| Commands | SetValue, ReadValueAsync, WriteValueAsync. |
SetValue is fire-and-forget. Await explicit methods with a cancellation token and catch FINS/Omron errors. |
| Clock/cycle | ReadClockAsync, both WriteClockAsync overloads, ReadCycleTimeAsync. |
Direct PLC commands return result records; day is inferred or must be 0–6. |
| Options/protocol | OmronConnectionOptions, OmronSerialOptions, protocol/frame enums and codecs. |
Select transport/framing to match the PLC; only FINS Host Link/Toolbus are exposed. |
| Simulation/logical/generation | OmronPlcSimulator, operation records, OmronLogicalTagClient, async extensions, BCD values/codecs, generator attributes. |
Simulator and catalog make tests/configuration repeatable; they do not create PLC transaction semantics. |
Supporting public member index
| Feature | Members and use |
|---|---|
| Logical catalog and persistence | CreateTag, RegisterTag, RemoveTag, ReadAsync, ReadManyAsync, WriteAsync, WriteManyAsync, ObserveAsync, ObserveMany, ObserveManyAsync, InitializeStoreAsync, LoadTagsAsync, GetTagAsync, ListTagsAsync, EditTagAsync, DeleteTagAsync, UpsertTagAsync, GetGroupAsync, ListGroupsAsync, UpsertGroupAsync, DeleteGroupAsync, ImportCsvAsync, ExportCsvAsync. These are cancellation-aware catalog operations; check result success/error and remember that batch planning is not a PLC transaction. |
| Simulator lifecycle and faults | ConnectAsync, Disconnect, ReconnectAsync, QueueFault, Seed, and operation records. A simulator fault may disconnect the simulated link; reconnect explicitly before the next command. |
| FINS serial framing | OpenAsync, Close, DiscardInBuffer, EncodeRequest, DecodeResponse, CalculateChecksum, and CalculateFcs. Use the serial options/connection facade for normal traffic; these codec/frame methods are for adapter/protocol tests and require exact framing. |
| BCD conversion | GetBCDByte, GetBCDBytes, GetBCDWord, GetBCDWords, ToByte, ToInt16, ToUInt16, ToInt32, and ToUInt32. They translate packed BCD, not normal binary; invalid BCD digits or an unsuitable width are caller errors. |
| Value semantics | Equals, GetHashCode, ToString, and Index are value/compatibility members on records/wrappers. Use typed tags/results for PLC work rather than comparing formatted text. |
Operational guidance
Use one long-lived driver per endpoint; register all tags before relying on polling; keep subscriptions and the driver disposed with the application lifetime. Select a poll interval that the PLC, network, and number of tags can sustain. Keep command writes out of a high-frequency value stream, and monitor Errors plus controller metadata during commissioning. Do not expose the PLC network directly to untrusted networks.
Troubleshooting
| Symptom | Check |
|---|---|
| No values arrive | Confirm FINS node IDs, transport/port, host, address syntax, tag registration, and subscription lifetime. |
KeyNotFoundException or default value |
Use the same tag name and generic type in registration and logical key. |
| Serial connection fails | Call Validate(), then verify protocol, framing, COM port, baud/parity/data/stop bits, and Host Link unit/wait values. |
| Write did not take effect | Use WriteValueAsync to observe the operation; inspect Errors; verify PLC permissions and program interlocks. |
| Generator diagnostics | Make the target type partial, use a supported field type/address, and remove generated-name collisions. |
AI skill
For implementation guidance, load skills/omron-plc-rx/SKILL.md. It directs an agent to this README for the detailed source-grounded reference.
Exhaustive public API reference
This catalogue is generated from the packaged runtime assemblies and their XML documentation. It includes exported public types and their declared public members; inherited members and non-public implementation details are intentionally omitted.
OmronPlcRx
Exported public types: 35; declared public members: 352.
T:IoT.Driver.OmronPlcRx.Async.OmronPlcRxAsyncObservableExtensions
public class IoT.Driver.OmronPlcRx.Async.OmronPlcRxAsyncObservableExtensions
Bridges Omron PLC classic Rx streams into ReactiveUI.Primitives.Async observables.
Declared public members
M:IoT.Driver.OmronPlcRx.Async.OmronPlcRxAsyncObservableExtensions.ErrorsAsAsyncObservable(IoT.Driver.OmronPlcRx.IOmronPlcRx)
public static ReactiveUI.Primitives.Async.IObservableAsync<IoT.Driver.OmronPlcRx.OmronPLCException> ErrorsAsAsyncObservable(IoT.Driver.OmronPlcRx.IOmronPlcRx plc)
Observes PLC operational errors as an async observable.
- Parameter
plc: The PLC reactive facade. - Returns: An async observable of PLC errors.
M:IoT.Driver.OmronPlcRx.Async.OmronPlcRxAsyncObservableExtensions.ObserveAllAsAsyncObservable(IoT.Driver.OmronPlcRx.IOmronPlcRx)
public static ReactiveUI.Primitives.Async.IObservableAsync<IoT.Driver.OmronPlcRx.Tags.IPlcTag> ObserveAllAsAsyncObservable(IoT.Driver.OmronPlcRx.IOmronPlcRx plc)
Observes every changed PLC tag as an async observable.
- Parameter
plc: The PLC reactive facade. - Returns: An async observable of all changed tags.
M:IoT.Driver.OmronPlcRx.Async.OmronPlcRxAsyncObservableExtensions.ObserveAsAsyncObservable``1(IoT.Driver.OmronPlcRx.IOmronPlcRx,IoT.Driver.Core.LogicalTagKey1{``0})`
public static ReactiveUI.Primitives.Async.IObservableAsync<T> ObserveAsAsyncObservable<T>(IoT.Driver.OmronPlcRx.IOmronPlcRx plc, IoT.Driver.Core.LogicalTagKey<T> tag)
Executes the ObserveAsAsyncObservable operation.
- Parameter
plc: Theplcvalue. - Parameter
tag: Thetagvalue. - Returns: A
ReactiveUI.Primitives.Async.IObservableAsync<T>result.
M:IoT.Driver.OmronPlcRx.Async.OmronPlcRxAsyncObservableExtensions.ObserveValuesAsync``1(IoT.Driver.OmronPlcRx.IOmronPlcRx,IoT.Driver.Core.LogicalTagKey1{``0},System.Threading.CancellationToken)`
public static System.Collections.Generic.IAsyncEnumerable<T> ObserveValuesAsync<T>(IoT.Driver.OmronPlcRx.IOmronPlcRx plc, IoT.Driver.Core.LogicalTagKey<T> tag, System.Threading.CancellationToken cancellationToken)
Executes the ObserveValuesAsync operation.
- Parameter
plc: Theplcvalue. - Parameter
tag: Thetagvalue. - Parameter
cancellationToken: ThecancellationTokenvalue. - Returns: A
System.Collections.Generic.IAsyncEnumerable<T>result.
T:IoT.Driver.OmronPlcRx.Core.Converters.BCDConverter
public class IoT.Driver.OmronPlcRx.Core.Converters.BCDConverter
Converts between BCD encoded values and numeric values.
Declared public members
M:IoT.Driver.OmronPlcRx.Core.Converters.BCDConverter.GetBCDByte(System.Byte)
public static byte GetBCDByte(byte binaryValue)
Gets the BCD byte.
- Parameter
binaryValue: The binary value. - Returns: A BCD-encoded byte.
M:IoT.Driver.OmronPlcRx.Core.Converters.BCDConverter.GetBCDBytes(System.Int16)
public static byte[] GetBCDBytes(short binaryValue)
Gets the BCD bytes.
- Parameter
binaryValue: The binary value. - Returns: A BCD-encoded byte array.
M:IoT.Driver.OmronPlcRx.Core.Converters.BCDConverter.GetBCDBytes(System.Int32)
public static byte[] GetBCDBytes(int binaryValue)
Gets the BCD bytes.
- Parameter
binaryValue: The binary value. - Returns: A BCD-encoded byte array.
M:IoT.Driver.OmronPlcRx.Core.Converters.BCDConverter.GetBCDBytes(System.UInt16)
public static byte[] GetBCDBytes(ushort binaryValue)
Gets the BCD bytes.
- Parameter
binaryValue: The binary value. - Returns: A BCD-encoded byte array.
M:IoT.Driver.OmronPlcRx.Core.Converters.BCDConverter.GetBCDBytes(System.UInt32)
public static byte[] GetBCDBytes(uint binaryValue)
Gets the BCD bytes.
- Parameter
binaryValue: The binary value. - Returns: A BCD-encoded byte array.
M:IoT.Driver.OmronPlcRx.Core.Converters.BCDConverter.GetBCDWord(System.Int16)
public static short GetBCDWord(short binaryValue)
Gets the BCD word.
- Parameter
binaryValue: The binary value. - Returns: A BCD-encoded word.
M:IoT.Driver.OmronPlcRx.Core.Converters.BCDConverter.GetBCDWord(System.UInt16)
public static short GetBCDWord(ushort binaryValue)
Gets the BCD word.
- Parameter
binaryValue: The binary value. - Returns: A BCD-encoded word.
M:IoT.Driver.OmronPlcRx.Core.Converters.BCDConverter.GetBCDWords(System.Int32)
public static short[] GetBCDWords(int binaryValue)
Gets the BCD words.
- Parameter
binaryValue: The binary value. - Returns: An array of two BCD-encoded words.
M:IoT.Driver.OmronPlcRx.Core.Converters.BCDConverter.GetBCDWords(System.UInt32)
public static short[] GetBCDWords(uint binaryValue)
Gets the BCD words.
- Parameter
binaryValue: The binary value. - Returns: An array of two BCD-encoded words.
M:IoT.Driver.OmronPlcRx.Core.Converters.BCDConverter.ToByte(System.Byte)
public static byte ToByte(byte bcdByte)
Converts to byte.
- Parameter
bcdByte: The BCD byte. - Returns: A byte representing the converted value.
M:IoT.Driver.OmronPlcRx.Core.Converters.BCDConverter.ToInt16(System.Byte[])
public static short ToInt16(byte[] bcdBytes)
Converts to int16.
- Parameter
bcdBytes: The BCD bytes. - Returns: A short.
M:IoT.Driver.OmronPlcRx.Core.Converters.BCDConverter.ToInt16(System.Int16)
public static short ToInt16(short bcdWord)
Converts to int16.
- Parameter
bcdWord: The BCD word. - Returns: A short.
M:IoT.Driver.OmronPlcRx.Core.Converters.BCDConverter.ToInt32(System.Byte[])
public static int ToInt32(byte[] bcdBytes)
Converts to int32.
- Parameter
bcdBytes: The BCD bytes. - Returns: An int.
M:IoT.Driver.OmronPlcRx.Core.Converters.BCDConverter.ToInt32(System.Int16,System.Int16)
public static int ToInt32(short bcdWord1, short bcdWord2)
Converts to int32.
- Parameter
bcdWord1: The BCD word1. - Parameter
bcdWord2: The BCD word2. - Returns: An int.
M:IoT.Driver.OmronPlcRx.Core.Converters.BCDConverter.ToUInt16(System.Byte[])
public static ushort ToUInt16(byte[] bcdBytes)
Converts to uint16.
- Parameter
bcdBytes: The BCD bytes. - Returns: A ushort.
M:IoT.Driver.OmronPlcRx.Core.Converters.BCDConverter.ToUInt16(System.Int16)
public static ushort ToUInt16(short bcdWord)
Converts to uint16.
- Parameter
bcdWord: The BCD word. - Returns: A ushort.
M:IoT.Driver.OmronPlcRx.Core.Converters.BCDConverter.ToUInt32(System.Byte[])
public static uint ToUInt32(byte[] bcdBytes)
Converts to uint32.
- Parameter
bcdBytes: The BCD bytes. - Returns: A uint.
M:IoT.Driver.OmronPlcRx.Core.Converters.BCDConverter.ToUInt32(System.Int16,System.Int16)
public static uint ToUInt32(short bcdWord1, short bcdWord2)
Converts to uint32.
- Parameter
bcdWord1: The BCD word1. - Parameter
bcdWord2: The BCD word2. - Returns: A uint.
T:IoT.Driver.OmronPlcRx.Core.Types.Bcd16
public struct IoT.Driver.OmronPlcRx.Core.Types.Bcd16
Signed 16-bit BCD numeric wrapper.
Declared public members
M:IoT.Driver.OmronPlcRx.Core.Types.Bcd16.#ctor(System.Int16)
public IoT.Driver.OmronPlcRx.Core.Types.Bcd16(short value)
Initializes a new instance of the T:IoT.Driver.OmronPlcRx.Core.Types.Bcd16 struct.
- Parameter
value: The signed value.
M:IoT.Driver.OmronPlcRx.Core.Types.Bcd16.Equals(IoT.Driver.OmronPlcRx.Core.Types.Bcd16)
public bool Equals(IoT.Driver.OmronPlcRx.Core.Types.Bcd16 other)
Determines whether the supplied value is equal to the current value.
- Parameter
other: Theothervalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Core.Types.Bcd16.Equals(System.Object)
public bool Equals(object obj)
Determines whether the supplied value is equal to the current value.
- Parameter
obj: Theobjvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Core.Types.Bcd16.GetHashCode
public int GetHashCode()
Inherits XML documentation from its implemented or overridden member.
- Returns: A
intresult.
M:IoT.Driver.OmronPlcRx.Core.Types.Bcd16.ToString
public string ToString()
Inherits XML documentation from its implemented or overridden member.
- Returns: A
stringresult.
M:IoT.Driver.OmronPlcRx.Core.Types.Bcd16.op_Equality(IoT.Driver.OmronPlcRx.Core.Types.Bcd16,IoT.Driver.OmronPlcRx.Core.Types.Bcd16)
public static bool op_Equality(IoT.Driver.OmronPlcRx.Core.Types.Bcd16 left, IoT.Driver.OmronPlcRx.Core.Types.Bcd16 right)
Determines whether the two supplied values are equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Core.Types.Bcd16.op_Inequality(IoT.Driver.OmronPlcRx.Core.Types.Bcd16,IoT.Driver.OmronPlcRx.Core.Types.Bcd16)
public static bool op_Inequality(IoT.Driver.OmronPlcRx.Core.Types.Bcd16 left, IoT.Driver.OmronPlcRx.Core.Types.Bcd16 right)
Determines whether the two supplied values are not equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
P:IoT.Driver.OmronPlcRx.Core.Types.Bcd16.Value
public short Value { get; }
Gets the numeric value.
- Value: The
Valuevalue.
T:IoT.Driver.OmronPlcRx.Core.Types.Bcd32
public struct IoT.Driver.OmronPlcRx.Core.Types.Bcd32
Signed 32-bit BCD numeric wrapper.
Declared public members
M:IoT.Driver.OmronPlcRx.Core.Types.Bcd32.#ctor(System.Int32)
public IoT.Driver.OmronPlcRx.Core.Types.Bcd32(int value)
Initializes a new instance of the T:IoT.Driver.OmronPlcRx.Core.Types.Bcd32 struct.
- Parameter
value: The signed value.
M:IoT.Driver.OmronPlcRx.Core.Types.Bcd32.Equals(IoT.Driver.OmronPlcRx.Core.Types.Bcd32)
public bool Equals(IoT.Driver.OmronPlcRx.Core.Types.Bcd32 other)
Determines whether the supplied value is equal to the current value.
- Parameter
other: Theothervalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Core.Types.Bcd32.Equals(System.Object)
public bool Equals(object obj)
Determines whether the supplied value is equal to the current value.
- Parameter
obj: Theobjvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Core.Types.Bcd32.GetHashCode
public int GetHashCode()
Inherits XML documentation from its implemented or overridden member.
- Returns: A
intresult.
M:IoT.Driver.OmronPlcRx.Core.Types.Bcd32.ToString
public string ToString()
Inherits XML documentation from its implemented or overridden member.
- Returns: A
stringresult.
M:IoT.Driver.OmronPlcRx.Core.Types.Bcd32.op_Equality(IoT.Driver.OmronPlcRx.Core.Types.Bcd32,IoT.Driver.OmronPlcRx.Core.Types.Bcd32)
public static bool op_Equality(IoT.Driver.OmronPlcRx.Core.Types.Bcd32 left, IoT.Driver.OmronPlcRx.Core.Types.Bcd32 right)
Determines whether the two supplied values are equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Core.Types.Bcd32.op_Inequality(IoT.Driver.OmronPlcRx.Core.Types.Bcd32,IoT.Driver.OmronPlcRx.Core.Types.Bcd32)
public static bool op_Inequality(IoT.Driver.OmronPlcRx.Core.Types.Bcd32 left, IoT.Driver.OmronPlcRx.Core.Types.Bcd32 right)
Determines whether the two supplied values are not equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
P:IoT.Driver.OmronPlcRx.Core.Types.Bcd32.Value
public int Value { get; }
Gets the numeric value.
- Value: The
Valuevalue.
T:IoT.Driver.OmronPlcRx.Core.Types.BcdU16
public struct IoT.Driver.OmronPlcRx.Core.Types.BcdU16
Unsigned 16-bit BCD numeric wrapper.
Declared public members
M:IoT.Driver.OmronPlcRx.Core.Types.BcdU16.#ctor(System.UInt16)
public IoT.Driver.OmronPlcRx.Core.Types.BcdU16(ushort value)
Initializes a new instance of the T:IoT.Driver.OmronPlcRx.Core.Types.BcdU16 struct.
- Parameter
value: The unsigned value.
M:IoT.Driver.OmronPlcRx.Core.Types.BcdU16.Equals(IoT.Driver.OmronPlcRx.Core.Types.BcdU16)
public bool Equals(IoT.Driver.OmronPlcRx.Core.Types.BcdU16 other)
Determines whether the supplied value is equal to the current value.
- Parameter
other: Theothervalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Core.Types.BcdU16.Equals(System.Object)
public bool Equals(object obj)
Determines whether the supplied value is equal to the current value.
- Parameter
obj: Theobjvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Core.Types.BcdU16.GetHashCode
public int GetHashCode()
Inherits XML documentation from its implemented or overridden member.
- Returns: A
intresult.
M:IoT.Driver.OmronPlcRx.Core.Types.BcdU16.ToString
public string ToString()
Inherits XML documentation from its implemented or overridden member.
- Returns: A
stringresult.
M:IoT.Driver.OmronPlcRx.Core.Types.BcdU16.op_Equality(IoT.Driver.OmronPlcRx.Core.Types.BcdU16,IoT.Driver.OmronPlcRx.Core.Types.BcdU16)
public static bool op_Equality(IoT.Driver.OmronPlcRx.Core.Types.BcdU16 left, IoT.Driver.OmronPlcRx.Core.Types.BcdU16 right)
Determines whether the two supplied values are equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Core.Types.BcdU16.op_Inequality(IoT.Driver.OmronPlcRx.Core.Types.BcdU16,IoT.Driver.OmronPlcRx.Core.Types.BcdU16)
public static bool op_Inequality(IoT.Driver.OmronPlcRx.Core.Types.BcdU16 left, IoT.Driver.OmronPlcRx.Core.Types.BcdU16 right)
Determines whether the two supplied values are not equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
P:IoT.Driver.OmronPlcRx.Core.Types.BcdU16.Value
public ushort Value { get; }
Gets the numeric value.
- Value: The
Valuevalue.
T:IoT.Driver.OmronPlcRx.Core.Types.BcdU32
public struct IoT.Driver.OmronPlcRx.Core.Types.BcdU32
Unsigned 32-bit BCD numeric wrapper.
Declared public members
M:IoT.Driver.OmronPlcRx.Core.Types.BcdU32.#ctor(System.UInt32)
public IoT.Driver.OmronPlcRx.Core.Types.BcdU32(uint value)
Initializes a new instance of the T:IoT.Driver.OmronPlcRx.Core.Types.BcdU32 struct.
- Parameter
value: The unsigned value.
M:IoT.Driver.OmronPlcRx.Core.Types.BcdU32.Equals(IoT.Driver.OmronPlcRx.Core.Types.BcdU32)
public bool Equals(IoT.Driver.OmronPlcRx.Core.Types.BcdU32 other)
Determines whether the supplied value is equal to the current value.
- Parameter
other: Theothervalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Core.Types.BcdU32.Equals(System.Object)
public bool Equals(object obj)
Determines whether the supplied value is equal to the current value.
- Parameter
obj: Theobjvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Core.Types.BcdU32.GetHashCode
public int GetHashCode()
Inherits XML documentation from its implemented or overridden member.
- Returns: A
intresult.
M:IoT.Driver.OmronPlcRx.Core.Types.BcdU32.ToString
public string ToString()
Inherits XML documentation from its implemented or overridden member.
- Returns: A
stringresult.
M:IoT.Driver.OmronPlcRx.Core.Types.BcdU32.op_Equality(IoT.Driver.OmronPlcRx.Core.Types.BcdU32,IoT.Driver.OmronPlcRx.Core.Types.BcdU32)
public static bool op_Equality(IoT.Driver.OmronPlcRx.Core.Types.BcdU32 left, IoT.Driver.OmronPlcRx.Core.Types.BcdU32 right)
Determines whether the two supplied values are equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Core.Types.BcdU32.op_Inequality(IoT.Driver.OmronPlcRx.Core.Types.BcdU32,IoT.Driver.OmronPlcRx.Core.Types.BcdU32)
public static bool op_Inequality(IoT.Driver.OmronPlcRx.Core.Types.BcdU32 left, IoT.Driver.OmronPlcRx.Core.Types.BcdU32 right)
Determines whether the two supplied values are not equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
P:IoT.Driver.OmronPlcRx.Core.Types.BcdU32.Value
public uint Value { get; }
Gets the numeric value.
- Value: The
Valuevalue.
T:IoT.Driver.OmronPlcRx.Enums.ConnectionMethod
public enum IoT.Driver.OmronPlcRx.Enums.ConnectionMethod
Transport protocol used for communication with the PLC.
Declared public members
F:IoT.Driver.OmronPlcRx.Enums.ConnectionMethod.Serial
public static const IoT.Driver.OmronPlcRx.Enums.ConnectionMethod Serial
Serial FINS protocol using Host Link FINS or Toolbus framing.
F:IoT.Driver.OmronPlcRx.Enums.ConnectionMethod.TCP
public static const IoT.Driver.OmronPlcRx.Enums.ConnectionMethod TCP
Transmission Control Protocol.
F:IoT.Driver.OmronPlcRx.Enums.ConnectionMethod.UDP
public static const IoT.Driver.OmronPlcRx.Enums.ConnectionMethod UDP
User Datagram Protocol.
T:IoT.Driver.OmronPlcRx.Enums.MemoryBitDataType
public enum IoT.Driver.OmronPlcRx.Enums.MemoryBitDataType
Bit-addressable PLC memory areas.
Declared public members
F:IoT.Driver.OmronPlcRx.Enums.MemoryBitDataType.Auxiliary
public static const IoT.Driver.OmronPlcRx.Enums.MemoryBitDataType Auxiliary
Auxiliary area (A).
F:IoT.Driver.OmronPlcRx.Enums.MemoryBitDataType.CommonIO
public static const IoT.Driver.OmronPlcRx.Enums.MemoryBitDataType CommonIO
Common I/O area (CIO).
F:IoT.Driver.OmronPlcRx.Enums.MemoryBitDataType.DataMemory
public static const IoT.Driver.OmronPlcRx.Enums.MemoryBitDataType DataMemory
Data memory area (DM).
F:IoT.Driver.OmronPlcRx.Enums.MemoryBitDataType.Holding
public static const IoT.Driver.OmronPlcRx.Enums.MemoryBitDataType Holding
Holding area (H).
F:IoT.Driver.OmronPlcRx.Enums.MemoryBitDataType.None
public static const IoT.Driver.OmronPlcRx.Enums.MemoryBitDataType None
No bit-addressable memory area.
F:IoT.Driver.OmronPlcRx.Enums.MemoryBitDataType.Work
public static const IoT.Driver.OmronPlcRx.Enums.MemoryBitDataType Work
Work area (W).
T:IoT.Driver.OmronPlcRx.Enums.MemoryWordDataType
public enum IoT.Driver.OmronPlcRx.Enums.MemoryWordDataType
Word-addressable PLC memory areas.
Declared public members
F:IoT.Driver.OmronPlcRx.Enums.MemoryWordDataType.Auxiliary
public static const IoT.Driver.OmronPlcRx.Enums.MemoryWordDataType Auxiliary
Auxiliary area (A).
F:IoT.Driver.OmronPlcRx.Enums.MemoryWordDataType.CommonIO
public static const IoT.Driver.OmronPlcRx.Enums.MemoryWordDataType CommonIO
Common I/O area (CIO).
F:IoT.Driver.OmronPlcRx.Enums.MemoryWordDataType.DataMemory
public static const IoT.Driver.OmronPlcRx.Enums.MemoryWordDataType DataMemory
Data memory area (DM).
F:IoT.Driver.OmronPlcRx.Enums.MemoryWordDataType.Holding
public static const IoT.Driver.OmronPlcRx.Enums.MemoryWordDataType Holding
Holding area (H).
F:IoT.Driver.OmronPlcRx.Enums.MemoryWordDataType.None
public static const IoT.Driver.OmronPlcRx.Enums.MemoryWordDataType None
No word-addressable memory area.
F:IoT.Driver.OmronPlcRx.Enums.MemoryWordDataType.Work
public static const IoT.Driver.OmronPlcRx.Enums.MemoryWordDataType Work
Work area (W).
T:IoT.Driver.OmronPlcRx.Enums.PlcType
public enum IoT.Driver.OmronPlcRx.Enums.PlcType
Supported Omron PLC types used to adjust message capabilities and limits.
Declared public members
F:IoT.Driver.OmronPlcRx.Enums.PlcType.CJ2
public static const IoT.Driver.OmronPlcRx.Enums.PlcType CJ2
Omron CJ2 series.
F:IoT.Driver.OmronPlcRx.Enums.PlcType.CP1
public static const IoT.Driver.OmronPlcRx.Enums.PlcType CP1
Omron CP1 series.
F:IoT.Driver.OmronPlcRx.Enums.PlcType.C_Series
public static const IoT.Driver.OmronPlcRx.Enums.PlcType C_Series
Omron C-series (legacy).
F:IoT.Driver.OmronPlcRx.Enums.PlcType.NJ101
public static const IoT.Driver.OmronPlcRx.Enums.PlcType NJ101
Omron NJ101 series.
F:IoT.Driver.OmronPlcRx.Enums.PlcType.NJ301
public static const IoT.Driver.OmronPlcRx.Enums.PlcType NJ301
Omron NJ301 series.
F:IoT.Driver.OmronPlcRx.Enums.PlcType.NJ501
public static const IoT.Driver.OmronPlcRx.Enums.PlcType NJ501
Omron NJ501 series.
F:IoT.Driver.OmronPlcRx.Enums.PlcType.NJ_NX_NY_Series
public static const IoT.Driver.OmronPlcRx.Enums.PlcType NJ_NX_NY_Series
Generic NJ/NX/NY series.
F:IoT.Driver.OmronPlcRx.Enums.PlcType.NX102
public static const IoT.Driver.OmronPlcRx.Enums.PlcType NX102
Omron NX102 series.
F:IoT.Driver.OmronPlcRx.Enums.PlcType.NX1P2
public static const IoT.Driver.OmronPlcRx.Enums.PlcType NX1P2
Omron NX1P2 series.
F:IoT.Driver.OmronPlcRx.Enums.PlcType.NX701
public static const IoT.Driver.OmronPlcRx.Enums.PlcType NX701
Omron NX701 series.
F:IoT.Driver.OmronPlcRx.Enums.PlcType.NY512
public static const IoT.Driver.OmronPlcRx.Enums.PlcType NY512
Omron NY512 series.
F:IoT.Driver.OmronPlcRx.Enums.PlcType.NY532
public static const IoT.Driver.OmronPlcRx.Enums.PlcType NY532
Omron NY532 series.
F:IoT.Driver.OmronPlcRx.Enums.PlcType.Unknown
public static const IoT.Driver.OmronPlcRx.Enums.PlcType Unknown
Unknown or not yet identified.
T:IoT.Driver.OmronPlcRx.FINSException
public class IoT.Driver.OmronPlcRx.FINSException
An exception that represents a FINS protocol error or invalid response.
Declared public members
M:IoT.Driver.OmronPlcRx.FINSException.#ctor
public IoT.Driver.OmronPlcRx.FINSException()
Initializes a new instance of the T:IoT.Driver.OmronPlcRx.FINSException class.
M:IoT.Driver.OmronPlcRx.FINSException.#ctor(System.String)
public IoT.Driver.OmronPlcRx.FINSException(string message)
Initializes a new instance of the T:IoT.Driver.OmronPlcRx.FINSException class with a message.
- Parameter
message: The message that describes the error.
M:IoT.Driver.OmronPlcRx.FINSException.#ctor(System.String,System.Exception)
public IoT.Driver.OmronPlcRx.FINSException(string message, System.Exception innerException)
Initializes a new instance of the T:IoT.Driver.OmronPlcRx.FINSException class.
- Parameter
message: The error message that explains the reason for the exception. - Parameter
innerException: The exception that caused the current exception.
T:IoT.Driver.OmronPlcRx.HostLinkFinsFrameCodec
public class IoT.Driver.OmronPlcRx.HostLinkFinsFrameCodec
Encodes and decodes Omron FINS frames carried in Host Link serial frames.
Declared public members
M:IoT.Driver.OmronPlcRx.HostLinkFinsFrameCodec.#ctor(IoT.Driver.OmronPlcRx.OmronSerialOptions)
public IoT.Driver.OmronPlcRx.HostLinkFinsFrameCodec(IoT.Driver.OmronPlcRx.OmronSerialOptions options)
Initializes a new instance of the T:IoT.Driver.OmronPlcRx.HostLinkFinsFrameCodec class.
- Parameter
options: Serial Host Link options.
M:IoT.Driver.OmronPlcRx.HostLinkFinsFrameCodec.CalculateFcs(System.String)
public static string CalculateFcs(string frameText)
Calculates the Host Link frame-check sequence.
- Parameter
frameText: Frame text from @ through the final text character, excluding FCS and terminator. - Returns: Two-character uppercase hexadecimal FCS.
M:IoT.Driver.OmronPlcRx.HostLinkFinsFrameCodec.DecodeResponse(System.String)
public System.Memory<byte> DecodeResponse(string frame)
Decodes an ASCII Host Link FINS response into a binary FINS response message.
- Parameter
frame: ASCII Host Link FINS response frame including FCS and terminator. - Returns: Binary FINS response message.
M:IoT.Driver.OmronPlcRx.HostLinkFinsFrameCodec.EncodeRequest(System.ReadOnlyMemory1{System.Byte})`
public string EncodeRequest(System.ReadOnlyMemory<byte> finsMessage)
Executes the EncodeRequest operation.
- Parameter
finsMessage: ThefinsMessagevalue. - Returns: A
stringresult.
T:IoT.Driver.OmronPlcRx.IOmronPlcRx
public interface IoT.Driver.OmronPlcRx.IOmronPlcRx
Defines high-level Omron PLC operations and tag access.
Declared public members
M:IoT.Driver.OmronPlcRx.IOmronPlcRx.AddUpdateTagItem``1(IoT.Driver.OmronPlcRx.Tags.PlcTag1{``0})`
public void AddUpdateTagItem<T>(IoT.Driver.OmronPlcRx.Tags.PlcTag<T> tag)
Executes the AddUpdateTagItem operation.
- Parameter
tag: Thetagvalue.
M:IoT.Driver.OmronPlcRx.IOmronPlcRx.GetValue``1(IoT.Driver.Core.LogicalTagKey1{``0})`
public T GetValue<T>(IoT.Driver.Core.LogicalTagKey<T> tag)
Executes the GetValue operation.
- Parameter
tag: Thetagvalue. - Returns: A
Tresult.
M:IoT.Driver.OmronPlcRx.IOmronPlcRx.Observe``1(IoT.Driver.Core.LogicalTagKey1{``0})`
public System.IObservable<T> Observe<T>(IoT.Driver.Core.LogicalTagKey<T> tag)
Executes the Observe operation.
- Parameter
tag: Thetagvalue. - Returns: A
System.IObservable<T>result.
M:IoT.Driver.OmronPlcRx.IOmronPlcRx.ReadClockAsync(System.Threading.CancellationToken)
public System.Threading.Tasks.Task<IoT.Driver.OmronPlcRx.Results.ReadClockResult> ReadClockAsync(System.Threading.CancellationToken cancellationToken)
Reads the PLC real-time clock.
- Parameter
cancellationToken: Cancellation token. - Returns: Clock read result.
M:IoT.Driver.OmronPlcRx.IOmronPlcRx.ReadCycleTimeAsync(System.Threading.CancellationToken)
public System.Threading.Tasks.Task<IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult> ReadCycleTimeAsync(System.Threading.CancellationToken cancellationToken)
Reads PLC scan cycle time statistics.
- Parameter
cancellationToken: Cancellation token. - Returns: Cycle time statistics.
M:IoT.Driver.OmronPlcRx.IOmronPlcRx.ReadValueAsync``1(IoT.Driver.Core.LogicalTagKey1{``0},System.Threading.CancellationToken)`
public System.Threading.Tasks.Task<T> ReadValueAsync<T>(IoT.Driver.Core.LogicalTagKey<T> tag, System.Threading.CancellationToken cancellationToken)
Executes the ReadValueAsync operation.
- Parameter
tag: Thetagvalue. - Parameter
cancellationToken: ThecancellationTokenvalue. - Returns: A
System.Threading.Tasks.Task<T>result.
M:IoT.Driver.OmronPlcRx.IOmronPlcRx.RemoveTagItem(System.String)
public bool RemoveTagItem(string tagName)
Removes a registered tag definition.
- Parameter
tagName: Logical tag name. - Returns: when a tag was removed.
M:IoT.Driver.OmronPlcRx.IOmronPlcRx.SetValue``1(IoT.Driver.Core.LogicalTagKey1{0},0)`
public void SetValue<T>(IoT.Driver.Core.LogicalTagKey<T> tag, T value)
Executes the SetValue operation.
- Parameter
tag: Thetagvalue. - Parameter
value: Thevaluevalue.
M:IoT.Driver.OmronPlcRx.IOmronPlcRx.WriteClockAsync(System.DateTimeOffset,System.Int32,System.Threading.CancellationToken)
public System.Threading.Tasks.Task<IoT.Driver.OmronPlcRx.Results.WriteClockResult> WriteClockAsync(System.DateTimeOffset newDateTime, int newDayOfWeek, System.Threading.CancellationToken cancellationToken)
Writes the PLC real-time clock with explicit day-of-week.
- Parameter
newDateTime: New date/time. - Parameter
newDayOfWeek: Day of week (0-6). - Parameter
cancellationToken: Cancellation token. - Returns: Clock write result.
M:IoT.Driver.OmronPlcRx.IOmronPlcRx.WriteClockAsync(System.DateTimeOffset,System.Threading.CancellationToken)
public System.Threading.Tasks.Task<IoT.Driver.OmronPlcRx.Results.WriteClockResult> WriteClockAsync(System.DateTimeOffset newDateTime, System.Threading.CancellationToken cancellationToken)
Writes the PLC real-time clock (day-of-week inferred from date).
- Parameter
newDateTime: New date/time. - Parameter
cancellationToken: Cancellation token. - Returns: Clock write result.
M:IoT.Driver.OmronPlcRx.IOmronPlcRx.WriteValueAsync``1(IoT.Driver.Core.LogicalTagKey1{0},0,System.Threading.CancellationToken)`
public System.Threading.Tasks.Task WriteValueAsync<T>(IoT.Driver.Core.LogicalTagKey<T> tag, T value, System.Threading.CancellationToken cancellationToken)
Executes the WriteValueAsync operation.
- Parameter
tag: Thetagvalue. - Parameter
value: Thevaluevalue. - Parameter
cancellationToken: ThecancellationTokenvalue. - Returns: A
System.Threading.Tasks.Taskresult.
P:IoT.Driver.OmronPlcRx.IOmronPlcRx.ControllerModel
public string ControllerModel { get; }
Gets the PLC controller model string.
- Value: The
ControllerModelvalue.
P:IoT.Driver.OmronPlcRx.IOmronPlcRx.ControllerVersion
public string ControllerVersion { get; }
Gets the PLC controller version string.
- Value: The
ControllerVersionvalue.
P:IoT.Driver.OmronPlcRx.IOmronPlcRx.Errors
public System.IObservable<IoT.Driver.OmronPlcRx.OmronPLCException> Errors { get; }
Gets an observable of operational errors.
- Value: The
Errorsvalue.
P:IoT.Driver.OmronPlcRx.IOmronPlcRx.ObserveAll
public System.IObservable<IoT.Driver.OmronPlcRx.Tags.IPlcTag> ObserveAll { get; }
Gets an observable of all tag change events.
- Value: The
ObserveAllvalue.
P:IoT.Driver.OmronPlcRx.IOmronPlcRx.PlcType
public IoT.Driver.OmronPlcRx.Enums.PlcType PlcType { get; }
Gets the detected PLC type.
- Value: The
PlcTypevalue.
T:IoT.Driver.OmronPlcRx.OmronConnectionOptions
public class IoT.Driver.OmronPlcRx.OmronConnectionOptions
Configures an Omron PLC transport connection.
Declared public members
M:IoT.Driver.OmronPlcRx.OmronConnectionOptions.#ctor(System.Byte,System.Byte,IoT.Driver.OmronPlcRx.Enums.ConnectionMethod,System.String)
public IoT.Driver.OmronPlcRx.OmronConnectionOptions(byte localNodeId, byte remoteNodeId, IoT.Driver.OmronPlcRx.Enums.ConnectionMethod connectionMethod, string remoteHost)
Configures an Omron PLC transport connection.
- Parameter
localNodeId: Local FINS node identifier. - Parameter
remoteNodeId: Remote PLC FINS node identifier. - Parameter
connectionMethod: Transport to use. - Parameter
remoteHost: PLC hostname, IP address, or serial port name.
P:IoT.Driver.OmronPlcRx.OmronConnectionOptions.ConnectionMethod
public IoT.Driver.OmronPlcRx.Enums.ConnectionMethod ConnectionMethod { get; }
Gets the transport to use.
- Value: The
ConnectionMethodvalue.
P:IoT.Driver.OmronPlcRx.OmronConnectionOptions.LocalNodeId
public byte LocalNodeId { get; }
Gets the local FINS node identifier.
- Value: The
LocalNodeIdvalue.
P:IoT.Driver.OmronPlcRx.OmronConnectionOptions.Port
public int Port { get; set; }
Gets or initializes the network service port.
- Value: The
Portvalue.
P:IoT.Driver.OmronPlcRx.OmronConnectionOptions.RemoteHost
public string RemoteHost { get; }
Gets the PLC hostname, IP address, or serial port name.
- Value: The
RemoteHostvalue.
P:IoT.Driver.OmronPlcRx.OmronConnectionOptions.RemoteNodeId
public byte RemoteNodeId { get; }
Gets the remote PLC FINS node identifier.
- Value: The
RemoteNodeIdvalue.
P:IoT.Driver.OmronPlcRx.OmronConnectionOptions.Retries
public int Retries { get; set; }
Gets or initializes the transient retry count.
- Value: The
Retriesvalue.
P:IoT.Driver.OmronPlcRx.OmronConnectionOptions.SerialOptions
public IoT.Driver.OmronPlcRx.OmronSerialOptions SerialOptions { get; set; }
Gets or initializes serial transport settings.
- Value: The
SerialOptionsvalue.
P:IoT.Driver.OmronPlcRx.OmronConnectionOptions.Timeout
public int Timeout { get; set; }
Gets or initializes the request timeout in milliseconds.
- Value: The
Timeoutvalue.
T:IoT.Driver.OmronPlcRx.OmronHostLinkFinsFrameMode
public enum IoT.Driver.OmronPlcRx.OmronHostLinkFinsFrameMode
Specifies the Host Link FINS frame layout used over serial communications.
Declared public members
F:IoT.Driver.OmronPlcRx.OmronHostLinkFinsFrameMode.Direct
public static const IoT.Driver.OmronPlcRx.OmronHostLinkFinsFrameMode Direct
Directly connected host-computer-to-CPU format using ICF/DA2/SA2/SID fields.
F:IoT.Driver.OmronPlcRx.OmronHostLinkFinsFrameMode.Network
public static const IoT.Driver.OmronPlcRx.OmronHostLinkFinsFrameMode Network
Network-capable format using the complete FINS header.
T:IoT.Driver.OmronPlcRx.OmronLogicalTagClient
public class IoT.Driver.OmronPlcRx.OmronLogicalTagClient
Contains grouped FINS operations for the logical-tag client.
Declared public members
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.#ctor(IoT.Driver.OmronPlcRx.IOmronPlcRx)
public IoT.Driver.OmronPlcRx.OmronLogicalTagClient(IoT.Driver.OmronPlcRx.IOmronPlcRx plc)
Initializes a new instance of the T:IoT.Driver.OmronPlcRx.OmronLogicalTagClient class.
- Parameter
plc: Omron PLC facade used for protocol operations.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.#ctor(IoT.Driver.OmronPlcRx.IOmronPlcRx,IoT.Driver.Core.ILogicalTagCatalog)
public IoT.Driver.OmronPlcRx.OmronLogicalTagClient(IoT.Driver.OmronPlcRx.IOmronPlcRx plc, IoT.Driver.Core.ILogicalTagCatalog catalog)
Initializes a new instance of the T:IoT.Driver.OmronPlcRx.OmronLogicalTagClient class.
- Parameter
plc: Omron PLC facade used for protocol operations. - Parameter
catalog: Logical-tag catalog.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.#ctor(IoT.Driver.OmronPlcRx.IOmronPlcRx,IoT.Driver.Core.ILogicalTagCatalog,IoT.Driver.Core.LogicalTagSqliteStore)
public IoT.Driver.OmronPlcRx.OmronLogicalTagClient(IoT.Driver.OmronPlcRx.IOmronPlcRx plc, IoT.Driver.Core.ILogicalTagCatalog catalog, IoT.Driver.Core.LogicalTagSqliteStore store)
Initializes a new instance of the T:IoT.Driver.OmronPlcRx.OmronLogicalTagClient class.
- Parameter
plc: Omron PLC facade used for protocol operations. - Parameter
catalog: Logical-tag catalog. - Parameter
store: Optional SQLite store.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.#ctor(IoT.Driver.OmronPlcRx.IOmronPlcRx,System.String)
public IoT.Driver.OmronPlcRx.OmronLogicalTagClient(IoT.Driver.OmronPlcRx.IOmronPlcRx plc, string sqliteConnectionString)
Initializes a new instance of the T:IoT.Driver.OmronPlcRx.OmronLogicalTagClient class.
- Parameter
plc: Omron PLC facade used for protocol operations. - Parameter
sqliteConnectionString: SQLite connection string.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.CreateTag``1(IoT.Driver.OmronPlcRx.Tags.PlcTag1{``0})`
public IoT.Driver.Core.LogicalTag CreateTag<T>(IoT.Driver.OmronPlcRx.Tags.PlcTag<T> tag)
Executes the CreateTag operation.
- Parameter
tag: Thetagvalue. - Returns: A
IoT.Driver.Core.LogicalTagresult.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.CreateTag``1(IoT.Driver.OmronPlcRx.Tags.PlcTag1{``0},System.String,System.String,System.Collections.Generic.IReadOnlyDictionary2{System.String,System.String},IoT.Driver.Core.LogicalTagAccessMode,System.Nullable1{System.TimeSpan})`
public IoT.Driver.Core.LogicalTag CreateTag<T>(IoT.Driver.OmronPlcRx.Tags.PlcTag<T> tag, string groupName, string description, System.Collections.Generic.IReadOnlyDictionary<string, string> metadata, IoT.Driver.Core.LogicalTagAccessMode accessMode, System.Nullable<System.TimeSpan> scanInterval)
Executes the CreateTag operation.
- Parameter
tag: Thetagvalue. - Parameter
groupName: ThegroupNamevalue. - Parameter
description: Thedescriptionvalue. - Parameter
metadata: Themetadatavalue. - Parameter
accessMode: TheaccessModevalue. - Parameter
scanInterval: ThescanIntervalvalue. - Returns: A
IoT.Driver.Core.LogicalTagresult.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.DeleteGroupAsync(System.String,System.Threading.CancellationToken)
public System.Threading.Tasks.Task<bool> DeleteGroupAsync(string name, System.Threading.CancellationToken cancellationToken)
Deletes a persisted tag group.
- Parameter
name: Logical tag group name. - Parameter
cancellationToken: Token used to cancel the operation. - Returns: True when the persisted group existed; otherwise false.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.DeleteTagAsync(System.String,System.Threading.CancellationToken)
public System.Threading.Tasks.Task<bool> DeleteTagAsync(string name, System.Threading.CancellationToken cancellationToken)
Deletes a persisted and registered tag.
- Parameter
name: Logical tag name. - Parameter
cancellationToken: Token used to cancel the operation. - Returns: True when the persisted tag existed; otherwise false.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.Dispose
public void Dispose()
Inherits XML documentation from its implemented or overridden member.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.EditTagAsync(IoT.Driver.Core.LogicalTag,System.Threading.CancellationToken)
public System.Threading.Tasks.Task<bool> EditTagAsync(IoT.Driver.Core.LogicalTag tag, System.Threading.CancellationToken cancellationToken)
Edits an existing persisted tag and refreshes its registration.
- Parameter
tag: Logical tag definition. - Parameter
cancellationToken: Token used to cancel the operation. - Returns: True when the persisted tag existed; otherwise false.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.ExportCsvAsync(System.IO.TextWriter,System.Char,System.Threading.CancellationToken)
public System.Threading.Tasks.Task ExportCsvAsync(System.IO.TextWriter writer, char delimiter, System.Threading.CancellationToken cancellationToken)
Exports the current catalog as RFC 4180 CSV.
- Parameter
writer: CSV destination writer. - Parameter
delimiter: CSV delimiter. - Parameter
cancellationToken: Token used to cancel the export. - Returns: A task representing the export.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.GetGroupAsync(System.String,System.Threading.CancellationToken)
public System.Threading.Tasks.Task<IoT.Driver.Core.LogicalTagGroup> GetGroupAsync(string name, System.Threading.CancellationToken cancellationToken)
Gets a persisted tag group.
- Parameter
name: Logical tag group name. - Parameter
cancellationToken: Token used to cancel the query. - Returns: The matching group when present; otherwise null.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.GetTagAsync(System.String,System.Threading.CancellationToken)
public System.Threading.Tasks.Task<IoT.Driver.Core.LogicalTag> GetTagAsync(string name, System.Threading.CancellationToken cancellationToken)
Gets a persisted tag by name.
- Parameter
name: Logical tag name. - Parameter
cancellationToken: Token used to cancel the query. - Returns: The matching tag when present; otherwise null.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.ImportCsvAsync(System.IO.TextReader,System.Char,System.Threading.CancellationToken)
public System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyList<IoT.Driver.Core.LogicalTag>> ImportCsvAsync(System.IO.TextReader reader, char delimiter, System.Threading.CancellationToken cancellationToken)
Imports RFC 4180 CSV definitions and registers them dynamically.
- Parameter
reader: CSV source reader. - Parameter
delimiter: CSV delimiter. - Parameter
cancellationToken: Token used to cancel the import. - Returns: The imported logical tags.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.InitializeStoreAsync(System.Threading.CancellationToken)
public System.Threading.Tasks.Task InitializeStoreAsync(System.Threading.CancellationToken cancellationToken)
Initializes the configured SQLite store.
- Parameter
cancellationToken: Token used to cancel initialization. - Returns: A task representing initialization.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.ListGroupsAsync(System.Threading.CancellationToken)
public System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyList<IoT.Driver.Core.LogicalTagGroup>> ListGroupsAsync(System.Threading.CancellationToken cancellationToken)
Lists persisted tag groups.
- Parameter
cancellationToken: Token used to cancel the query. - Returns: The persisted groups.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.ListTagsAsync(System.Threading.CancellationToken)
public System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyList<IoT.Driver.Core.LogicalTag>> ListTagsAsync(System.Threading.CancellationToken cancellationToken)
Lists persisted tags.
- Parameter
cancellationToken: Token used to cancel the query. - Returns: The persisted logical tags.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.LoadTagsAsync(System.Threading.CancellationToken)
public System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyList<IoT.Driver.Core.LogicalTag>> LoadTagsAsync(System.Threading.CancellationToken cancellationToken)
Loads and dynamically registers all tags from the configured SQLite store.
- Parameter
cancellationToken: Token used to cancel the load. - Returns: The loaded logical tags.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.Observe(System.String)
public System.IObservable<IoT.Driver.Core.LogicalTagValue> Observe(string tagName)
Inherits XML documentation from its implemented or overridden member.
- Parameter
tagName: ThetagNamevalue. - Returns: A
System.IObservable<IoT.Driver.Core.LogicalTagValue>result.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.ObserveAsync(System.String,System.Threading.CancellationToken)
public System.Collections.Generic.IAsyncEnumerable<IoT.Driver.Core.LogicalTagValue> ObserveAsync(string tagName, System.Threading.CancellationToken cancellationToken)
Inherits XML documentation from its implemented or overridden member.
- Parameter
tagName: ThetagNamevalue. - Parameter
cancellationToken: ThecancellationTokenvalue. - Returns: A
System.Collections.Generic.IAsyncEnumerable<IoT.Driver.Core.LogicalTagValue>result.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.ObserveMany(System.Collections.Generic.IReadOnlyCollection1{System.String})`
public System.IObservable<IoT.Driver.Core.LogicalTagValue> ObserveMany(System.Collections.Generic.IReadOnlyCollection<string> tagNames)
Executes the ObserveMany operation.
- Parameter
tagNames: ThetagNamesvalue. - Returns: A
System.IObservable<IoT.Driver.Core.LogicalTagValue>result.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.ObserveManyAsync(System.Collections.Generic.IReadOnlyCollection1{System.String},System.Threading.CancellationToken)`
public System.Collections.Generic.IAsyncEnumerable<IoT.Driver.Core.LogicalTagValue> ObserveManyAsync(System.Collections.Generic.IReadOnlyCollection<string> tagNames, System.Threading.CancellationToken cancellationToken)
Executes the ObserveManyAsync operation.
- Parameter
tagNames: ThetagNamesvalue. - Parameter
cancellationToken: ThecancellationTokenvalue. - Returns: A
System.Collections.Generic.IAsyncEnumerable<IoT.Driver.Core.LogicalTagValue>result.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.ReadAsync(System.String,System.Threading.CancellationToken)
public System.Threading.Tasks.Task<IoT.Driver.Core.TagOperationResult<IoT.Driver.Core.LogicalTagValue>> ReadAsync(string tagName, System.Threading.CancellationToken cancellationToken)
Inherits XML documentation from its implemented or overridden member.
- Parameter
tagName: ThetagNamevalue. - Parameter
cancellationToken: ThecancellationTokenvalue. - Returns: A
System.Threading.Tasks.Task<IoT.Driver.Core.TagOperationResult<IoT.Driver.Core.LogicalTagValue>>result.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.ReadManyAsync(System.Collections.Generic.IReadOnlyCollection1{System.String},System.Threading.CancellationToken)`
public System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyList<IoT.Driver.Core.TagOperationResult<IoT.Driver.Core.LogicalTagValue>>> ReadManyAsync(System.Collections.Generic.IReadOnlyCollection<string> tagNames, System.Threading.CancellationToken cancellationToken)
Executes the ReadManyAsync operation.
- Parameter
tagNames: ThetagNamesvalue. - Parameter
cancellationToken: ThecancellationTokenvalue. - Returns: A
System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyList<IoT.Driver.Core.TagOperationResult<IoT.Driver.Core.LogicalTagValue>>>result.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.RegisterTag(IoT.Driver.Core.LogicalTag)
public void RegisterTag(IoT.Driver.Core.LogicalTag tag)
Registers or replaces a logical tag in both the Omron facade and catalog.
- Parameter
tag: Logical tag to register.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.RemoveTag(System.String)
public bool RemoveTag(string name)
Removes a logical tag from the Omron facade and catalog.
- Parameter
name: Logical tag name. - Returns: True when either registration was removed; otherwise false.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.UpsertGroupAsync(IoT.Driver.Core.LogicalTagGroup,System.Threading.CancellationToken)
public System.Threading.Tasks.Task UpsertGroupAsync(IoT.Driver.Core.LogicalTagGroup group, System.Threading.CancellationToken cancellationToken)
Upserts a persisted tag group.
- Parameter
group: Logical tag group. - Parameter
cancellationToken: Token used to cancel the operation. - Returns: A task representing the operation.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.UpsertTagAsync(IoT.Driver.Core.LogicalTag,System.Threading.CancellationToken)
public System.Threading.Tasks.Task UpsertTagAsync(IoT.Driver.Core.LogicalTag tag, System.Threading.CancellationToken cancellationToken)
Upserts a persisted tag and registers the resulting definition.
- Parameter
tag: Logical tag to upsert. - Parameter
cancellationToken: Token used to cancel the operation. - Returns: A task representing the operation.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.WriteAsync(IoT.Driver.Core.LogicalTagValue,System.Threading.CancellationToken)
public System.Threading.Tasks.Task<IoT.Driver.Core.TagOperationResult<IoT.Driver.Core.LogicalTagValue>> WriteAsync(IoT.Driver.Core.LogicalTagValue value, System.Threading.CancellationToken cancellationToken)
Inherits XML documentation from its implemented or overridden member.
- Parameter
value: Thevaluevalue. - Parameter
cancellationToken: ThecancellationTokenvalue. - Returns: A
System.Threading.Tasks.Task<IoT.Driver.Core.TagOperationResult<IoT.Driver.Core.LogicalTagValue>>result.
M:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.WriteManyAsync(System.Collections.Generic.IReadOnlyCollection1{IoT.Driver.Core.LogicalTagValue},System.Threading.CancellationToken)`
public System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyList<IoT.Driver.Core.TagOperationResult<IoT.Driver.Core.LogicalTagValue>>> WriteManyAsync(System.Collections.Generic.IReadOnlyCollection<IoT.Driver.Core.LogicalTagValue> values, System.Threading.CancellationToken cancellationToken)
Executes the WriteManyAsync operation.
- Parameter
values: Thevaluesvalue. - Parameter
cancellationToken: ThecancellationTokenvalue. - Returns: A
System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyList<IoT.Driver.Core.TagOperationResult<IoT.Driver.Core.LogicalTagValue>>>result.
P:IoT.Driver.OmronPlcRx.OmronLogicalTagClient.Catalog
public IoT.Driver.Core.ILogicalTagCatalog Catalog { get; }
Gets the logical-tag catalog composed by this client.
- Value: The
Catalogvalue.
T:IoT.Driver.OmronPlcRx.OmronPLCException
public class IoT.Driver.OmronPlcRx.OmronPLCException
Represents errors that occur during Omron PLC communication or processing.
Declared public members
M:IoT.Driver.OmronPlcRx.OmronPLCException.#ctor
public IoT.Driver.OmronPlcRx.OmronPLCException()
Initializes a new instance of the T:IoT.Driver.OmronPlcRx.OmronPLCException class.
M:IoT.Driver.OmronPlcRx.OmronPLCException.#ctor(System.String)
public IoT.Driver.OmronPlcRx.OmronPLCException(string message)
Initializes a new instance of the T:IoT.Driver.OmronPlcRx.OmronPLCException class.
- Parameter
message: The message that describes the error.
M:IoT.Driver.OmronPlcRx.OmronPLCException.#ctor(System.String,System.Exception)
public IoT.Driver.OmronPlcRx.OmronPLCException(string message, System.Exception innerException)
Initializes a new instance of the T:IoT.Driver.OmronPlcRx.OmronPLCException class.
- Parameter
message: The error message that explains the reason for the exception. - Parameter
innerException: The exception that is the cause of the current exception.
T:IoT.Driver.OmronPlcRx.OmronPlcRx
public class IoT.Driver.OmronPlcRx.OmronPlcRx
Contains PLC tag address parsing helpers.
Declared public members
M:IoT.Driver.OmronPlcRx.OmronPlcRx.#ctor(IoT.Driver.OmronPlcRx.OmronConnectionOptions,System.Nullable1{System.TimeSpan})`
public IoT.Driver.OmronPlcRx.OmronPlcRx(IoT.Driver.OmronPlcRx.OmronConnectionOptions options, System.Nullable<System.TimeSpan> pollInterval)
Initializes a new instance of IoT.Driver.OmronPlcRx.OmronPlcRx.
- Parameter
options: Theoptionsvalue. - Parameter
pollInterval: ThepollIntervalvalue.
M:IoT.Driver.OmronPlcRx.OmronPlcRx.#ctor(System.Byte,System.Byte,IoT.Driver.OmronPlcRx.OmronSerialOptions,System.Int32,System.Int32,System.Nullable1{System.TimeSpan})`
public IoT.Driver.OmronPlcRx.OmronPlcRx(byte localNodeId, byte remoteNodeId, IoT.Driver.OmronPlcRx.OmronSerialOptions serialOptions, int timeout, int retries, System.Nullable<System.TimeSpan> pollInterval)
Initializes a new instance of IoT.Driver.OmronPlcRx.OmronPlcRx.
- Parameter
localNodeId: ThelocalNodeIdvalue. - Parameter
remoteNodeId: TheremoteNodeIdvalue. - Parameter
serialOptions: TheserialOptionsvalue. - Parameter
timeout: Thetimeoutvalue. - Parameter
retries: Theretriesvalue. - Parameter
pollInterval: ThepollIntervalvalue.
M:IoT.Driver.OmronPlcRx.OmronPlcRx.AddUpdateTagItem``1(IoT.Driver.OmronPlcRx.Tags.PlcTag1{``0})`
public void AddUpdateTagItem<T>(IoT.Driver.OmronPlcRx.Tags.PlcTag<T> tag)
Executes the AddUpdateTagItem operation.
- Parameter
tag: Thetagvalue.
M:IoT.Driver.OmronPlcRx.OmronPlcRx.Dispose
public void Dispose()
Dispose pattern.
M:IoT.Driver.OmronPlcRx.OmronPlcRx.GetValue``1(IoT.Driver.Core.LogicalTagKey1{``0})`
public T GetValue<T>(IoT.Driver.Core.LogicalTagKey<T> tag)
Executes the GetValue operation.
- Parameter
tag: Thetagvalue. - Returns: A
Tresult.
M:IoT.Driver.OmronPlcRx.OmronPlcRx.Observe``1(IoT.Driver.Core.LogicalTagKey1{``0})`
public System.IObservable<T> Observe<T>(IoT.Driver.Core.LogicalTagKey<T> tag)
Executes the Observe operation.
- Parameter
tag: Thetagvalue. - Returns: A
System.IObservable<T>result.
M:IoT.Driver.OmronPlcRx.OmronPlcRx.ReadClockAsync(System.Threading.CancellationToken)
public System.Threading.Tasks.Task<IoT.Driver.OmronPlcRx.Results.ReadClockResult> ReadClockAsync(System.Threading.CancellationToken cancellationToken)
Reads the PLC real-time clock via the underlying connection.
- Parameter
cancellationToken: Cancellation token. - Returns: Clock read result.
M:IoT.Driver.OmronPlcRx.OmronPlcRx.ReadCycleTimeAsync(System.Threading.CancellationToken)
public System.Threading.Tasks.Task<IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult> ReadCycleTimeAsync(System.Threading.CancellationToken cancellationToken)
Reads PLC scan cycle time statistics via the underlying connection.
- Parameter
cancellationToken: Cancellation token. - Returns: Cycle time statistics.
M:IoT.Driver.OmronPlcRx.OmronPlcRx.ReadValueAsync``1(IoT.Driver.Core.LogicalTagKey1{``0},System.Threading.CancellationToken)`
public System.Threading.Tasks.Task<T> ReadValueAsync<T>(IoT.Driver.Core.LogicalTagKey<T> tag, System.Threading.CancellationToken cancellationToken)
Executes the ReadValueAsync operation.
- Parameter
tag: Thetagvalue. - Parameter
cancellationToken: ThecancellationTokenvalue. - Returns: A
System.Threading.Tasks.Task<T>result.
M:IoT.Driver.OmronPlcRx.OmronPlcRx.RemoveTagItem(System.String)
public bool RemoveTagItem(string tagName)
Inherits XML documentation from its implemented or overridden member.
- Parameter
tagName: ThetagNamevalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.OmronPlcRx.SetValue``1(IoT.Driver.Core.LogicalTagKey1{0},0)`
public void SetValue<T>(IoT.Driver.Core.LogicalTagKey<T> tag, T value)
Executes the SetValue operation.
- Parameter
tag: Thetagvalue. - Parameter
value: Thevaluevalue.
M:IoT.Driver.OmronPlcRx.OmronPlcRx.WriteClockAsync(System.DateTimeOffset,System.Int32,System.Threading.CancellationToken)
public System.Threading.Tasks.Task<IoT.Driver.OmronPlcRx.Results.WriteClockResult> WriteClockAsync(System.DateTimeOffset newDateTime, int newDayOfWeek, System.Threading.CancellationToken cancellationToken)
Writes the PLC real-time clock with explicit day-of-week via the underlying connection.
- Parameter
newDateTime: New date/time. - Parameter
newDayOfWeek: Day of week (0-6). - Parameter
cancellationToken: Cancellation token. - Returns: Clock write result.
M:IoT.Driver.OmronPlcRx.OmronPlcRx.WriteClockAsync(System.DateTimeOffset,System.Threading.CancellationToken)
public System.Threading.Tasks.Task<IoT.Driver.OmronPlcRx.Results.WriteClockResult> WriteClockAsync(System.DateTimeOffset newDateTime, System.Threading.CancellationToken cancellationToken)
Writes the PLC real-time clock (day-of-week inferred) via the underlying connection.
- Parameter
newDateTime: New date/time. - Parameter
cancellationToken: Cancellation token. - Returns: Clock write result.
M:IoT.Driver.OmronPlcRx.OmronPlcRx.WriteValueAsync``1(IoT.Driver.Core.LogicalTagKey1{0},0,System.Threading.CancellationToken)`
public System.Threading.Tasks.Task WriteValueAsync<T>(IoT.Driver.Core.LogicalTagKey<T> tag, T value, System.Threading.CancellationToken cancellationToken)
Executes the WriteValueAsync operation.
- Parameter
tag: Thetagvalue. - Parameter
value: Thevaluevalue. - Parameter
cancellationToken: ThecancellationTokenvalue. - Returns: A
System.Threading.Tasks.Taskresult.
P:IoT.Driver.OmronPlcRx.OmronPlcRx.ControllerModel
public string ControllerModel { get; }
Gets the controller model value.
- Value: The
ControllerModelvalue.
P:IoT.Driver.OmronPlcRx.OmronPlcRx.ControllerVersion
public string ControllerVersion { get; }
Gets the controller version value.
- Value: The
ControllerVersionvalue.
P:IoT.Driver.OmronPlcRx.OmronPlcRx.Errors
public System.IObservable<IoT.Driver.OmronPlcRx.OmronPLCException> Errors { get; }
Inherits XML documentation from its implemented or overridden member.
- Value: The
Errorsvalue.
P:IoT.Driver.OmronPlcRx.OmronPlcRx.IsDisposed
public bool IsDisposed { get; }
Inherits XML documentation from its implemented or overridden member.
- Value: The
IsDisposedvalue.
P:IoT.Driver.OmronPlcRx.OmronPlcRx.ObserveAll
public System.IObservable<IoT.Driver.OmronPlcRx.Tags.IPlcTag> ObserveAll { get; }
Inherits XML documentation from its implemented or overridden member.
- Value: The
ObserveAllvalue.
P:IoT.Driver.OmronPlcRx.OmronPlcRx.PlcType
public IoT.Driver.OmronPlcRx.Enums.PlcType PlcType { get; }
Gets the plc type value.
- Value: The type of the PLC.
T:IoT.Driver.OmronPlcRx.OmronPlcSimulator
public class IoT.Driver.OmronPlcRx.OmronPlcSimulator
Provides a deterministic, in-memory Omron PLC through T:IoT.Driver.OmronPlcRx.IOmronPlcRx .
Declared public members
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.#ctor
public IoT.Driver.OmronPlcRx.OmronPlcSimulator()
Initializes a new instance of the T:IoT.Driver.OmronPlcRx.OmronPlcSimulator class.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.#ctor(IoT.Driver.OmronPlcRx.Enums.PlcType,System.String,System.String,System.Boolean,System.DateTimeOffset)
public IoT.Driver.OmronPlcRx.OmronPlcSimulator(IoT.Driver.OmronPlcRx.Enums.PlcType plcType, string controllerModel, string controllerVersion, bool initiallyConnected, System.DateTimeOffset initialClock)
Initializes a new instance of the T:IoT.Driver.OmronPlcRx.OmronPlcSimulator class.
- Parameter
plcType: PLC model family reported to callers. - Parameter
controllerModel: Controller model reported to callers. - Parameter
controllerVersion: Controller version reported to callers. - Parameter
initiallyConnected: Whether the simulated transport starts connected. - Parameter
initialClock: Optional deterministic initial clock.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.#ctor(System.Boolean)
public IoT.Driver.OmronPlcRx.OmronPlcSimulator(bool initiallyConnected)
Initializes a new instance of the T:IoT.Driver.OmronPlcRx.OmronPlcSimulator class.
- Parameter
initiallyConnected: Whether the simulated transport starts connected.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.AddUpdateTagItem``1(IoT.Driver.OmronPlcRx.Tags.PlcTag1{``0})`
public void AddUpdateTagItem<T>(IoT.Driver.OmronPlcRx.Tags.PlcTag<T> tag)
Executes the AddUpdateTagItem operation.
- Parameter
tag: Thetagvalue.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.ConnectAsync
public System.Threading.Tasks.Task ConnectAsync()
Connects the simulated transport.
- Returns: A task that represents the operation.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.ConnectAsync(System.Threading.CancellationToken)
public System.Threading.Tasks.Task ConnectAsync(System.Threading.CancellationToken cancellationToken)
Connects the simulated transport.
- Parameter
cancellationToken: Cancellation token. - Returns: A task that represents the operation.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.Disconnect
public void Disconnect()
Disconnects the simulated transport while retaining memory and registrations.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.Dispose
public void Dispose()
Inherits XML documentation from its implemented or overridden member.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.GetValue``1(IoT.Driver.Core.LogicalTagKey1{``0})`
public T GetValue<T>(IoT.Driver.Core.LogicalTagKey<T> tag)
Executes the GetValue operation.
- Parameter
tag: Thetagvalue. - Returns: A
Tresult.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.Observe``1(IoT.Driver.Core.LogicalTagKey1{``0})`
public System.IObservable<T> Observe<T>(IoT.Driver.Core.LogicalTagKey<T> tag)
Executes the Observe operation.
- Parameter
tag: Thetagvalue. - Returns: A
System.IObservable<T>result.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.QueueFault(IoT.Driver.OmronPlcRx.OmronSimulatorOperation,System.Exception)
public void QueueFault(IoT.Driver.OmronPlcRx.OmronSimulatorOperation operation, System.Exception exception)
Queues one disconnecting failure for the selected operation.
- Parameter
operation: Operation to fail. - Parameter
exception: Failure to wrap and publish.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.QueueFault(IoT.Driver.OmronPlcRx.OmronSimulatorOperation,System.Exception,System.Int32,System.Boolean)
public void QueueFault(IoT.Driver.OmronPlcRx.OmronSimulatorOperation operation, System.Exception exception, int occurrences, bool disconnect)
Queues deterministic failures for the selected operation.
- Parameter
operation: Operation to fail. - Parameter
exception: Failure to wrap and publish. - Parameter
occurrences: Number of consecutive failures to queue. - Parameter
disconnect: Whether each failure disconnects the simulated transport.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.ReadClockAsync(System.Threading.CancellationToken)
public System.Threading.Tasks.Task<IoT.Driver.OmronPlcRx.Results.ReadClockResult> ReadClockAsync(System.Threading.CancellationToken cancellationToken)
Inherits XML documentation from its implemented or overridden member.
- Parameter
cancellationToken: ThecancellationTokenvalue. - Returns: A
System.Threading.Tasks.Task<IoT.Driver.OmronPlcRx.Results.ReadClockResult>result.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.ReadCycleTimeAsync(System.Threading.CancellationToken)
public System.Threading.Tasks.Task<IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult> ReadCycleTimeAsync(System.Threading.CancellationToken cancellationToken)
Inherits XML documentation from its implemented or overridden member.
- Parameter
cancellationToken: ThecancellationTokenvalue. - Returns: A
System.Threading.Tasks.Task<IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult>result.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.ReadValueAsync``1(IoT.Driver.Core.LogicalTagKey1{``0},System.Threading.CancellationToken)`
public System.Threading.Tasks.Task<T> ReadValueAsync<T>(IoT.Driver.Core.LogicalTagKey<T> tag, System.Threading.CancellationToken cancellationToken)
Executes the ReadValueAsync operation.
- Parameter
tag: Thetagvalue. - Parameter
cancellationToken: ThecancellationTokenvalue. - Returns: A
System.Threading.Tasks.Task<T>result.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.ReconnectAsync
public System.Threading.Tasks.Task ReconnectAsync()
Reconnects the simulated transport while retaining memory and registrations.
- Returns: A task that represents the operation.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.ReconnectAsync(System.Threading.CancellationToken)
public System.Threading.Tasks.Task ReconnectAsync(System.Threading.CancellationToken cancellationToken)
Reconnects the simulated transport while retaining memory and registrations.
- Parameter
cancellationToken: Cancellation token. - Returns: A task that represents the operation.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.RemoveTagItem(System.String)
public bool RemoveTagItem(string tagName)
Inherits XML documentation from its implemented or overridden member.
- Parameter
tagName: ThetagNamevalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.Seed``1(IoT.Driver.OmronPlcRx.Tags.PlcTag1{0},0)`
public void Seed<T>(IoT.Driver.OmronPlcRx.Tags.PlcTag<T> tag, T value)
Executes the Seed operation.
- Parameter
tag: Thetagvalue. - Parameter
value: Thevaluevalue.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.SetValue``1(IoT.Driver.Core.LogicalTagKey1{0},0)`
public void SetValue<T>(IoT.Driver.Core.LogicalTagKey<T> tag, T value)
Executes the SetValue operation.
- Parameter
tag: Thetagvalue. - Parameter
value: Thevaluevalue.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.WriteClockAsync(System.DateTimeOffset,System.Int32,System.Threading.CancellationToken)
public System.Threading.Tasks.Task<IoT.Driver.OmronPlcRx.Results.WriteClockResult> WriteClockAsync(System.DateTimeOffset newDateTime, int newDayOfWeek, System.Threading.CancellationToken cancellationToken)
Inherits XML documentation from its implemented or overridden member.
- Parameter
newDateTime: ThenewDateTimevalue. - Parameter
newDayOfWeek: ThenewDayOfWeekvalue. - Parameter
cancellationToken: ThecancellationTokenvalue. - Returns: A
System.Threading.Tasks.Task<IoT.Driver.OmronPlcRx.Results.WriteClockResult>result.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.WriteClockAsync(System.DateTimeOffset,System.Threading.CancellationToken)
public System.Threading.Tasks.Task<IoT.Driver.OmronPlcRx.Results.WriteClockResult> WriteClockAsync(System.DateTimeOffset newDateTime, System.Threading.CancellationToken cancellationToken)
Inherits XML documentation from its implemented or overridden member.
- Parameter
newDateTime: ThenewDateTimevalue. - Parameter
cancellationToken: ThecancellationTokenvalue. - Returns: A
System.Threading.Tasks.Task<IoT.Driver.OmronPlcRx.Results.WriteClockResult>result.
M:IoT.Driver.OmronPlcRx.OmronPlcSimulator.WriteValueAsync``1(IoT.Driver.Core.LogicalTagKey1{0},0,System.Threading.CancellationToken)`
public System.Threading.Tasks.Task WriteValueAsync<T>(IoT.Driver.Core.LogicalTagKey<T> tag, T value, System.Threading.CancellationToken cancellationToken)
Executes the WriteValueAsync operation.
- Parameter
tag: Thetagvalue. - Parameter
value: Thevaluevalue. - Parameter
cancellationToken: ThecancellationTokenvalue. - Returns: A
System.Threading.Tasks.Taskresult.
P:IoT.Driver.OmronPlcRx.OmronPlcSimulator.AverageCycleTime
public double AverageCycleTime { get; set; }
Gets or sets simulated average cycle time in milliseconds.
- Value: The
AverageCycleTimevalue.
P:IoT.Driver.OmronPlcRx.OmronPlcSimulator.ControllerModel
public string ControllerModel { get; }
Inherits XML documentation from its implemented or overridden member.
- Value: The
ControllerModelvalue.
P:IoT.Driver.OmronPlcRx.OmronPlcSimulator.ControllerVersion
public string ControllerVersion { get; }
Inherits XML documentation from its implemented or overridden member.
- Value: The
ControllerVersionvalue.
P:IoT.Driver.OmronPlcRx.OmronPlcSimulator.Errors
public System.IObservable<IoT.Driver.OmronPlcRx.OmronPLCException> Errors { get; }
Inherits XML documentation from its implemented or overridden member.
- Value: The
Errorsvalue.
P:IoT.Driver.OmronPlcRx.OmronPlcSimulator.IsConnected
public bool IsConnected { get; }
Gets a value indicating whether the simulated transport is connected.
- Value: The
IsConnectedvalue.
P:IoT.Driver.OmronPlcRx.OmronPlcSimulator.IsDisposed
public bool IsDisposed { get; }
Inherits XML documentation from its implemented or overridden member.
- Value: The
IsDisposedvalue.
P:IoT.Driver.OmronPlcRx.OmronPlcSimulator.MaximumCycleTime
public double MaximumCycleTime { get; set; }
Gets or sets simulated maximum cycle time in milliseconds.
- Value: The
MaximumCycleTimevalue.
P:IoT.Driver.OmronPlcRx.OmronPlcSimulator.MinimumCycleTime
public double MinimumCycleTime { get; set; }
Gets or sets simulated minimum cycle time in milliseconds.
- Value: The
MinimumCycleTimevalue.
P:IoT.Driver.OmronPlcRx.OmronPlcSimulator.ObserveAll
public System.IObservable<IoT.Driver.OmronPlcRx.Tags.IPlcTag> ObserveAll { get; }
Inherits XML documentation from its implemented or overridden member.
- Value: The
ObserveAllvalue.
P:IoT.Driver.OmronPlcRx.OmronPlcSimulator.Operations
public System.Collections.Generic.IReadOnlyList<IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord> Operations { get; }
Gets a snapshot of completed simulator operations.
- Value: The
Operationsvalue.
P:IoT.Driver.OmronPlcRx.OmronPlcSimulator.PlcType
public IoT.Driver.OmronPlcRx.Enums.PlcType PlcType { get; }
Inherits XML documentation from its implemented or overridden member.
- Value: The
PlcTypevalue.
P:IoT.Driver.OmronPlcRx.OmronPlcSimulator.ReconnectCount
public int ReconnectCount { get; }
Gets the number of successful reconnections.
- Value: The
ReconnectCountvalue.
T:IoT.Driver.OmronPlcRx.OmronSerialOptions
public class IoT.Driver.OmronPlcRx.OmronSerialOptions
Gets or sets the omron serial options value.
Declared public members
M:IoT.Driver.OmronPlcRx.OmronSerialOptions.#ctor(System.String)
public IoT.Driver.OmronPlcRx.OmronSerialOptions(string portName)
Initializes a new instance of the T:IoT.Driver.OmronPlcRx.OmronSerialOptions class.
- Parameter
portName: Serial port name, e.g. COM1 or /dev/ttyUSB0.
M:IoT.Driver.OmronPlcRx.OmronSerialOptions.CreateToolbus(System.String)
public static IoT.Driver.OmronPlcRx.OmronSerialOptions CreateToolbus(string portName)
Creates Toolbus serial options using common Omron Toolbus port settings.
- Parameter
portName: Serial port name, e.g. COM1 or /dev/ttyUSB0. - Returns: Serial options configured for Toolbus FINS framing.
M:IoT.Driver.OmronPlcRx.OmronSerialOptions.Equals(IoT.Driver.OmronPlcRx.OmronSerialOptions)
public bool Equals(IoT.Driver.OmronPlcRx.OmronSerialOptions other)
Determines whether the supplied value is equal to the current value.
- Parameter
other: Theothervalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.OmronSerialOptions.Equals(System.Object)
public bool Equals(object obj)
Determines whether the supplied value is equal to the current value.
- Parameter
obj: Theobjvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.OmronSerialOptions.GetHashCode
public int GetHashCode()
Returns the hash code for the current value.
- Returns: A
intresult.
M:IoT.Driver.OmronPlcRx.OmronSerialOptions.ToString
public string ToString()
Returns a string representation of the current value.
- Returns: A
stringresult.
M:IoT.Driver.OmronPlcRx.OmronSerialOptions.Validate
public void Validate()
Validates this options instance.
M:IoT.Driver.OmronPlcRx.OmronSerialOptions.op_Equality(IoT.Driver.OmronPlcRx.OmronSerialOptions,IoT.Driver.OmronPlcRx.OmronSerialOptions)
public static bool op_Equality(IoT.Driver.OmronPlcRx.OmronSerialOptions left, IoT.Driver.OmronPlcRx.OmronSerialOptions right)
Determines whether the two supplied values are equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.OmronSerialOptions.op_Inequality(IoT.Driver.OmronPlcRx.OmronSerialOptions,IoT.Driver.OmronPlcRx.OmronSerialOptions)
public static bool op_Inequality(IoT.Driver.OmronPlcRx.OmronSerialOptions left, IoT.Driver.OmronPlcRx.OmronSerialOptions right)
Determines whether the two supplied values are not equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
P:IoT.Driver.OmronPlcRx.OmronSerialOptions.BaudRate
public int BaudRate { get; set; }
Gets or sets the baud rate value.
- Value: The
BaudRatevalue.
P:IoT.Driver.OmronPlcRx.OmronSerialOptions.DataBits
public int DataBits { get; set; }
Gets or sets the data bits value.
- Value: The
DataBitsvalue.
P:IoT.Driver.OmronPlcRx.OmronSerialOptions.DtrEnable
public bool DtrEnable { get; set; }
Gets or sets the dtr enable value.
- Value: The
DtrEnablevalue.
P:IoT.Driver.OmronPlcRx.OmronSerialOptions.FrameMode
public IoT.Driver.OmronPlcRx.OmronHostLinkFinsFrameMode FrameMode { get; set; }
Gets or sets the frame mode value.
- Value: The
FrameModevalue.
P:IoT.Driver.OmronPlcRx.OmronSerialOptions.Handshake
public System.IO.Ports.Handshake Handshake { get; set; }
Gets or sets the handshake value.
- Value: The
Handshakevalue.
P:IoT.Driver.OmronPlcRx.OmronSerialOptions.HostLinkUnitNumber
public byte HostLinkUnitNumber { get; set; }
Gets or sets the host link unit number value.
- Value: The
HostLinkUnitNumbervalue.
P:IoT.Driver.OmronPlcRx.OmronSerialOptions.MaximumFrameLength
public int MaximumFrameLength { get; set; }
Gets or sets the maximum frame length value.
- Value: The
MaximumFrameLengthvalue.
P:IoT.Driver.OmronPlcRx.OmronSerialOptions.Parity
public System.IO.Ports.Parity Parity { get; set; }
Gets or sets the parity value.
- Value: The
Parityvalue.
P:IoT.Driver.OmronPlcRx.OmronSerialOptions.PortName
public string PortName { get; set; }
Gets or sets the port name value.
- Value: The
PortNamevalue.
P:IoT.Driver.OmronPlcRx.OmronSerialOptions.Protocol
public IoT.Driver.OmronPlcRx.OmronSerialProtocol Protocol { get; set; }
Gets or sets the protocol value.
- Value: The
Protocolvalue.
P:IoT.Driver.OmronPlcRx.OmronSerialOptions.ResponseWaitTime
public byte ResponseWaitTime { get; set; }
Gets or sets the response wait time value.
- Value: The
ResponseWaitTimevalue.
P:IoT.Driver.OmronPlcRx.OmronSerialOptions.RtsEnable
public bool RtsEnable { get; set; }
Gets or sets the rts enable value.
- Value: The
RtsEnablevalue.
P:IoT.Driver.OmronPlcRx.OmronSerialOptions.StopBits
public System.IO.Ports.StopBits StopBits { get; set; }
Gets or sets the stop bits value.
- Value: The
StopBitsvalue.
T:IoT.Driver.OmronPlcRx.OmronSerialProtocol
public enum IoT.Driver.OmronPlcRx.OmronSerialProtocol
Specifies the serial protocol used to carry FINS messages.
Declared public members
F:IoT.Driver.OmronPlcRx.OmronSerialProtocol.HostLinkFins
public static const IoT.Driver.OmronPlcRx.OmronSerialProtocol HostLinkFins
Host Link FINS using ASCII FA frames.
F:IoT.Driver.OmronPlcRx.OmronSerialProtocol.Toolbus
public static const IoT.Driver.OmronPlcRx.OmronSerialProtocol Toolbus
Omron Toolbus using binary 0xAB frames carrying binary FINS messages.
T:IoT.Driver.OmronPlcRx.OmronSimulatorOperation
public enum IoT.Driver.OmronPlcRx.OmronSimulatorOperation
Identifies an operation that can be faulted by T:IoT.Driver.OmronPlcRx.OmronPlcSimulator .
Declared public members
F:IoT.Driver.OmronPlcRx.OmronSimulatorOperation.Connect
public static const IoT.Driver.OmronPlcRx.OmronSimulatorOperation Connect
Opening or reopening the simulated connection.
F:IoT.Driver.OmronPlcRx.OmronSimulatorOperation.Read
public static const IoT.Driver.OmronPlcRx.OmronSimulatorOperation Read
Reading a registered tag.
F:IoT.Driver.OmronPlcRx.OmronSimulatorOperation.ReadClock
public static const IoT.Driver.OmronPlcRx.OmronSimulatorOperation ReadClock
Reading the simulated real-time clock.
F:IoT.Driver.OmronPlcRx.OmronSimulatorOperation.ReadCycleTime
public static const IoT.Driver.OmronPlcRx.OmronSimulatorOperation ReadCycleTime
Reading simulated cycle-time statistics.
F:IoT.Driver.OmronPlcRx.OmronSimulatorOperation.Write
public static const IoT.Driver.OmronPlcRx.OmronSimulatorOperation Write
Writing a registered tag.
F:IoT.Driver.OmronPlcRx.OmronSimulatorOperation.WriteClock
public static const IoT.Driver.OmronPlcRx.OmronSimulatorOperation WriteClock
Writing the simulated real-time clock.
T:IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord
public class IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord
Describes one completed simulator operation.
Declared public members
M:IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord.#ctor(System.Int64,IoT.Driver.OmronPlcRx.OmronSimulatorOperation,System.String,System.Object,System.Boolean)
public IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord(long Sequence, IoT.Driver.OmronPlcRx.OmronSimulatorOperation Operation, string TagName, object Value, bool Succeeded)
Describes one completed simulator operation.
- Parameter
Sequence: Monotonic operation sequence number. - Parameter
Operation: Operation kind. - Parameter
TagName: Optional logical tag name. - Parameter
Value: Optional operation value. - Parameter
Succeeded: Whether the operation succeeded.
M:IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord.Deconstruct(System.Int64@,IoT.Driver.OmronPlcRx.OmronSimulatorOperation@,System.String@,System.Object@,System.Boolean@)
public void Deconstruct(out long Sequence, out IoT.Driver.OmronPlcRx.OmronSimulatorOperation Operation, out string TagName, out object Value, out bool Succeeded)
Deconstructs the value into its component values.
- Parameter
Sequence: TheSequencevalue. - Parameter
Operation: TheOperationvalue. - Parameter
TagName: TheTagNamevalue. - Parameter
Value: TheValuevalue. - Parameter
Succeeded: TheSucceededvalue.
M:IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord.Equals(IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord)
public bool Equals(IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord other)
Determines whether the supplied value is equal to the current value.
- Parameter
other: Theothervalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord.Equals(System.Object)
public bool Equals(object obj)
Determines whether the supplied value is equal to the current value.
- Parameter
obj: Theobjvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord.GetHashCode
public int GetHashCode()
Returns the hash code for the current value.
- Returns: A
intresult.
M:IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord.ToString
public string ToString()
Returns a string representation of the current value.
- Returns: A
stringresult.
M:IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord.op_Equality(IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord,IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord)
public static bool op_Equality(IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord left, IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord right)
Determines whether the two supplied values are equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord.op_Inequality(IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord,IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord)
public static bool op_Inequality(IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord left, IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord right)
Determines whether the two supplied values are not equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
P:IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord.Operation
public IoT.Driver.OmronPlcRx.OmronSimulatorOperation Operation { get; set; }
Operation kind.
- Value: The
Operationvalue.
P:IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord.Sequence
public long Sequence { get; set; }
Monotonic operation sequence number.
- Value: The
Sequencevalue.
P:IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord.Succeeded
public bool Succeeded { get; set; }
Whether the operation succeeded.
- Value: The
Succeededvalue.
P:IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord.TagName
public string TagName { get; set; }
Optional logical tag name.
- Value: The
TagNamevalue.
P:IoT.Driver.OmronPlcRx.OmronSimulatorOperationRecord.Value
public object Value { get; set; }
Optional operation value.
- Value: The
Valuevalue.
T:IoT.Driver.OmronPlcRx.PlcTagAttribute
public class IoT.Driver.OmronPlcRx.PlcTagAttribute
Marks a field or property for PLC reactive stream source generation.
Declared public members
M:IoT.Driver.OmronPlcRx.PlcTagAttribute.#ctor(System.String)
public IoT.Driver.OmronPlcRx.PlcTagAttribute(string address)
Marks a field or property for PLC reactive stream source generation.
- Parameter
address: The a dd re ss value.
P:IoT.Driver.OmronPlcRx.PlcTagAttribute.Address
public string Address { get; }
Gets the address value.
- Value: The
Addressvalue.
P:IoT.Driver.OmronPlcRx.PlcTagAttribute.Observe
public bool Observe { get; set; }
Gets or sets the observe value.
- Value: The
Observevalue.
P:IoT.Driver.OmronPlcRx.PlcTagAttribute.Register
public bool Register { get; set; }
Gets or sets the register value.
- Value: The
Registervalue.
P:IoT.Driver.OmronPlcRx.PlcTagAttribute.TagName
public string TagName { get; set; }
Gets or sets the tag name value.
- Value: The
TagNamevalue.
P:IoT.Driver.OmronPlcRx.PlcTagAttribute.Writable
public bool Writable { get; set; }
Gets or sets the writable value.
- Value: The
Writablevalue.
T:IoT.Driver.OmronPlcRx.PlcTagBindingAttribute
public class IoT.Driver.OmronPlcRx.PlcTagBindingAttribute
Marks a partial class as a generated PLC tag binding container.
Declared public members
M:IoT.Driver.OmronPlcRx.PlcTagBindingAttribute.#ctor
public IoT.Driver.OmronPlcRx.PlcTagBindingAttribute()
Initializes a new instance of IoT.Driver.OmronPlcRx.PlcTagBindingAttribute.
T:IoT.Driver.OmronPlcRx.Results.ReadBitsResult
public struct IoT.Driver.OmronPlcRx.Results.ReadBitsResult
Result of a Read Bits operation.
Declared public members
M:IoT.Driver.OmronPlcRx.Results.ReadBitsResult.Equals(IoT.Driver.OmronPlcRx.Results.ReadBitsResult)
public bool Equals(IoT.Driver.OmronPlcRx.Results.ReadBitsResult other)
Determines whether the supplied value is equal to the current value.
- Parameter
other: Theothervalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.ReadBitsResult.Equals(System.Object)
public bool Equals(object obj)
Determines whether the supplied value is equal to the current value.
- Parameter
obj: Theobjvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.ReadBitsResult.GetHashCode
public int GetHashCode()
Returns the hash code for the current value.
- Returns: A
intresult.
M:IoT.Driver.OmronPlcRx.Results.ReadBitsResult.ToString
public string ToString()
Returns a string representation of the current value.
- Returns: A
stringresult.
M:IoT.Driver.OmronPlcRx.Results.ReadBitsResult.op_Equality(IoT.Driver.OmronPlcRx.Results.ReadBitsResult,IoT.Driver.OmronPlcRx.Results.ReadBitsResult)
public static bool op_Equality(IoT.Driver.OmronPlcRx.Results.ReadBitsResult left, IoT.Driver.OmronPlcRx.Results.ReadBitsResult right)
Determines whether the two supplied values are equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.ReadBitsResult.op_Inequality(IoT.Driver.OmronPlcRx.Results.ReadBitsResult,IoT.Driver.OmronPlcRx.Results.ReadBitsResult)
public static bool op_Inequality(IoT.Driver.OmronPlcRx.Results.ReadBitsResult left, IoT.Driver.OmronPlcRx.Results.ReadBitsResult right)
Determines whether the two supplied values are not equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
P:IoT.Driver.OmronPlcRx.Results.ReadBitsResult.BytesReceived
public int BytesReceived { get; set; }
Gets or sets the bytes received value.
- Value: The
BytesReceivedvalue.
P:IoT.Driver.OmronPlcRx.Results.ReadBitsResult.BytesSent
public int BytesSent { get; set; }
Gets or sets the bytes sent value.
- Value: The
BytesSentvalue.
P:IoT.Driver.OmronPlcRx.Results.ReadBitsResult.Duration
public double Duration { get; set; }
Gets or sets the duration value.
- Value: The
Durationvalue.
P:IoT.Driver.OmronPlcRx.Results.ReadBitsResult.PacketsReceived
public int PacketsReceived { get; set; }
Gets or sets the packets received value.
- Value: The
PacketsReceivedvalue.
P:IoT.Driver.OmronPlcRx.Results.ReadBitsResult.PacketsSent
public int PacketsSent { get; set; }
Gets or sets the packets sent value.
- Value: The
PacketsSentvalue.
P:IoT.Driver.OmronPlcRx.Results.ReadBitsResult.Values
public bool[] Values { get; set; }
Gets or sets the values value.
- Value: The
Valuesvalue.
T:IoT.Driver.OmronPlcRx.Results.ReadClockResult
public struct IoT.Driver.OmronPlcRx.Results.ReadClockResult
Result of a Read Clock operation.
Declared public members
M:IoT.Driver.OmronPlcRx.Results.ReadClockResult.Equals(IoT.Driver.OmronPlcRx.Results.ReadClockResult)
public bool Equals(IoT.Driver.OmronPlcRx.Results.ReadClockResult other)
Determines whether the supplied value is equal to the current value.
- Parameter
other: Theothervalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.ReadClockResult.Equals(System.Object)
public bool Equals(object obj)
Determines whether the supplied value is equal to the current value.
- Parameter
obj: Theobjvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.ReadClockResult.GetHashCode
public int GetHashCode()
Returns the hash code for the current value.
- Returns: A
intresult.
M:IoT.Driver.OmronPlcRx.Results.ReadClockResult.ToString
public string ToString()
Returns a string representation of the current value.
- Returns: A
stringresult.
M:IoT.Driver.OmronPlcRx.Results.ReadClockResult.op_Equality(IoT.Driver.OmronPlcRx.Results.ReadClockResult,IoT.Driver.OmronPlcRx.Results.ReadClockResult)
public static bool op_Equality(IoT.Driver.OmronPlcRx.Results.ReadClockResult left, IoT.Driver.OmronPlcRx.Results.ReadClockResult right)
Determines whether the two supplied values are equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.ReadClockResult.op_Inequality(IoT.Driver.OmronPlcRx.Results.ReadClockResult,IoT.Driver.OmronPlcRx.Results.ReadClockResult)
public static bool op_Inequality(IoT.Driver.OmronPlcRx.Results.ReadClockResult left, IoT.Driver.OmronPlcRx.Results.ReadClockResult right)
Determines whether the two supplied values are not equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
P:IoT.Driver.OmronPlcRx.Results.ReadClockResult.BytesReceived
public int BytesReceived { get; set; }
Gets or sets the bytes received value.
- Value: The
BytesReceivedvalue.
P:IoT.Driver.OmronPlcRx.Results.ReadClockResult.BytesSent
public int BytesSent { get; set; }
Gets or sets the bytes sent value.
- Value: The
BytesSentvalue.
P:IoT.Driver.OmronPlcRx.Results.ReadClockResult.Clock
public System.DateTimeOffset Clock { get; set; }
Gets or sets the clock value.
- Value: The
Clockvalue.
P:IoT.Driver.OmronPlcRx.Results.ReadClockResult.DayOfWeek
public int DayOfWeek { get; set; }
Gets or sets the day of week value.
- Value: The
DayOfWeekvalue.
P:IoT.Driver.OmronPlcRx.Results.ReadClockResult.Duration
public double Duration { get; set; }
Gets or sets the duration value.
- Value: The
Durationvalue.
P:IoT.Driver.OmronPlcRx.Results.ReadClockResult.PacketsReceived
public int PacketsReceived { get; set; }
Gets or sets the packets received value.
- Value: The
PacketsReceivedvalue.
P:IoT.Driver.OmronPlcRx.Results.ReadClockResult.PacketsSent
public int PacketsSent { get; set; }
Gets or sets the packets sent value.
- Value: The
PacketsSentvalue.
T:IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult
public struct IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult
Result of a Read Cycle Time operation.
Declared public members
M:IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult.Equals(IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult)
public bool Equals(IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult other)
Determines whether the supplied value is equal to the current value.
- Parameter
other: Theothervalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult.Equals(System.Object)
public bool Equals(object obj)
Determines whether the supplied value is equal to the current value.
- Parameter
obj: Theobjvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult.GetHashCode
public int GetHashCode()
Returns the hash code for the current value.
- Returns: A
intresult.
M:IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult.ToString
public string ToString()
Returns a string representation of the current value.
- Returns: A
stringresult.
M:IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult.op_Equality(IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult,IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult)
public static bool op_Equality(IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult left, IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult right)
Determines whether the two supplied values are equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult.op_Inequality(IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult,IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult)
public static bool op_Inequality(IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult left, IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult right)
Determines whether the two supplied values are not equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
P:IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult.AverageCycleTime
public double AverageCycleTime { get; set; }
Gets or sets the average cycle time value.
- Value: The
AverageCycleTimevalue.
P:IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult.BytesReceived
public int BytesReceived { get; set; }
Gets or sets the bytes received value.
- Value: The
BytesReceivedvalue.
P:IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult.BytesSent
public int BytesSent { get; set; }
Gets or sets the bytes sent value.
- Value: The
BytesSentvalue.
P:IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult.Duration
public double Duration { get; set; }
Gets or sets the duration value.
- Value: The
Durationvalue.
P:IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult.MaximumCycleTime
public double MaximumCycleTime { get; set; }
Gets or sets the maximum cycle time value.
- Value: The
MaximumCycleTimevalue.
P:IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult.MinimumCycleTime
public double MinimumCycleTime { get; set; }
Gets or sets the minimum cycle time value.
- Value: The
MinimumCycleTimevalue.
P:IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult.PacketsReceived
public int PacketsReceived { get; set; }
Gets or sets the packets received value.
- Value: The
PacketsReceivedvalue.
P:IoT.Driver.OmronPlcRx.Results.ReadCycleTimeResult.PacketsSent
public int PacketsSent { get; set; }
Gets or sets the packets sent value.
- Value: The
PacketsSentvalue.
T:IoT.Driver.OmronPlcRx.Results.ReadWordsResult
public struct IoT.Driver.OmronPlcRx.Results.ReadWordsResult
Result of a Read Words operation.
Declared public members
M:IoT.Driver.OmronPlcRx.Results.ReadWordsResult.Equals(IoT.Driver.OmronPlcRx.Results.ReadWordsResult)
public bool Equals(IoT.Driver.OmronPlcRx.Results.ReadWordsResult other)
Determines whether the supplied value is equal to the current value.
- Parameter
other: Theothervalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.ReadWordsResult.Equals(System.Object)
public bool Equals(object obj)
Determines whether the supplied value is equal to the current value.
- Parameter
obj: Theobjvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.ReadWordsResult.GetHashCode
public int GetHashCode()
Returns the hash code for the current value.
- Returns: A
intresult.
M:IoT.Driver.OmronPlcRx.Results.ReadWordsResult.ToString
public string ToString()
Returns a string representation of the current value.
- Returns: A
stringresult.
M:IoT.Driver.OmronPlcRx.Results.ReadWordsResult.op_Equality(IoT.Driver.OmronPlcRx.Results.ReadWordsResult,IoT.Driver.OmronPlcRx.Results.ReadWordsResult)
public static bool op_Equality(IoT.Driver.OmronPlcRx.Results.ReadWordsResult left, IoT.Driver.OmronPlcRx.Results.ReadWordsResult right)
Determines whether the two supplied values are equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.ReadWordsResult.op_Inequality(IoT.Driver.OmronPlcRx.Results.ReadWordsResult,IoT.Driver.OmronPlcRx.Results.ReadWordsResult)
public static bool op_Inequality(IoT.Driver.OmronPlcRx.Results.ReadWordsResult left, IoT.Driver.OmronPlcRx.Results.ReadWordsResult right)
Determines whether the two supplied values are not equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
P:IoT.Driver.OmronPlcRx.Results.ReadWordsResult.BytesReceived
public int BytesReceived { get; set; }
Gets or sets the bytes received value.
- Value: The
BytesReceivedvalue.
P:IoT.Driver.OmronPlcRx.Results.ReadWordsResult.BytesSent
public int BytesSent { get; set; }
Gets or sets the bytes sent value.
- Value: The
BytesSentvalue.
P:IoT.Driver.OmronPlcRx.Results.ReadWordsResult.Duration
public double Duration { get; set; }
Gets or sets the duration value.
- Value: The
Durationvalue.
P:IoT.Driver.OmronPlcRx.Results.ReadWordsResult.PacketsReceived
public int PacketsReceived { get; set; }
Gets or sets the packets received value.
- Value: The
PacketsReceivedvalue.
P:IoT.Driver.OmronPlcRx.Results.ReadWordsResult.PacketsSent
public int PacketsSent { get; set; }
Gets or sets the packets sent value.
- Value: The
PacketsSentvalue.
P:IoT.Driver.OmronPlcRx.Results.ReadWordsResult.Values
public short[] Values { get; set; }
Gets or sets the values value.
- Value: The
Valuesvalue.
T:IoT.Driver.OmronPlcRx.Results.WriteBitsResult
public struct IoT.Driver.OmronPlcRx.Results.WriteBitsResult
Result of a Write Bits operation.
Declared public members
M:IoT.Driver.OmronPlcRx.Results.WriteBitsResult.Equals(IoT.Driver.OmronPlcRx.Results.WriteBitsResult)
public bool Equals(IoT.Driver.OmronPlcRx.Results.WriteBitsResult other)
Determines whether the supplied value is equal to the current value.
- Parameter
other: Theothervalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.WriteBitsResult.Equals(System.Object)
public bool Equals(object obj)
Determines whether the supplied value is equal to the current value.
- Parameter
obj: Theobjvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.WriteBitsResult.GetHashCode
public int GetHashCode()
Returns the hash code for the current value.
- Returns: A
intresult.
M:IoT.Driver.OmronPlcRx.Results.WriteBitsResult.ToString
public string ToString()
Returns a string representation of the current value.
- Returns: A
stringresult.
M:IoT.Driver.OmronPlcRx.Results.WriteBitsResult.op_Equality(IoT.Driver.OmronPlcRx.Results.WriteBitsResult,IoT.Driver.OmronPlcRx.Results.WriteBitsResult)
public static bool op_Equality(IoT.Driver.OmronPlcRx.Results.WriteBitsResult left, IoT.Driver.OmronPlcRx.Results.WriteBitsResult right)
Determines whether the two supplied values are equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.WriteBitsResult.op_Inequality(IoT.Driver.OmronPlcRx.Results.WriteBitsResult,IoT.Driver.OmronPlcRx.Results.WriteBitsResult)
public static bool op_Inequality(IoT.Driver.OmronPlcRx.Results.WriteBitsResult left, IoT.Driver.OmronPlcRx.Results.WriteBitsResult right)
Determines whether the two supplied values are not equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
P:IoT.Driver.OmronPlcRx.Results.WriteBitsResult.BytesReceived
public int BytesReceived { get; set; }
Gets or sets the bytes received value.
- Value: The
BytesReceivedvalue.
P:IoT.Driver.OmronPlcRx.Results.WriteBitsResult.BytesSent
public int BytesSent { get; set; }
Gets or sets the bytes sent value.
- Value: The
BytesSentvalue.
P:IoT.Driver.OmronPlcRx.Results.WriteBitsResult.Duration
public double Duration { get; set; }
Gets or sets the duration value.
- Value: The
Durationvalue.
P:IoT.Driver.OmronPlcRx.Results.WriteBitsResult.PacketsReceived
public int PacketsReceived { get; set; }
Gets or sets the packets received value.
- Value: The
PacketsReceivedvalue.
P:IoT.Driver.OmronPlcRx.Results.WriteBitsResult.PacketsSent
public int PacketsSent { get; set; }
Gets or sets the packets sent value.
- Value: The
PacketsSentvalue.
T:IoT.Driver.OmronPlcRx.Results.WriteClockResult
public struct IoT.Driver.OmronPlcRx.Results.WriteClockResult
Result of a Write Clock operation.
Declared public members
M:IoT.Driver.OmronPlcRx.Results.WriteClockResult.Equals(IoT.Driver.OmronPlcRx.Results.WriteClockResult)
public bool Equals(IoT.Driver.OmronPlcRx.Results.WriteClockResult other)
Determines whether the supplied value is equal to the current value.
- Parameter
other: Theothervalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.WriteClockResult.Equals(System.Object)
public bool Equals(object obj)
Determines whether the supplied value is equal to the current value.
- Parameter
obj: Theobjvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.WriteClockResult.GetHashCode
public int GetHashCode()
Returns the hash code for the current value.
- Returns: A
intresult.
M:IoT.Driver.OmronPlcRx.Results.WriteClockResult.ToString
public string ToString()
Returns a string representation of the current value.
- Returns: A
stringresult.
M:IoT.Driver.OmronPlcRx.Results.WriteClockResult.op_Equality(IoT.Driver.OmronPlcRx.Results.WriteClockResult,IoT.Driver.OmronPlcRx.Results.WriteClockResult)
public static bool op_Equality(IoT.Driver.OmronPlcRx.Results.WriteClockResult left, IoT.Driver.OmronPlcRx.Results.WriteClockResult right)
Determines whether the two supplied values are equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.WriteClockResult.op_Inequality(IoT.Driver.OmronPlcRx.Results.WriteClockResult,IoT.Driver.OmronPlcRx.Results.WriteClockResult)
public static bool op_Inequality(IoT.Driver.OmronPlcRx.Results.WriteClockResult left, IoT.Driver.OmronPlcRx.Results.WriteClockResult right)
Determines whether the two supplied values are not equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
P:IoT.Driver.OmronPlcRx.Results.WriteClockResult.BytesReceived
public int BytesReceived { get; set; }
Gets or sets the bytes received value.
- Value: The
BytesReceivedvalue.
P:IoT.Driver.OmronPlcRx.Results.WriteClockResult.BytesSent
public int BytesSent { get; set; }
Gets or sets the bytes sent value.
- Value: The
BytesSentvalue.
P:IoT.Driver.OmronPlcRx.Results.WriteClockResult.Duration
public double Duration { get; set; }
Gets or sets the duration value.
- Value: The
Durationvalue.
P:IoT.Driver.OmronPlcRx.Results.WriteClockResult.PacketsReceived
public int PacketsReceived { get; set; }
Gets or sets the packets received value.
- Value: The
PacketsReceivedvalue.
P:IoT.Driver.OmronPlcRx.Results.WriteClockResult.PacketsSent
public int PacketsSent { get; set; }
Gets or sets the packets sent value.
- Value: The
PacketsSentvalue.
T:IoT.Driver.OmronPlcRx.Results.WriteWordsResult
public struct IoT.Driver.OmronPlcRx.Results.WriteWordsResult
Result of a Write Words operation.
Declared public members
M:IoT.Driver.OmronPlcRx.Results.WriteWordsResult.Equals(IoT.Driver.OmronPlcRx.Results.WriteWordsResult)
public bool Equals(IoT.Driver.OmronPlcRx.Results.WriteWordsResult other)
Determines whether the supplied value is equal to the current value.
- Parameter
other: Theothervalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.WriteWordsResult.Equals(System.Object)
public bool Equals(object obj)
Determines whether the supplied value is equal to the current value.
- Parameter
obj: Theobjvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.WriteWordsResult.GetHashCode
public int GetHashCode()
Returns the hash code for the current value.
- Returns: A
intresult.
M:IoT.Driver.OmronPlcRx.Results.WriteWordsResult.ToString
public string ToString()
Returns a string representation of the current value.
- Returns: A
stringresult.
M:IoT.Driver.OmronPlcRx.Results.WriteWordsResult.op_Equality(IoT.Driver.OmronPlcRx.Results.WriteWordsResult,IoT.Driver.OmronPlcRx.Results.WriteWordsResult)
public static bool op_Equality(IoT.Driver.OmronPlcRx.Results.WriteWordsResult left, IoT.Driver.OmronPlcRx.Results.WriteWordsResult right)
Determines whether the two supplied values are equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
M:IoT.Driver.OmronPlcRx.Results.WriteWordsResult.op_Inequality(IoT.Driver.OmronPlcRx.Results.WriteWordsResult,IoT.Driver.OmronPlcRx.Results.WriteWordsResult)
public static bool op_Inequality(IoT.Driver.OmronPlcRx.Results.WriteWordsResult left, IoT.Driver.OmronPlcRx.Results.WriteWordsResult right)
Determines whether the two supplied values are not equal.
- Parameter
left: Theleftvalue. - Parameter
right: Therightvalue. - Returns: A
boolresult.
P:IoT.Driver.OmronPlcRx.Results.WriteWordsResult.BytesReceived
public int BytesReceived { get; set; }
Gets or sets the bytes received value.
- Value: The
BytesReceivedvalue.
P:IoT.Driver.OmronPlcRx.Results.WriteWordsResult.BytesSent
public int BytesSent { get; set; }
Gets or sets the bytes sent value.
- Value: The
BytesSentvalue.
P:IoT.Driver.OmronPlcRx.Results.WriteWordsResult.Duration
public double Duration { get; set; }
Gets or sets the duration value.
- Value: The
Durationvalue.
P:IoT.Driver.OmronPlcRx.Results.WriteWordsResult.PacketsReceived
public int PacketsReceived { get; set; }
Gets or sets the packets received value.
- Value: The
PacketsReceivedvalue.
P:IoT.Driver.OmronPlcRx.Results.WriteWordsResult.PacketsSent
public int PacketsSent { get; set; }
Gets or sets the packets sent value.
- Value: The
PacketsSentvalue.
T:IoT.Driver.OmronPlcRx.Tags.IPlcTag
public interface IoT.Driver.OmronPlcRx.Tags.IPlcTag
Defines metadata and value access for a PLC tag.
Declared public members
P:IoT.Driver.OmronPlcRx.Tags.IPlcTag.Address
public string Address { get; }
Gets the address.
- Value: The address.
P:IoT.Driver.OmronPlcRx.Tags.IPlcTag.TagName
public string TagName { get; }
Gets the name of the tag.
- Value: The name of the tag.
P:IoT.Driver.OmronPlcRx.Tags.IPlcTag.TagType
public System.Type TagType { get; }
Gets a value indicating whether this instance is bit address.
- Value: true if this instance is bit address; otherwise, false .
P:IoT.Driver.OmronPlcRx.Tags.IPlcTag.Value
public object Value { get; }
Gets the value.
- Value: The value.
T:IoT.Driver.OmronPlcRx.Tags.PlcTag1`
public class IoT.Driver.OmronPlcRx.Tags.PlcTag`1
Represents a typed PLC tag binding.
Declared public members
M:IoT.Driver.OmronPlcRx.Tags.PlcTag1.#ctor(System.String,System.String)`
public IoT.Driver.OmronPlcRx.Tags.PlcTag<T>(string tagName, string address)
Represents a typed PLC tag binding.
- Parameter
tagName: The tag Name. - Parameter
address: The address.
P:IoT.Driver.OmronPlcRx.Tags.PlcTag1.Address`
public string Address { get; }
Gets the address.
- Value: The address.
P:IoT.Driver.OmronPlcRx.Tags.PlcTag1.TagName`
public string TagName { get; }
Gets the Tag Name.
- Value: The name.
P:IoT.Driver.OmronPlcRx.Tags.PlcTag1.TagType`
public System.Type TagType { get; }
Gets a value indicating whether this instance is bit address.
- Value: true if this instance is bit address; otherwise, false .
P:IoT.Driver.OmronPlcRx.Tags.PlcTag1.Value`
public T Value { get; }
Gets the tag value.
- Value: The value.
T:IoT.Driver.OmronPlcRx.ToolbusFinsFrameCodec
public class IoT.Driver.OmronPlcRx.ToolbusFinsFrameCodec
Encodes and decodes Omron Toolbus serial frames carrying binary FINS messages.
Declared public members
M:IoT.Driver.OmronPlcRx.ToolbusFinsFrameCodec.CalculateChecksum(System.ReadOnlySpan1{System.Byte})`
public static ushort CalculateChecksum(System.ReadOnlySpan<byte> data)
Executes the CalculateChecksum operation.
- Parameter
data: Thedatavalue. - Returns: A
ushortresult.
M:IoT.Driver.OmronPlcRx.ToolbusFinsFrameCodec.DecodeResponse(System.ReadOnlyMemory1{System.Byte})`
public static System.Memory<byte> DecodeResponse(System.ReadOnlyMemory<byte> frame)
Executes the DecodeResponse operation.
- Parameter
frame: Theframevalue. - Returns: A
System.Memory<byte>result.
M:IoT.Driver.OmronPlcRx.ToolbusFinsFrameCodec.EncodeRequest(System.ReadOnlyMemory1{System.Byte})`
public static System.Memory<byte> EncodeRequest(System.ReadOnlyMemory<byte> finsMessage)
Executes the EncodeRequest operation.
- Parameter
finsMessage: ThefinsMessagevalue. - Returns: A
System.Memory<byte>result.
P:IoT.Driver.OmronPlcRx.ToolbusFinsFrameCodec.SynchronizationFrame
public System.ReadOnlyMemory<byte> SynchronizationFrame { get; }
Gets the synchronization frame value.
- Value: The
SynchronizationFramevalue.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. net11.0 is compatible. |
| .NET Framework | net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 was computed. net481 is compatible. |
-
.NETFramework 4.6.2
- IoT-Driver.Core (>= 1.0.2)
- IoT-Driver.SerialPortRx.Reactive (>= 1.0.2)
- ReactiveUI.Primitives.Async.Reactive (>= 7.1.0)
- ReactiveUI.Primitives.Reactive (>= 7.1.0)
-
.NETFramework 4.7.2
- IoT-Driver.Core (>= 1.0.2)
- IoT-Driver.SerialPortRx.Reactive (>= 1.0.2)
- ReactiveUI.Primitives.Async.Reactive (>= 7.1.0)
- ReactiveUI.Primitives.Reactive (>= 7.1.0)
-
.NETFramework 4.8.1
- IoT-Driver.Core (>= 1.0.2)
- IoT-Driver.SerialPortRx.Reactive (>= 1.0.2)
- ReactiveUI.Primitives.Async.Reactive (>= 7.1.0)
- ReactiveUI.Primitives.Reactive (>= 7.1.0)
-
net10.0
- IoT-Driver.Core (>= 1.0.2)
- IoT-Driver.SerialPortRx.Reactive (>= 1.0.2)
- ReactiveUI.Primitives.Async.Reactive (>= 7.1.0)
- ReactiveUI.Primitives.Reactive (>= 7.1.0)
-
net11.0
- IoT-Driver.Core (>= 1.0.2)
- IoT-Driver.SerialPortRx.Reactive (>= 1.0.2)
- ReactiveUI.Primitives.Async.Reactive (>= 7.1.0)
- ReactiveUI.Primitives.Reactive (>= 7.1.0)
-
net8.0
- IoT-Driver.Core (>= 1.0.2)
- IoT-Driver.SerialPortRx.Reactive (>= 1.0.2)
- ReactiveUI.Primitives.Async.Reactive (>= 7.1.0)
- ReactiveUI.Primitives.Reactive (>= 7.1.0)
-
net9.0
- IoT-Driver.Core (>= 1.0.2)
- IoT-Driver.SerialPortRx.Reactive (>= 1.0.2)
- ReactiveUI.Primitives.Async.Reactive (>= 7.1.0)
- ReactiveUI.Primitives.Reactive (>= 7.1.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on IoT-Driver.OmronPlcRx.Reactive:
| Package | Downloads |
|---|---|
|
MQTTnet.Rx.OmronPlc.Reactive
ReactiveUI.Primitives extensions for MQTTnet clients, brokers, and industrial device bridges |
GitHub repositories
This package is not used by any popular GitHub repositories.
Omron logical-tag support with FINS, Host Link, Toolbus, Ethernet, serial, and bulk memory-area operations.