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

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

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

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

    По умолчанию

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

  2. #2

    По умолчанию

    Добрый день.

    Начал осваивать панель СП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.

  3. #3

    По умолчанию

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

    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;

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

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

    По умолчанию

    Цитата Сообщение от 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

  5. #5

    По умолчанию

    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.

  6. #6

    По умолчанию

    Еще одна проблема .
    В ТРМ написано:
    Вложение 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 регистр как того требует ТРМ?

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

    По умолчанию

    Цитата Сообщение от 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

  8. #8

  9. #9

    По умолчанию

    Добрый день. Уважаемые коллеги, прошу направить на нужный путь. Впервые мне пришлось работать с ПЛК, а конкретно с ПЛК 160МО, и панелью оператора СП307Р. И то и другое устройство находятся в пути и к концу этой недели должны быть у меня. Я готовлюсь к их изучению, и пока той информации которую нашел на оф. сайте ОВЕН мне достаточно, но есть один вопрос: я не могу понять где прописаны адреса регистров ПЛК. Прошу подсказки. Заранее благодарен.

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

    По умолчанию

    Цитата Сообщение от Александр И. Посмотреть сообщение
    Добрый день. Уважаемые коллеги, прошу направить на нужный путь. Впервые мне пришлось работать с ПЛК, а конкретно с ПЛК 160МО, и панелью оператора СП307Р. И то и другое устройство находятся в пути и к концу этой недели должны быть у меня. Я готовлюсь к их изучению, и пока той информации которую нашел на оф. сайте ОВЕН мне достаточно, но есть один вопрос: я не могу понять где прописаны адреса регистров ПЛК. Прошу подсказки. Заранее благодарен.
    Добрый день.
    Посмотрите учебное видео, пожалуйста: https://youtu.be/yJkwRU33I80

Страница 177 из 360 ПерваяПервая ... 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

Ваши права

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