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

Тема: Принудительная запись в MasterOPC

  1. #1

    По умолчанию Принудительная запись в MasterOPC

    Можно ли настроить MasterOPC так, что бы он каждый цикл "опроса" принудительно записывал значение WriteOnly переменной в устройство, даже если она не изменилась?

  2. #2

    По умолчанию

    Можно через скрипт.
    Включите скрипт После чтения, и проводите запись последовательно двумя командами:
    server.WriteCurrentTag(val,qual);
    server.WriteCurrentTagToDevice(val,qual);
    Спасибо.

  3. #3

    По умолчанию

    Это точно работает? Я специально указал для тега WriteOnly.
    И что подставить в качестве val, чтобы бралось текущее записываемое значение?
    Последний раз редактировалось ASo; 04.12.2014 в 18:20.

  4. #4

    По умолчанию

    Как выяснилось сейчас через WriteCurrentTag не работает. Это ошибка - мы ее исправим в следующей версии (планируем выпустить завтра или в начале недели).
    Можно также сделать в уже имеющейся версии при помощи функций WriteTagByRelativeName:
    server.WriteTagByRelativeName("ИмяТега",10,192);
    server.WriteTagByRelativeNameToDevice("ИмяТега",10 ,192);
    Спасибо.

  5. #5

    По умолчанию

    На самом деле, у меня получилось через ReadCurrentTag с последующей записью считанного значения через WriteCurrentTagToDevice. Это логично - считали тег (значение в сервере) - записали в устройство.

    Появился один доп. вопрос. Хочется при старте серевера считать стартовое значение с этого или иного регистра и присвоить тегу. Но только один раз, при старте. Вопрос - можно вставлять modbus.ReadHolding.... в процедуру Init или это надо делать основной процедуре, вводя переменную для отслеживания старта?

  6. #6

    По умолчанию

    В OnInit запросы не выполняются.
    Поэтому нужно выполнить запрос в OnRead, а затем установить флаг что чтение выполнение и больше запрос не выполнять.
    Спасибо.

  7. #7

    По умолчанию

    Где надо объявлять "флажковую" переменную? Глобальную или локальную для всего скрипта? Или локальную для метода?

  8. #8

    По умолчанию

    Ну вы можете в самом начале скрипта объявить переменную:
    StartFlag=false;

    затем в OnRead проверить:
    if StartFlag==false then
    --код запроса
    StartFlag=true;
    end;
    Спасибо.

Похожие темы

  1. Документация MasterSCADA и MasterOPC
    от SCADAMaster в разделе Master SCADA 4D
    Ответов: 46
    Последнее сообщение: 07.03.2024, 03:49
  2. MasterOPC тестировали.
    от spinogryz57 в разделе Master SCADA 3
    Ответов: 1
    Последнее сообщение: 26.07.2014, 15:53
  3. masterOPC и ПЛК 150
    от AlexeyA в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 17.05.2013, 17:08
  4. Ответов: 4
    Последнее сообщение: 15.02.2010, 16:20
  5. Принудительная перезагрузка ПЛК
    от Klik в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 20.07.2009, 19:41

Ваши права

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