Hi everyone
I'm working on a Low Code app where I want to select the one X20 to get it output, and then choose which Titan Edge Decoder insert it as input.
To perform this, I'm writing a small automation script, it gets correctly the information to insert as input in the Titan, and also sets the parameters correctly, but after a small amount of time, the parameters roll back to the previous values.
But I don't get way they rollback, this change is never seems to be tracked on the information events.
Below the code to better understand the issue
#region Set input Titan
/// set alfa channel
var decoders = GetColumns(decoderElement, 2100, new[] { 0, 1, 6}, (string idx, string status, string moduleID) => new { Idx = idx, Status = status, ModuleID = moduleID}).ToList();
var decoder = decoders.First(elm => elm.ModuleID == decoderChannel);
string ssmAddress = "[" + string.Join(",", networkIP.Select(ip => ip.Address.ToString())) + ",,,,]";
//// engine.GenerateInformation(ssmAddress);
decoderElement.SetParameterByPrimaryKey(2117, decoder.Idx, ssmAddress);
/// Alfa IP
decoderElement.SetParameterByPrimaryKey(2105, decoder.Idx, outputAlfaIP.Ip);
/// Alfa Port
decoderElement.SetParameterByPrimaryKey(2106, decoder.Idx, outputAlfaIP.Port);
///// Beta IP
decoderElement.SetParameterByPrimaryKey(2109, decoder.Idx, outputBetaIP.Ip);
decoderElement.SetParameterByPrimaryKey(2110, decoder.Idx, outputBetaIP.Port);
#endregion
I also tried to set directly the write parameters, but it seems to crush after.
1-Edit:
I found some informations, first thing, everything work find untile the script will try to update the field SSM Address, a parameter of the Titan Edge decoder protocol, version 1.0.2.1, with PID 2117, the field has to be formatted in a way like this "[,,,,,,,]" and I try to insert a new value like this [10.169.244.54,10.169.116.54,,,,].
As suggested by Joao I already tried to set the check flag to false, but without any luck.
2-Edit:
The problem seems related to the SSM Address parameter, as if I try to change it by hand, the value will not change with the new value
Hi Marco,
If you add the square brackets around the IP addresses when setting the SSM address in the Titan Edge connector, that will cause a bad formatted data, and the device will not accept the data since it will not be a list of valid IP address. The IP addresses are sent to the device as a list of IP addresses by splitting the string with the comma. When the square brackets are added in the input data, they become part of the IP address which will make it invalid IP. The square brackets that you see in the read parameters of the table are added by the device API when it returns the data (to indicate array of IP addresses). Remove the square brackets and set a comma separated list of IP addresses. So, if you set 10.169.244.54,10.169.116.54,,,, it will work.
Probably, the connector can be enhanced in the future by removing the square brackets from the returned data to avoid such confusions.