Я что-то не понял нафига это нужно.
Может лучше использовать не вентили а флаги?
Состояние одного и того-же флага можно использовать многократно в разных местах схемы.
По хорошему надо убрать приведения типов, ну да так потянет.
Add(Switch,5503963,266,21) { DataOn=Integer(1) DataOff=Integer(0) Point(doOn) Point(State) } Add(LineBreakEx,11799293,182,28) { Caption="doOffFlag1" Type=1 link(OnEvent,5503963:doReset,[]) } Add(LineBreakEx,14488726,182,42) { Caption="doOnFlag1" Type=1 link(OnEvent,5503963:doOn,[(260,48)(260,41)]) } Add(LineBreakEx,9331624,161,14) { Caption="doSwitchFlag1" Type=1 link(OnEvent,5503963:doSwitch,[(259,20)(259,27)]) } Add(LineBreakEx,2087524,266,63) { @Color=5635925 Caption="Flag1" Type=3 link(_Data,5503963:State,[]) } Add(Switch,16602375,469,21) { DataOn=Integer(1) DataOff=Integer(0) Point(doOn) Point(State) } Add(LineBreakEx,2971387,385,28) { Caption="doOffFlag2" Type=1 link(OnEvent,16602375:doReset,[]) } Add(LineBreakEx,6389903,385,42) { Caption="doOnFlag2" Type=1 link(OnEvent,16602375:doOn,[(463,48)(463,41)]) } Add(LineBreakEx,12861339,364,14) { Caption="doSwitchFlag2" Type=1 link(OnEvent,16602375:doSwitch,[(462,20)(462,27)]) } Add(LineBreakEx,16135815,469,63) { @Color=22015 Caption="Flag2" Type=3 link(_Data,16602375:State,[]) } Add(Button,11404202,126,217) { Left=40 Top=20 Width=120 Caption="Изменить флаг 1" link(onClick,1117348:doEvent1,[]) } Add(LED,4651498,476,217) { Left=220 Top=25 link(onChange,3881274:doWork1,[(555,223)]) } Add(IndexToChanel,647185,413,224) { Point(Index) link(onEvent1,4651498:doOff,[]) link(onEvent2,4651498:doOn,[]) link(Index,10772808:getVar,[]) } Add(LineBreakEx,10772808,413,203) { @Color=5635925 Caption="Flag1" Type=2 } Add(LineBreakEx,8962975,238,196) { Caption="doSwitchFlag1" } Add(Hub,1117348,203,217) { OutCount=3 link(onEvent1,8962975:doWork,[(224,223)(224,202)]) link(onEvent2,647185:doEvent,[]) link(onEvent3,16391842:doEvent1,[(266,237)(266,391)]) } Add(Button,13999204,126,301) { Left=40 Top=90 Width=120 Caption="Изменить флаг 2" link(onClick,13372414:doEvent1,[]) } Add(LED,3188822,476,301) { Left=220 Top=90 link(onChange,3881274:doWork2,[]) } Add(IndexToChanel,12314134,413,308) { Point(Index) link(onEvent1,3188822:doOff,[]) link(onEvent2,3188822:doOn,[]) link(Index,7484650:getVar,[]) } Add(LineBreakEx,7484650,413,287) { @Color=22015 Caption="Flag2" Type=2 } Add(LineBreakEx,692591,238,280) { Caption="doSwitchFlag2" } Add(Hub,13372414,203,301) { OutCount=3 link(onEvent1,692591:doWork,[(224,307)(224,286)]) link(onEvent2,12314134:doEvent,[]) link(onEvent3,16391842:doEvent2,[(258,321)(258,398)]) } Add(LED,12819596,473,385) { Left=220 Top=155 } Add(IndexToChanel,3889703,399,392) { Point(Index) PColor(onEvent2,22015) link(onEvent2,12819596:doOn,[]) link(Index,7402575:getVar,[]) } Add(LineBreakEx,7402575,399,371) { @Color=22015 Caption="Flag2" Type=2 } Add(IndexToChanel,10618315,322,385) { Point(Index) PColor(onEvent2,65280) link(onEvent2,3889703:doEvent,[]) link(Index,8746684:getVar,[]) } Add(LineBreakEx,8746684,322,364) { @Color=5635925 Caption="Flag1" Type=2 } Add(Hub,16391842,280,385) { InCount=2 OutCount=1 link(onEvent1,10618315:doEvent,[]) } Add(Label,13703542,126,385) { Left=40 Top=160 Width=133 Height=17 Caption="Оба флага установлены?" } Add(HubEx,3881274,551,301) { Angle=1 link(onEvent,12819596:doOff,[(555,354)(461,354)(461,398)]) } Add(Button,4340414,128,466) { Left=40 Top=205 Width=120 Height=45 Caption="Если оба флага то написать "КУКУ" иначе очистить" Data=String() link(onClick,4807626:doData,[]) } Add(IndexToChanel,2526793,371,473) { Point(Index) PColor(onEvent2,22015) link(onEvent1,15189735:doWork3,[(431,479)]) link(onEvent2,16357531:doWork2,[]) link(Index,9185986:getVar,[]) } Add(LineBreakEx,9185986,371,452) { @Color=22015 Caption="Flag2" Type=2 } Add(IndexToChanel,10825458,294,466) { Point(Index) PColor(onEvent2,65280) link(onEvent1,15189735:doWork2,[(376,472)(376,475)]) link(onEvent2,2526793:doEvent,[]) link(Index,1335559:getVar,[]) } Add(LineBreakEx,1335559,294,445) { @Color=5635925 Caption="Flag1" Type=2 } Add(Label,13206067,511,480) { Left=185 Top=205 Width=133 Height=17 Caption="" } Add(DoData,4807626,189,466) { Data=String(КУКУ) link(onEventData,10825458:doEvent,[]) AddHint(-15,-19,55,13,Data) } Add(DoData,5047633,441,469) { PColor(onEventData,22015) link(onEventData,16357531:doWork1,[(480,475)]) AddHint(-2,-23,43,13,Data) } Add(HubEx,15189735,427,469) { link(onEvent,5047633:doData,[]) } Add(HubEx,16357531,476,480) { PColor(onEvent,22015) link(onEvent,13206067:doText,[]) }
|