Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 28

Тема: Помощь в удаление ошибки на ST

  1. #11

    По умолчанию

    вот как бы сама программа целиком
    Последний раз редактировалось Mozzilla32rus; 18.05.2026 в 12:28.

  2. #12

    По умолчанию

    Честно хоть убей не могу найти ошибку, почему не могу закончить функциональный блок.Ткните носом пожалуйста.

  3. #13

    По умолчанию

    Цитата Сообщение от Mozzilla32rus Посмотреть сообщение
    вот как бы сама программа целиком
    Не хватает первого END_CASE,
    а так же не объявлены 2 таймера TON1: SYS.TON; и TON2 : SYS.TON; , вместо них переменные TIME
    У таймеров не правильно вход и задача времени, должно быть I вход и T задача.
    Timer1(I := NOT Timer1.Q, T := T#15M);
    Последний раз редактировалось kondor3000; 17.05.2026 в 17:54.

  4. #14
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    2,098

    По умолчанию

    Цитата Сообщение от Mozzilla32rus Посмотреть сообщение
    вот как бы сама программа целиком
    А у меня вопросы

    Код:
    IF StartBtn AND NOT LevelSensorHigh THEN
    CurrentMode := 1;
    FlowAccumulator := 0.0;
    END_IF;
    // Переход в режим SIP-мойки
    IF StartBtn AND LevelSensorLow THEN
    CurrentMode := 2;
    WashPhase := 1;
    END_IF;
    Как бы, если активен LevelSensorLow, то значит справедливо NOT LevelSensorHigh. Так что переход на CurrentMode := 2; под вопросом

    Код:
    IF FlowAccumulator >= TargetVolume OR LevelSensorHigh THEN
    CurrentMode := 0;
    END_IF;
    А это имеет смысл если TargetVolume больше сработки LevelSensorHigh. В противном случае фаза постоянно будет активироваться, пока не сработает LevelSensorHigh
    Последний раз редактировалось Dimensy; 17.05.2026 в 19:36.

  5. #15
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,154

    По умолчанию

    Не, норм. 2 Di -> 3 уровня : Lo, Med, Hi (ошибки не рассматриваю)
    1-ое сравнение: по сути Lo или Med
    2-ое независимое сравнение, приоритетное над 1-ым т.к. после - чотко Lo

    на пальцах
    Hi - ничего
    Med - аккум := 0, CurrentMode := 1
    Lo - аккум := 0 (не совсем явный), CurrentMode := 2, WashPhase :=1;

    тут бы понять, датчики логические НО или НЗ

    Если оба НО (замкнуты при уровне выше), то Med и Lo местами меняются
    1-ое сравнение: по сути Lo или Med
    2-ое независимое сравнение, приоритетное над 1-ым Med или Hi

    Hi - CurrentMode := 2 //и тут
    Med - аккум := 0 (не совсем явный), CurrentMode := 2, WashPhase :=1;
    Lo - аккум := 0, CurrentMode := 1
    Последний раз редактировалось Валенок; 17.05.2026 в 19:56.

  6. #16

    По умолчанию

    датчик уровня ОВЕН ПДУ-1.1 смотрел такие

  7. #17
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,154

    По умолчанию

    Цитата Сообщение от Mozzilla32rus Посмотреть сообщение
    датчик уровня ОВЕН ПДУ-1.1 смотрел такие
    Ну если Di не теребите инверсией (это только вы знаете) то оба НО. Вариант 2 как бы если это ожидаете.
    Возможно что таймеры нужно сбрасывать перед переходом в шаг где они работают. Вроде по их отработке сброс, но есть где выход из шага с таймером до того как таймер сработает но при этом остается активным - ломать свою голову не хочу (у вас своя есть) но подозреваю в некоторых случаях сработку таймера сразу по входу в этот шаг.
    Опять же неясно что там по кнопе старт - это залетает сама кнопа или ее фронт.
    Вы сами алгоритм проюзали бы в эмуляции.
    Мусор бы убрали (Timer2,SystemReady и еще пару)
    Последний раз редактировалось Валенок; 18.05.2026 в 09:47.

  8. #18

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Не хватает первого END_CASE,
    а так же не объявлены 2 таймера TON1: SYS.TON; и TON2 : SYS.TON; , вместо них переменные TIME
    У таймеров не правильно вход и задача времени, должно быть I вход и T задача.
    Timer1(I := NOT Timer1.Q, T := T#15M);
    Пытаюсь заменить как выше сказано TON1: SYS.TON; и TON2 : SYS.TON; тогда пишет что не обьявленны переменные IN и PT

  9. #19

    По умолчанию

    Цитата Сообщение от Mozzilla32rus Посмотреть сообщение
    Пытаюсь заменить как выше сказано TON1: SYS.TON; и TON2 : SYS.TON; тогда пишет что не обьявленны переменные IN и PT
    Вот скрин без ошибок, все IN и PT, заменены на I и T 1 Замена Ин и РТ.jpg Это имена входов у SYS.TON и других таймеров в ОЛ,
    достаточно открыть скобку и ОЛ выдаёт подсказку с названием входов и выходов, скрин 1 Входы Таймера.jpg
    Последний раз редактировалось kondor3000; 18.05.2026 в 09:35.

  10. #20

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Вот скрин без ошибок, все IN и PT, заменены на I и T 1 Замена Ин и РТ.jpg Это имена входов у SYS.TON и других таймеров в ОЛ,
    достаточно открыть скобку и ОЛ выдаёт подсказку с названием входов и вых. 1 Входы Таймера.jpg
    Не смогли под стандарт st сделать... Печально)

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Похожие темы

  1. Ответов: 4
    Последнее сообщение: 24.07.2025, 18:14
  2. ПЛК 200 удаление пользователя
    от Aleksandr_LabSys в разделе ПЛК2хх
    Ответов: 2
    Последнее сообщение: 10.04.2023, 10:10
  3. Удаление полубайтов
    от scmember в разделе Помощь Разработчикам
    Ответов: 4
    Последнее сообщение: 27.09.2018, 17:05
  4. Шкала удаление
    от Александер2008 в разделе Master SCADA 3
    Ответов: 2
    Последнее сообщение: 24.05.2012, 14:30
  5. Удаление sms
    от Evgen818 в разделе Эксплуатация
    Ответов: 4
    Последнее сообщение: 13.07.2010, 13:58

Ваши права

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