Plc.Omron.Standard
1.0.8
dotnet add package Plc.Omron.Standard --version 1.0.8
NuGet\Install-Package Plc.Omron.Standard -Version 1.0.8
<PackageReference Include="Plc.Omron.Standard" Version="1.0.8" />
paket add Plc.Omron.Standard --version 1.0.8
#r "nuget: Plc.Omron.Standard, 1.0.8"
// Install Plc.Omron.Standard as a Cake Addin #addin nuget:?package=Plc.Omron.Standard&version=1.0.8 // Install Plc.Omron.Standard as a Cake Tool #tool nuget:?package=Plc.Omron.Standard&version=1.0.8
PLC Omron Standard
This project was created to have an easy to use, .NET Standard library to communicate with Omron PLCs. The following features are available:
- Read from PLC memory areas
- Write to PLC memory areas
- Read and write with single values or arrays
- Read and write with typed values (options are
byte
,bool
,short
,int
,float
,string
) - Receive events during communications
Getting Started
These instuctions can be used to acquire and implement the library.
Installation
To use this library either clone a copy of the repository or check out the NuGet package
Usage
TCP Example
The following example provides a basic use case for TCP based communications.
using PLC_Omron_Standard;
public class MyClass()
{
public bool Test()
{
// Create PLC connection
var plc = new PlcOmron("192.168.1.100");
plc.Connect();
// Read data
var data = plc.ReadString(123); // Assumes value is "Hello"
// Write data
return plc.Write(123, $"{data}, World!");
}
}
UDP Example
The following example provides a basic use case for UDP based communications.
using PLC_Omron_Standard;
public class MyClass()
{
public bool Test()
{
// Get node addresses
var ip = "192.168.1.100";
var remote = byte.Parse(ip.Split('.').Last());
var local = byte.Parse("101"); // This can be any non-zero value, but using the final part of your local IP address is recommended
// Create PLC connection
var plc = new PlcOmron(ip, 9600, false, remote, local);
plc.Connect();
// Read data
var data = plc.ReadString(123); // Assumes value is "Hello"
// Write data
return plc.Write(123, $"{data}, World!");
}
}
Events Example
The following example provides a use case where events are subscribed to and handled.
using PLC_Omron_Standard;
public class MyClass()
{
private readonly ILogger Logger;
public bool Test(ILogger<MyClass> logger)
{
// Store logger
Logger = logger;
// Create PLC connection
var plc = new PlcOmron("192.168.1.100");
plc.NotifyCommandError += LogError;
plc.Connect();
// Read data
var data = plc.ReadString(123); // Assumes value is "Hello"
// Write data
return plc.Write(123, $"{data}, World!");
}
private void LogError(string message)
{
Logger.LogError("{Message}", message);
}
}
Authors
- NF Software Inc.
License
This project is licensed under the MIT License - see the LICENSE file for details
Acknowledgments
Parts of this library have been inspired by:
Thank you to:
- Freepik for the project icon
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
1.0.8
Update publishing to include source link, deterministic, and compiler flags
1.0.7
Add project icon, fix invalid XML comments in PlcOmron class
1.0.6
Update project file to generate XML documentation in NuGet package
1.0.5
Improve error messages, bugfixes
1.0.4
Improve error handling
1.0.3
Add events, update UDP connection, bugfixes
1.0.2
Bugfixes
1.0.1
Add typed public read methods
1.0.0
Initial release