30.12.2019, 00:35
|
#11
|
Гуру
Регистрация: 20.12.2017
Сообщения: 708
Сказал Спасибо: 18
Сказали Спасибо 142 раз(а) в 135 сообщении
|
Фарит, у тебя по синтаксису написано все правильно. Но сама программа некорректна. Т.е. условие 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
Сообщения: 708
Сказал Спасибо: 18
Сказали Спасибо 142 раз(а) в 135 сообщении
|
Так Pavel_T выше же написал как это сделать.
Т.е. ты заходишь в режим эксперта, открываешь программу (надо нажать именно "открыть", а не "выбрать") и в нужном месте прописываешь строчку руками на клавиатуре
WAIT FOR $timer_flag[1]==true
|
|
|
|
10.01.2020, 11:28
|
#14
|
Гуру
Регистрация: 20.12.2017
Сообщения: 708
Сказал Спасибо: 18
Сказали Спасибо 142 раз(а) в 135 сообщении
|
WAIT FOR $timer_flag[1]==true - ожидание переменной в состояние true
wait sec 5 - ожидание 5 секунд.
Если нельзя ставить более трех секунд, то можно нафигачить несколько раз по 3 секунды
|
|
|
|
10.01.2020, 11:36
|
#15
|
Гуру
Регистрация: 20.12.2017
Сообщения: 708
Сказал Спасибо: 18
Сказали Спасибо 142 раз(а) в 135 сообщении
|
Если именно в по сигналу Pulse, то вот так он пишется не в формуляре
PULSE ($OUT[1],TRUE,2.1)
Соответственно последнее это время, Но я не уверен, что можно больше 3 сек. поставить. Надо пробовать
|
|
|
|
10.01.2020, 11:38
|
#16
|
Гуру
Регистрация: 20.12.2017
Сообщения: 708
Сказал Спасибо: 18
Сказали Спасибо 142 раз(а) в 135 сообщении
|
конечно вместо $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
Сообщения: 708
Сказал Спасибо: 18
Сказали Спасибо 142 раз(а) в 135 сообщении
|
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). даже выключается раньше времени по заданному условию.
|
|
|
|
Опции темы |
Поиск в этой теме |
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +2, время: 12:53.
|
|