Вверх ↑
Ответов: 4631
Рейтинг: 749
#1: 2017-06-08 10:42:24 ЛС | профиль | цитата
Так, вроде, тоже можно:

Add(MultiElementEx,1651186,413,441)
{
@Hint=#4:Стоп|
AddHint(-5,-28,39,13,@Hint)
}
BEGIN_SDK
Add(EditMultiEx,8667553,21,21)
{
WorkCount=#21:1 Да=Пропускать далее|18:0 Нет=Непропускать|10:Да или Нет|
EventCount=#8:Выход Да|
Width=370
Height=193
link(1 Да,8579406:doOn,[(84,27)(84,69)])
link(0 Нет,8579406:doReset,[(96,34)(96,62)])
link(Да или Нет,4877039:doEvent,[(35,41)(35,104)])
}
Add(Switch,8579406,126,49)
{
DataOn=Integer(1)
DataOff=Integer(0)
Point(doOn)
Point(State)
}
Add(IndexToChanel,4877039,126,98)
{
Point(Index)
link(onEvent2,8667553:Выход Да,[(303,111)(303,27)])
link(Index,8579406:State,[])
}
END_SDK

У меня такой вопрос. С одного события поступают данные. Нужно при получении определенной комбинации из этих данных переключить обработку последующих данных на один участок схемы, по наступлению некоторого условия (напр., по получению всех требуемых данных) - вернуть назад ожидание условной комбинации. При получении другой комбинации - переключить на обработку другому участку схемы.
Если конкретнее - это разбор произвольного протокола из получаемых данных. Я пока делал это путем комбинации IndexToChannel+Memory на точку Index. Занесение индекса события в Memory выполняло такое переключение. Какие ещё существуют способы решения такой задачи (кроме кучи Case на индекс)?
карма: 26

0