Доброго дня!
Подскажите решение.
Проблема с чтением двух значений входов. Теоретически должно работать, но OwenRead вылетает с ошибкой
Count = 2;"Выдано исключение типа "OwenioNet.Exceptions.SlaveNetworkException".\r\nР азмер поля данных не соответствует ожидаемому"} System.Exception {OwenioNet.Exceptions.SlaveNetworkException}
При этом такprivate Mutex OwenMut = new Mutex();
----------------------------------------------------------------
private double[] ReadAI(int Adr, int Count)
{
double[] result = null;
byte[] InData = null;
try
{
result = new double[Count];
for (ushort i = 0; i < Count; i++)
{
OwenMut.WaitOne();
InData = owenProtocol.OwenRead(Adr, OwenioNet.Types.AddressLengthType.Bits8, "PV ", i);
OwenMut.ReleaseMutex();
var converter = new OwenioNet.DataConverter.Converter.ConverterFloat(3 );
var value = converter.ConvertBack(InData);
result[i] = (double)value;
}
}
catch (Exception ex) { Console.WriteLine("ReadAI: " + ex.Message); }
return result;
}
owenProtocol.OwenRead(Adr, OwenioNet.Types.AddressLengthType.Bits8, "PV ");
и так
owenProtocol.OwenRead(Adr, OwenioNet.Types.AddressLengthType.Bits8, "PV ", null);
работает корректно и выдает значение первого входа
А так
owenProtocol.OwenRead(Adr, OwenioNet.Types.AddressLengthType.Bits8, "PV ", 0);
owenProtocol.OwenRead(Adr, OwenioNet.Types.AddressLengthType.Bits8, "PV ", 1);
и даже так
owenProtocol.OwenRead(Adr, OwenioNet.Types.AddressLengthType.Bits8, "PV ", (ushort)0);
owenProtocol.OwenRead(Adr, OwenioNet.Types.AddressLengthType.Bits8, "PV ", (ushort)1);
уже нет