diff --git a/S7.Net/Conversion.cs b/S7.Net/Conversion.cs
index a8f3265..3f58d1e 100644
--- a/S7.Net/Conversion.cs
+++ b/S7.Net/Conversion.cs
@@ -1,4 +1,5 @@
using System;
+using System.Globalization;
namespace S7.Net
{
@@ -141,5 +142,77 @@ namespace S7.Net
return (result != 0);
}
+
+ ///
+ /// Converts from ushort value to short value; it's used to retrieve negative values from words
+ ///
+ ///
+ ///
+ public static short ConvertToShort(this ushort input)
+ {
+ short output;
+ output = short.Parse(input.ToString("X"), NumberStyles.HexNumber);
+ return output;
+ }
+
+ ///
+ /// Converts from short value to ushort value; it's used to pass negative values to DWs
+ ///
+ ///
+ ///
+ public static ushort ConvertToUshort(this short input)
+ {
+ ushort output;
+ output = ushort.Parse(input.ToString("X"), NumberStyles.HexNumber);
+ return output;
+ }
+
+ ///
+ /// Converts from UInt32 value to Int32 value; it's used to retrieve negative values from DBDs
+ ///
+ ///
+ ///
+ public static Int32 ConvertToInt(this uint input)
+ {
+ int output;
+ output = int.Parse(input.ToString("X"), NumberStyles.HexNumber);
+ return output;
+ }
+
+ ///
+ /// Converts from Int32 value to UInt32 value; it's used to pass negative values to DBDs
+ ///
+ ///
+ ///
+ public static UInt32 ConvertToUInt(this int input)
+ {
+ uint output;
+ output = uint.Parse(input.ToString("X"), NumberStyles.HexNumber);
+ return output;
+ }
+
+ ///
+ /// Converts from double to DWord (DBD)
+ ///
+ ///
+ ///
+ public static UInt32 ConvertToUInt(this double input)
+ {
+ uint output;
+ output = S7.Net.Types.DWord.FromByteArray(S7.Net.Types.Double.ToByteArray(input));
+ return output;
+ }
+
+ ///
+ /// Converts from DWord (DBD) to double
+ ///
+ ///
+ ///
+ public static double ConvertToDouble(this uint input)
+ {
+ double output;
+ output = S7.Net.Types.Double.FromByteArray(S7.Net.Types.DWord.ToByteArray(input));
+ return output;
+ }
}
}