Libplctag.NET Versions Save

A .NET wrapper for libplctag.

libplctag-v1.1.0

1 year ago

This document represents a summary of the changes between libplctag-v1.0.13 and libplctag-v1.1.0

Miscellaneous

  • Updated libplctag.NativeImport reference from v1.0.17 to v1.0.34 The primary changes this includes for libplctag dependents are:
    • Added libplctag core binary for the osx64 target
    • Use AppContext.BaseDirectory instead of Assembly.GetExecutingAssembly().Location
  • Added definitions for Simple DataTypes @jkoplo This provides definitions where only one pairing of PlcMapper with a datatype is likely (e.g. DINT <-> int) See https://github.com/libplctag/libplctag.NET/blob/master/src/libplctag/DataTypes/Simple/Definitions.cs
  • Added debug logging events on the libplctag static class @timyhac See this for an example of using the event API, and this for an example of how to add libplctag debug events to the Microsoft Dependency Injection logger sink.
  • Fixed bug where PlcType was no longer being passed to IPlcMapper for Tag<T> @jfontsaballs

Tag<T>

  • New value return for Read/ReadAsync and additional overloads for Write/WriteAsync to pass in the value to be written. @jkoplo

    // Allows you to write this
    var result = myTag.Read();
    myTag.Write(1234);
    
    // instead of this
    myTag.Read();
    var result = myTag.Value;
    myTag.Value = 1234;
    myTag.Write();
    
  • Additional core attributes supported @timyhac

    • AutoSyncReadInterval / AutoSyncWriteInterval
    • DebugLevel
  • Tag lifecycle events propagated @timyhac ReadStarted / ReadCompleted / WriteStarted / WriteCompleted / Aborted / Destroyed

Tag

  • Additional methods exposed
    • SetBuffer @jfontsaballs
  • Additional core attributes supported @timyhac
    • AutoSyncReadInterval / AutoSyncWriteInterval (thanks to @vernturbine in #222 and @PWsys in #275 for finding implementation issues)
    • DebugLevel
    • Int16ByteOrder / Int32ByteOrder / Int64ByteOrder / Float32ByteOrder / Float64ByteOrder
    • StringCountWordBytes / StringIsByteSwapped / StringIsCounted / StringIsFixedLength / StringIsZeroTerminated / StringMaxCapacity / StringPadBytes / StringTotalLength
  • Tag lifecycle events propagated @timyhac ReadStarted / ReadCompleted / WriteStarted / WriteCompleted / Aborted / Destroyed