public void TestStructuralAllWithSerializerAccess() { var mapping = "DB_Safety2"; var t = new Stopwatch(); var ser = new PlcDataMapperSerializer(); t.Start(); var address = _papper.GetAddressOf(PlcReadReference.FromAddress($"{mapping}")).RawAddress <byte>(); var result = _papper.ReadAsync(PlcReadReference.FromAddress(address)).GetAwaiter().GetResult().FirstOrDefault(); var x = ser.Deserialize <DB_Safety>((byte[])result.Value); t.Stop(); }
/// <summary> /// TODO /// </summary> /// <param name="mapping"></param> /// <param name="variables"></param> /// <returns></returns> public Dictionary <string, string> GetAddresses(string mapping, params string[] variables) { EnsureConnection(); var kvp = new Dictionary <string, string>(); foreach (var variable in variables) { var address = _papper.GetAddressOf(mapping, variable); var bitOffset = address.Offset.Bits > -1 ? address.Offset.Bits : 0; var bitSize = address.Size.Bits > -1 ? address.Size.Bits : 0; kvp.Add(variable, $"{address.Selector},{address.Offset.Bytes}.{bitOffset},{address.Size.Bytes}.{bitSize}"); } return(kvp); }