Make(delphi) Pos(0,0) Add(TabControl,4619838,28,133) { Left=15 Top=10 Width=320 Height=295 Tabs=#7:Dcon-66|7:Mcon-X1|7:Mcon-X2|6:Mcon-Y| Bitmaps=[] FocusTabs=0 link(onChange,3240223:doOperation,[]) } Add(MainForm,8710082,28,49) { Left=20 Top=105 Width=360 Height=350 Caption="TwiTest" BorderStyle=3 SavePosName="TwiTest.ini\Form" link(onCreate,16208252:doEnum,[]) } Add(MultiElementEx,11608930,455,112) { @Hint=#28:Выполнение одной TWI-команды| link(onRead,2736972:doData,[(494,118)(494,17)(234,17)(234,34)]) } BEGIN_SDK Add(EditMultiEx,10227342,3,3) { WorkCount=#51:Init= Аппаратная инициализация карты + команда INIT|6:doData|7:doSlave|37:doCMD=Запустить команду на выполнение| EventCount=#6:onRead| Width=545 Height=373 link(Init,15740803:doFor,[(46,9)(46,27)]) link(doData,4332208:doWork1,[(38,16)(38,97)]) link(doSlave,4332208:doWork6,[(30,23)(30,132)]) link(doCMD,13971447:doEvent1,[(22,30)(22,139)]) } Add(ChanelToIndex,13577765,231,28) { @Hint=#22:NoReset -> 4: (1< 0: (0< SLCT)| End=10000 onBreakEnable=0 Point(onBreak) link(onEvent,15761478:doWork1,[(284,195)]) link(onStop,11412506:doWork2,[]) link(onBreak,10703777:doEvent1,[(152,209)(152,272)]) } Add(For,16084882,266,70) { @Hint=#33:Ожидание ответа карты (1 -> SLCT)| End=10000 onBreakEnable=0 link(onEvent,15872039:doWork2,[]) link(onStop,13158064:doWork2,[]) } Add(DoData,3765006,266,126) { @Hint=#18:NoReset + STR_Down|8:(1< SLCT)| End=10000 onBreakEnable=0 Point(onBreak) link(onEvent,15872039:doWork1,[(312,41)]) link(onStop,11903228:doWork2,[]) link(onBreak,6621410:doEvent1,[]) } Add(DoData,3552883,210,182) { @Hint=#16:NoReset + STR_Up|17:(1< SLCT)| End=10000 onBreakEnable=0 link(onEvent,15761478:doWork2,[]) link(onStop,11412506:doWork3,[(389,230)]) } Add(DoData,14102703,210,266) { @Hint=#25:NoReset + STR_Up + DIR_Up|23:(1< STR_Down+DIR_Down|25:3) Ожидание 1 в бите SLCT| OutCount=4 link(onEvent1,14102703:doData,[]) link(onEvent2,10405811:doData,[(206,279)(206,321)]) link(onEvent3,13034473:doData,[]) link(onEvent4,1548973:doFor,[(201,293)(201,223)]) } Add(Hub,390718,63,168) { @Hint=#25:1) Установить адрес порта|9:2) STR_Up|25:3) Ожидание 0 в бите SLCT| OutCount=4 link(onEvent1,3959313:doWork1,[(109,174)]) link(onEvent2,3959313:doWork2,[(105,181)]) link(onEvent3,3552883:doData,[]) link(onEvent4,10545140:doFor,[]) } Add(DoData,13034473,252,280) { @Hint=#29:NoReset + STR_Down + DIR_Down|8:(1<Last then begin|15: Cnt := Max;|14: Last := i;|16: end else begin|25: if Cnt<=0 then exit; |13: dec(Cnt);|18: if Cnt=0 then |44: if i<> 0 then _hi_CreateEvent(D,@on_1)|35: else _hi_CreateEvent(D,@on_0)|6: end;|4:end;|0:|4:end.| @IsLib=True } Add(Icon,8000409,14,98) { @Hint=#5:#main| elink(5577883) } Add(HubEx,1183259,203,42) { link(onEvent,14429378:doData,[]) } Add(HubEx,12387179,105,14) { link(onEvent,10068906:doWork1,[(326,27)]) } Add(HubEx,3959313,105,168) { link(onEvent,15087919:doData,[(299,181)(299,258)]) } Add(DoData,10405811,301,315) { link(onEventData,13171152:doData,[]) link(Data,15047207:Var1,[(307,296)]) } Add(DoData,13171152,315,315) { link(onEventData,5805214:onRead,[(406,321)(406,9)]) link(Data,15047207:Var2,[]) } Add(GetDataEx,15047207,308,287) { link(Data,15087919:Port0,[]) } END_SDK Add(Hub,9699628,287,98) { link(onEvent1,15740803:doStop,[(334,104)(334,76)(46,76)(46,34)]) link(onEvent2,15291904:doMessage,[]) } Add(ChanelToIndex,4332208,168,91) { Count=7 Point(Data) link(onIndex,14548455:doWork2,[]) } Add(GlobalVar,7958662,490,105) { Name="Answ" } Add(Math,7888991,21,245) { OpType=4 Op1=64 ResultType=0 link(onResult,9034171:doCase,[]) link(Op2,2840377:Port1,[(34,173)(293,173)]) } Add(FormatStr,5155982,287,196) { DataCount=1 Mask="ErrorCode=%1 after TWI-recieve!" link(onFString,9996739:doMessage,[]) } Add(HubEx,14548455,210,84) { link(onEvent,3759059:doWrite,[]) } Add(Sleep,13471379,168,56) { Delay=20000 } Add(Icon,5577883,490,14) { @Hint=#5:#main| Icon=[ZIP9E09000078DA6360600442090906205060E8E064601003B2348018246400C48C40711000C951032C59B00005530774206108E8E9EC049BBF70EE5C0AED0199B90A09CF8462881D137BFB18BA817465452505EE3E838461767480CD6F6F6D65686E6CA4C07C907977A118D3FCBADA5A86CACA4A32CD5F053673EF822F40FA3FD40E5838753014161430E464675318FE77A166239BDF014F4B9403E4F05985918EA80312A1E62732D006C0DCBF9CC6E6AFA281D94668E61B51CD6461616124B361E6E743C5A90154B198DF0115A766B8A39BDF0AC4FC5436FB2E8364F213A4F4EF4535F3A5529F833103C32524F31B29321D61E62D20BE082DDB8E01F15E0691E083503B44C84A331073EF42CDBE0635FB38101F02E21D40BC9941C86F2B389EC94F4B30B32F2299BD176C3603C33A685C275298966061B20FEE6E88B9CBA1389181CF713685F10C0B934D50772FA74139040B93950C8309FC3F50CFF0BF411E5833F133FC8363101F280E82C7917033103342F03F0604FE0354FB83C11E48DB03F9F6107D8D407CFE3F03003665C2EE] @IsLib=True } Add(Case,9034171,63,245) { Value=Integer(0) link(onTrue,3046339:doStop,[]) } Add(Message,15291904,336,105) { Message="CARD DISABLE !" Caption="LPT-Error" Icon=1 link(onMessage,8893252:doWork2,[]) } Add(For,3046339,112,245) { @Hint=#32:Ожидание ответа карты (0 -> ACK)| End=100000 onBreakEnable=0 Point(onBreak) link(onEvent,7888991:doOperation,[(154,251)(154,235)(11,235)(11,251)]) link(onStop,2495493:doMessage,[(174,258)(174,160)]) link(onBreak,12855076:doSend,[]) } Add(LPT,2840377,280,14) { Point(doControl) Point(Port1) } Add(IndexToChanel,13702778,168,21) { @Hint=#34:0x3E - инициализация режима TABLE2| Count=3 Data=Integer(62) link(onEvent1,13577765:doWork5,[(220,27)(220,62)]) link(onEvent2,13577765:doWork1,[(212,34)(212,34)]) link(onEvent3,14548455:doWork1,[(214,41)]) } Add(Hub,13764987,105,21) { link(onEvent1,13702778:doEvent,[]) link(onEvent2,13471379:doSleepMks,[(159,34)(159,62)]) } Add(DoData,15176689,399,105) { link(onEventData,14368070:doWork2,[]) } Add(Math,4651379,196,266) { OpType=4 Op2=7 ResultType=0 link(onResult,13905283:doCase,[]) link(Op1,394290:Var,[]) } Add(For,15740803,56,21) { End=2 link(onEvent,13764987:doEvent1,[]) } Add(ChanelToIndex,14272870,441,252) { link(onIndex,3759059:doRead,[(484,258)(484,141)(228,141)(228,104)]) } Add(MathParse,9469792,490,266) { MathStr="%0 + %1* 256^%2" ResultType=0 Point(doClear) link(X1,7958662:Var,[]) } Add(Hub,2075338,287,273) { link(onEvent1,9469792:doClear,[]) link(onEvent2,6514208:doFor,[]) } Add(Case,13905283,238,266) { Value=Integer(0) link(onNextCase,5155982:doString,[(278,272)(278,202)]) link(onTrue,2075338:doEvent1,[]) } Add(GlobalVar,394290,196,238) { Name="Answ" } Add(Message,2495493,336,154) { Message="Wating ACK - Timeout !" Caption="LPT-Error" Icon=1 link(onMessage,5224166:doWork2,[(378,160)]) } Add(For,6514208,343,280) { IncludeEnd=1 onBreakEnable=0 link(onEvent,15226407:doSend,[]) link(onStop,9720758:doData,[(385,293)(385,321)]) link(End,10776168:Var,[]) } Add(GlobalVar,10776168,350,245) { Name="Read" Data=Integer(0) } Add(DoData,9720758,490,315) { link(onEventData,10227342:onRead,[(548,321)]) link(Data,9469792:Result,[]) } Add(HubEx,14368070,441,98) { link(onEvent,7958662:doValue,[]) } Add(Hub,13971447,56,133) { OutCount=3 link(onEvent1,16150466:doData,[]) link(onEvent2,4332208:doWork2,[(101,146)(101,104)]) link(onEvent3,3046339:doFor,[(102,153)(102,251)]) } Add(ChangeMon,16150466,112,133) { Data=Integer(-1) link(onData,4332208:doWork7,[]) link(Data,3962602:Var,[]) } Add(GlobalVar,3962602,112,105) { Name="Read" Data=Integer(0) } Add(HubEx,8893252,378,98) { link(onEvent,15176689:doData,[]) } Add(MultiElementEx,15226407,392,280) { @Hint=#10:HUB-тестер| elink(795938) link(onSend,14272870:doWork1,[(432,286)(432,258)]) link(onContinue,9469792:doCalc,[(481,293)(481,272)]) link(onError,6514208:doStop,[(433,300)(433,329)(333,329)(333,293)]) } Add(MultiElementEx,12855076,154,259) { @Hint=#10:HUB-тестер| elink(795938) link(onSend,14272870:doWork2,[]) link(onContinue,4651379:doOperation,[]) } Add(Message,9996739,336,196) { Caption="TWI-Error" Icon=1 link(onMessage,5224166:doWork3,[(382,202)]) } Add(HubEx,5224166,378,147) { Angle=3 link(onEvent,8893252:doWork3,[(382,148)]) } END_SDK Add(Timer,1838464,322,28) { @Hint=#10:Start INIT| Interval=0 AutoStop=1 link(onTimer,795938:doSend,[]) } Add(HubEx,13769117,434,119) { link(onEvent,11608930:doSlave,[]) } Add(HubEx,4601947,364,119) { link(onEvent,16150466:doData,[]) } Add(EventFromData,2736972,245,28) { link(onEvent,1064740:doEvent1,[(309,34)(309,132)]) } Add(Math,3240223,91,133) { OpType=9 Op1=1 ResultType=0 link(onResult,16519073:doBits,[]) } Add(Button,14224913,385,168) { Left=275 Top=7 Width=60 Caption="StopCARD" Data=Integer(1) link(onClick,13769117:doWork3,[(438,174)]) } Add(IntToBits,16519073,147,133) { Count=4 Data_0=Integer(0) Data_1=Integer(1) link(onBit1,3245698:doVisible,[(224,139)(224,97)]) link(onBit2,15967753:doVisible,[]) link(onBit3,5424901:doVisible,[(194,153)(194,202)]) link(onBit4,16657543:doVisible,[(187,160)(187,258)]) } Add(GetDataEx,5769357,238,175) { link(Data,14736276:Var2,[]) } Add(MultiElementEx,795938,385,28) { @Hint=#10:HUB-тестер| @IsLib=True link(onSend,11608930:Init,[(437,34)(437,118)]) } BEGIN_SDK Add(EditMultiEx,9341723,3,3) { WorkCount=#6:doSend| EventCount=#6:onSend|10:onContinue|7:onError| Width=153 Height=109 link(doSend,472063:doEvent1,[(3,62)]) } Add(If_else,8636507,77,63) { @Hint=#32:Контроль корректности результата|33:(не было останова при SPI обмене)| Type=4 Op2=Integer(0) link(onTrue,9341723:onContinue,[(144,69)(144,16)]) link(onFalse,9341723:onError,[(156,76)]) link(Op1,7958662:Var,[]) } Add(GlobalVar,7958662,77,28) { Name="Answ" } Add(Hub,472063,28,56) { link(onEvent1,9341723:onSend,[(134,62)(134,9)]) link(onEvent2,8636507:doCompare,[]) } Add(Icon,3221432,28,14) { @Hint=#5:#main| Icon=[ZIP9E09000078DA6360600442090906205060E8E064601003B2348018246400C48C40711000C90D5BF0FF3F753139E693A396583B48710BB9E144AA3B68110FB4349FD2B444AC3C39E693623F397690623F3976106BF750339F5AE5D250351F661E213BA96907B5CDA6669A21352DD1C28EA16AFE20040DC0D6118C866066860350FC80819DE103033F14CB33FC80E23F0CF60CFF18EAA1F83F023602F161283E0EC4CFFF330000CDFD8252] } END_SDK Add(ChangeMon,16150466,385,126) { Data=Integer(-1) link(onData,13769117:doWork2,[]) link(Data,3962602:Var,[]) } Add(GlobalVar,3962602,385,84) { Name="Slave" Data=Integer(0) } Add(Hub,1064740,322,126) { link(onEvent1,4601947:doWork2,[(364,132)]) link(onEvent2,11608930:doCMD,[]) } Add(Hub,10636487,322,84) { link(onEvent1,3962602:doValue,[]) link(onEvent2,4601947:doWork1,[(368,97)]) } Add(ChildPanelEx,3245698,231,84) { link(onSlave,14574695:doWork2,[]) link(onData,6399819:doWork1,[(291,97)]) link(SendCMD,8944816:Var1,[(237,72)]) } BEGIN_SDK Add(EditMultiEx,11129226,3,3) { WorkCount=#7:doSlave|9:doVisible| EventCount=#7:onSlave|6:onData| DataCount=#7:SendCMD| Width=514 Height=403 link(doSlave,10167033:doText2,[(14,9)(14,132)]) link(doVisible,14637582:doVisible,[(3,48)]) } Add(Panel,14637582,63,28) { Left=20 Top=35 Width=310 Height=260 BorderWidth=0 BevelInner=0 BevelWidth=0 Point(doColor) Point(doVisible) } Add(Button,5301595,119,28) { Left=15 Top=50 Width=100 Caption="StaySin" Point(doCaption) link(onClick,735421:doSwitch,[]) } Add(Switch,735421,168,28) { DataOn=String(StayAsin) DataOff=String(StaySin) Point(State) link(onSwitch,7354305:doEvent1,[]) } Add(HubEx,3186726,343,70) { Angle=3 link(onEvent,11129226:onData,[(347,16)]) } Add(MultiElementEx,12133125,280,168) { @Hint=#17:Дешифратор команд| link(onConvert,4658110:doAdd,[]) link(Slave,10167033:Text,[]) } BEGIN_SDK Add(EditMultiEx,6957142,3,3) { WorkCount=#9:doConvert| EventCount=#9:onConvert| DataCount=#5:Slave| Width=283 Height=186 link(doConvert,10802755:doEvent1,[(3,69)]) } Add(ArrayRW,2320778,126,98) { link(onRead,6957142:onConvert,[(286,104)]) link(Array,16027036:Array,[]) } Add(IntegerArray,16027036,126,14) { @Hint=#12:Коды комманд| IntArray=['StaySin'=1,'StayAsin'=9,'SetLeds'=8,'GoSin'=134,'GoAsin'=135,'SetBuf'=0,'rdFREE'=129] UseName=0 } Add(Hub,10802755,28,63) { OutCount=3 link(onEvent1,14986142:doRead,[]) link(onEvent2,13164221:doData,[]) link(onEvent3,2320778:doRead,[(70,83)(70,104)]) } Add(ArrayRW,14986142,175,63) { link(onRead,10776168:doValue,[]) link(Array,6623256:Array,[]) } Add(IntegerArray,6623256,175,14) { @Hint=#32:Значения Read-байтов для команды| IntArray=['StaySin'=0,'StayAsin'=0,'SetLeds'=0,'GoSin'=0,'GoAsin'=0,'SetBuf'=2,'rdFREE'=2] UseName=0 } Add(GlobalVar,10776168,224,63) { Name="Read" Data=Integer(0) } Add(GlobalVar,13566162,119,70) { Name="Slave" Data=Integer(0) } Add(DoData,13164221,77,70) { link(onEventData,13566162:doValue,[]) link(Data,6957142:Slave,[(83,33)(9,33)]) } Add(Icon,16600682,28,112) { @Hint=#5:#main| Icon=[ZIP360E000078DAED576D4C5B55187E4AF92894CF31A0ACE3BBA5E59BB68CC1EDA03046E9582F1B8E83F307A89981CD6922628822E3A2D1653FE6A20EC9B61013F7039718057FB0C5254093251ACD52BF7E681697606288C9DC4296A884957B7DCF2DB0C260FE31261A9EE6C97BCEFB3CE7DC734FCE7D730A681086C444A8381601E453CCCE0EF62FEB80B394B3529B5B785A039DAAD569F000CB6D455188F7708FA8287314E77053B909BFE2C7F5B9EBF8EEF3497CF5D3341627DEC624E5266626303633862B131730FDE1282ECE5CC430F135E2A99153987DAB1BB7867B70EBCDA770E35C1F4E9F7F05779EA9C4FDD612F83B2A71B72A1B8BA654FC46CFFE3E33195F539CEAEFC0B5E35E7CDCC3705A92F0695301C6DDB998CC4CC738E9EF09053853688044CF3FF9D908BAE859066A1B2882D83529A17FA41F92D48B1706BAD12D75A3855877A4099D7536F4BA5C90CA0AD15762C1499D0E0334672B5120DD403E102D5E070C2D3658A275887599019B01C97C830CB148888D51F7EA71620B6F1CB5A1D65E04578909764B0E727272E04A8F8599DBB1852DFC37C0BF7D5985475E038FCBB3B61B6B737B42BA51B686FAF2958467AFADA1AEB4B4B4CCE356BB8D0D95452A4A3CBBDDB2C7B34BCFB1CD50AC4FF2B89A9B232255E46708F6C8389AC313161E5FE5AC48CFDC931C1D9EC8131A5D4A81714776B556EB685667445E6EE14EAB29D8E389845473564D53C80273622CB5A12BDE9FB67DDF9A376A6A9237C6126DC20271DEA528B3598AE28B5294210D6D0CED0E280E51F4519CA5FC3CE90BE40B10654951615DAEB175217576287CE33A7B5BB94DD1AFD656BFDF8FC56FAE61D177098B339770FFEA0504AE9CC3C2F8592C7DF43A46C93335378551FF28962E4B903F78094BEF13878F61E9DD2E2C9DE984FC463BE40111819E7A7CFB6A17BEECA3DC7302942E07EE1E7722D05E81408D05BF13EF107F21CAB4963F88BF127F24FE40BC41FC82D761E9694CBF7C0433BD22A69FF762BAB51833DE7C7C72A00057491F4F89C718C5F3C4777819A435DA88E071F42806DBEBD1D9DB89C1830206DDE590EA0B2139F3F06C61114E58AC902A8C78D19C0E89C6F6C6C5E18446830E9309CDC443191968A7F99FD8AAB35BF8DFD6D97F06E2DFC84C141F296B1877889BCA0472307133393EBEAA8AB1DD1B19485E56090F1B44F640E586752B2599AB95AB606B1C22E3EAAE50D032571D243316BB0E4CD4B4051DE47C4825B489FC6D55591B0A56EB1204DE68134592D7A9DAC78C19B975AA017C3419B046AF3766E699DD2B33040DD0D24F60CC230871A569B926EB01810C348EAD18C210E6D4575BDC4293312D2FBFBC55E0196E90570D4E7D42E3BEDA1DC64C93B581A972587001CB86F06ABD737B6A8931CB5CEE55E5553568A00992F6ECAF4F3359ED87113276D5E02C48DA6B2B4B33973B18D6A9CB86C4E2E69DD9567BA3976D7040184D905C939653EEF06E7CC0C8B02D25C66AAF38BCC901654E5D4494C151C1363BC1AC25325A9FDEC8363FE307F58945871EF58D78BD4CFE57A1ACE04FE2CF44DF9374B948A0CA10A5C8D02A01FA17B20064CD0351B3746BF01187F889A13E8FBCCFF3A46BC997407E97AC5E52B4C1797CC459E23C31401715D9A584E22F1BB06976] } END_SDK Add(Button,11339976,168,168) { Left=135 Top=50 Width=40 Caption="Go" link(onClick,4337862:doReplace,[]) } Add(Replace,4337862,217,168) { SubStr="Stay" DestStr="Go" link(onReplace,5289285:doWork2,[]) link(Str,735421:State,[(223,69)(174,69)]) } Add(CheckBox,14227505,280,14) { Left=55 Top=125 Checked=0 Caption="GREEN" } Add(Button,3324693,168,77) { Left=15 Top=105 Width=30 Height=60 Caption="Led" Data=String(SetLeds) link(onClick,7269456:doEvent1,[]) } Add(BitsToInt,9287908,273,77) { Count=8 link(onNumber,3186726:doWork2,[]) link(Bit6,14227505:Checked,[(314,69)(286,69)]) link(Bit7,576922:Checked,[(321,64)(307,64)]) link(Bit8,8234582:Checked,[]) } Add(Hub,7269456,217,77) { link(onEvent1,9287908:doNumber,[]) link(onEvent2,10728802:doWork2,[]) } Add(HubEx,10728802,259,77) { Angle=1 link(onEvent,5289285:doWork1,[(263,135)]) } Add(CheckBox,576922,301,21) { Left=55 Top=105 Checked=0 Caption="RED" } Add(CheckBox,8234582,322,28) { Left=55 Top=145 Caption="PON" } Add(Memo,15031279,56,280) { Left=185 Top=10 Width=115 Height=225 Font=[Courier New,8,0,0,204] Strings=#10:01.00=FF00|10:02.00=5500|10:03.00=AA00|10:04.00=5500|10:05.00=AA00|10:06.00=FFFF|10:07.00=5500|10:08.00=AA00|10:09.00=5500|10:10.00=AA00|10:11.00=FFFF|10:12.00=5500|10:13.00=AA00|10:14.00=5500|10:15.00=AAFF| ScrollBars=2 } Add(Button,16131515,14,343) { Left=135 Top=10 Width=40 Height=25 Caption="SetBuf" link(onClick,4183931:doEnum,[]) } Add(ArrayEnum,4183931,70,343) { link(onItem,5270647:doSplit,[]) link(onEndEnum,3261338:doData,[(109,356)(109,265)]) link(Array,15031279:Array,[]) } Add(Convertor,140305,301,308) { Mode=5 link(onResult,16607484:doWork2,[]) } Add(Hub,7354305,217,28) { link(onEvent1,5301595:doCaption,[(263,34)(263,20)(109,20)(109,34)]) link(onEvent2,10728802:doWork1,[(263,41)]) } Add(StrPart,5270647,126,343) { Char="=" link(onSplit,3203859:doEvent1,[(166,349)(166,307)]) link(onPart,12258210:doEvent1,[]) } Add(Hub,3203859,175,301) { link(onEvent1,11792851:doCopy,[]) link(onEvent2,9312663:doCopy,[]) } Add(HubEx,4307838,287,301) { link(onEvent,140305:doConvert,[]) } Add(Copy,11792851,245,301) { Position=1 Count=2 link(onCopy,4307838:doWork1,[(291,307)]) } Add(Hub,12258210,175,350) { link(onEvent1,16379278:doCalc,[]) link(onEvent2,5241961:doCalc,[]) } Add(HubEx,2239457,287,343) { link(onEvent,16607484:doWork3,[(347,356)]) } Add(MathParse,16379278,245,350) { DataCount=1 MathStr="((%1*16000) mod 65536) mod 256" ResultType=0 link(onResult,2239457:doWork2,[]) } Add(HubEx,16607484,343,301) { Angle=3 link(onEvent,3186726:doWork3,[]) } Add(DoData,3261338,217,259) { Data=String(SetBuf) link(onEventData,13324301:doWork3,[(263,265)]) } Add(HubEx,5289285,259,161) { link(onEvent,12133125:doConvert,[]) } Add(CheckBox,378725,14,210) { Left=15 Top=190 Caption="rdFREE" link(onCheck,12395762:doEvent,[]) } Add(Timer,14764577,119,217) { @Hint=#10:Start INIT| Interval=500 Enable=1 link(onTimer,4199001:doSend,[]) } Add(IndexToChanel,12395762,63,210) { link(onEvent1,6573531:doWork1,[(109,216)]) link(onEvent2,14764577:doTimer,[]) } Add(DoData,13270202,217,217) { Data=String(rdFREE) link(onEventData,13324301:doWork2,[]) } Add(HubEx,13324301,259,210) { Angle=3 link(onEvent,5289285:doWork3,[]) } Add(MathParse,5241961,231,357) { DataCount=1 MathStr="((%1*16000) mod 65536) div 256" ResultType=0 link(onResult,2239457:doWork3,[(291,363)]) } Add(Copy,9312663,231,308) { Position=3 Count=2 link(onCopy,4307838:doWork2,[]) } Add(MultiElementEx,4199001,168,217) { @Hint=#10:HUB-тестер| elink(795938) link(onSend,13270202:doData,[]) link(onError,6573531:doWork3,[(209,237)(209,259)(109,259)]) } Add(HubEx,6573531,105,217) { link(onEvent,14764577:doStop,[]) } Add(Edit,10167033,280,119) { Left=55 Top=10 Width=40 Text="66" Alignment=1 DataType=3 Point(doSelectAll) link(onEnter,7147880:doEvent1,[]) } Add(Label,7616342,63,77) { Left=15 Top=12 Width=34 Height=17 Caption="Slave:" } Add(Hub,7147880,329,126) { link(onEvent1,11129226:onSlave,[(368,132)(368,9)]) link(onEvent2,10167033:doSelectAll,[(368,139)(368,156)(270,156)(270,139)]) } Add(MT_Add,4658110,371,168) { InputMT=3 link(onAdd,9303806:doConvert,[]) link(Data,11129226:SendCMD,[(377,3)]) } Add(Convertor,9303806,420,168) { Mode=6 Digits=4 link(onResult,12663824:doText,[]) } Add(Label,12663824,469,168) { Left=15 Top=220 Width=60 Height=21 Color=12632256 Font=[Courier New,12,1,0,204] Caption="????" AutoSize=1 Alignment=2 } END_SDK Add(ChildPanelEx,15967753,231,140) { @IsLib=True link(onSlave,2552518:doWork2,[]) link(onData,792470:doWork2,[]) link(SendCMD,14736276:Var1,[(237,128)]) } BEGIN_SDK Add(EditMultiEx,12088416,3,3) { WorkCount=#9:doVisible|7:doSlave| EventCount=#7:onSlave|6:onData| DataCount=#7:SendCMD| Width=700 Height=461 link(doVisible,15548229:doVisible,[(410,9)(410,41)]) link(doSlave,10167033:doText2,[(363,16)(363,76)]) } Add(CheckBox,13197225,14,273) { Left=15 Top=205 Width=75 Caption="Power !!!" link(onCheck,13424965:doEvent,[]) } Add(Panel,15548229,420,21) { Left=20 Top=35 Width=310 Height=260 Visible=1 BorderWidth=0 BevelInner=0 BevelWidth=0 Point(doColor) Point(doVisible) } Add(MT_Add,4658110,469,119) { InputMT=3 link(onAdd,12065052:doEvent1,[]) link(Data,12088416:SendCMD,[(475,3)]) } Add(Convertor,9303806,609,126) { Mode=6 Digits=6 link(onResult,12663824:doText,[]) } Add(Label,12663824,651,126) { Left=90 Top=125 Width=80 Height=21 Color=12632256 Font=[Courier New,12,1,0,204] Caption="????????" AutoSize=1 Alignment=2 } Add(MultiElementEx,13410690,371,119) { @Hint=#17:Дешифратор команд| link(onConvert,6740722:doStart,[]) link(Slave,10167033:Text,[]) } BEGIN_SDK Add(EditMultiEx,6957142,3,3) { WorkCount=#9:doConvert| EventCount=#9:onConvert| DataCount=#5:Slave| Width=283 Height=186 link(doConvert,10802755:doEvent1,[(3,69)]) } Add(ArrayRW,2320778,126,98) { link(onRead,6957142:onConvert,[(286,104)]) link(Array,16027036:Array,[]) } Add(IntegerArray,16027036,126,14) { @Hint=#12:Коды комманд| IntArray=['SetUext'=1,'UextON'=9,'rdXcur'=130,'GoSin'=134,'GoAsin'=135,'SetBuf'=0,'rdFREE'=129,'PwenOff'=133,'rdXidx'=138,'SetBUF'=0,'StaySin'=2,'StayAsin'=10,'rdSTATE'=128,'rdECODE'=136,'rdVcur'=137,'rdXref'=158,'SetMAXa'=72,'SetMAXi'=25,'SetMAXf'=16,'SetMAXv'=80,'SetAstop'=104,'SetKFBx'=17,'SetKFBv'=33,'SetKFBa'=57,'SetKFBi'=65,'SetKFFb'=73,'SetKFFv'=41,'SetKFFa'=49,'SetDLTa'=81,'rdMAXa'=152,'rdMAXi'=146,'rdMAXf'=144,'rdMAXv'=154,'rdAstop'=142,'rdKFBx'=145,'rdKFBv'=147,'rdKFBa'=150,'rdKFBi'=151,'rdKFFb'=153,'rdKFFv'=148,'rdKFFa'=149,'rdDLTa'=155] UseName=0 } Add(Hub,10802755,28,63) { OutCount=3 link(onEvent1,14986142:doRead,[]) link(onEvent2,13164221:doData,[]) link(onEvent3,2320778:doRead,[(70,83)(70,104)]) } Add(ArrayRW,14986142,175,63) { link(onRead,10776168:doValue,[]) link(Array,6623256:Array,[]) } Add(IntegerArray,6623256,175,14) { @Hint=#32:Значения Read-байтов для команды| IntArray=['SetUext'=0,'UextON'=0,'rdXcur'=3,'GoSin'=0,'GoAsin'=0,'SetBuf'=2,'rdFREE'=2,'PwenOff'=0,'rdXidx'=3,'SetBUF'=3,'StaySin'=0,'StayAsin'=0,'rdSTATE'=1,'rdECODE'=2,'rdVcur'=2,'rdXref'=3,'SetMAXa'=0,'SetMAXi'=0,'SetMAXf'=0,'SetMAXv'=0,'SetAstop'=0,'SetKFBx'=0,'SetKFBv'=0,'SetKFBa'=0,'SetKFBi'=0,'SetKFFb'=0,'SetKFFv'=0,'SetKFFa'=0,'SetDLTa'=0,'rdMAXa'=1,'rdMAXi'=2,'rdMAXf'=1,'rdMAXv'=1,'rdAstop'=1,'rdKFBx'=2,'rdKFBv'=2,'rdKFBa'=2,'rdKFBi'=2,'rdKFFb'=2,'rdKFFv'=2,'rdKFFa'=2,'rdDLTa'=2] UseName=0 } Add(GlobalVar,10776168,224,63) { Name="Read" Data=Integer(0) } Add(GlobalVar,13566162,119,70) { Name="Slave" Data=Integer(0) } Add(DoData,13164221,77,70) { link(onEventData,13566162:doValue,[]) link(Data,6957142:Slave,[(83,33)(9,33)]) } Add(Icon,16600682,28,112) { @Hint=#5:#main| Icon=[ZIP360E000078DAED576D4C5B55187E4AF92894CF31A0ACE3BBA5E59BB68CC1EDA03046E9582F1B8E83F307A89981CD6922628822E3A2D1653FE6A20EC9B61013F7039718057FB0C5254093251ACD52BF7E681697606288C9DC4296A884957B7DCF2DB0C260FE31261A9EE6C97BCEFB3CE7DC734FCE7D730A681086C444A8381601E453CCCE0EF62FEB80B394B3529B5B785A039DAAD569F000CB6D455188F7708FA8287314E77053B909BFE2C7F5B9EBF8EEF3497CF5D3341627DEC624E5266626303633862B131730FDE1282ECE5CC430F135E2A99153987DAB1BB7867B70EBCDA770E35C1F4E9F7F05779EA9C4FDD612F83B2A71B72A1B8BA654FC46CFFE3E33195F539CEAEFC0B5E35E7CDCC3705A92F0695301C6DDB998CC4CC738E9EF09053853688044CF3FF9D908BAE859066A1B2882D83529A17FA41F92D48B1706BAD12D75A3855877A4099D7536F4BA5C90CA0AD15762C1499D0E0334672B5120DD403E102D5E070C2D3658A275887599019B01C97C830CB148888D51F7EA71620B6F1CB5A1D65E04578909764B0E727272E04A8F8599DBB1852DFC37C0BF7D5985475E038FCBB3B61B6B737B42BA51B686FAF2958467AFADA1AEB4B4B4CCE356BB8D0D95452A4A3CBBDDB2C7B34BCFB1CD50AC4FF2B89A9B232255E46708F6C8389AC313161E5FE5AC48CFDC931C1D9EC8131A5D4A81714776B556EB685667445E6EE14EAB29D8E389845473564D53C80273622CB5A12BDE9FB67DDF9A376A6A9237C6126DC20271DEA528B3598AE28B5294210D6D0CED0E280E51F4519CA5FC3CE90BE40B10654951615DAEB175217576287CE33A7B5BB94DD1AFD656BFDF8FC56FAE61D177098B339770FFEA0504AE9CC3C2F8592C7DF43A46C93335378551FF28962E4B903F78094BEF13878F61E9DD2E2C9DE984FC463BE40111819E7A7CFB6A17BEECA3DC7302942E07EE1E7722D05E81408D05BF13EF107F21CAB4963F88BF127F24FE40BC41FC82D761E9694CBF7C0433BD22A69FF762BAB51833DE7C7C72A00057491F4F89C718C5F3C4777819A435DA88E071F42806DBEBD1D9DB89C1830206DDE590EA0B2139F3F06C61114E58AC902A8C78D19C0E89C6F6C6C5E18446830E9309CDC443191968A7F99FD8AAB35BF8DFD6D97F06E2DFC84C141F296B1877889BCA0472307133393EBEAA8AB1DD1B19485E56090F1B44F640E586752B2599AB95AB606B1C22E3EAAE50D032571D243316BB0E4CD4B4051DE47C4825B489FC6D55591B0A56EB1204DE68134592D7A9DAC78C19B975AA017C3419B046AF3766E699DD2B33040DD0D24F60CC230871A569B926EB01810C348EAD18C210E6D4575BDC4293312D2FBFBC55E0196E90570D4E7D42E3BEDA1DC64C93B581A972587001CB86F06ABD737B6A8931CB5CEE55E5553568A00992F6ECAF4F3359ED87113276D5E02C48DA6B2B4B33973B18D6A9CB86C4E2E69DD9567BA3976D7040184D905C939653EEF06E7CC0C8B02D25C66AAF38BCC901654E5D4494C151C1363BC1AC25325A9FDEC8363FE307F58945871EF58D78BD4CFE57A1ACE04FE2CF44DF9374B948A0CA10A5C8D02A01FA17B20064CD0351B3746BF01187F889A13E8FBCCFF3A46BC997407E97AC5E52B4C1797CC459E23C31401715D9A584E22F1BB06976] } END_SDK Add(Edit,10167033,371,63) { Left=55 Top=10 Width=40 Text="22" Alignment=1 DataType=3 Point(doSelectAll) link(onEnter,7147880:doEvent1,[]) } Add(Hub,7147880,420,70) { link(onEvent1,12088416:onSlave,[(694,76)(694,9)]) link(onEvent2,10167033:doSelectAll,[(459,83)(459,109)(363,109)(363,83)]) } Add(Label,7616342,371,21) { Left=15 Top=12 Width=34 Height=17 Caption="Slave:" } Add(RadioButton,7713032,14,49) { Left=15 Top=105 Width=60 Caption="rdXcur" link(onSelect,4306335:doWork2,[(60,55)(60,139)]) } Add(Timer,14764577,217,119) { @Hint=#10:Start INIT| Interval=20 Enable=1 link(onTimer,14283620:doSend,[]) } Add(RadioButton,11751396,14,14) { Left=15 Top=85 Width=60 Caption="rdFREE" link(onSelect,4306335:doWork1,[(65,20)(65,132)]) } Add(Memory,13628942,161,119) { link(onData,14764577:doTimer,[]) } Add(Hub,3491700,161,161) { link(onEvent1,2513880:doWork2,[]) link(onEvent2,15611831:doData,[]) } Add(MultiElementEx,14283620,259,119) { @Hint=#10:HUB-тестер| elink(795938) link(onSend,15018955:doRead,[]) link(onError,2513880:doWork1,[(297,139)(297,167)]) } Add(RadioButton,16545150,14,224) { Left=90 Top=85 Width=85 Caption="Stop+Ecode" link(onSelect,4306335:doWork7,[(62,230)(62,174)]) } Add(ChanelToIndex,4306335,70,126) { Count=7 link(onIndex,16668521:doCompare,[]) } Add(If_else,16668521,112,126) { Type=1 Op2=Integer(6) link(onTrue,13628942:doValue,[(152,132)(152,125)]) link(onFalse,3491700:doEvent1,[(152,139)(152,167)]) } Add(ArrayRW,15018955,308,119) { link(onRead,12249820:doWork2,[]) link(Array,1365776:Array,[]) link(Index,13628942:Value,[(321,108)(200,108)(200,157)(167,157)]) } Add(StrList,1365776,294,49) { Strings=#6:rdFREE|6:rdXcur|7:rdSTATE|6:rdXidx|6:rdVcur|6:rdXref| } Add(TrackBar,7857138,161,273) { Top=233 Width=310 Height=22 Align=4 TabOrder=-1 Max=400 Min=-400 TickCount=25 Point(onStop) link(onStop,9514299:doEvent1,[]) } Add(IndexToChanel,13424965,70,273) { Data=Integer(0) link(onEvent1,3716893:doData,[(118,279)(118,216)]) link(onEvent2,6169283:doEvent1,[]) } Add(ArrayRW,13264164,301,294) { link(onRead,7037302:doWork2,[]) link(Array,728286:Array,[]) link(Index,13197225:Checked,[(314,275)(260,275)(260,318)(20,318)]) } Add(Hub,9514299,217,280) { InCount=2 OutCount=3 link(onEvent1,5863583:doCalc,[]) link(onEvent2,2041720:doCalc,[]) link(onEvent3,13264164:doRead,[]) } Add(HubEx,12249820,350,112) { link(onEvent,13410690:doConvert,[]) } Add(Math,10577077,364,413) { OpType=38 Op2=255 ResultType=0 link(onResult,4904266:doWork3,[(466,419)]) } Add(MathParse,5863583,364,280) { DataCount=1 MathStr="($10000+%1) mod $100" link(onResult,3558037:doWork2,[]) } Add(HubEx,7707514,350,161) { Angle=3 link(onEvent,12249820:doWork3,[]) } Add(DoData,3716893,217,210) { Data=String(PwenOff) link(onEventData,2241764:doWork3,[(270,216)]) } Add(Hub,6169283,112,280) { link(onEvent1,7857138:doPosition2,[]) link(onEvent2,9514299:doEvent2,[]) } Add(StrList,728286,287,203) { Strings=#7:SetUext|6:UextON| } Add(Button,5301595,112,28) { Left=15 Top=55 Width=100 Caption="StaySin" Point(doCaption) link(onClick,735421:doSwitch,[]) } Add(Switch,735421,161,28) { DataOn=String(StayAsin) DataOff=String(StaySin) Point(State) link(onSwitch,7354305:doEvent1,[]) } Add(Button,11339976,112,77) { Left=125 Top=55 Width=40 Caption="Go" link(onClick,4337862:doReplace,[]) } Add(Replace,4337862,161,77) { SubStr="Stay" DestStr="Go" link(onReplace,5289285:doWork3,[(256,83)]) link(Str,735421:State,[(167,73)(167,85)]) } Add(HubEx,5289285,252,28) { link(onEvent,12249820:doWork1,[(354,41)]) } Add(Hub,7354305,210,28) { link(onEvent1,5301595:doCaption,[(254,34)(254,22)(100,22)(100,34)]) link(onEvent2,5289285:doWork2,[]) } Add(Memo,15031279,56,336) { Left=175 Top=10 Width=130 Height=225 Font=[Courier New,8,0,0,204] Strings=#13:164.15=0.2541|7:328.3=0|14:164.15=-0.2541|3:0=0| ScrollBars=3 } Add(RadioButton,1487890,14,84) { Left=15 Top=125 Width=65 Caption="rdSTATE" link(onSelect,4306335:doWork3,[(55,90)(55,146)]) } Add(Button,16131515,14,399) { Left=125 Top=10 Width=40 Height=25 Caption="SetBuf" link(onClick,13923340:doEvent1,[]) } Add(MultiElementEx,13923340,70,399) { link(onSet,821580:doSend,[]) link(onCommand,1076499:doData,[(109,412)(109,349)]) link(onCorrect,15031279:doText,[(110,419)(110,454)(37,454)(37,363)]) link(Array,15031279:Array,[]) link(MAXa,4406054:Text,[(83,391)(377,391)]) } BEGIN_SDK Add(EditMultiEx,5524528,3,3) { WorkCount=#8:doEvent1|6:doStop| EventCount=#5:onSet|9:onCommand|9:onCorrect| VarCount=#6:Repeat| DataCount=#5:Array|4:MAXa| Width=440 Height=228 link(doEvent1,15000017:doEvent1,[(9,9)(9,116)]) link(doStop,4183931:doStop,[(3,144)]) link(Repeat,14697610:Var2,[(209,231)]) } Add(DoData,12100495,385,187) { link(onEventData,5524528:onCorrect,[(443,193)]) link(Data,984795:Text,[]) } Add(ArrayEnum,4183931,70,131) { link(onItem,5270647:doSplit,[]) link(onEndEnum,13222414:doEvent1,[(111,144)(111,186)]) link(Array,5524528:Array,[(76,3)]) } Add(StrPart,5270647,119,131) { Char="=" Point(Left) link(onSplit,5789611:doValue,[]) } Add(GetDataEx,1243672,217,19) { Angle=3 link(Data,14697610:Var3,[(209,28)]) } Add(MathParse,14713002,280,47) { @Hint=#2:Vz| DataCount=3 MathStr="round(%0 + %1*%2/1179648*%3, .00001)" Point(doClear) link(onResult,4611284:doString,[]) link(X1,1243672:Var3,[(286,28)]) link(X2,14935927:Result,[(293,38)(304,38)(304,174)(272,174)]) link(X3,305630:Var2,[]) } Add(Hub,15000017,21,110) { OutCount=4 link(onEvent1,6537448:doClear,[(92,116)(92,60)]) link(onEvent2,14713002:doClear,[(98,123)(98,70)(270,70)(270,60)]) link(onEvent3,984795:doClear,[(106,130)(106,81)]) link(onEvent4,4183931:doEnum,[]) } Add(MathParse,7332567,217,131) { @Hint=#1:T| DataCount=4 MathStr="round(2*(%1-%2)/(%3+%4)/4)" ResultType=0 Point(doClear) link(onResult,14935927:doCalc,[]) link(X1,5270647:Left,[(223,121)(159,121)(159,175)(125,175)]) link(X2,13806688:Var2,[]) link(X4,2245767:Var1,[(244,112)]) } Add(MathParse,14935927,266,131) { @Hint=#1:A| DataCount=4 MathStr="round((%1-%3)/%2*1179648/%4)" ResultType=0 Point(doClear) link(onResult,13466288:doEvent1,[]) link(X1,5789611:Value,[(272,121)(256,121)(256,181)(174,181)]) link(X3,2245767:Var2,[]) link(X4,305630:Var3,[(293,121)(352,121)(352,12)]) } Add(Memory,5789611,168,131) { link(onData,7332567:doCalc,[]) } Add(GetDataEx,2245767,273,103) { link(Data,4234005:Var2,[]) } Add(Hub,13466288,315,131) { link(onEvent1,6537448:doCalc,[(358,137)(358,104)(181,104)(181,53)]) link(onEvent2,5524528:onSet,[(425,144)(425,9)]) } Add(FormatStr,4611284,329,47) { Mask="%2=%1" link(onFString,984795:doAdd,[(373,53)(373,74)]) link(Str2,13806688:Var3,[(342,39)(324,39)(324,98)]) } Add(GetDataEx,13806688,217,89) { link(Data,6537448:Result,[(230,86)(230,86)]) } Add(MathParse,6537448,224,47) { @Hint=#2:Xz| DataCount=4 MathStr="round(%0 + %1*(%3+%2*%1/2359296*%4)*4, .01)" Point(doClear) link(onResult,14713002:doCalc,[]) link(X1,1243672:Var2,[]) link(X3,4234005:Var1,[(244,37)(264,37)(264,91)]) link(X4,12733644:Var2,[(251,32)(251,53)]) } Add(GetDataEx,4234005,273,82) { link(Data,14713002:Result,[]) } Add(StrList,984795,385,68) { } Add(GetDataEx,14697610,196,164) { Angle=1 link(Data,7332567:Result,[(223,173)]) } Add(Hub,13222414,315,180) { link(onEvent1,5524528:onCommand,[(433,186)(433,16)]) link(onEvent2,12100495:doData,[]) } Add(GetDataEx,12733644,238,3) { Angle=3 link(Data,5524528:MAXa,[(16,12)]) } Add(GetDataEx,305630,287,3) { Angle=3 link(Data,12733644:Var3,[]) } END_SDK Add(MultiElementEx,821580,119,399) { @Hint=#10:HUB-тестер| elink(795938) link(onSend,10272837:doWork2,[]) link(onContinue,12341589:doOperation,[]) link(onError,15440704:doWork1,[(165,419)]) } Add(HubEx,7037302,350,287) { Angle=3 link(onEvent,7707514:doWork3,[]) } Add(DoData,1076499,217,343) { Data=String(SetBUF) link(onEventData,7037302:doWork3,[(354,349)]) } Add(HubEx,15440704,161,434) { Angle=2 link(onEvent,13923340:doStop,[(61,447)(61,412)]) } Add(HubEx,10293257,301,441) { Angle=2 link(onEvent,4589552:doStop,[(208,454)(208,419)]) } Add(HubEx,4904266,462,399) { Angle=3 link(onEvent,10272837:doWork3,[]) } Add(HubEx,10272837,462,392) { Angle=3 link(onEvent,7938698:doWork3,[]) } Add(DoData,12951819,420,406) { Data=Integer(128) link(onEventData,4904266:doWork2,[(455,412)]) } Add(Math,12341589,168,406) { OpType=1 Op2=1 ResultType=0 link(onResult,4589552:doFor,[]) link(Op1,13923340:Repeat,[(174,393)(141,393)(141,441)(76,441)]) } Add(HubEx,7938698,462,280) { Angle=3 link(onEvent,3558037:doWork3,[(466,291)]) } Add(For,4589552,217,406) { End=1 Step=-255 InData=0 onBreakEnable=0 Point(onBreak) link(onEvent,2697701:doSend,[]) link(onBreak,15440704:doWork2,[(258,426)(258,447)]) } Add(MathParse,2041720,420,287) { DataCount=1 MathStr="($10000+%1) div $100" link(onResult,7938698:doWork2,[(452,293)]) } Add(MultiElementEx,2697701,266,406) { @Hint=#10:HUB-тестер| elink(795938) link(onSend,12951819:doData,[]) link(onContinue,13220450:doSend,[]) link(onError,10293257:doWork1,[(305,426)]) } Add(MultiElementEx,13220450,315,413) { @Hint=#10:HUB-тестер| elink(795938) link(onSend,10577077:doOperation,[]) link(onError,10293257:doWork2,[(359,433)(359,454)]) } Add(HubEx,2513880,203,154) { Angle=3 link(onEvent,14764577:doStop,[(207,132)]) } Add(DoData,15611831,217,168) { Data=String(rdECODE) link(onEventData,2241764:doWork2,[]) } Add(HubEx,2241764,266,161) { link(onEvent,7707514:doWork2,[(350,174)]) } Add(RadioButton,2681078,14,119) { Left=15 Top=145 Width=65 Caption="rdXidx" link(onSelect,4306335:doWork4,[(51,125)(51,153)]) } Add(RadioButton,14849847,14,154) { Left=15 Top=165 Width=65 Caption="rdVcur" link(onSelect,4306335:doWork5,[(52,160)(52,160)]) } Add(RadioButton,9301272,14,189) { Left=15 Top=185 Width=65 Caption="rdXref" link(onSelect,4306335:doWork6,[(57,195)(57,167)]) } Add(TimeCounter,6740722,420,119) { link(onStart,4658110:doAdd,[]) link(onStop,12005876:doText,[(510,132)(510,90)]) } Add(Hub,12065052,518,119) { link(onEvent1,6740722:doStop,[(559,125)(559,160)(410,160)(410,132)]) link(onEvent2,7273181:doValue,[]) } Add(Label,12005876,518,84) { Left=90 Top=160 Width=80 Color=12632256 Caption="" AutoSize=1 Alignment=1 } Add(Label,3563706,371,182) { Left=15 Top=32 Width=34 Height=17 Caption="MAXa:" ColorHover=16711680 Cursor=2 link(onClick,2000765:doEvent1,[]) } Add(Edit,4406054,371,231) { Left=55 Top=30 Width=40 Text="32" Alignment=1 DataType=1 Point(doSelectAll) link(onEnter,8844739:doEvent1,[]) link(Str,5605127:Var1,[(377,226)]) } Add(Hub,8844739,420,238) { OutCount=3 link(onEvent1,2554731:doWork2,[(462,244)]) link(onEvent2,9200859:doData,[]) link(onEvent3,4406054:doSelectAll,[(458,258)(458,274)(362,274)(362,251)]) } Add(HubEx,2554731,462,231) { link(onEvent,14790473:doWork2,[(525,244)]) } Add(HubEx,3558037,462,273) { Angle=3 link(onEvent,2554731:doWork3,[]) } Add(DoData,9200859,483,245) { Data=String(SetMAXa) link(onEventData,6233000:doWork2,[]) } Add(Button,1959899,420,336) { Left=90 Top=195 Width=80 Caption="Настройки ОС" link(onClick,16003063:doWork1,[]) } Add(ChildForm,16003063,483,336) { link(onEvent1,6233000:doWork3,[(529,342)]) link(onEvent2,14790473:doWork3,[(536,349)]) link(Data1,5605127:Var2,[(489,311)(573,311)]) } BEGIN_SDK Add(EditMulti,15620611,3,3) { EventCount=2 WorkCount=1 DataCount=1 Width=244 Height=151 link(doWork1,14866478:doShowModal,[(3,97)]) } Add(MainForm,14866478,28,63) { Left=35 Top=105 Width=559 Height=256 Caption="Control Parametrs" Visible=1 SavePosName="TwiTest.ini\Form2" Point(doShowModal) link(onCreate,1390503:doEnum,[]) } Add(ChildPanelEx,11552816,147,98) { Mode=1 link(onEvent,15620611:onEvent1,[(237,104)(237,9)]) link(onEvent1,15620611:onEvent2,[(247,111)]) link(Data,15620611:Data1,[(153,3)]) } BEGIN_SDK Add(EditMultiEx,16418103,21,21) { WorkCount=#5:##add| EventCount=#7:onEvent|8:onEvent1| DataCount=#4:Data| Width=412 Point(##add) link(##add,1621289:doSplit,[(21,160)]) } Add(Panel,882741,147,140) { Left=5 Top=5 Width=110 Height=25 BevelInner=0 Point(doColor) Point(doTop) Point(doLeft) } Add(Label,16076211,119,42) { Left=1 Top=1 Width=43 Height=22 Align=5 Hint="READ" Caption="" AutoSize=1 Cursor=2 link(onClick,2327004:doEvent1,[]) } Add(Edit,11120988,105,91) { Left=44 Top=1 Width=70 Height=22 Align=3 Hint="Enter -> WRITE" Text="0" Alignment=1 DataType=2 Point(doSelectAll) link(onEnter,12967839:doEvent1,[]) link(Str,16418103:Data,[(111,21)]) } Add(Hub,12967839,147,98) { OutCount=4 link(onEvent1,5866522:doWork3,[(340,104)]) link(onEvent2,15091500:doRepeat,[]) link(onEvent3,13353649:doStrCat,[]) link(onEvent4,11120988:doSelectAll,[(187,125)(187,134)(95,134)(95,111)]) } Add(StrCat,13353649,196,112) { Str1="Set" link(onStrCat,10617007:doWork3,[(263,118)]) link(Str2,13333996:Var2,[]) } Add(StrCat,3615968,217,42) { Str1="rd" link(onStrCat,10617007:doWork2,[]) link(Str2,13333996:Var1,[(230,30)(209,30)]) } Add(GetDataEx,13333996,196,77) { Angle=3 link(Data,16076211:Caption,[(125,86)]) } Add(Hub,2327004,161,42) { link(onEvent1,3615968:doStrCat,[]) link(onEvent2,11120988:doText,[(203,55)(203,82)(95,82)(95,97)]) } Add(HubEx,10617007,259,35) { Angle=3 link(onEvent,16418103:onEvent,[(263,27)]) } Add(HubEx,5866522,336,35) { link(onEvent,5962696:doValue,[]) } Add(StrPart,1621289,42,154) { Char=";" link(onSplit,348011:doSplit,[]) link(onPart,16076211:doText,[(84,167)(84,48)]) } Add(StrPart,348011,98,154) { Char=";" link(onSplit,882741:doTop,[]) link(onPart,882741:doLeft,[]) } Add(Repeat,15091500,273,105) { Check=1 link(onRepeat,7813496:doEvent1,[]) link(Op1,6611256:Var2,[]) } Add(Math,5729536,371,105) { OpType=8 Op2=256 link(onResult,16418103:onEvent1,[(433,111)]) link(Op1,14680239:Var2,[]) } Add(Memory,5962696,371,42) { } Add(Hub,7813496,322,105) { link(onEvent1,5729536:doOperation,[]) link(onEvent2,184981:doOperation,[(362,118)(362,83)(288,83)(288,48)]) } Add(GetDataEx,14680239,364,84) { link(Data,5962696:Value,[(377,81)(377,81)]) } Add(Math,184981,294,42) { OpType=7 Op2=256 link(onResult,5866522:doWork2,[(336,48)]) link(Op1,6611256:Var3,[(300,34)(279,34)]) } Add(GetDataEx,6611256,266,84) { Angle=1 link(Data,14680239:Var1,[]) } END_SDK Add(StrList,469418,77,28) { Strings=#8:MAXi;5;5|9:MAXf;5;30|9:MAXv;5;55|10:Astop;5;80|10:KFBx;135;5|11:KFBv;135;30|11:KFBa;135;55|11:KFBi;135;80|10:KFFb;265;5|11:KFFv;265;30|11:KFFa;265;55|11:DLTa;265;80| } Add(ArrayEnum,1390503,91,98) { link(onItem,11552816:##add,[]) link(Array,469418:Array,[]) } END_SDK Add(HubEx,6233000,525,238) { Angle=3 link(onEvent,12664671:doWork3,[]) } Add(HubEx,14790473,532,231) { link(onEvent,12088416:onData,[(703,244)]) } Add(DoData,16231717,483,182) { Data=String(rdMAXa) link(onEventData,12664671:doWork2,[]) } Add(Hub,2000765,420,182) { link(onEvent1,16231717:doData,[]) link(onEvent2,4406054:doText,[(459,195)(459,220)(363,220)(363,237)]) } Add(GetDataEx,5605127,560,217) { link(Data,7273181:Value,[(573,165)(573,165)]) } Add(Memory,7273181,567,126) { link(onData,9303806:doConvert,[]) } Add(HubEx,12664671,525,175) { Angle=3 link(onEvent,7707514:doWork1,[(529,174)]) } END_SDK Add(GetDataEx,8944816,238,63) { link(Data,2736972:GetData,[]) } Add(HubEx,14574695,280,77) { link(onEvent,10636487:doEvent1,[]) } Add(HubEx,6399819,287,112) { link(onEvent,11608930:doData,[]) } Add(StrList,10826529,77,21) { Strings=#2:66|2:22|2:24|2:20| } Add(ArrayEnum,16208252,91,84) { link(onItem,11617578:doEvent,[]) link(Array,10826529:Array,[]) } Add(IndexToChanel,11617578,147,84) { Count=4 Point(Index) link(onEvent1,3245698:doSlave,[]) link(onEvent2,15967753:doSlave,[(217,97)(217,153)]) link(onEvent3,5424901:doSlave,[(210,104)(210,209)]) link(onEvent4,16657543:doSlave,[(202,111)(202,265)]) link(Index,16208252:Index,[(153,74)(135,74)(135,126)(104,126)]) } Add(ChildPanelEx,5424901,231,196) { elink(15967753) link(onSlave,12801777:doWork2,[(280,202)]) link(onData,2393143:doWork2,[(287,209)]) link(SendCMD,5769357:Var1,[(237,184)]) } Add(GetDataEx,14736276,238,119) { link(Data,8944816:Var2,[]) } Add(ChildPanelEx,16657543,231,252) { elink(15967753) link(onSlave,12801777:doWork3,[(284,258)]) link(onData,2393143:doWork3,[(291,265)]) link(SendCMD,5769357:Var2,[(237,240)(251,240)]) } Add(HubEx,2552518,280,133) { Angle=3 link(onEvent,14574695:doWork3,[]) } Add(HubEx,12801777,280,189) { Angle=3 link(onEvent,2552518:doWork3,[]) } Add(StyleXP,15058479,28,196) { } Add(HubEx,792470,287,140) { Angle=3 link(onEvent,6399819:doWork3,[]) } Add(HubEx,2393143,287,196) { Angle=3 link(onEvent,792470:doWork3,[]) }