stuermer пишет:Мы с тобой за одной партой сидели?
Я просто тоже ПЛК программирую. И заметил разницу: говорим с программистами об одном и том-же, но предложения строим иначе - в итоге не понимаем друг друга. В таких ситуациях нужен уточняющий вопрос "о чем мы говорим то", я его и задал.
А вообще я с SetBatchLines не парюсь и ставлю "-1", что значит максимально быстрое выполнение и там где нужно выставляю задержки (sleep или "счетчик миллисекунд на переменной").
Таймер сам для себя создает задержку если выполнил все команды быстрее чем указано его время (при этом он отдает контроль основному "потоку" через return (почитай справку по потокам)), если он не успевает - всё равно все выполнит до конца не зависимо от времени, только если другой таймер или горячая кнопка не прервет его выполнение.
setbatchlines,-1
i:=0
settimer,timer,1000 ; больше похоже на прерывание по времени в ПЛК
loop ; основной цикл ПЛК
{
tooltip % "j=" a_index,40,600,3
sleep,100
}
return
timer:
i++
loop,100
{
tooltip % a_index,100,600,2
; sleep,100 ; раскоментируй эту строку чтобы понять что будет если таймер не успеет
}
tooltip % "i=" i,140,600,1
return
f1::
i:=0
tooltip % "f1 нажата`ni=" i,140,600,1
return
esc::
exitapp