Показано с 1 по 8 из 8

Тема: ПР200 Modbus RTU exception request

  1. #1

    По умолчанию ПР200 Modbus RTU exception request

    Добрый день.

    Появилась необходимость при записи сетевых переменных в контроллер или частотник (стороннего производителя) контролировать вариант получения кода ошибки - значение может быть вне диапазона вводимых значений, устройство в работе, время регистрации пользователя истекло и т.д. Например, отправив запрос 01 06 00 01 00 04 CRC16, могу получить ответ 01 86 12 CRC16, где 12 - это код ошибки. Возможно функционала ПР200 недостаточно и необходимо применить ПЛК, но сейчас выполнить замену не представляется возможным. Есть ли какой-либо способ получать exception request? Вариант с контролем вводимых/отправляемых команд в теле программы слишком громоздок и присутствует возможность упустить одно из некорректных значений.

  2. #2

    По умолчанию

    Судя по всему мне нужно анализировать переменную выбранную в поле "Статус". По-быстрому подключил контроллер Comap к ИП120 (что было на руках) и получил следующее: запись регистра выполняю с галкой "по изменению" - запись идет нормально, при выходе за диапазон сетевого параметра в статусе получаю значение "4". Вроде как это я и искал. При попытке записи уже нормального значения (всю запись делаю через ввод с дисплея) статус не сбрасывается. Допустимый диапазон параметра от 0 до 500 - я в него попадаю. Использование флага принудительной записи не помогает.

  3. #3

    По умолчанию

    Не понятно, откуда у вас берётся эта ошибка?
    Можно применить макрос Limit (fLimit) и в ПР ограничить пределы вводимого значения или например макрос Scale. Всё, что не попало в предел, обрабатывать как ошибку.
    Если используете макросы преобразования сопротивлений в температуру, то в макросе есть ошибка выхода за пределы.
    Последний раз редактировалось kondor3000; 10.08.2022 в 16:06.

  4. #4

    По умолчанию

    Есть ограничения на ввод значений параметров при работающем устройстве или при необходимости повторного ввода пароля пользователя. Ограничение ввода значений удобно реализовано инструментами Овен - это бесспорно, но хотелось бы применить контроль исключительных ситуаций для 100% контроля записываемых значений.

  5. #5

    По умолчанию

    Похоже, что рабочим вариантом является снятие галочки "запись по изменению значения" и попеременные команды чтения и записи (через ФБ генератора импульсов). Приложил проект. Может есть менее изощренный вариант? Родился еще один вопрос: как можно остановить цикл попытки записи конкретного регистра? Подозреваю, что при записи большого числа сетевых переменных будут возникать большие паузы, т.к.
    "Запуск записи — назначается командная переменная булевского типа (командная переменная) для принудительной записи настраиваемой переменной: если значение командной переменной меняется с 0 на 1, мастер инициирует запрос на запись, после успешного выполнения запроса значение командной переменной автоматически меняется с 1 на 0;".
    Вложения Вложения

  6. #6

    По умолчанию

    Цитата Сообщение от Евгений Ш Посмотреть сообщение
    Похоже, что рабочим вариантом является снятие галочки "запись по изменению значения" и попеременные команды чтения и записи (через ФБ генератора импульсов). Приложил проект. Может есть менее изощренный вариант? Родился еще один вопрос: как можно остановить цикл попытки записи конкретного регистра? Подозреваю, что при записи большого числа сетевых переменных будут возникать большие паузы, т.к.
    "Запуск записи — назначается командная переменная булевского типа (командная переменная) для принудительной записи настраиваемой переменной: если значение командной переменной меняется с 0 на 1, мастер инициирует запрос на запись, после успешного выполнения запроса значение командной переменной автоматически меняется с 1 на 0;".
    По моему вы в дебри полезли, у людей сотни переменных читаются, пишутся без проблем, в вашем случае возможны проблемы, если запись начнётся и отключится.
    Записывать переменные по изменению, это нормально.
    Упаковывайте булевые переменные в маски по 16 шт, если очень критично, можно передавать Float, не через 2, а через один регистр, умножая на 10 и конвертируя в целочисленное, при получении конвертируете обратно и делите на 10 ( в панелях типа СП3ХХ, ИП320, просто ставите 1 знак после запятой). Так можно сократить кол-во передаваемых регистров в десятки раз.
    Последний раз редактировалось kondor3000; 10.08.2022 в 19:32.

  7. #7
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,586

    По умолчанию

    kondor3000 человек при помощи ИПП120 или ПР200 пишет и читает в ДРУГОЕ. А не наоборот... а они не умеют групповые запросы так что на счет сотен + запись постоянно тут не про них...

  8. #8

    По умолчанию

    Я Вас прекрасно понял, спасибо. Знаком с этими макросами и часто использую. Проблема не в количестве данных и упаковке, а обработке исключений при записи регистров от мастера (ПР200) в контроллер, в котором, например, есть уровни доступа - в случае, если таймаут истек - я должен ввести пароль. Есть ситуации, когда запись регистра будет временно заблокирована контроллером, чтобы не нарушать технологический процесс.

Похожие темы

  1. спк107м01 exception
    от PavelGO в разделе СПК1хх [М01]
    Ответов: 7
    Последнее сообщение: 21.12.2021, 11:22
  2. raised exception access violation codesys
    от Rinat в разделе СПК1хх [М01]
    Ответов: 3
    Последнее сообщение: 19.09.2021, 17:26
  3. ПР200 ModBus-RTU и ПК (Modbus Poll / NodeRed)
    от decole в разделе Программируемые реле
    Ответов: 19
    Последнее сообщение: 29.03.2020, 13:58
  4. СПК207 - Program Loaded - Exception
    от firetester в разделе СПК2хх
    Ответов: 5
    Последнее сообщение: 02.02.2016, 14:38
  5. СПК207 нет перезагружается при watchdog exception
    от alexey.kachalov в разделе СПК2хх
    Ответов: 0
    Последнее сообщение: 25.01.2016, 10:58

Метки этой темы

Ваши права

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