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

Тема: Контроль связи СП307 Slave и ПР20х Master

  1. #1

    По умолчанию Контроль связи СП307 Slave и ПР20х Master

    Добрый день!
    Вход PLC панели СП-307 работает в режиме Slave и получает информацию от ПР20х. Есть острая необходимость определения наличия связи на СП307 с ПР20х, работающем в режиме Master по Modbus TCP. Как можно это реализовать? Подскажите пожалуйста. При отсутствии связи между СП307 и ПР20х, на СП307 отображается устаревшая информация и создается впечатление, что устройство под управлением ПР20х работает штатно, хотя на самом деле оно возможно не работает. В случае работы СП307 в режиме мастер это реализуется легко с помощью PSB51 и PSW76, а в режиме Slave, пока не получается осуществить контроль связи и нет возможности задействовать СП307 в режиме Master.

  2. #2
    Пользователь Аватар для Party3AH
    Регистрация
    24.03.2023
    Адрес
    Север
    Сообщений
    97

    По умолчанию

    Цитата Сообщение от Pavel R Посмотреть сообщение
    Добрый день!
    Вход PLC панели СП-307 работает в режиме Slave и получает информацию от ПР20х. Есть острая необходимость определения наличия связи на СП307 с ПР20х, работающем в режиме Master по Modbus TCP. Как можно это реализовать? Подскажите пожалуйста. При отсутствии связи между СП307 и ПР20х, на СП307 отображается устаревшая информация и создается впечатление, что устройство под управлением ПР20х работает штатно, хотя на самом деле оно возможно не работает. В случае работы СП307 в режиме мастер это реализуется легко с помощью PSB51 и PSW76, а в режиме Slave, пока не получается осуществить контроль связи и нет возможности задействовать СП307 в режиме Master.
    Добрый день!
    Нужно добавить пересылку Life-Counter от мастера. На панели в макросе проверять этот счётчик, если нет изменений, то значит связь пропала.

  3. #3

    По умолчанию

    Цитата Сообщение от Pavel R Посмотреть сообщение
    Добрый день!
    Вход PLC панели СП-307 работает в режиме Slave и получает информацию от ПР20х. Есть острая необходимость определения наличия связи на СП307 с ПР20х, работающем в режиме Master по Modbus TCP. Как можно это реализовать? Подскажите пожалуйста. При отсутствии связи между СП307 и ПР20х, на СП307 отображается устаревшая информация и создается впечатление, что устройство под управлением ПР20х работает штатно, хотя на самом деле оно возможно не работает. В случае работы СП307 в режиме мастер это реализуется легко с помощью PSB51 и PSW76, а в режиме Slave, пока не получается осуществить контроль связи и нет возможности задействовать СП307 в режиме Master.
    Всё тоже самое делается в панели слейв, выделяестя любой сободный бит связи, в панели бит взводится каждую секунду (от PSB4), и запускает таймер в ФО (функц. области) цикл на 3-5 сек, ПЛК мастер должен бит сбрасывать, если бит не сброшен в течении 3-5 сек, таймер срабатывает, взводит другой бит и открывает окно "Нет связи с ПЛК". При возобновлении обмена, бит сбрасывается и окно закрывается.
    Последний раз редактировалось kondor3000; 24.03.2026 в 17:50.

  4. #4

    По умолчанию

    Цитата Сообщение от Party3AH Посмотреть сообщение
    Добрый день!
    Нужно добавить пересылку Life-Counter от мастера. На панели в макросе проверять этот счётчик, если нет изменений, то значит связь пропала.
    Чтобы постоянно контролировать связь, скорее всего надо отправлять с ПР20х секундные импульсы или более редкие. Но как организовать на панели СП307 макрос счетчика, (на сколько импульсов он рассчитан и его автосброс при переполнении) и контролировать наличие его изменения, в этом я не силён. Если не трудно, напишите содержание макроса и его описание.

  5. #5

    По умолчанию

    Глобальная ФО каждые 5 сек копирует PSB256 в PSB257, потом выставляет PSB256 = 1.
    Если каждые 4 сек сбрасывать PSB256, то PSB257 всегда будет в 0-е.
    Иначе 1 в PSB257 откроет окно 1.
    Вложения Вложения

  6. #6
    Пользователь Аватар для Party3AH
    Регистрация
    24.03.2023
    Адрес
    Север
    Сообщений
    97

    По умолчанию

    Цитата Сообщение от Pavel R Посмотреть сообщение
    Чтобы постоянно контролировать связь, скорее всего надо отправлять с ПР20х секундные импульсы или более редкие. Но как организовать на панели СП307 макрос счетчика, (на сколько импульсов он рассчитан и его автосброс при переполнении) и контролировать наличие его изменения, в этом я не силён. Если не трудно, напишите содержание макроса и его описание.
    Вот что нейросеть гугла предлагает:

    Логика работы
    Мастер (ПЛК) постоянно увеличивает значение переменной (например, от 0 до 100).
    Панель (Слейв) считывает это значение макросом.
    Если текущее значение равно предыдущему — запускается таймер.
    Если значение изменилось — таймер сбрасывается.
    При превышении уставки (например, 5 секунд) — выводится авария.
    Пример макроса (Си)
    Создайте глобальный макрос (выполняется, например, раз в 500 мс):


    static WORD last_value = 0; // Предыдущее значение
    WORD current_value = 0; // Текущее значение
    WORD timer = 0; // Текущее время простоя
    WORD timeout = 10; // Порог (10 циклов по 500мс = 5 сек)
    BOOL status = 0; // 0 - связь есть, 1 - обрыв

    // 1. Читаем счетчик из ПЛК (адрес 100 по Modbus)
    Read(PLC, 100, TYPE_PSW, 1, &current_value);

    // 2. Сравниваем с прошлым замером
    if (current_value == last_value) {
    Read(LOCAL, 500, TYPE_PSW, 1, &timer); // Читаем накопительный таймер из PSW500
    timer++;
    if (timer > timeout) {
    status = 1; // Устанавливаем бит ошибки
    }
    Write(LOCAL, 500, TYPE_PSW, 1, &timer);
    } else {
    timer = 0;
    status = 0;
    last_value = current_value; // Обновляем значение
    Write(LOCAL, 500, TYPE_PSW, 1, &timer);
    }

    // 3. Записываем бит статуса в PSB100 (для индикатора на экране)
    Write(LOCAL, 100, TYPE_PSB, 1, &status);

    Используйте код с осторожностью.

    п.с. давненько не работал с панелями, СП3хх конфигуратора нет под рукой, но делал что-то подобное ранее.
    Последний раз редактировалось Party3AH; 25.03.2026 в 09:42.

  7. #7

    По умолчанию

    Цитата Сообщение от Party3AH Посмотреть сообщение
    Вот что нейросеть гугла предлагает:
    п.с. давненько не работал с панелями, СП3хх конфигуратора нет под рукой, но делал что-то подобное ранее.
    После таких советов, применительно к СП3хх, панель у чела зависнет и придётся ему прыгать с бубном, принудительно перезаливая проект.
    Хотя выше 2 рабочих совета, вообще без макросов, которые даже в эмуляции можно проверить.

  8. #8

    По умолчанию

    Спасибо! Идея понятна. Все получилось.

  9. #9

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Глобальная ФО каждые 5 сек копирует PSB256 в PSB257, потом выставляет PSB256 = 1.
    Если каждые 4 сек сбрасывать PSB256, то PSB257 всегда будет в 0-е.
    Иначе 1 в PSB257 откроет окно 1.
    Спасибо! Идея понятна. Все получилось.

Похожие темы

  1. Контроль связи с облаком со стороны Slave
    от zaychenko в разделе Облачный сервис OwenCloud
    Ответов: 8
    Последнее сообщение: 20.12.2024, 12:25
  2. СП307 master +gh200 slave. Не передаются данные
    от fuzzylogic2006 в разделе Панели оператора (HMI)
    Ответов: 3
    Последнее сообщение: 19.03.2024, 08:34
  3. СП307 slave проверка связи с master
    от ind в разделе Панели оператора (HMI)
    Ответов: 4
    Последнее сообщение: 29.03.2022, 14:30
  4. ИП 320 (master) -> ПЛК 160 (slave) RS-232. Нет связи.
    от Kamerton в разделе Панели оператора (HMI)
    Ответов: 7
    Последнее сообщение: 02.04.2021, 20:18
  5. ПЛК(Slave) < СП270(Master) > ПЛК(Slave). Хождение по экранам при потере связи.
    от masterfloMaster в разделе Панели оператора (HMI)
    Ответов: 3
    Последнее сообщение: 12.04.2011, 17:41

Ваши права

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