Пишу программу для панели оператора под WindowsCE 6.0 .NET 3.5 C# + программу для ПЛК160. Использую библиотеку NModbus. Может кто сталкивался с этим. Вот код С#:
Вот код CoDeSys:Код:float f1 = -10; int f2 = -10; byte[] bytes = BitConverter.GetBytes(f1); ushort[] us = new ushort[2]; us[0] = BitConverter.ToUInt16(bytes, 0); us[1] = BitConverter.ToUInt16(bytes, 2); mb.WriteMultipleRegisters(1, 2, us);
Так вот когда я отправляю f2 тоесть INT то все ок, Par3 и Par4 и Par5 = -10. Если же я использую f1 тоесть Float то приходят какие-то непонятные цифрыКод:Par3:= DWORD_TO_INT(%QD7.2.0); Par4:=DWORD_TO_DINT(%QD7.2.0); Par5:=DWORD_TO_REAL(%QD7.2.0);




Ответить с цитированием