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

Тема: Сброс значений INT в контроллере при запуске runtime MasterSCADA

  1. #1

    По умолчанию Сброс значений INT в контроллере при запуске runtime MasterSCADA

    Добрый день.

    Задача читать Мастерскадой из контроллера значение переменной типа INT. При необходимости в Мастерскаде назначать этой переменной другое значение и передавать его в контроллер. По Modbus TCP.

    В Мастерскаде добавил протокол Modbus TCP, в нем добавил Модуль Modbus TCP, в нем добавил базовый канал с доступом "InOut", типом значения "Целый" и типом ячейки "Регистр хранения", назначил каналу адрес ячейки.
    В объекте добавил параметр типа Int (Параметр 1), связал его со входом канала и с объектом "Текст" на экране. Запустил Runtime Мастерскады: все ОК - в Мастерскаде отображается значение переменной из контроллера.
    Добавляю в объект еще один параметр типа INT (Параметр 2), связываю его с выходом канала и с объектом "Текстовый ввод" на экране. Запускаю Runtime - переменная в контроллере обнуляется. Она обнуляется при старте runtime всегда, как только я свяжу любой из параметров (1 или 2) с выходом канала.

    С типом Real такой проблемы нет: через Параметр 1 читаю из PLC, через Параметр 2 назначаю в PLC новое значение. При старте runtime Мастерскады переменная в PLC сохраняет свое значение.

    Вопрос: как сделать, чтобы можно было из Мастерскады писать новое значение INT в PLC и чтобы при старте runtime Мастерскады значение переменной в контроллере не сбрасывалось?

    PS. Я могу, конечно, посылать в контроллер булевые команды "Назначить INT 0/1/2". Но сделаю это только от безысходности. Хотелось бы назначать через параметр.
    PS2. Версия Мастерскады: 1.2.18.29717

  2. #2

    По умолчанию

    Цитата Сообщение от kvibsv Посмотреть сообщение
    Добрый день.

    Задача читать Мастерскадой из контроллера значение переменной типа INT. При необходимости в Мастерскаде назначать этой переменной другое значение и передавать его в контроллер. По Modbus TCP.

    В Мастерскаде добавил протокол Modbus TCP, в нем добавил Модуль Modbus TCP, в нем добавил базовый канал с доступом "InOut", типом значения "Целый" и типом ячейки "Регистр хранения", назначил каналу адрес ячейки.
    В объекте добавил параметр типа Int (Параметр 1), связал его со входом канала и с объектом "Текст" на экране. Запустил Runtime Мастерскады: все ОК - в Мастерскаде отображается значение переменной из контроллера.
    Добавляю в объект еще один параметр типа INT (Параметр 2), связываю его с выходом канала и с объектом "Текстовый ввод" на экране. Запускаю Runtime - переменная в контроллере обнуляется. Она обнуляется при старте runtime всегда, как только я свяжу любой из параметров (1 или 2) с выходом канала.

    С типом Real такой проблемы нет: через Параметр 1 читаю из PLC, через Параметр 2 назначаю в PLC новое значение. При старте runtime Мастерскады переменная в PLC сохраняет свое значение.

    Вопрос: как сделать, чтобы можно было из Мастерскады писать новое значение INT в PLC и чтобы при старте runtime Мастерскады значение переменной в контроллере не сбрасывалось?

    PS. Я могу, конечно, посылать в контроллер булевые команды "Назначить INT 0/1/2". Но сделаю это только от безысходности. Хотелось бы назначать через параметр.
    PS2. Версия Мастерскады: 1.2.18.29717
    Попробуйте разнести чтение и запись по разным каналам. Способ записи оставьте "По изменению".

  3. #3

    По умолчанию

    Цитата Сообщение от b_aleks2 Посмотреть сообщение
    Попробуйте разнести чтение и запись по разным каналам. Способ записи оставьте "По изменению".
    Как вариант, да. Но это:
    1. дополнительные каналы/теги в Мастерскаде;
    2. дополнительный код в ПЛК (принять значение из ячейки 2 в ячейку 1 при установленной команде "принять" типа Bool).
    Хотелось бы обойтись одним каналом и без доп.кода в ПЛК.

    Способ записи стоит "По изменению".
    Все равно, спасибо за совет. Про такой способ не подумал.

  4. #4

    По умолчанию

    Отвечу сам себе, картинкой. Сделал библиотечный объект ввода DINT:
    ввод DINT — копия.jpg
    Очень удобно. Не, ну а чО? Не то что в каком-то там WinCC, где сделал тег, добавил на окно поле ввода, указал этому полю тег и все работает.

  5. #5

    По умолчанию

    Добрый день. UP

    Модель системы похожа:
    В системе создан Сервер, с протоколом Modbus TCP, и соответствующий модуль Modbus TCP. В объекте создан тег. Предполагается использование шаблонов и библиотек для стандартизации и ускорения процесса разработки.

    Протокол Modbus TCP имеет настройки:
    - способ записи: по изменению;
    - задержка записи при старте опроса (циклов): 20.

    Модуль Modbus TCP имеет настройки:
    - способ записи: по изменению.

    Имеются взаимодействия:

    Входные данные в скада-систему:
    AIO.Вход (INT) -> ST программа конвертации (Способ исполнения: Периодический) -> Тег.Вход (REAL)
    (Код ST программы: Tag_Вход := INT_TO_REAL(AIO_Вход) / 100

    Исходящие данные из скада-системы:
    Поле ввода значения (SYSTEM_REAL_PARAM) -> ST программа конвертации (Способ исполнения: По вызову) -> Тег.Выход (SYSTEM_INT_PARAM) -> AIO.Выход (INT)
    (Код ST программы: Tag_Выход := INT_TO_SYSTEM_INT_PARAM(REAL_TO_INT(SYSTEM_REAL_PA RAM_TO_REAL(Текст) * 100))


    Данная схема работает, и сброс значения при перезапуске сервера не происходит.
    Но, при изменении "Тег.Выход (SYSTEM_INT_PARAM)" на "Тег.Выход (INT)" работа нарушается и происходит "обнуление".

    Если оставить мою модель без изменений (она не обнуляет параметры при старте), то всё равно при развёртывании нового сервера, при первом запуске исполнительной среды происходит "обнуление".

    Вопрос: кто-нибудь смог победить данную проблему?

  6. #6

    По умолчанию

    Добрый день! Напишите, пожалуйста, нам на почту support@owen.ru и приложите свой проект.
    Продукт менеджер направления СПУ

Похожие темы

  1. Пароль на ввод значений MasterScada
    от distren в разделе Master SCADA 3
    Ответов: 16
    Последнее сообщение: 25.10.2021, 11:33
  2. Проблема с конвертацией значений в MasterSCADA 4D
    от automat в разделе ПЛК (среда MasterSCADA 4D)
    Ответов: 4
    Последнее сообщение: 06.04.2021, 17:20
  3. Ошибка при запуске установщика MasterScada
    от shamilnizaev@mail.ru в разделе Master SCADA 3
    Ответов: 1
    Последнее сообщение: 11.11.2018, 18:24
  4. Ответов: 2
    Последнее сообщение: 27.08.2018, 14:31
  5. Ответов: 2
    Последнее сообщение: 01.04.2016, 06:27

Ваши права

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