Страница 102 из 111 ПерваяПервая ... 25292100101102103104 ... ПоследняяПоследняя
Показано с 1,011 по 1,020 из 1109

Тема: Modbus Universal MasterOPC Server новый OPC сервер от компании ИнСАТ

  1. #1011

    По умолчанию

    По имени группы - нет.
    Вы можете перебрать все теги, а потом отфильтровать по имени группы
    Спасибо.

  2. #1012

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    По имени группы - нет.
    Вы можете перебрать все теги, а потом отфильтровать по имени группы
    function OnInit()
    local err = false;
    local num =0;
    while not err do
    err,Tab=server.GetAttributeTagByNumber(num);
    num=num+1;
    if err == true then
    break;
    end;
    end;
    end;

    В сообщении протоколов и скриптов сообщение: GetAttributeTagByNumber : недопустимый номер тега.

    Выполнение скрипта останавливается, и в последующем блоки
    function OnBeforeReading()
    function OnAfterReading()
    не выполняются? если после while ..... end; добавить например строку: server.Message('цикл while выполнен'); <<<< то этого сообщения нет в сообщении протоколов и скриптов. почему так может быть?

  3. #1013

    По умолчанию

    Потому что используйте цикл for, и в качестве конечного адреса используйте номер тега полученного функцией servet.GetCountTags.
    Спасибо.

  4. #1014

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Потому что используйте цикл for, и в качестве конечного адреса используйте номер тега полученного функцией servet.GetCountTags.
    А почему не работает то как сделал я выше?

  5. #1015

    По умолчанию

    Потому что вы доходите до адреса которого нет, обращаетесь и скрипт падает.
    Спасибо.

  6. #1016

    По умолчанию

    Цитата Сообщение от Makc Посмотреть сообщение
    function OnInit()

    while not err do
    err,Tab=server.GetAttributeTagByNumber(num);
    num=num+1;
    if err == true then
    break;
    end;
    Странная конструкция. Здесь явно случай для использования цикла с постусловием. А вы используете цикл с ПРЕДусловием и с помощью break добиваетесь чтобы это работало как цикл с постусловием. Не знаю есть ли в LUA обработка исключений, но для критических ошибок, которые возникают в вашей конструкции, можно было ее (обработку) использовать. Хотя это конечно костыли для костылей...

  7. #1017

    По умолчанию

    Цитата Сообщение от Alexusaty Посмотреть сообщение
    Странная конструкция. Здесь явно случай для использования цикла с постусловием. А вы используете цикл с ПРЕДусловием и с помощью break добиваетесь чтобы это работало как цикл с постусловием. Не знаю есть ли в LUA обработка исключений, но для критических ошибок, которые возникают в вашей конструкции, можно было ее (обработку) использовать. Хотя это конечно костыли для костылей...
    в этой конструкции break не нужен.
    изначально break не было. скрипт зависал и я не мог понять почему.

    в документации сказано:
    server.GetAttributeTagByNumber
    Возвращает атрибуты (свойства) произвольного тега по его номеру. Аргумент функции – номер тега.
    Функция возвращает:
    флаг ошибки: true – ошибка получения тега (тег не существует), false – ошибки нет;
    таблицу атрибутов. Структура таблицы идентична таблице функции server.GetAttributeTag .

    Пример
    local err,Tab=server.GetAttributeTagByNumber(1);
    -- переменная err содержит флаг ошибки, Tab – таблица со всеми атрибутами тега


    Т.е. в моем случае когда происходит обращение к тегу по номеру которого не существует в err должно вернутся true, далее выход из цикла и продолжение выполнения кода...
    Последний раз редактировалось Makc; 18.02.2022 в 04:38.

  8. #1018

    По умолчанию

    Мы посмотрим данную проблему, а пока сделайте как мы написали
    Спасибо.

  9. #1019

    По умолчанию

    Добрый день, подскажите есть ли возможность подключить энкодер sick ATM60-PAH13X13 к скада системе посредством Modbus Universal MasterOPC Server, выход Profibus DP имеется

  10. #1020

    По умолчанию

    Profibus мы не поддерживаем
    Спасибо.

Страница 102 из 111 ПерваяПервая ... 25292100101102103104 ... ПоследняяПоследняя

Ваши права

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