Просмотр полной версии : Задержка выдачи сигнала
Всем привет!
Подскажите, пожалуйста как правильно прописать логику в CFC?
Задача такая: одно число типа BYTE изменяется и нужно сравнивать его значение во времени с периодом в 5с. Если увеличивается, то одно действие, а если уменьшается, то другое.
А точнее есть резервуар, который наполняется или осушается жидкостью. Есть 4 электродных датчика уровня (дискретные сигналы): нижний, средний 1, средний 2, верхний. Можно их забить в PACK, побитно начиная с низкого уровня. Далее требуется полученное число сравнивать во времени.
Надеюсь, что понятно объяснил:)
Алексей Александрович
10.04.2015, 11:17
Как то так
17642
_Mikhail
10.04.2015, 11:19
Так вот как пишишь, так и делай.
Алексей Александрович
10.04.2015, 11:37
Море вариантов только времени для оптимизации нет.
zendo057
10.04.2015, 21:55
Как то так
17642 Алексей Александрович ,акак можно сравнивать один результат с разных паков и получать больше/меньшею,объясните пожалуйста-не понимаю
Алексей Александрович
11.04.2015, 05:04
По такой же структуре. Но вопрос не совсем понятен.
zendo057
11.04.2015, 11:19
По такой же структуре. Но вопрос не совсем понятен. Ну вот смотрите.В два пака загружается одна и таже информация,соответственно и результаты одинаковые,а потом сравнивается на GT и LE, вот не понимаю.И попутно,для чего BLINK?
lara197a
11.04.2015, 11:29
выход тригера инвертирован и поэтому программа выполняется только раз в 5с.
при выполнении программы сначала сравниваются "паки", а уж потом в пак олд записывается новое значение.
смотрите очередность действий
Как то так
17642
Спасибо, помогло, только есть один нюанс: когда ничего не происходит, то с наполнения перескакивает на осушение :confused:, а надо так, чтобы режим (наполнение или осушение) держался, пока уровень не изменится в меньшую или в большую.
Алексей Александрович
30.04.2015, 06:48
пока уровень не изменится в меньшую или в большую
Поставте больше и меньше а когда равно оба действия будут=0
Поставте больше и меньше а когда равно оба действия будут=0
Когда становится равно, то нужно, чтобы один из режимов сохронялся. Когда делаешь больше или меньше, то через время сравнения режимы отключаются.:confused:
Алексей Александрович
30.04.2015, 07:46
Поставте равно выше всех сравнений. И когда равно=1 обходите все остальные сравнения. И действия останутся прежними
Поставте равно выше всех сравнений. И когда равно=1 обходите все остальные сравнения. И действия останутся прежними
Я тоже об этом думал... а можно поподробнее?;)
Походу понял как, сейчас попробую...
Алексей Александрович
30.04.2015, 08:06
Равно =1 переход на метку ххх
сравнение больше
сравнение меньше
метка ххх
как то так
или как у Yegor через EN
Равно =1 переход на метку ххх
сравнение больше
сравнение меньше
метка ххх
как то так
или как у Yegor через EN
Спасибо, получилось как у вас в схеме
Как то так
17642
только
сравнение больше----RS1,
сравнение меньше----RS2.
Тогда импульс сохраняется при равенстве старого и нового уровня.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot