Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2013, 17:11   #1
magnuz
Пользователь
 
Регистрация: 07.08.2012
Сообщений: 37
По умолчанию Проблема с выуживанием Float-значений из Modbus TCP

Комп подключен к Шнайдеру или эмулятору оного. Но Непосредственно считывать из регистров можно только ushort-ы. А остальные значения только произвольным образом получать.
Вот код преобразования.
Код:

        private float _2words2float(ushort[] value)
        {
            Byte[] q = new Byte[4];
            
            q[0] = BitConverter.GetBytes(value[0])[0];
            q[1] = BitConverter.GetBytes(value[0])[1];
            q[2] = BitConverter.GetBytes(value[1])[0];
            q[3] = BitConverter.GetBytes(value[1])[1];
           
            /*
            q[2] = BitConverter.GetBytes(value[0])[0];
            q[3] = BitConverter.GetBytes(value[0])[1];
            q[0] = BitConverter.GetBytes(value[1])[0];
            q[1] = BitConverter.GetBytes(value[1])[1];*/
            float res = BitConverter.ToSingle(q, 0);
            return res;

        }
Но он выдает не те значения. В том числе и то что закоменчено. Говорят там частенько проблема с этим бывает в модбасе. Сама прога лежит здесь если что - https://github.com/1datr/ModbusTest.
magnuz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с подключенияем по Modbus TCP magnuz C# (си шарп) 2 21.08.2013 09:28
проблема с float Digidie HTML и CSS 1 13.10.2011 09:06
Ошибка типа cannot convert `float*' to `float' for argument `1' ... Trackman Помощь студентам 3 23.05.2011 17:09
Проблема с float в Ассемблере AntonK8 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 07.01.2011 12:38
Отображение значений переменных типа float и double(Языки Pascal и C) Сырно Помощь студентам 3 17.10.2010 18:37