Показано с 1 по 10 из 1674

Тема: CODESYS V3.5. Настройка обмена с другими устройствами (Modbus, ОВЕН, OPC и др.)

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #13

    По умолчанию

    Всем Доброго времени суток.
    Столкнулся с такой бедой как "Числа в формате PIC с плавающей запятой" при опросе по RS485 счетчика газа Ирвис К-300.
    ИрвисК300.png
    Прошу вашей помощи, может кто то сталкивался с такой проблемой ранее, как эти значения привести к понятным REAL?
    В сети нашел только пример на языке С, но я в нем вообще не понимаю, что в нем происходит, может у кого есть пример на ST?
    Код:
    class Program
        {
            static void Main(string[] args)
            {
                 byte[] send = new byte[3] {0x65, 0x29, 0x8A};
                 Console.WriteLine(PICtoIARfloat(send));
                Console.ReadLine();
            }
     
            static float PICtoIARfloat(byte[] PICfloat)
            {
              
                byte[] bt = new byte[4];
     
     
                //Первый байт float IAR
                bt[0] = 0x00;
                //Второй байт
                bt[1] = PICfloat[0];
                //Третий байт
                bt[2] = PICfloat[1];
                bt[2] &= 0x7f;  //Сброс знака
     
                if ((PICfloat[2] & 0x01) > 0)
                {
                    //Если мл.бит установлен
                    bt[2] |= 0x80;
                }
                //Четвертый байт
                bt[3] = PICfloat[2];
                bt[3] >>= 1;
                if ((PICfloat[1] & 0x80)>0)
                {
                    //Если знак отрицательный
                    bt[3] |= 0x80;
                }
                else
                {
                    bt[3] &= 0x7F;
                }
                
     
                return ToFloat(bt);
            }
     
            static float ToFloat(byte[] input)
            {
                return BitConverter.ToSingle(input, 0);
            }
        }
    Вложения Вложения

Похожие темы

  1. Настройка ПР200, управление 3-мя устройствами через RS-485
    от Orbes в разделе Среда программирования OWEN Logic
    Ответов: 20
    Последнее сообщение: 15.05.2017, 16:45
  2. СП3ХХ Пример настройка обмена с ПЛК на CODESYS 2.3
    от Denis_Kay в разделе Панели оператора (HMI)
    Ответов: 6
    Последнее сообщение: 02.03.2017, 15:12
  3. Ответов: 43
    Последнее сообщение: 13.04.2015, 14:05
  4. Универсальная функция для обмена с устройствами OwenIO и всеми любимый LabView.
    от Алексей Крагель в разделе Помощь Разработчикам
    Ответов: 0
    Последнее сообщение: 30.05.2014, 13:38

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •