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

Тема: Код 23 Modbus на СПК207 или чтение/запись в ПЛК110

  1. #1
    Пользователь
    Регистрация
    10.11.2014
    Адрес
    Санкт-Петербург
    Сообщений
    980

    По умолчанию Код 23 Modbus на СПК207 или чтение/запись в ПЛК110

    Добрый день, уважаемые форумчане.

    Собрана следующая система:
    1. ПЛК110 управляет процессом;
    2. СПК207 - отображение и ввод информации;
    3. АРМ оператора (MasterSCADA + Universal Modbus OPC Server) - отображение и ввод информации.

    В ПЛК110 есть некая переменная (назовем ее Var1). Эта переменная может быть изменена, как с СПК207, так и с АРМа.
    Естественно, что она должна быть отображена и на СПК207 и на АРМе.

    В Universal Modbus OPC Servere я могу сконфигурировать переменную с типом Read/Write. Такая переменная, если она изменена в сервере, записывается в контроллер.
    Если она изменена в контроллере, то ее значение принимается сервером.

    Можно сконфигурировать переменную типа Read/Write и в СПК207. Для этого в конфигураторе необходимо добавить канал с кодом функции 23 (Чтение/запись).
    Проблема заключается в том, что контроллер ПЛК110 не поддерживает функцию 23 Модбас (видимо, OPC-сервер скрыто использует отдельно функции чтения 03 и записи 16).

    Получается, что для чтения я должен сконфигурировать канал rVar1, а для записи wVar1. А затем программно обрабатывать эти две переменные сливая их в одну Var1, которую уже потом отображать в поле ввода.

    Есть ли какой-то простой способ решения задачи с переменными, которые необходимо читать и писать в связке СПК207 - ПЛК110?

  2. #2
    Пользователь
    Регистрация
    10.11.2014
    Адрес
    Санкт-Петербург
    Сообщений
    980

    По умолчанию

    Добрый день, уважаемые форумчане.

    Я так понимаю, что никто из прочитавших вопрос не сталкивался с подобной задачей.

    Поясню еще раз на примере.
    Прикрепляю следующие файлы:
    1. TestReadWrite.projectarchive - архив проекта панели СПК207.
    2. TestReadWrite.pro - проект CoDeSys для контроллера ПЛК110-30 М02.
    3. 2 рисунка.

    Проекты для СПК 207 и ПЛК110 соответсвуют друг другу. В проекте контроллера настроена область Modbus(slave) с одним 0-м регистром.
    В проекте СПК207 создан ФБ fbValue, код которого очень прост:
    Код:
    FUNCTION_BLOCK PUBLIC fbValue
    VAR_INPUT
    	InValue		:	INT;
    END_VAR
    
    VAR_OUTPUT
    	OutValue	:	INT;
    END_VAR
    
    VAR
    	Value		:	INT;
    	InValueOld	:	INT;
    	ValueOld	:	INT;
    END_VAR
    
    IF InValue <> InValueOld THEN
    	Value := InValue;
    END_IF
    
    IF Value <> ValueOld THEN
    	OutValue := Value;
    END_IF
    
    InValueOld := InValue;
    ValueOld := Value;
    Данный код позволяет отследить изменение входной переменной и записать ее в поле Value, если же измениться поле Value, то мы его передаем на выход для записи в ПЛК.
    Использовать данный механизм необходимо следующим образом (см. проект СПК):
    1. Создаем в области Modbus(Master) переменную чтения. Например, rdValue.
    2. Создаем в области Modbus(Master) переменную записи. Например, wrValue.
    3. Создаем экземпляр ФБ fbValue. Например, если у нас имеется настройка максимальной температуры, то мы можем дать имя dbMaxTemperature.
    4. Вызываем в PLC_PRG блок dbMaxTemperature, передавая на вход и выход переменные rdValue и wrValue.
    5. Теперь поле dbMaxTemperature.Value содержит актуальное значение температуры. К данному полу привязываем текстовое поле на экране СПК207.

    Теперь при изменении значения в контроллере с АРМа оператора (в нашем случае мы моделируем такое изменение с помощью CoDeSys), на экране СПК207 мы увидим изменение нашей переменной (см. прикрепленные рисунки). Если мы введем новое значение с СПК207, оно также будет передано в ПЛК, а затем и в АРМ.

    Данный механизм работает. Вопрос в том, что для описания всего одной переменной нужно проделать много действий. Нет ли какого-либо стандартного механизма?
    Изображения Изображения
    Вложения Вложения

Похожие темы

  1. Ответов: 11
    Последнее сообщение: 22.05.2015, 11:50
  2. Ответов: 8
    Последнее сообщение: 15.07.2014, 12:00
  3. Чтение и запись в Universal Modbus device
    от super100 в разделе ПЛК1хх
    Ответов: 20
    Последнее сообщение: 30.10.2013, 13:18
  4. Чтение и запись файлов по протоколу ModBus
    от Денис_NTS в разделе Помощь Разработчикам
    Ответов: 23
    Последнее сообщение: 09.08.2011, 07:30
  5. Ответов: 23
    Последнее сообщение: 17.10.2007, 08:35

Ваши права

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