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

Тема: ПЛК73 - программное чтение настроек портов RS485

  1. #1

    По умолчанию ПЛК73 - программное чтение настроек портов RS485

    Добрый день всем.

    У нас имеется контроллер ПЛК73 с установленным интерфейсным модулем ПИ73-5 (два порта RS485). Потребовалось для удобства оператора считывать в программу настройки портов RS485 (конкретно нужно определить скорость передачи данных) из дерева конфигурации. Для этих параметров нельзя задать символьное имя, как например для входов или выходов. Насколько мне известно в этом случае можно воспользоваться библиотекой Arm7_Specific в которой есть функция Read_By_Hash. Эта функция позволяет считать параметр по его ХЭШ коду.
    Проблема в том, что у обоих портов (RS-1 и RS-2) хэш коды параметра "Скорость" совпадают и равны 16#B760. Пробовал считать параметр по данному хэш коду и получал скорость для порта RS-2.
    Пример кода на ST:
    Код:
    tmp: POINTER TO PARAMETER_DESCRIPTOR;
    str: STRING;
    
    tmp := READ_BY_HASH(16#B760,1);
    str := tmp^.name;
    Вопросы:
    1. А вот как считать значение параметра "Скорость" для порта RS-1?
    2. Нормально ли это, что у параметров совпадают хэш-коды?

  2. #2
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    зачем вам так?
    Чтение значений доступно с экрана ПЛК в соответствующей ветке
    и по сети . Регистры фиксированные. см. в настройках RS-1 в конфигураторе
    (рег 330....336)
    Обращайтесь к ним на прямую.

  3. #3

    По умолчанию

    Спасибо за ответ, только я не совсем понял о чем Вы...

    Во первых - нужно это для того, чтобы оператор мог из меню контроллера изменить настройки скорости порта 1, а программа могла бы это увидеть и открыть порт с новыми настройками. Порт открывается программно, поскольку реализован программный Modbus Master на этом порту для опроса периферии, а периферия может быть разной.

    По поводу того, что параметр скорости порта RS1 можно получить по сети modbus я в курсе (некоторые другие параметры конфигурации получаю с подчиненных контроллеров), но как и зачем мне обращаться по сети Modbus к тому же контроллеру на котором исполняется программа? Вообще возможно ли прочитать контроллеру у самого себя значения регистров Modbus?

    А вот про чтение с экрана - это я что-то не совсем понял... могли бы Вы пояснить подробнее как это можно реализовать?

  4. #4
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    У меня сейчас нет ПЛК под рукой,
    только если завтра.
    и лучше пишите в личку, т.к. я могу не найти этой темы. если будет много др. сообщений.
    По поводу открытия порта, вы можете задавать любые данные, для мастера создав к примеру переменные в ветке,
    которые потом используете как уставки параметров.
    Fix- это подчиненный модуль. Он вам зачем
    вы хотите плк сразу и мастером и слейвом сделать?
    не хорошее решение.
    Последний раз редактировалось lara197a; 15.09.2016 в 20:44.

  5. #5

    По умолчанию

    Еще раз спасибо за Ваши ответы.

    По поводу создания отдельного параметра в ветке пользовательского меню я тоже уже думал, но просто раз уж есть готовые меню в разделе "Конфигурация" в которых представлены все параметры последовательных портов, то хотелось бы использовать их (как то не по людски когда вроде бы одни и те же настройки представлены в различных разделах меню), при этом настройки порта RS2 уже нормально используются операторами (порт RS2 работает в режиме modbus slave, поэтому его настройки применяются "операционной системой" контроллера), то есть оператор уже привык, что настройки последовательных портов как раз в разделе "конфигурация". Но если никаких способов определить программно значения настройки скорость для порта RS1 не получится, то видимо придется делать еще одну отдельную настройку в другой ветку пользовательского меню. Надеюсь все же найдется какой-то вариант получить значение настройки скорости порта RS1 в программе.

    По поводу использования контроллера одновременно в качестве мастера и слэйва - Вы правы, именно так и хочу, и уже использую контроллеры ПЛК73 с модулями ПИ73-5. Как раз именно возможность такого использования и была ключевым фактором при выборе контроллера. Сейчас идет тестовая эксплуатация уже в течении 3х месяцев и в целом система работает хорошо, из доработок остаются только всякие удобности в интерфейсе к которым и относится вопрос про изменение скорости порта RS1 из меню контроллера. Система как раз и использует порт RS1 контроллера в режиме программного modbus мастера для обмена данными с периферией в "своем шкафу", то есть в шкафу которым управляет, а на порту RS2 этот же контроллер уже является слэйвом для вышестоящего контроллера (из центрального шкафа управления), который читает из него данные о состоянии подчиненного шкафа. Получается, что центральный шкаф может опрашивать несколько однотипных шкафов по modbus, выдавать им команды в зависимости от состояния всех шкафов в целом (как бы осматривая всю систему сверху и видя все шкафы одновременно). Для опроса подчиненных шкафом на центральном также используется программный режим modbus master на порту RS1, а порт RS2, в свою очередь, опять работает как modbus slave, но уже для вышестоящей SCADA системы. В целом получается очень функционально, унифицированно по компонентам, блокам программного кода и интерфейсу, а также недорого (поскольку в одном недорогом контроллере есть все необходимые компоненты - порты ввода/вывода, экран для отображения текущих значений, последовательные порты RS485 для организации связи на значительном расстоянии), получается, что мы решили все задачи одним контроллером при этом использовав его потенциал где-то на 80-90%, то есть "отбили каждый вложенный в него рубль"

  6. #6
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    Так на разных портах без проблеи.

Похожие темы

  1. Ответов: 2
    Последнее сообщение: 20.06.2016, 18:07
  2. RS485 И ПЛК73 (нужна помощь).
    от Владимир. в разделе ПЛК63/73
    Ответов: 1
    Последнее сообщение: 11.09.2015, 12:37
  3. Номера портов ПЛК73
    от jum_kaash в разделе ПЛК63/73
    Ответов: 34
    Последнее сообщение: 18.10.2012, 00:33
  4. Программное изменение настроек RS-485
    от botanik в разделе ПЛК1хх
    Ответов: 13
    Последнее сообщение: 31.08.2009, 18:54

Ваши права

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