Последний раз редактировалось kondor3000; 15.04.2024 в 14:48.
Извиняюсь, если повтор, но я по поиску не нашел.
Можно ли одновременно объявить переменную входной и выходной в ST-функции?
Например, как Step7/Tia Portal:
VAR_IN_OUT
state:INT;
END_VAR
Я хочу, чтобы с экрана можно было задать, так в программе по алгоритму менялось.
VAR_IN_OUT задать нельзя, но никто не мешает сделать похожую переменную и присвоить вход на выход в функции.
А так же без проблем вывести на экран.
Здесь разные примеры, в том числе, есть такие же применения переменных https://owen.ru/forum/showthread.php...=9&p=429061#81
А конкретно в ФБ INTEGRATE здесь https://owen.ru/forum/showthread.php?t=38453&page=10#93
Последний раз редактировалось kondor3000; 25.04.2024 в 15:16.
Добрый день, а когда я смогу в Owen Logic посчитать сложные формулы например с логарифмом или экспонентой. Мне надо посчитать точку росы и давление насыщенного пара?
Так. У меня назрели вопросы и заметки. Стартуем! ©
1. Зачем переименовали стандартные как в CodeSys названия блоков и их переменных?
* Вместо R_TRIG - RTRIG и так далее
* Вместо IN, PT, OUT - I, T, Q
Портировать из CodeSys ни фига не удобно.
2. Нет Поиска и Замены в редакторе FB вообще. Это очень плохо.
(в общем, Макс Денисов поймёт: я ОПЯТЬ ругался, много)
Главный вопрос. Корректно ли обрабатываются ВЫходные переменные блока внутри него в циклах?
Я столкнулся с то ли косяком, то ли багом. Портирую из CodeSys 3.5 среднесложный (много TON/TOF/TP/R_TRIG/F_TRIG) код, где выходные переменные используются заодно и как переменные в теле FB.
Привожу синтетический пример.
У нас объявлены как VAR_OUT переменные RelayPower, RelayDir
Код в теле FB написан так:
RelayPower := lalala (разные сигналы от таймеров и условий включения)
Дальше там же вызываю таймер, условный, используя только что вычисленное RelayPower
TOF1(I := RelayPower, T := t#500ms);
...и там же выдаю на выход RelayDir условно так:
RelayDir := TOF1.Q AND lalalala;
Наблюдаю в CodeSys 3.5: RelayPower выключилось, RelayDir продложает работать некоторое время по TOF
Наблюдаю в OWL: RelayPower и RelayDir выключились ОБА, потом RelayDir включается и дорабатывает по TOF
Пытаюсь ща понять, это мой баг или баг OWL.
Приложил кусок кода. Уже портированный на OWL.
Clip.gif
Последний раз редактировалось Cs-Cs; Сегодня в 09:54.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net
Мой вопрос не по таймерам. Просьба перечитать внимательнее.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net