Страница 177 из 376 ПерваяПервая ... 77127167175176177178179187227277 ... ПоследняяПоследняя
Показано с 1,761 по 1,770 из 4184

Тема: Панели оператора СП3xx. Вопросы и ответы

Комбинированный просмотр

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

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Добрый день.
    Можно начать с этого примера:
    https://ftp.owen.ru/SP300/99_ForumFi...EventTable.zip
    Спасибо, алгоритм примерно такой и нужен, а есть что-то подобное, но без макросов?

  2. #2
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,919

    По умолчанию

    Без макросов сформировать строку с временем будет достаточно затруднительно - лучше потратить немного времени на изучение примера и адаптировать его под свои нужды.

  3. #3

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Без макросов сформировать строку с временем будет достаточно затруднительно - лучше потратить немного времени на изучение примера и адаптировать его под свои нужды.
    А если без времени, можно обойтись без макросов?

  4. #4

    По умолчанию

    Добрый день.

    Начал осваивать панель СП307. Подключил ТРМ 210 к нему.

    Считываю показание с ТРМ и пытаюсь сделать float.

    WORD tek_temp_read=0;
    WORD dpt=0;
    DWORD t1=0;
    DWORD t2=0;
    float tek_temp=0.0;

    Read(PLC, 1, MODBUS_RTU_REG_4X, 1, 0, TYPE_WORD, &tek_temp_read);
    Read(PLC, 1, MODBUS_RTU_REG_4X, 513, 0, TYPE_WORD, &dpt);

    t1=tek_temp_read;
    t2=dpt;

    tek_temp=DWord_2_Float(t1)/(10.0*DWord_2_Float(t2)); (dpt<>0)

    *(float*)(PSW+256)=tek_temp;

    И этот код не работает. В SP300_help нет описания преобразования word в float. Как это правильно сделать?

    В цифровом дисплее ставлю тип word и формат float отображает 22.0 вместо 22,1. Если ставить тип dword и формат float, то 0.00.

  5. #5

    По умолчанию

    Заработал такой вариант:

    Read(PLC, 1, MODBUS_RTU_REG_4X, 1, 0, TYPE_WORD, &tek_temp_read);
    Read(PLC, 1, MODBUS_RTU_REG_4X, 513, 0, TYPE_WORD, &dpt);
    t1=tek_temp_read;
    t2=dpt;
    tek_temp=DWord_2_Float(t1)/(DWord_2_Float(t2)*10.0);
    *(float*)(PSW+256)=tek_temp;

    И отображение тоже заработало

  6. #6
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,196

    По умолчанию

    Цитата Сообщение от zealus Посмотреть сообщение
    Заработал такой вариант:

    Read(PLC, 1, MODBUS_RTU_REG_4X, 1, 0, TYPE_WORD, &tek_temp_read);
    Read(PLC, 1, MODBUS_RTU_REG_4X, 513, 0, TYPE_WORD, &dpt);
    t1=tek_temp_read;
    t2=dpt;
    tek_temp=DWord_2_Float(t1)/(DWord_2_Float(t2)*10.0);
    *(float*)(PSW+256)=tek_temp;

    И отображение тоже заработало
    А сразу значение float прочитать из ТРМ не судьба?
    Захват-1.png

    Код:
    float tek_temp;
    Read(PLC, 1, MODBUS_RTU_REG_4X, 4105, 0, TYPE_DWORD, &tek_temp);	//PV - 0x1009; 0x100A	Float32
    *(float*)(PSW+256)=tek_temp;
    Последний раз редактировалось petera; 03.10.2020 в 20:07.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  7. #7

    По умолчанию

    float tek_temp;
    Read(PLC, 1, MODBUS_RTU_REG_4X, 4105, 0, TYPE_DWORD, &tek_temp); //PV - 0x1009; 0x100A Float32
    *(float*)(PSW+256)=tek_temp;
    Не посмотрел, что есть дублирование значения еще и во float. Спасибо ваш вариант работает.

    А все таки есть адекватный вариант преобразования WORD во Float (может понадобиться в будущем там где нет дублирования)?
    Последний раз редактировалось zealus; 05.10.2020 в 09:46.

  8. #8

    По умолчанию

    Еще одна проблема .
    В ТРМ написано:
    Вложение 51247
    Я пытаюсь записать параметр DPt, который имеет тип Int16.

    Write(PLC, 1, MODBUS_RTU_REG_4X, 513, 0, TYPE_WORD, w_val); Использует 6 функцию и соответственно ТРМ выдает ошибку функция не поддерживается. Тут все понятно.

    Writes(PLC, 1, MODBUS_RTU_REG_4X, 513, 1, w_val); Использует тоже 6 функцию и ошибка та же.

    Writes(PLC, 1, MODBUS_RTU_REG_4X, 513, 2, w_val); использует уже 10 функцию, но ТРМ выдает некорректные данные, потому что пытаюсь записать 2 регистра.

    Как записать 10 функцией 1 регистр как того требует ТРМ?

  9. #9
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,919

    По умолчанию

    Цитата Сообщение от zealus Посмотреть сообщение
    Еще одна проблема .
    В ТРМ написано:
    Вложение 51247
    Я пытаюсь записать параметр DPt, который имеет тип Int16.

    Write(PLC, 1, MODBUS_RTU_REG_4X, 513, 0, TYPE_WORD, w_val); Использует 6 функцию и соответственно ТРМ выдает ошибку функция не поддерживается. Тут все понятно.

    Writes(PLC, 1, MODBUS_RTU_REG_4X, 513, 1, w_val); Использует тоже 6 функцию и ошибка та же.

    Writes(PLC, 1, MODBUS_RTU_REG_4X, 513, 2, w_val); использует уже 10 функцию, но ТРМ выдает некорректные данные, потому что пытаюсь записать 2 регистра.

    Как записать 10 функцией 1 регистр как того требует ТРМ?
    https://owen.ru/product/sp3xx/faq
    п. 3.8

  10. #10

Страница 177 из 376 ПерваяПервая ... 77127167175176177178179187227277 ... ПоследняяПоследняя

Похожие темы

  1. Экспорт CSV в панели СП3xx и порядок квитирования событий
    от theoretician в разделе Панели оператора (HMI)
    Ответов: 30
    Последнее сообщение: 24.08.2021, 16:17
  2. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  3. Сенсорные панели оператора ОВЕН СП3ХХ
    от Боднар Олег Миколайович в разделе Подбор Оборудования
    Ответов: 7
    Последнее сообщение: 17.12.2015, 09:09
  4. СПК 107 в качестве панели оператора
    от Леонид в разделе СПК1xx (архив)
    Ответов: 15
    Последнее сообщение: 20.11.2015, 08:17

Ваши права

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