diff --git a/src/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT/TwinCATDataType.cs b/src/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT/TwinCATDataType.cs index a11fc56..d123451 100644 --- a/src/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT/TwinCATDataType.cs +++ b/src/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT/TwinCATDataType.cs @@ -37,7 +37,8 @@ public static class TwinCATDataTypeExtensions TwinCATDataType.SInt or TwinCATDataType.USInt or TwinCATDataType.Int or TwinCATDataType.UInt or TwinCATDataType.DInt or TwinCATDataType.UDInt => DriverDataType.Int32, - TwinCATDataType.LInt or TwinCATDataType.ULInt => DriverDataType.Int32, // matches Int64 gap + TwinCATDataType.LInt => DriverDataType.Int64, + TwinCATDataType.ULInt => DriverDataType.UInt64, TwinCATDataType.Real => DriverDataType.Float32, TwinCATDataType.LReal => DriverDataType.Float64, TwinCATDataType.String or TwinCATDataType.WString => DriverDataType.String, diff --git a/tests/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.Tests/TwinCATDriverTests.cs b/tests/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.Tests/TwinCATDriverTests.cs index 0b264fc..caa97d1 100644 --- a/tests/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.Tests/TwinCATDriverTests.cs +++ b/tests/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.Tests/TwinCATDriverTests.cs @@ -83,6 +83,8 @@ public sealed class TwinCATDriverTests { TwinCATDataType.Bool.ToDriverDataType().ShouldBe(DriverDataType.Boolean); TwinCATDataType.DInt.ToDriverDataType().ShouldBe(DriverDataType.Int32); + TwinCATDataType.LInt.ToDriverDataType().ShouldBe(DriverDataType.Int64); + TwinCATDataType.ULInt.ToDriverDataType().ShouldBe(DriverDataType.UInt64); TwinCATDataType.Real.ToDriverDataType().ShouldBe(DriverDataType.Float32); TwinCATDataType.LReal.ToDriverDataType().ShouldBe(DriverDataType.Float64); TwinCATDataType.String.ToDriverDataType().ShouldBe(DriverDataType.String);