Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 19 из 19

Тема: Не могу добить код на ST

  1. #11
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,669

    По умолчанию

    МихаилГл ну, лишний цикл все же, так мы в любом случае проверяем в цикле условие на Уставку. Дополнительно можно показывать на экране количество, и в принципе заносить в массив в начальном цикле кто из ху и тоже показать.

    Если количество не важно и т.д, то последний код вообще минималочка в #9 посте.

  2. #12

    По умолчанию

    Какое оборудование-то?

    Биты в байтах (словах) соответствующих переменных "править", не?

    Потом
    Код:
    IF MyVar > 0 THEN
         lamp := TRUE;
    ELSE
         lamp := FALSE;
    END_IF
    Последний раз редактировалось Spawn; 21.09.2023 в 10:01.

  3. #13

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    МихаилГл ну, лишний цикл все же, так мы в любом случае проверяем в цикле условие на Уставку. Дополнительно можно показывать на экране количество, и в принципе заносить в массив в начальном цикле кто из ху и тоже показать.

    Если количество не важно и т.д, то последний код вообще минималочка в #9 посте.
    Ну я так общую аварию показываю. Красная лампа на кнопке сброс аварии... А для каждого механизма 32 аварии и на визуализации в сп315 просто номер аварии показываю. Если их много для одного механизма, то они просто по приоритету поверх друг друга наложены. Я год этот алгоритм отрабатывал, механизм не запустился, не остановился, не сошёл с концевого, не дошёл до концевого, и всё это же при реверсивном движении в обратную сторону, потом выбило автомат один из 4х без выдержки времени, сработал датчик один из 8ми с таймером на срабатывание... Там такой ужас, но всё в минимуме кода, при этом структура в программе одна, я её просто для любого количества механизмов использую, ограничение только мощностью плк. Алгоритм работает без сбоев, а вот контроллеры плк210 уже 2 с нова 2023 года выпуска были бракованными, а 4 2022 оказались более качественными.

  4. #14

    По умолчанию

    Решил не создавать новую тему. Спрошу тут.
    Я объявил перечисление:
    Код:
    TYPE Steps :
    (
        start,
        success,
        error,
        stop
    );
    END_TYPE
    и переменную:
    eStep : Steps := Steps.start;
    Потом пытаюсь вывести ее на экран через "Тестовое поле ", текст - %s.
    Но на дисплее я вижу число 1, а не "start".
    Как мне вывести именно "start"?

  5. #15
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,248

    По умолчанию

    Цитата Сообщение от ВладОвен Посмотреть сообщение
    Решил не создавать новую тему. Спрошу тут.
    Я объявил перечисление:
    Код:
    TYPE Steps :
    (
        start,
        success,
        error,
        stop
    );
    END_TYPE
    и переменную:
    eStep : Steps := Steps.start;
    Потом пытаюсь вывести ее на экран через "Тестовое поле ", текст - %s.
    Но на дисплее я вижу число 1, а не "start".
    Как мне вывести именно "start"?
    перечитайте документацию https://help.codesys.com/webapp/_cds...rsion=3.5.13.0 дополнение к стандарту (2)
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  6. #16

    По умолчанию

    Цитата Сообщение от ВладОвен Посмотреть сообщение
    Решил не создавать новую тему. Спрошу тут.
    Я объявил перечисление:
    Код:
    TYPE Steps :
    (
        start,
        success,
        error,
        stop
    );
    END_TYPE
    и переменную:
    eStep : Steps := Steps.start;
    Потом пытаюсь вывести ее на экран через "Тестовое поле ", текст - %s.
    Но на дисплее я вижу число 1, а не "start".
    Как мне вывести именно "start"?
    Попробуйте перед строкой "TYPE Steps :" поставить "{attribute 'to_string'}" и при использовании приводить to_string(eStep)
    Последний раз редактировалось saii; 27.11.2023 в 13:48.

  7. #17

    По умолчанию

    Спасибо. Это заработало.
    А как вывести код ошибки строкой?
    Есть библиотека. Она возвращает код ошибки. Т.е. там внутри уже объявлено перечисление с возможными ошибками, и я не могу этому перечислению добавить "{attribute 'to_string'}".
    Я пытаюсь вывести код ошибки на экран, использую to_string(eError). Но вижу все равно именно код ошибки - 1, 2, 3 и т.д.
    Что я делаю не так?

  8. #18

    По умолчанию

    Я так понимаю у вас СПК, можно сделать список текстов с названиями из библиотеки, а потом подставить этот список в свойствах графического элемента.

  9. #19

    По умолчанию

    Да. Это СПК и бибилиотека OwenCommunication.
    Хочу получить код "Нет датчика на связи", а получаю - код 50...
    Предложенный метод опробую. Спасибо.

Страница 2 из 2 ПерваяПервая 12

Похожие темы

  1. Не могу запрограммировать ТРМ-12
    от dimas022 в разделе Эксплуатация
    Ответов: 6
    Последнее сообщение: 14.03.2022, 10:48
  2. Не могу подключить ПР к ПК
    от GladiK в разделе Программируемые реле
    Ответов: 1
    Последнее сообщение: 06.04.2018, 15:59
  3. Не могу разобраться с ТРМ-202
    от Хитрожопый негр в разделе Эксплуатация
    Ответов: 12
    Последнее сообщение: 23.02.2015, 12:51
  4. не могу сбросить плк-100
    от MCBK в разделе ПЛК1хх
    Ответов: 8
    Последнее сообщение: 16.12.2009, 13:54

Ваши права

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