Ответ
 
Опции темы Поиск в этой теме
Старый 30.12.2019, 00:35   #11
Роботёр
Гуру
 
Регистрация: 20.12.2017
Сообщения: 691
Сказал Спасибо: 18
Сказали Спасибо 139 раз(а) в 132 сообщении
По умолчанию

Фарит, у тебя по синтаксису написано все правильно. Но сама программа некорректна. Т.е. условие if у тебя никогда не выполнить, т.к. просто не проходит 10 секунд, поэтому и выход не выключается. Pavel_T прав, надо использовать команду wait
Роботёр вне форума   Ответить с цитированием
Старый 10.01.2020, 10:55   #12
Фарит
Новичок
 
Регистрация: 28.12.2019
Сообщения: 6
Сказал Спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении
По умолчанию

формуляр Wait For останавливает программу. стоит ждёт, пока таймер не кончит считать. в формулярах Pulse и Syn Out максимальное время по умолчанию =3 сек. в режиме экспертного программирования можно изменить это время. но я не нашел как это сделать. может кто-то изучал экспертное программирование? в каком файле это лежит?
Фарит вне форума   Ответить с цитированием
Старый 10.01.2020, 11:23   #13
Роботёр
Гуру
 
Регистрация: 20.12.2017
Сообщения: 691
Сказал Спасибо: 18
Сказали Спасибо 139 раз(а) в 132 сообщении
По умолчанию

Так Pavel_T выше же написал как это сделать.
Т.е. ты заходишь в режим эксперта, открываешь программу (надо нажать именно "открыть", а не "выбрать") и в нужном месте прописываешь строчку руками на клавиатуре
WAIT FOR $timer_flag[1]==true
Роботёр вне форума   Ответить с цитированием
Старый 10.01.2020, 11:28   #14
Роботёр
Гуру
 
Регистрация: 20.12.2017
Сообщения: 691
Сказал Спасибо: 18
Сказали Спасибо 139 раз(а) в 132 сообщении
По умолчанию

WAIT FOR $timer_flag[1]==true - ожидание переменной в состояние true
wait sec 5 - ожидание 5 секунд.
Если нельзя ставить более трех секунд, то можно нафигачить несколько раз по 3 секунды
Роботёр вне форума   Ответить с цитированием
Старый 10.01.2020, 11:36   #15
Роботёр
Гуру
 
Регистрация: 20.12.2017
Сообщения: 691
Сказал Спасибо: 18
Сказали Спасибо 139 раз(а) в 132 сообщении
По умолчанию

Если именно в по сигналу Pulse, то вот так он пишется не в формуляре
PULSE ($OUT[1],TRUE,2.1)
Соответственно последнее это время, Но я не уверен, что можно больше 3 сек. поставить. Надо пробовать
Роботёр вне форума   Ответить с цитированием
Старый 10.01.2020, 11:38   #16
Роботёр
Гуру
 
Регистрация: 20.12.2017
Сообщения: 691
Сказал Спасибо: 18
Сказали Спасибо 139 раз(а) в 132 сообщении
По умолчанию

конечно вместо $out[1] можно использовать переменную
Роботёр вне форума   Ответить с цитированием
Старый 10.01.2020, 12:16   #17
Фарит
Новичок
 
Регистрация: 28.12.2019
Сообщения: 6
Сказал Спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении
По умолчанию

1. при использовании Wait For - программа останавливается. а если мне нужно в нескольких местах программы по 30 секунд включать какой-то выход, то сколько набежит простоя.
2. Pulse - максимальное время=3 секунды. несколько раз подряд использовать не получится. будет постоянное вкл/выкл выхода.
3. экспертное программирование - это зайти в системные файлы и изменить атрибуты выбранного формуляра. например: изменить максимальное время с 3 сек до 20 сек в формуляре Pulse. а вот как это сделать? вопрос в этом.
Фарит вне форума   Ответить с цитированием
Старый 10.01.2020, 15:02   #18
Роботёр
Гуру
 
Регистрация: 20.12.2017
Сообщения: 691
Сказал Спасибо: 18
Сказали Спасибо 139 раз(а) в 132 сообщении
По умолчанию

1. При использованием команды "continue" перед wait for или $out программа не будет останавливаться. Но в данном случае тяжело предугадать момент срабатывания. Как правило срабатывание происходит за три строчки до команды (это при условии что препроцессор advance настроен по умолчанию на 3). Пример ниже, сам так использовал раньше.

continue
wait for vacuum
CONTINUE
$OUT[6]=TRUE

2. По поводу сигнала Pulse. Посмотрел в мануале - длительность сигнала может быть до 1000000 секунд. Так что никакие не 3 секунды. Еще раз говорю попробуй не формуляром писать, а KRL.
Роботёр вне форума   Ответить с цитированием
Старый 13.01.2020, 12:00   #19
Фарит
Новичок
 
Регистрация: 28.12.2019
Сообщения: 6
Сказал Спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении
По умолчанию

всем спасибо. работает команда набранная с пульта
Pulse ($out[1],true,20). даже выключается раньше времени по заданному условию.
Фарит вне форума   Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +2, время: 03:20.

vBulletin v3.6.2, Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Русский перевод: zCarot, Vovan & Co