Страница 51 из 157 ПерваяПервая ... 41495051525361101151 ... ПоследняяПоследняя
Показано с 501 по 510 из 1785

Тема: Вопросы по MasterSCADA 4D

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от OlegGEORG Посмотреть сообщение
    Добрый день. Вроде должно быть элементарно, но не получается. Подскажите, как сделать.
    Создал окно, которое должно всплывать от установки какого-либо параметра. У окна есть триггеры.
    Куда соединить связь параметра в триггеры окна, чтобы оно всплыло?
    На скрине показал.
    Без имени.png

  2. #2

    По умолчанию

    Цитата Сообщение от b_aleks Посмотреть сообщение
    На скрине показал.
    Без имени.png
    Спасибо, получилось. Только всплывающее окно появляется в 3-х экземплярах (закрывать приходится каждое из трёх).

  3. #3

    По умолчанию

    Здравствуйте!
    Вопрос по CASE в MasterSCADE.

    IF CMD THEN (*Если появилась команда на запуск и*)
    IF MONITOR AND NOT I_KM THEN (*мониторится по сигналу и нет сигнала, что он в работе,*)
    SSW := ST_RUNNING; (*переводим в состояние "Запускается" *)
    ELSE
    SSW := ST_RUNNED; (*иначе переводим в состояние "Запущен"*)
    END_IF;
    ELSIF NOT MONITOR OR (NOT I_KM) THEN (*Если не мониторится по сигналу или нет сигнала, что он в работе*)
    SSW := ST_STOPPED; (*переводим в состояние "Остановлен"*)
    ELSIF COUNT <= 0 THEN (*Если мотор не остановился за отведенное для этого время*)
    SSW := ST_UNKNOWN; (*переводим в неопределенное состояние (ошибка останова)*)
    ELSE
    COUNT := COUNT - PLC_CYCLE; (*декрементируем счетчик оставшегося времени*)
    END_IF;

    8: (*Если в состоянии "Запущен"*)

    IF CMD AND (NOT I_KM) AND MONITOR THEN (*Если состояние мотора мониторится и нет сигнала, что он в работе, с командой на запуск*)
    SSW := ST_UNKNOWN; (*переводим мотор в неопределенное состояние (самопроизвольное выключение)*)
    ELSIF NOT CMD THEN (*Если пропала команда на запуск и*)
    IF MONITOR THEN (*если мониторится по сигналу*)
    SSW := ST_STOPPING; (*переводим мотор в состояние "Останавливается"*)
    ELSE
    SSW := ST_STOPPED; (*иначе переводим мотор в состояние "Остановлен"*)
    END_IF;
    END_IF;

    16: (*Если в состоянии "Запускается"*)

    IF NOT CMD THEN (*Если пропала команда на запуск и*)
    IF MONITOR AND I_KM THEN (*мониторится по сигналу и есть сигнал, что он в работе,*)
    SSW := ST_STOPPING; (*переводим в состояние "Останавливается"*)
    ELSE
    SSW := ST_STOPPED; (*иначе переводим в состояние "Остановлен"*)
    END_IF;
    ELSIF NOT MONITOR OR I_KM THEN (*Если не мониторится по сигналу или есть сигнал, что он в работе*)
    SSW := ST_RUNNED; (*переводим в состояние "Запущен"*)
    ELSIF COUNT <= 0 THEN (*Если время запуска превысило максимальное время на запуск*)
    SSW := ST_UNKNOWN; (*переводим в неопределенное состояние (ошибка запуска)*)
    ELSE
    COUNT := COUNT - PLC_CYCLE; (*декрементируем счетчик оставшегося времени*)
    END_IF;

    32: (*Если в неопределенном состоянии*)

    IF RESET AND NOT I_QF THEN (*По фронту сигнала "Сброс" и нет аварий*)
    SSW := ST_STOPPING; (*переводим в состояние "Выключается"*)
    (* #RESET := FALSE; обнуляем сигнал "Сброс"*)
    Q_ALARM_W := 0; (*обнуляем cлово аварийных сообщений*)
    END_IF;

    (*#RESET := FALSE; обнуляем сигнал "Сброс"*)

    ELSE (*если ошибочный шаг*)
    SSW := ST_STOPPING;

    END_CASE;

    Выдает ошибку "ожидается определение переменной", подсвечивает строчку "CASE SSW OF (*Анализируем состояние*)". Блин, все переменные перепроверил, там все ок

  4. #4

    По умолчанию

    Цитата Сообщение от Serjay Посмотреть сообщение
    Здравствуйте!
    Вопрос по CASE в MasterSCADE.

    IF CMD THEN (*Если появилась команда на запуск и*)
    IF MONITOR AND NOT I_KM THEN (*мониторится по сигналу и нет сигнала, что он в работе,*)
    SSW := ST_RUNNING; (*переводим в состояние "Запускается" *)
    ELSE
    SSW := ST_RUNNED; (*иначе переводим в состояние "Запущен"*)
    END_IF;
    ELSIF NOT MONITOR OR (NOT I_KM) THEN (*Если не мониторится по сигналу или нет сигнала, что он в работе*)
    SSW := ST_STOPPED; (*переводим в состояние "Остановлен"*)
    ELSIF COUNT <= 0 THEN (*Если мотор не остановился за отведенное для этого время*)
    SSW := ST_UNKNOWN; (*переводим в неопределенное состояние (ошибка останова)*)
    ELSE
    COUNT := COUNT - PLC_CYCLE; (*декрементируем счетчик оставшегося времени*)
    END_IF;

    8: (*Если в состоянии "Запущен"*)

    IF CMD AND (NOT I_KM) AND MONITOR THEN (*Если состояние мотора мониторится и нет сигнала, что он в работе, с командой на запуск*)
    SSW := ST_UNKNOWN; (*переводим мотор в неопределенное состояние (самопроизвольное выключение)*)
    ELSIF NOT CMD THEN (*Если пропала команда на запуск и*)
    IF MONITOR THEN (*если мониторится по сигналу*)
    SSW := ST_STOPPING; (*переводим мотор в состояние "Останавливается"*)
    ELSE
    SSW := ST_STOPPED; (*иначе переводим мотор в состояние "Остановлен"*)
    END_IF;
    END_IF;

    16: (*Если в состоянии "Запускается"*)

    IF NOT CMD THEN (*Если пропала команда на запуск и*)
    IF MONITOR AND I_KM THEN (*мониторится по сигналу и есть сигнал, что он в работе,*)
    SSW := ST_STOPPING; (*переводим в состояние "Останавливается"*)
    ELSE
    SSW := ST_STOPPED; (*иначе переводим в состояние "Остановлен"*)
    END_IF;
    ELSIF NOT MONITOR OR I_KM THEN (*Если не мониторится по сигналу или есть сигнал, что он в работе*)
    SSW := ST_RUNNED; (*переводим в состояние "Запущен"*)
    ELSIF COUNT <= 0 THEN (*Если время запуска превысило максимальное время на запуск*)
    SSW := ST_UNKNOWN; (*переводим в неопределенное состояние (ошибка запуска)*)
    ELSE
    COUNT := COUNT - PLC_CYCLE; (*декрементируем счетчик оставшегося времени*)
    END_IF;

    32: (*Если в неопределенном состоянии*)

    IF RESET AND NOT I_QF THEN (*По фронту сигнала "Сброс" и нет аварий*)
    SSW := ST_STOPPING; (*переводим в состояние "Выключается"*)
    (* #RESET := FALSE; обнуляем сигнал "Сброс"*)
    Q_ALARM_W := 0; (*обнуляем cлово аварийных сообщений*)
    END_IF;

    (*#RESET := FALSE; обнуляем сигнал "Сброс"*)

    ELSE (*если ошибочный шаг*)
    SSW := ST_STOPPING;

    END_CASE;

    Выдает ошибку "ожидается определение переменной", подсвечивает строчку "CASE SSW OF (*Анализируем состояние*)". Блин, все переменные перепроверил, там все ок
    Скиньте заголовок программы еще, совсем ничего не понятно. А еще лучше скомпилированный код

  5. #5
    Пользователь
    Регистрация
    18.11.2019
    Адрес
    Пермь
    Сообщений
    88

    По умолчанию

    Здравствуйте!
    Подскажите как в программе ST в функции Ping получить значения AverageTime и Connection?
    С FB все понятно, а с ST не могу разобраться.

  6. #6

    По умолчанию

    Цитата Сообщение от Minarion Посмотреть сообщение
    Здравствуйте!
    Подскажите как в программе ST в функции Ping получить значения AverageTime и Connection?
    С FB все понятно, а с ST не могу разобраться.
    Либо в теле функции присвоить значение при помощи =>, либо отдельной строкой.
    Без имени.png
    Последний раз редактировалось b_aleks; 11.03.2022 в 15:46.

  7. #7

    По умолчанию

    Здравствуйте! Может кто подскажет, по таблице данных вопрос

    В столбце выводятся данные типа TOD, формат значения там же указан HH.mm, а в среде исполнения при нажатии на строку выходит вот такое окно с точностью до милисекунд, как можно это исправить и оставить только часы-минуты?
    таблица.png

  8. #8

    По умолчанию

    Коллеги, доброго дня.
    Подскажите, кто знает, как получить в MS4D значение метки времени считанных из УСО данных (например по Modbus)? Во всех прочих известных нам SCADA-системах метка времени является неотъемлемым атрибутом тега, наравне с качеством. Здесь же с ходу не получается найти даже библиотечных функций, которые бы возвращали метку времени обновления значения входного канала.

  9. #9

    По умолчанию

    Цитата Сообщение от Larrrik Посмотреть сообщение
    Коллеги, доброго дня.
    Подскажите, кто знает, как получить в MS4D значение метки времени считанных из УСО данных (например по Modbus)? Во всех прочих известных нам SCADA-системах метка времени является неотъемлемым атрибутом тега, наравне с качеством. Здесь же с ходу не получается найти даже библиотечных функций, которые бы возвращали метку времени обновления значения входного канала.
    У каналов, имеющих тип данных SYSTEM_*_PARAM, есть параметр SourceTime - это метка времени.

  10. #10

    По умолчанию

    Цитата Сообщение от b_aleks Посмотреть сообщение
    У каналов, имеющих тип данных SYSTEM_*_PARAM, есть параметр SourceTime - это метка времени.
    Благодарю. Если не сложно пояснить для чего в парадигме MS4D предназначены типы SYSTEM_*_PARAM (чем они отличаются от аналогичных простых типов LREAL, BOOL и т.п., кроме упомянутых меток и качества) ? Руководство и встроенная справка не дают внятных пояснений.

Страница 51 из 157 ПерваяПервая ... 41495051525361101151 ... ПоследняяПоследняя

Похожие темы

  1. Вопросы по СИ-8
    от aleksandr87 в разделе Эксплуатация
    Ответов: 2
    Последнее сообщение: 11.06.2016, 18:56
  2. Вопросы новичка по MasterScada
    от MrNobody в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 04.09.2014, 14:39
  3. MasterScada v3.6 Основные вопросы
    от colorprint2008 в разделе Master SCADA 3
    Ответов: 7
    Последнее сообщение: 24.12.2013, 15:50
  4. конвертация проекта из Masterscada 3.5 в Masterscada 3.4
    от Сергей_SPB в разделе Master SCADA 3
    Ответов: 2
    Последнее сообщение: 01.04.2013, 16:56
  5. Вопросы по трендам MasterSCADA
    от 42ia в разделе Master SCADA 3
    Ответов: 9
    Последнее сообщение: 26.06.2012, 10:58

Ваши права

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