Добрый вечер!
У меня имеется ПЛК Siemens S7 - 1500, я хочу написать программу, которая бы читала адреса. Для этого я решил использовать библиотеку S7NetPlus. Значения на ПЛК я сам могу выставлять, так что вопрос не совсем конкретный. Мне просто интересно, как это делать? В интернете мало информации по этому поводу.
Например, имеется значение real на первом адресе сотого дата блока. Тк real занимает четыре байта, то оно разложено на первый и второй адрес, по два байта соответственно. Значения в ProfiNet передаются массивами байт, насколько мне известно. Я полагаю, что можно было бы прочитать как первый, так и второй адреса, а потом соединить вместе и перевести в десятичное представление. Но в библиотеке указано, что для этого используется
(VarType varType).
Пробовал уже и так и сяк какое-то время, решения не нашел.
byte[] byteArray = plc.ReadBytes(DataType.DataBlock, dataBlock, address, 1); // вариант с ReadBytes
new DataItem { Address = "DB" + blockNumber + ".DBW1", VarType = VarType.Int } // и дата айтемами какими-то
object? result = plc.Read(DataType.DataBlock, 100, 1, VarType.Int, 0, 20); // объекты
double result = Convert.ToDouble((uint)plc.Read("DB100.DBD1")); // тут и дабл и флоат пробовал
Подскажите, пожалуйста, вдруг кто знает. Или может быть у кого-то просто есть работающий код, чтобы я взглянул хоть глазком.
Заранее спасибо!