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

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

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11
    Пользователь
    Регистрация
    18.05.2017
    Адрес
    Чебоксары
    Сообщений
    118

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Конкретный пример - устройство, подключенное к PLC-порту перестало работать:

    1. Панель отправляет запрос и не получает ответ в течение времени PFW38 мс - детектируется отсутствие ответа: PSW72 увеличивается на +1
    2. Панель отправляет повторный запрос
    3. Если на X последовательных запросов (где X = Повторов в настройках порта) нет ответов, то
    • бит PSB51 устанавливается в TRUE на некоторое (зависящее от ряда факторов, в т.ч. таймаута) время
    • PSW71 увеличивается на +1 (сеанс опроса не удался). Фактически, при полном отсутствии связи за все время работы PSW71 = PSW72 / Повторов.
    • в регистр PSW76 записывается адрес устройства, с которым не состоялся сеанс опроса


    После этого начинается следующий сеанс обмена: сброс PSB51, отправка запроса (от следующего элемента / макроса) и так далее.

    Если требуется тщательный контроль обмена - то проще весь обмен перенести в макросы: функции Read(s), Write(s) возвращают соответствующий бит (TRUE - на запрос пришел корректный ответ, FALSE - что-то пошло не так).
    Кроме того, можно будет оптимизировать обмен за счет групповых запросов.
    Евгений, спасибо за подробный ответ с рекомендациями.
    Решение найдено, более удобное чем контроль меандра. .
    В этой связи дополнительный вопрос.
    Насколько понимаю, функции чтения и записи (я их уже использую в макросах) Read(s), Write(s) возвращают значение ошибки в бите.
    Однако, в справке, вызываемой по F1 и в файле руководства пользователя это никак не описано. Если Вас не затруднит, приведите пример использования возвращаемого функциями.
    Со своей стороны, я могу предположить, что надо ставить в условие саму функцию Read(s) или Write(s), по результату устанавливать/сбрасывать бит в незарезервированной области битовой памяти командами SetPSB(n)/ResetPSB(n) либо выполнить необходимые по задаче действия.

    if (Read(......))
    {
    SetPSB(n); //пришел корректный ответ
    ...
    }
    else
    {
    ResetPSB(n); //нет корректного ответа либо нет вообще никакого ответа
    }

    if (Read(......))
    {
    ....; //пришел корректный ответ
    ...
    }
    else
    {
    ....; //нет корректного ответа либо нет вообще никакого ответа
    }
    Последний раз редактировалось Евгений Кислов; 22.11.2018 в 07:11.

Похожие темы

  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 в качестве панели оператора
    от Леонид в разделе СПК1хх
    Ответов: 15
    Последнее сообщение: 20.11.2015, 08:17

Ваши права

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