An abstraction for communicating with PLC over different protocols. The abstraction can be used with Microsoft.Extensions.DependencyInjection.Abstractions
Important interfaces: IPlcConnection: Open and close connection to the plc. IReadWrite: For reading and writing variables to the PLC. IMonitor: For monitoring variables in the PLC, and get a notification when they change.