У вас из-за желтых линий что-то не так функционирует?
Вид для печати
Можно и переменную сделать энергонезависимой, если эта память не занята, тоже поможет желтизну побороть!
И, ранее неоднократно приходилось в этом макросе это делать, как бы всё пропадало, в смысле желтизна, выложите проект с этим макросом, поправлю Вам без проблем!
Вот смотрите Вложение 51104 вот в макросе Вложение 51103 У вас присутствует одна желтая линия .
Затрудняюсь ответить, у меня тут https://youtu.be/pB37ALpPYnE?list=PL...B-CXsKH-&t=107 все исправляется.
У меня задача: при превышении заданного параметра, перейти на экран сообщения. Это сделал, но там должно быть квитирование с возвратом на предыдущий экран.
Не могу сообразить, как переменную BOOL при изменении с экрана с 0 на 1, автоматически после квитирования вернуть переменную в 0.
Может кто то делал?
Посмотрите тут: http://ftp-ow.owen.ru/softupdate/OWE...10-X.4X.4X.owl, а вообще нужно смотреть как у Вас реализовано, может достаточно переднего или заднего детектора фронта.
Спасибо. Правда не сразу разобрался. НЕ увидел "Расширенная настройка" - запись в конце цикла. Надо было поставить "Да"
Добрый день. Есть ли возможность скрывать поле Int/float на экране, при нулевых значениях или при изменении какой либо переменной. Хотелось бы при остановке агрегата, записывать поверх скорости какое либо слово, а так нули мешаются... ПР200
Ну, в процессе написания/отладки программы можно накладывающиеся переменные и по вертикали растащить, томущо редактировать их в одной строке действительно жутко неудобно. У самого сейчас в проекте экран, в первой строке которого динамический список, а во второй -- 4 разных варианта отображения (либо температура, либо таймер, либо булевая переменная -- переключатель, либо текстовый блок).
Друзья! Прошу помощи. Как остановить таймер TP1?
Вложение 51331
PUSK- Сетевая переменная, задает время для таймера TP1. На входе I появляется 1 и запускает таймер. Если на входе I появится 0 то таймер продолжает работать. Вопрос.... Как можно сделать чтобы при нажатии кнопки СТОП (предполагаемая кнопка) переменная PUSK обнулась и таймер прервал работу. Заранее всем спасибо.
https://yadi.sk/d/t2vDuj4J88Tdxg
Непонятно, зачем использовать то, что Вам не подходит? Неужели нет других, более подходящих элементов, короче, какую логику Вы пытаетесь сделать?
Может быть Вас как-то так или так устроит?
Вложение 51338
И еще вопрос. Я ПР-200 связал с панелью Weintek. Спасибо за помощь Юрию, все работает. Прошу еще помощь в одном моменте. Как сделать чтобы на панели бежал обратный отсчет с таймера TP1??? Заранее спасибо за помощь.
Вложение 51339
Уважаемые знатоки, прошу помощи в реализации следующей задачи (см. ниже). Заранее спасибо!!!
Имеется два устройства, подключенные к цифровым выходам ПР100. Ус-во А подключено к выходу 1, ус-во В подключено к выходу 2. Выход=0: ус-во вЫключено. Выход=1: ус-во включено.
Имеется сетевая переменная Regim_MB, которая определяет режим работы. Если Regim_MB = 1, то работа ведется с ус-вом А. Если Regim_MB = 2, то работа ведется с ус-вом В.
Ус-во, с которым не ведется работа, находится в выключенном состоянии.
Имеется сетевая переменная Set_time_MB, которая устанавливает уставку времени в секундах (может принимать значение от 0 до 99999) для таймера обратного отсчета.
Имеется сетевая переменная Start_MB, которая запускает (при значении 1) или останавливает (при значении 0) работу одного из 2-х устройств.
1. Если уставка времени равна 0 (Set_time_MB = 0), то по команде Start_MB=1 (запуск) одно из ус-в (либо А, либо В) должно включиться и работать до поступления команды Start_MB=0 (останов).
2. Если уставка времени НЕ равна 0 (Set_time_MB = X сек) и Regim_MB = 1, то по команде Start_MB=1 (запуск) ус-во А должно включиться и работать в течение времени Х, по окончании которого ус-во А
должно выключится и Start_MB должно стать 0.
Если в процессе работы устройства А (т.е. таймер еще считает) поступит команда Start_MB=0 (останов), то устройства А должно выключится.
При этом ус-во В находится в выключенном состоянии.
3. Если уставка времени НЕ равна 0 (Set_time_MB = X сек) и Regim_MB = 2, то по команде Start_MB=1 (запуск) ус-во В должно включиться и работать до поступления команды Start_MB=0 (останов).
При этом ус-во 1 всегда находится в выключенном состоянии.
Вариант
Вложение 51358
Макрос Интервал
Вложение 51350
Это, что получается у второго устройства нет таймера?
Тогда программа упрощается
Вложение 51356
Можно
Вложение 51364
ЗЫ
Замечание на условия задачи
Вы не сможете в простой сетевой переменной(WORD) передать значение до 99999, только до 65535.Цитата:
Имеется сетевая переменная Set_time_MB, которая устанавливает уставку времени в секундах (может принимать значение от 0 до 99999) для таймера обратного отсчета.
Если нужно именно до 99999, то нужно использовать DWORD, т.е. два регистра Set_time_MB_HI и Set_time_MB_LO
а в программе ПР, на холсте собирать из них значение DWORD.
ЗЫ.
Добавил во вложения проект для ПР200
и проект в котором таймер использует время цикла в формате с плавающей точкой.
Подскажите или дайте ссылку как работать с аналоговыми выходами, точнее как масштабировать значения в лоджике непосредственно к выходу.
Добрый день, подскажите макросы можно по команде исполнять и не исполнять.?
Используйте SEL Вложение 51661
День добрый
Нужно переключать выводы одной кнопкой, перебор идет по кругу, 1 - нажатие - 2 - нажатие - 3 ... 7 - нажатие - 1 и т.д.
Реализовал я это так:
Вложение 51691
Но появилась задача не просто знать nprg, для дальнейшего использования в проекте, но и задавать ее с дисплея, например было 6 - дали с дисплея 3 - нажатие кнопки - 4 - нажатие кнопки - 5 и т.д.
Прошу подсказать как реализовать данный алгоритм.
Спасибо
блок write to FB и импульс на R только в этом случае после достижения 8 установиться опять значение какое находиться в блоке "write to FB", если нужно чтоб начал с нуля поставьте еще SEL на входе в блок "write to FB"
Может тогда ну его на фиг, этот счётчик? Можно сделать как-нить так:
Вложение 51692
SEL не нужен вообще, как и GT, впрочем
Вложение 51694
Можно еще применить дешифратор DC32
Вложение 51695