Running: ./testmodel.py --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries/ --ompython_omhome=/usr Modelica_3.2.3_Modelica.StateGraph.Examples.ControlledTanks.conf.json loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 3.2.3+maint.om/package.mo", uses=false) Using package Modelica with version 3.2.3 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 3.2.3+maint.om/package.mo) Using package Complex with version 4.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo) Using package ModelicaServices with version 4.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo) Running command: translateModel(Modelica.StateGraph.Examples.ControlledTanks,tolerance=1e-06,outputFormat="mat",numberOfIntervals=5000,variableFilter="time|tank1.level|tank2.level|shut.on|shut.reset.1.|shut.reset.2.|start.on|start.reset.1.|start.reset.2.|stop.on|stop.reset.1.|stop.reset.2.|tankController.T1.enableFire|tankController.T2.enableFire|tankController.T3.enableFire|tankController.T4.enableFire|tankController.T5.enableFire|tankController.T6.enableFire|tankController.makeProduct.T1.enableFire|tankController.makeProduct.T2.enableFire|tankController.makeProduct.T3.enableFire|tankController.makeProduct.T4.enableFire",fileNamePrefix="Modelica_3.2.3_Modelica.StateGraph.Examples.ControlledTanks") translateModel(Modelica.StateGraph.Examples.ControlledTanks,tolerance=1e-06,outputFormat="mat",numberOfIntervals=5000,variableFilter="time|tank1.level|tank2.level|shut.on|shut.reset.1.|shut.reset.2.|start.on|start.reset.1.|start.reset.2.|stop.on|stop.reset.1.|stop.reset.2.|tankController.T1.enableFire|tankController.T2.enableFire|tankController.T3.enableFire|tankController.T4.enableFire|tankController.T5.enableFire|tankController.T6.enableFire|tankController.makeProduct.T1.enableFire|tankController.makeProduct.T2.enableFire|tankController.makeProduct.T3.enableFire|tankController.makeProduct.T4.enableFire",fileNamePrefix="Modelica_3.2.3_Modelica.StateGraph.Examples.ControlledTanks") Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo): time 0.001205/0.001205, allocations: 109.1 kB / 18.35 MB, free: 4.727 MB / 14.72 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo): time 0.001135/0.001135, allocations: 196.7 kB / 19.29 MB, free: 3.797 MB / 14.72 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 3.2.3+maint.om/package.mo): time 1.25/1.25, allocations: 205.1 MB / 225.2 MB, free: 12.28 MB / 190.1 MB Notification: Performance of FrontEnd - Absyn->SCode: time 2.155e-05/2.166e-05, allocations: 2.5 kB / 282 MB, free: 2.52 MB / 222.1 MB Notification: Performance of NFInst.instantiate(Modelica.StateGraph.Examples.ControlledTanks): time 0.004819/0.004856, allocations: 3.784 MB / 285.8 MB, free: 14.7 MB / 238.1 MB Notification: Performance of NFInst.instExpressions: time 0.003723/0.0086, allocations: 2.436 MB / 288.3 MB, free: 12.25 MB / 238.1 MB Notification: Performance of NFInst.updateImplicitVariability: time 0.0005352/0.009151, allocations: 23.88 kB / 288.3 MB, free: 12.23 MB / 238.1 MB Notification: Performance of NFTyping.typeComponents: time 0.001237/0.01039, allocations: 0.5627 MB / 288.8 MB, free: 11.67 MB / 238.1 MB Notification: Performance of NFTyping.typeBindings: time 0.0009011/0.01135, allocations: 437.8 kB / 289.3 MB, free: 11.24 MB / 238.1 MB Notification: Performance of NFTyping.typeClassSections: time 0.002152/0.01351, allocations: 1.03 MB / 290.3 MB, free: 10.21 MB / 238.1 MB Notification: Performance of NFFlatten.flatten: time 0.001989/0.01551, allocations: 2.044 MB / 292.3 MB, free: 8.168 MB / 238.1 MB Notification: Performance of NFFlatten.resolveConnections: time 0.001316/0.01684, allocations: 1.316 MB / 293.7 MB, free: 6.832 MB / 238.1 MB Notification: Performance of NFEvalConstants.evaluate: time 0.0007795/0.01763, allocations: 0.8414 MB / 294.5 MB, free: 5.988 MB / 238.1 MB Notification: Performance of NFSimplifyModel.simplify: time 0.000657/0.0183, allocations: 0.7899 MB / 295.3 MB, free: 5.195 MB / 238.1 MB Notification: Performance of NFPackage.collectConstants: time 0.0002245/0.01853, allocations: 216 kB / 295.5 MB, free: 4.984 MB / 238.1 MB Notification: Performance of NFFlatten.collectFunctions: time 0.0004305/0.01897, allocations: 307.8 kB / 295.8 MB, free: 4.684 MB / 238.1 MB Notification: Performance of combineBinaries: time 0.001321/0.0203, allocations: 2.183 MB / 298 MB, free: 2.477 MB / 238.1 MB Notification: Performance of replaceArrayConstructors: time 0.0006258/0.02093, allocations: 1.297 MB / 299.3 MB, free: 1.16 MB / 238.1 MB Notification: Performance of NFVerifyModel.verify: time 0.0002223/0.02116, allocations: 239.2 kB / 299.5 MB, free: 0.9258 MB / 238.1 MB Notification: Performance of FrontEnd: time 0.0002366/0.02141, allocations: 143 kB / 299.7 MB, free: 0.7852 MB / 238.1 MB Notification: Model statistics after passing the front-end and creating the data structures used by the back-end: * Number of equations: 333 (326) * Number of variables: 313 (306) Notification: Performance of Bindings: time 0.00567/0.02709, allocations: 6.4 MB / 306.1 MB, free: 10.18 MB / 254.1 MB Notification: Performance of FunctionAlias: time 0.0009302/0.02803, allocations: 1.029 MB / 307.1 MB, free: 9.117 MB / 254.1 MB Notification: Performance of Early Inline: time 0.003801/0.03184, allocations: 4.209 MB / 311.3 MB, free: 4.852 MB / 254.1 MB Notification: Performance of simplify1: time 0.000274/0.03212, allocations: 259.6 kB / 311.6 MB, free: 4.598 MB / 254.1 MB Notification: Performance of Alias: time 0.007121/0.03925, allocations: 6.904 MB / 318.5 MB, free: 13.05 MB / 270.1 MB Notification: Performance of simplify2: time 0.0002458/0.03952, allocations: 171.8 kB / 318.6 MB, free: 12.88 MB / 270.1 MB Notification: Performance of Events: time 0.001126/0.04065, allocations: 1.012 MB / 319.6 MB, free: 11.84 MB / 270.1 MB Notification: Performance of Detect States: time 0.001511/0.04217, allocations: 1.741 MB / 321.4 MB, free: 10.05 MB / 270.1 MB Notification: Performance of Partitioning: time 0.001605/0.04379, allocations: 1.543 MB / 322.9 MB, free: 8.449 MB / 270.1 MB Error: Internal error NBSlice.fillDependencyArray failed because number of flattened indices 1 for dependency shut.on could not be devided by the body size 2 without rest. Error: Internal error NBAdjacency.Matrix.createPseudo failed for: [ARRY] (2) start.reset = {stop.on, shut.on} ($RES_BND_377) Error: Internal error NBAdjacency.Matrix.create failed to create adjacency matrix for system: System Variables (243/253) **************************** (1) [DISC] (1) final Boolean tankController.makeProduct.T1.localCondition = tankController.makeProduct.T1.localCondition (2) [ALGB] (1) protected flow Real tankController.s2.outerStatePort.subgraphStatePort.activeSteps (3) [DISC] (1) Boolean $SEV_29 (4) [DISC] (1) Boolean $SEV_28 (5) [DISC] (1) Boolean $SEV_27 (6) [DISC] (1) Boolean $SEV_26 (7) [DISC] (1) Boolean $SEV_25 (8) [DISC] (1) Boolean $SEV_24 (9) [DISS] (1) protected discrete Real shut.table.combiTimeTable.nextTimeEventScaled (fixed = true, start = 0.0) (10) [DISC] (1) Boolean $SEV_23 (11) [DISC] (1) Boolean $SEV_22 (12) [DISC] (1) Boolean $SEV_21 (13) [DISC] (1) Boolean $SEV_20 (14) [DISC] (1) Boolean $TEV_9 (15) [DISC] (1) Boolean $TEV_8 (16) [DISC] (1) Boolean $TEV_7 (17) [DISC] (1) Boolean $TEV_6 (18) [DISC] (1) Boolean $TEV_5 (19) [DISC] (1) Boolean $TEV_4 (20) [DISC] (1) Boolean $TEV_3 (21) [DISC] (1) Boolean[1] tankController.makeProduct.fillTank2.outPort.reset (22) [DISC] (1) Boolean $TEV_2 (23) [DISC] (1) Boolean $TEV_1 (24) [DISC] (1) Boolean $TEV_0 (25) [DISC] (1) Boolean $TEV_39 (26) [DISC] (1) Boolean $TEV_38 (27) [DISC] (1) Boolean tankController.makeProduct.T4.outPort.set (28) [DISC] (1) Boolean $TEV_37 (29) [DISC] (1) Boolean[1] tankController.makeProduct.wait1.outPort.reset (30) [DISC] (1) Boolean $TEV_36 (31) [DISC] (1) Boolean $TEV_35 (32) [DISC] (1) Boolean $TEV_34 (33) [DISC] (1) Boolean $TEV_33 (34) [DISC] (1) Boolean[1] tankController.makeProduct.fillTank2.inPort.occupied (35) [DISS] (1) protected discrete Real shut.table.combiTimeTable.nextTimeEvent (fixed = true, start = 0.0) (36) [DISC] (1) Boolean $TEV_32 (37) [DISC] (1) Boolean $TEV_31 (38) [ALGB] (1) Real tank1.inflow1.Fi (39) [DISC] (1) Boolean $TEV_30 (40) [DISC] (1) protected Boolean tankController.s1.outerStatePort.localActive = tankController.s1.outerStatePort.localActive (41) [DISC] (1) Boolean $SEV_19 (42) [DISC] (1) Boolean[1] tankController.s1.outPort.reset (43) [DISC] (1) Boolean $SEV_18 (44) [DISC] (1) Boolean tankController.makeProduct.T1.outPort.occupied (45) [DISC] (1) Boolean $SEV_17 (46) [ALGB] (1) protected Real tankController.makeProduct.T4.t_dummy (47) [DISC] (1) Boolean $SEV_16 (48) [ALGB] (1) protected flow Real tankController.makeProduct.wait1.outerStatePort.subgraphStatePort.activeSteps (49) [DISC] (1) Boolean $SEV_15 (50) [DISC] (1) Boolean[1] tankController.makeProduct.wait2.inPort.set (51) [DISC] (1) Boolean tankController.makeProduct.T2.outPort.occupied (52) [DER-] (1) Real $DER.tank2.level (53) [DISC] (2) Boolean[2] $SEV_14[$i1] (54) [DISC] (1) Boolean $SEV_12 (55) [DISC] (1) Boolean $SEV_11 (56) [DISC] (1) protected Boolean tankController.makeProduct.emptyTank2.newActive (57) [DISC] (2) Boolean[2] $SEV_31[$i1] (58) [DISC] (1) Boolean $SEV_10 (59) [DISS] (1) protected Boolean tankController.makeProduct.wait1.oldActive (60) [DISC] (1) Boolean tankController.makeProduct.T1.inPort.available (61) [DISS] (1) protected discrete Real stop.table.combiTimeTable.nextTimeEventScaled (fixed = true, start = 0.0) (62) [DISC] (1) Boolean tankController.T2.outPort.set (63) [DISC] (1) Boolean tankController.T6.outPort.occupied (64) [DISC] (1) Boolean $TEV_29 (65) [DISC] (1) Boolean $TEV_28 (66) [DISC] (1) Boolean $TEV_27 (67) [DISC] (1) Boolean $TEV_26 (68) [DISC] (1) Boolean $TEV_25 (69) [DISC] (1) Boolean tankController.T3.outPort.occupied (70) [DISC] (1) protected Boolean tankController.s2.newActive (71) [DISC] (1) Boolean $TEV_24 (72) [DISC] (1) Boolean tankController.T4.outPort.set (73) [DISC] (1) Boolean start.on (74) [DISC] (1) Boolean $TEV_23 (75) [DISC] (1) Boolean $TEV_22 (76) [DISC] (1) Boolean $TEV_21 (77) [DISS] (1) protected Boolean tankController.makeProduct.wait2.oldActive (78) [DISC] (1) Boolean $TEV_20 (79) [ALGB] (1) protected flow Real tankController.makeProduct.emptyTank2.outerStatePort.subgraphStatePort.activeSteps (80) [DISC] (1) Boolean stop.on (81) [DISS] (1) protected Boolean tankController.makeProduct.emptyTank2.oldActive (82) [DISC] (1) protected Boolean tankController.makeProduct.wait1.newActive (83) [DISC] (1) Boolean[1] tankController.makeProduct.emptyTank2.outPort.reset (84) [DISC] (1) Boolean tankController.T1.inPort.reset (85) [DISC] (2) Boolean[2] tankController.s1.inPort.occupied (86) [DISC] (1) Boolean tankController.makeProduct.T4.outPort.occupied (87) [DISC] (1) protected Boolean tankController.s1.newActive (88) [DISC] (1) protected Boolean tankController.makeProduct.fillTank2.newActive (89) [DISC] (1) Boolean $FUN_9 (90) [DISC] (1) Boolean $FUN_8 (91) [ALGB] (1) protected Real[1] start.table.combiTimeTable.y (92) [DISC] (1) Boolean $FUN_7 (93) [DISC] (1) Boolean tankController.makeProduct.T3.inPort.available (94) [DISC] (1) Boolean $FUN_6 (95) [DISC] (1) Boolean $FUN_5 (96) [DISC] (1) Boolean[1] tankController.makeProduct.fillTank1.inPort.occupied (97) [DISC] (1) Boolean[1] tankController.makeProduct.emptyTank2.inPort.occupied (98) [DISC] (1) Boolean valve2.valveControl (99) [DISC] (1) Boolean valve3.valveControl (100) [DISC] (1) Boolean $FUN_4 (101) [DISC] (1) Boolean $FUN_3 (102) [DISC] (1) Boolean $TEV_19 (103) [DISS] (1) protected Boolean tankController.s2.oldActive (104) [DISC] (1) Boolean tankController.makeProduct.T4.inPort.available (105) [ALGB] (1) Real tankController.makeProduct.T4.t (106) [DISC] (1) Boolean $FUN_2 (107) [DISC] (1) Boolean $TEV_18 (108) [DISC] (1) Boolean $FUN_1 (109) [DISC] (1) Boolean $TEV_17 (110) [DISC] (2) Boolean[2] tankController.s2.outPort.reset (111) [DISC] (1) Boolean $TEV_16 (112) [DISC] (1) Boolean $TEV_15 (113) [DISC] (1) protected Boolean tankController.makeProduct.wait2.newActive (114) [DISC] (1) Boolean[1] tankController.makeProduct.wait2.outPort.available (115) [ALGB] (1) Real $FUN_21 (116) [DISC] (1) Boolean $TEV_14 (117) [DISC] (1) Boolean[1] tankController.emptyTanks.inPort.set (118) [ALGB] (1) Real $FUN_20 (119) [DISC] (1) Boolean $TEV_13 (120) [DISC] (1) Boolean[1] tankController.makeProduct.wait1.outPort.available (121) [DISC] (2) Boolean[2] $SEV_13[$i1] (122) [DISC] (1) Boolean $TEV_12 (123) [DISC] (1) final Boolean tankController.T6.localCondition = tankController.T6.localCondition (124) [DISC] (1) Boolean $TEV_11 (125) [DISC] (1) Boolean $TEV_10 (126) [DISC] (1) protected Boolean tankController.makeProduct.fillTank1.newActive (127) [DISC] (1) Boolean[1] tankController.makeProduct.wait2.outPort.reset (128) [DISS] (1) protected Boolean tankController.s1.oldActive (129) [DISC] (1) Boolean[1] tankController.makeProduct.fillTank1.outPort.reset (130) [DISC] (1) Boolean tankController.T5.inPort.available (131) [DISS] (1) protected Boolean tankController.makeProduct.fillTank2.oldActive (132) [DISC] (1) Boolean tankController.T6.inPort.available (133) [DISS] (1) protected discrete Real start.table.combiTimeTable.nextTimeEventScaled (fixed = true, start = 0.0) (134) [DISC] (2) Boolean[2] stop.reset = {start.on, shut.on} (135) [ALGB] (1) Real $FUN_19 (136) [DISC] (1) Boolean $FUN_18 (137) [DISC] (1) Boolean[1] tankController.makeProduct.wait1.inPort.set (138) [DISC] (1) Boolean $FUN_17 (139) [DISC] (1) Boolean $FUN_16 (140) [DISC] (1) Boolean tankController.makeProduct.T2.enableFire (141) [DISC] (1) Boolean $FUN_15 (142) [DISC] (1) Boolean $FUN_14 (143) [DISC] (1) Boolean tankController.T3.outPort.set (144) [ALGB] (1) protected flow Real tankController.makeProduct.fillTank1.outerStatePort.subgraphStatePort.activeSteps (145) [DISC] (1) Boolean $FUN_13 (146) [DISC] (1) Boolean $FUN_12 (147) [DISC] (1) Boolean[1] tankController.emptyTanks.outPort.available (148) [DISC] (1) Boolean $FUN_11 (149) [DISS] (1) protected Boolean tankController.makeProduct.fillTank1.oldActive (150) [DISC] (1) Boolean[1] tankController.makeProduct.emptyTank2.inPort.set (151) [DISC] (1) Boolean $FUN_10 (152) [ALGB] (1) protected flow Real tankController.makeProduct.wait2.outerStatePort.subgraphStatePort.activeSteps (153) [ALGB] (1) protected flow Real tankController.emptyTanks.outerStatePort.subgraphStatePort.activeSteps (154) [DISC] (1) protected Boolean tankController.makeProduct.wait1.outerStatePort.localActive = tankController.makeProduct.wait1.outerStatePort.localActive (155) [DISC] (1) Boolean $SEV_9 (156) [DISC] (1) Boolean $SEV_8 (157) [DISC] (1) Boolean $SEV_7 (158) [DISC] (1) Boolean[1] tankController.s2.inPort.set (159) [DISC] (1) Boolean $SEV_5 (160) [DISC] (1) Boolean $SEV_4 (161) [DISC] (1) Boolean tankController.makeProduct.T2.outPort.set (162) [DISC] (1) Boolean $SEV_2 (163) [ALGB] (1) flow Real stateGraphRoot.subgraphStatePort.activeSteps (164) [DISC] (1) Boolean $SEV_1 (165) [ALGB] (1) protected Real start.table.realToBoolean.u (166) [DISC] (1) Boolean[1] tankController.makeProduct.resume.set (167) [DISC] (2) Boolean[2] shut.reset = {start.on, stop.on} (168) [DISC] (1) protected Boolean tankController.emptyTanks.newActive (169) [DISC] (1) protected Boolean start.table.realToBoolean.y (170) [DISC] (1) Boolean tankController.T4.inPort.available (171) [DISC] (1) Boolean[1] tankController.makeProduct.fillTank1.inPort.set (172) [DISC] (1) Boolean[1] tankController.makeProduct.wait2.inPort.occupied (173) [DISC] (1) Boolean tankController.T3.inPort.available (174) [DISC] (1) Boolean shut.on (175) [DISC] (1) Boolean tankController.makeProduct.stateGraphRoot.suspend = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.suspend.reset) or false (176) [DISC] (1) protected Boolean tankController.s2.outerStatePort.localActive = tankController.s2.outerStatePort.localActive (177) [DISC] (1) Boolean[1] tankController.makeProduct.fillTank2.outPort.available (178) [DISC] (1) Boolean tankController.makeProduct.outPort.available (179) [ALGB] (1) flow Real tankController.makeProduct.outerState.subgraphStatePort.activeSteps (180) [DISC] (1) Boolean tankController.makeProduct.T2.inPort.available (181) [ALGB] (1) protected flow Real tankController.makeProduct.fillTank2.outerStatePort.subgraphStatePort.activeSteps (182) [DISS] (1) protected Boolean tankController.emptyTanks.oldActive (183) [DISC] (1) Boolean tankController.T6.outPort.set (184) [DISC] (1) Boolean[1] tankController.makeProduct.resume.occupied (185) [DISC] (1) Boolean tankController.T1.outPort.occupied (186) [DISC] (1) protected Boolean tankController.makeProduct.fillTank2.outerStatePort.localActive = tankController.makeProduct.fillTank2.outerStatePort.localActive (187) [DISC] (1) protected Boolean tankController.makeProduct.fillTank1.outerStatePort.localActive = tankController.makeProduct.fillTank1.outerStatePort.localActive (188) [DISC] (1) protected Boolean tankController.makeProduct.newActive (189) [DISC] (1) Boolean tankController.T2.outPort.occupied (190) [DISC] (1) Boolean[1] tankController.emptyTanks.outPort.reset (191) [DISC] (1) Boolean tankController.T5.outPort.occupied (192) [DISC] (1) Boolean tankController.makeProduct.stateGraphRoot.resume = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.resume.set) or false (193) [ALGB] (1) protected Real stop.table.realToBoolean.u (194) [DISC] (1) Boolean tankController.T4.outPort.occupied (195) [DISC] (2) Boolean[2] tankController.s2.outPort.available (196) [DISC] (1) Boolean[1] tankController.s1.outPort.available (197) [DISC] (1) protected Boolean stop.table.realToBoolean.y (198) [ALGB] (1) protected Real[1] stop.table.combiTimeTable.y (199) [DISC] (1) Boolean tankController.makeProduct.T1.outPort.set (200) [ALGB] (1) flow Real tankController.makeProduct.stateGraphRoot.subgraphStatePort.activeSteps (201) [DISC] (1) protected Integer tankController.makeProduct.activeSteps (202) [ALGB] (1) Real tank2.inflow1.Fi (203) [ALGB] (1) protected flow Real tankController.s1.outerStatePort.subgraphStatePort.activeSteps (204) [DISC] (1) Boolean tankController.makeProduct.T3.outPort.occupied (205) [DISC] (1) Boolean tankController.makeProduct.T3.outPort.set (206) [DISC] (1) Boolean[1] tankController.emptyTanks.inPort.occupied (207) [DISC] (1) Boolean[1] tankController.makeProduct.fillTank1.outPort.available (208) [DISC] (2) Boolean[2] tankController.s1.inPort.set (209) [DISC] (1) final Boolean tankController.makeProduct.T3.localCondition = tankController.makeProduct.T3.localCondition (210) [DISC] (1) Boolean tankController.makeProduct.T4.enableFire (211) [DISC] (1) Boolean tankController.T1.inPort.available (212) [DISC] (1) Boolean[1] tankController.makeProduct.wait1.inPort.occupied (213) [ALGB] (1) Real tankController.makeProduct.T2.t (214) [DISC] (1) protected Boolean tankController.makeProduct.emptyTank2.outerStatePort.localActive = tankController.makeProduct.emptyTank2.outerStatePort.localActive (215) [ALGB] (1) protected Real tankController.makeProduct.T2.t_dummy (216) [DISC] (1) Boolean $SEV_38 (217) [DISC] (1) Boolean $SEV_37 (218) [DISC] (1) Boolean $SEV_36 (219) [DISC] (1) final Boolean tankController.T2.localCondition = tankController.T2.localCondition (220) [DISC] (1) Boolean $SEV_35 (221) [DISC] (1) Boolean[1] tankController.makeProduct.emptyTank2.outPort.available (222) [DISC] (1) Boolean $SEV_34 (223) [DISC] (1) Boolean[1] tankController.makeProduct.fillTank2.inPort.set (224) [DISC] (1) Boolean $SEV_33 (225) [DISC] (1) Boolean $SEV_32 (226) [DISC] (1) Boolean $SEV_30 (227) [ALGB] (1) Real valve3.inflow1.Fi (228) [DISS] (1) protected discrete Real start.table.combiTimeTable.nextTimeEvent (fixed = true, start = 0.0) (229) [DISC] (1) Boolean[1] tankController.makeProduct.suspend.reset (230) [ALGB] (1) protected Real[1] shut.table.combiTimeTable.y (231) [ALGB] (1) protected Real shut.table.realToBoolean.u (232) [DISC] (1) Boolean tankController.makeProduct.outerState.active = tankController.makeProduct.outerState.active (233) [DISC] (1) protected Boolean tankController.emptyTanks.outerStatePort.localActive = tankController.emptyTanks.outerStatePort.localActive (234) [DISC] (1) protected Boolean shut.table.realToBoolean.y (235) [DISC] (1) protected Boolean tankController.makeProduct.wait2.outerStatePort.localActive = tankController.makeProduct.wait2.outerStatePort.localActive (236) [DISC] (1) Boolean tankController.T5.outPort.set (237) [DER-] (1) Real $DER.tank1.level (238) [DISC] (2) Boolean[2] start.reset = {stop.on, shut.on} (239) [DISC] (1) Boolean[1] tankController.s2.inPort.occupied (240) [DISS] (1) protected discrete Real stop.table.combiTimeTable.nextTimeEvent (fixed = true, start = 0.0) (241) [DISC] (1) Boolean[1] tankController.makeProduct.suspend.available (242) [DISC] (1) Integer stateGraphRoot.activeSteps (243) [DISC] (1) Boolean $TEV_40 System Equations (263/273) **************************** (1) [SCAL] (1) tankController.makeProduct.wait2.outerStatePort.subgraphStatePort.activeSteps = if tankController.makeProduct.wait2.outerStatePort.localActive then 1.0 else 0.0 ($RES_SIM_171) (2) [SCAL] (1) tankController.makeProduct.T2.enableFire = $SEV_23 ($RES_SIM_174) (3) [SCAL] (1) $SEV_22 = ($FUN_11 or tankController.makeProduct.wait2.outerStatePort.localActive and not $FUN_12) and not tankController.makeProduct.stateGraphRoot.suspend ($RES_EVT_470) (4) [SCAL] (1) tankController.makeProduct.T2.outPort.set = $SEV_24 ($RES_SIM_175) (5) [SCAL] (1) $SEV_23 = tankController.makeProduct.T2.inPort.available and not tankController.makeProduct.T2.outPort.occupied ($RES_EVT_471) (6) [SCAL] (1) tankController.makeProduct.T2.t = if tankController.makeProduct.T2.enableFire then tankController.makeProduct.T2.t_dummy else 0.0 ($RES_SIM_176) (7) [SCAL] (1) $SEV_24 = tankController.makeProduct.T2.enableFire and time >= ((time - tankController.makeProduct.T2.t_dummy) + tankController.makeProduct.T2.waitTime) ($RES_EVT_472) (8) [SCAL] (1) $SEV_25 = ($FUN_9 or tankController.makeProduct.wait1.outerStatePort.localActive and not $FUN_10) and not tankController.makeProduct.stateGraphRoot.suspend ($RES_EVT_473) (9) [WHEN] (1)when tankController.makeProduct.T2.enableFire then (9) [----] time - tankController.makeProduct.T2.t_dummy := time (9) [----] end when; (10) [SCAL] (1) $SEV_26 = ($FUN_7 or tankController.makeProduct.emptyTank2.outerStatePort.localActive and not $FUN_8) and not tankController.makeProduct.stateGraphRoot.suspend ($RES_EVT_474) (11) [SCAL] (1) tankController.makeProduct.wait1.outPort[1].reset = false ($RES_SIM_179) (12) [SCAL] (1) $SEV_27 = (tankController.makeProduct.T3.localCondition and tankController.makeProduct.T3.inPort.available) and not tankController.makeProduct.T3.outPort.occupied ($RES_EVT_475) (13) [SCAL] (1) $SEV_28 = ($FUN_5 or tankController.makeProduct.fillTank2.outerStatePort.localActive and not $FUN_6) and not tankController.makeProduct.stateGraphRoot.suspend ($RES_EVT_476) (14) [SCAL] (1) $SEV_29 = (tankController.makeProduct.T1.localCondition and tankController.makeProduct.T1.inPort.available) and not tankController.makeProduct.T1.outPort.occupied ($RES_EVT_477) (15) [SCAL] (1) $SEV_30 = ($FUN_3 or tankController.makeProduct.fillTank1.outerStatePort.localActive and not $FUN_4) and not tankController.makeProduct.stateGraphRoot.suspend ($RES_EVT_478) (16) [FOR-] (2) ($RES_EVT_479) (16) [----] for $i1 in 1:2 loop (16) [----] [SCAL] (1) $SEV_31[$i1] = tankController.s1.inPort[$i1 - 1].occupied or tankController.s1.inPort[$i1 - 1].set ($RES_EVT_480) (16) [----] end for; (17) [SCAL] (1) shut.table.combiTimeTable.y[1] = shut.table.realToBoolean.u ($RES_SIM_263) (18) [SCAL] (1) stop.table.combiTimeTable.y[1] = stop.table.realToBoolean.u ($RES_SIM_265) (19) [SCAL] (1) start.table.combiTimeTable.y[1] = start.table.realToBoolean.u ($RES_SIM_267) (20) [SCAL] (1) tankController.T6.outPort.set = tankController.s1.inPort[2].set ($RES_SIM_268) (21) [SCAL] (1) tankController.T6.outPort.occupied = tankController.s1.inPort[2].occupied ($RES_SIM_269) (22) [SCAL] (1) tankController.makeProduct.wait1.inPort[1].set = false ($RES_SIM_180) (23) [SCAL] (1) tankController.makeProduct.wait1.outPort[1].available = tankController.makeProduct.wait1.outerStatePort.localActive ($RES_SIM_181) (24) [SCAL] (1) tankController.makeProduct.wait1.inPort[1].occupied = tankController.makeProduct.wait1.outerStatePort.localActive ($RES_SIM_182) (25) [WHEN] (1)when tankController.makeProduct.stateGraphRoot.suspend then (25) [----] tankController.makeProduct.wait1.oldActive := tankController.makeProduct.wait1.outerStatePort.localActive (25) [----] end when; (26) [SCAL] (1) tankController.makeProduct.wait1.newActive = if tankController.makeProduct.stateGraphRoot.resume then tankController.makeProduct.wait1.oldActive else $SEV_25 ($RES_SIM_184) (27) [SCAL] (1) tankController.makeProduct.wait1.outerStatePort.localActive = $TEV_23 ($RES_SIM_185) (28) [SCAL] (1) $SEV_32 = $FUN_1 or tankController.s1.outerStatePort.localActive and not $FUN_2 ($RES_EVT_481) (29) [SCAL] (1) $SEV_33 = tankController.makeProduct.emptyTank2.outerStatePort.localActive or tankController.emptyTanks.outerStatePort.localActive ($RES_EVT_482) (30) [SCAL] (1) tankController.makeProduct.wait1.outerStatePort.subgraphStatePort.activeSteps = if tankController.makeProduct.wait1.outerStatePort.localActive then 1.0 else 0.0 ($RES_SIM_187) (31) [SCAL] (1) $SEV_34 = tankController.makeProduct.fillTank2.outerStatePort.localActive or tankController.emptyTanks.outerStatePort.localActive ($RES_EVT_483) (32) [SCAL] (1) tankController.makeProduct.emptyTank2.outPort[1].reset = false ($RES_SIM_188) (33) [SCAL] (1) $SEV_35 = tank2.level + tank1.level < 0.001 ($RES_EVT_484) (34) [SCAL] (1) tankController.makeProduct.emptyTank2.inPort[1].set = false ($RES_SIM_189) (35) [SCAL] (1) $SEV_36 = tank2.level < 0.001 ($RES_EVT_485) (36) [SCAL] (1) $SEV_37 = tank1.level < 0.001 ($RES_EVT_486) (37) [SCAL] (1) $SEV_38 = tank1.level > tankController.makeProduct.limit ($RES_EVT_487) (38) [SCAL] (1) tankController.T2.outPort.set = tankController.s1.inPort[1].set ($RES_SIM_270) (39) [SCAL] (1) tankController.T2.outPort.occupied = tankController.s1.inPort[1].occupied ($RES_SIM_271) (40) [SCAL] (1) tankController.s2.outPort[2].reset = tankController.T4.outPort.set ($RES_SIM_272) (41) [SCAL] (1) tankController.s2.outPort[2].available = tankController.T4.inPort.available ($RES_SIM_273) (42) [SCAL] (1) tankController.s2.outPort[1].reset = tankController.T5.outPort.set ($RES_SIM_274) (43) [SCAL] (1) tankController.s2.outPort[1].available = tankController.T5.inPort.available ($RES_SIM_275) (44) [SCAL] (1) tankController.T4.outPort.set = tankController.makeProduct.resume[1].set ($RES_SIM_277) (45) [SCAL] (1) tankController.T4.outPort.occupied = tankController.makeProduct.resume[1].occupied ($RES_SIM_278) (46) [SCAL] (1) tankController.T3.outPort.set = tankController.s2.inPort[1].set ($RES_SIM_279) (47) [SCAL] (1) tankController.makeProduct.emptyTank2.outPort[1].available = tankController.makeProduct.emptyTank2.outerStatePort.localActive ($RES_SIM_190) (48) [SCAL] (1) tankController.makeProduct.emptyTank2.inPort[1].occupied = tankController.makeProduct.emptyTank2.outerStatePort.localActive ($RES_SIM_191) (49) [WHEN] (1)when tankController.makeProduct.stateGraphRoot.suspend then (49) [----] tankController.makeProduct.emptyTank2.oldActive := tankController.makeProduct.emptyTank2.outerStatePort.localActive (49) [----] end when; (50) [SCAL] (1) tankController.makeProduct.emptyTank2.newActive = if tankController.makeProduct.stateGraphRoot.resume then tankController.makeProduct.emptyTank2.oldActive else $SEV_26 ($RES_SIM_193) (51) [SCAL] (1) tankController.makeProduct.emptyTank2.outerStatePort.localActive = $TEV_26 ($RES_SIM_194) (52) [SCAL] (1) tankController.makeProduct.emptyTank2.outerStatePort.subgraphStatePort.activeSteps = if tankController.makeProduct.emptyTank2.outerStatePort.localActive then 1.0 else 0.0 ($RES_SIM_196) (53) [SCAL] (1) tankController.makeProduct.T3.outPort.set = $SEV_27 ($RES_SIM_199) (54) [SCAL] (1) tankController.T3.outPort.occupied = tankController.s2.inPort[1].occupied ($RES_SIM_280) (55) [SCAL] (1) tankController.makeProduct.suspend[1].reset = tankController.T3.outPort.set ($RES_SIM_281) (56) [SCAL] (1) tankController.makeProduct.suspend[1].available = tankController.T3.inPort.available ($RES_SIM_282) (57) [SCAL] (1) $FUN_1 = Modelica.StateGraph.Temporary.anyTrue(tankController.s1.inPort.set) ($RES_$AUX_402) (58) [SCAL] (1) $FUN_2 = Modelica.StateGraph.Temporary.anyTrue(tankController.s1.outPort.reset) ($RES_$AUX_401) (59) [SCAL] (1) $FUN_3 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.fillTank1.inPort.set) ($RES_$AUX_400) (60) [SCAL] (1) tankController.emptyTanks.outPort[1].reset = tankController.T6.outPort.set ($RES_SIM_286) (61) [SCAL] (1) tankController.emptyTanks.outPort[1].available = tankController.T6.inPort.available ($RES_SIM_287) (62) [SCAL] (1) tankController.T5.outPort.set = tankController.emptyTanks.inPort[1].set ($RES_SIM_288) (63) [SCAL] (1) tankController.T5.outPort.occupied = tankController.emptyTanks.inPort[1].occupied ($RES_SIM_289) (64) [SCAL] (1) tankController.s1.outPort[1].reset = tankController.T1.inPort.reset ($RES_SIM_294) (65) [SCAL] (1) tankController.s1.outPort[1].available = tankController.T1.inPort.available ($RES_SIM_295) (66) [SCAL] (1) tankController.makeProduct.T4.outPort.set = tankController.makeProduct.emptyTank2.inPort[1].set ($RES_SIM_296) (67) [SCAL] (1) tankController.makeProduct.T4.outPort.occupied = tankController.makeProduct.emptyTank2.inPort[1].occupied ($RES_SIM_297) (68) [SCAL] (1) tankController.makeProduct.T3.outPort.set = tankController.makeProduct.wait2.inPort[1].set ($RES_SIM_298) (69) [SCAL] (1) tankController.makeProduct.T3.outPort.occupied = tankController.makeProduct.wait2.inPort[1].occupied ($RES_SIM_299) (70) [ALGO] (1) ($RES_SIM_43) (70) [----] shut.on := shut.table.realToBoolean.y; (70) [----] when $PRE.shut.reset then (70) [----] shut.on := false; (70) [----] end when; (71) [ALGO] (1) ($RES_SIM_44) (71) [----] stop.on := stop.table.realToBoolean.y; (71) [----] when $PRE.stop.reset then (71) [----] stop.on := false; (71) [----] end when; (72) [ALGO] (1) ($RES_SIM_45) (72) [----] start.on := start.table.realToBoolean.y; (72) [----] when $PRE.start.reset then (72) [----] start.on := false; (72) [----] end when; (73) [SCAL] (1) stateGraphRoot.activeSteps = -integer(stateGraphRoot.subgraphStatePort.activeSteps) ($RES_SIM_49) (74) [-IF-] (1)if tankController.makeProduct.fillTank1.outerStatePort.localActive then (74) [----] [SCAL] (1) tank1.inflow1.Fi = source.maxflow ($RES_SIM_55) (74) [----] else (74) [----] [SCAL] (1) tank1.inflow1.Fi = 0.0 ($RES_SIM_56) (74) [----] end if; (75) [SCAL] (1) tankController.emptyTanks.outerStatePort.localActive = $TEV_6 ($RES_SIM_100) (76) [SCAL] (1) tankController.emptyTanks.outerStatePort.subgraphStatePort.activeSteps = if tankController.emptyTanks.outerStatePort.localActive then 1.0 else 0.0 ($RES_SIM_102) (77) [SCAL] (1) tankController.T5.outPort.set = $SEV_11 ($RES_SIM_105) (78) [SCAL] (1) $TEV_0 = $PRE.shut.reset ($RES_EVT_405) (79) [SCAL] (1) $TEV_1 = $PRE.stop.reset ($RES_EVT_406) (80) [SCAL] (1) $TEV_2 = $PRE.start.reset ($RES_EVT_407) (81) [-IF-] (1)if valve3.valveControl then (81) [----] [SCAL] (1) valve3.inflow1.Fi = sqrt(max(0.0, tank2.hmax * 19.6133 * tank2.level)) * tank2.a ($RES_SIM_61) (81) [----] else (81) [----] [SCAL] (1) valve3.inflow1.Fi = 0.0 ($RES_SIM_62) (81) [----] end if; (82) [SCAL] (1) $TEV_3 = $PRE.tankController.T6.outPort.set ($RES_EVT_408) (83) [SCAL] (1) $TEV_4 = $PRE.tankController.emptyTanks.oldActive ($RES_EVT_409) (84) [SCAL] (1) $DER.tank2.level = (tank2.inflow1.Fi - valve3.inflow1.Fi) / (tank2.A * tank2.hmax) ($RES_SIM_63) (85) [-IF-] (1)if valve2.valveControl then (85) [----] [SCAL] (1) tank2.inflow1.Fi = sqrt(max(0.0, tank1.hmax * 19.6133 * tank1.level)) * tank1.a ($RES_SIM_66) (85) [----] else (85) [----] [SCAL] (1) tank2.inflow1.Fi = 0.0 ($RES_SIM_67) (85) [----] end if; (86) [SCAL] (1) $DER.tank1.level = (tank1.inflow1.Fi - tank2.inflow1.Fi) / (tank1.A * tank1.hmax) ($RES_SIM_68) (87) [SCAL] (1) tankController.T4.outPort.set = $SEV_12 ($RES_SIM_112) (88) [SCAL] (1) $TEV_5 = $PRE.tankController.emptyTanks.outerStatePort.localActive ($RES_EVT_410) (89) [SCAL] (1) $TEV_6 = $PRE.tankController.emptyTanks.newActive ($RES_EVT_411) (90) [SCAL] (1) $TEV_7 = $PRE.tankController.T5.outPort.set ($RES_EVT_412) (91) [FOR-] (2) ($RES_SIM_117) (91) [----] for $i1 in 1:2 loop (91) [----] [SCAL] (1) tankController.s2.outPort[$i1].reset = false ($RES_SIM_118) (91) [----] end for; (92) [SCAL] (1) $TEV_8 = $PRE.tankController.T4.outPort.set ($RES_EVT_413) (93) [SCAL] (1) $TEV_9 = $PRE.tankController.s2.oldActive ($RES_EVT_414) (94) [SCAL] (1) tankController.s2.inPort[1].set = false ($RES_SIM_119) (95) [SCAL] (1) $TEV_10 = $PRE.tankController.s2.outerStatePort.localActive ($RES_EVT_415) (96) [SCAL] (1) $TEV_11 = $PRE.tankController.s2.newActive ($RES_EVT_416) (97) [SCAL] (1) $TEV_12 = $PRE.tankController.T3.outPort.set ($RES_EVT_417) (98) [SCAL] (1) shut.table.realToBoolean.y = $SEV_1 ($RES_SIM_70) (99) [SCAL] (1) $TEV_13 = $PRE.tankController.T2.outPort.set ($RES_EVT_418) (100) [SCAL] (1) shut.table.combiTimeTable.y[1] = shut.table.combiTimeTable.p_offset[1] + $FUN_21 ($RES_SIM_71) (101) [SCAL] (1) $TEV_14 = $PRE.tankController.T1.inPort.reset ($RES_EVT_419) (102) [WHEN] (1)when {$SEV_2, initial()} then (102) [----] shut.table.combiTimeTable.nextTimeEventScaled := Modelica.Blocks.Tables.Internal.getNextTimeEvent(shut.table.combiTimeTable.tableID, time) (102) [----] end when; (103) [WHEN] (1)when {$SEV_2, initial()} then (103) [----] shut.table.combiTimeTable.nextTimeEvent := if shut.table.combiTimeTable.nextTimeEventScaled < 1e60 then shut.table.combiTimeTable.nextTimeEventScaled else 1e60 (103) [----] end when; (104) [SCAL] (1) stop.table.realToBoolean.y = $SEV_4 ($RES_SIM_76) (105) [SCAL] (1) tankController.makeProduct.fillTank2.outPort[1].reset = false ($RES_SIM_204) (106) [SCAL] (1) stop.table.combiTimeTable.y[1] = stop.table.combiTimeTable.p_offset[1] + $FUN_20 ($RES_SIM_77) (107) [SCAL] (1) tankController.makeProduct.fillTank2.inPort[1].set = false ($RES_SIM_205) (108) [WHEN] (1)when {$SEV_5, initial()} then (108) [----] stop.table.combiTimeTable.nextTimeEvent := if stop.table.combiTimeTable.nextTimeEventScaled < 1e60 then stop.table.combiTimeTable.nextTimeEventScaled else 1e60 (108) [----] end when; (109) [SCAL] (1) tankController.makeProduct.fillTank2.outPort[1].available = tankController.makeProduct.fillTank2.outerStatePort.localActive ($RES_SIM_206) (110) [WHEN] (1)when {$SEV_5, initial()} then (110) [----] stop.table.combiTimeTable.nextTimeEventScaled := Modelica.Blocks.Tables.Internal.getNextTimeEvent(stop.table.combiTimeTable.tableID, time) (110) [----] end when; (111) [SCAL] (1) tankController.makeProduct.fillTank2.inPort[1].occupied = tankController.makeProduct.fillTank2.outerStatePort.localActive ($RES_SIM_207) (112) [WHEN] (1)when tankController.makeProduct.stateGraphRoot.suspend then (112) [----] tankController.makeProduct.fillTank2.oldActive := tankController.makeProduct.fillTank2.outerStatePort.localActive (112) [----] end when; (113) [SCAL] (1) tankController.makeProduct.fillTank2.newActive = if tankController.makeProduct.stateGraphRoot.resume then tankController.makeProduct.fillTank2.oldActive else $SEV_28 ($RES_SIM_209) (114) [SCAL] (1) $FUN_4 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.fillTank1.outPort.reset) ($RES_$AUX_399) (115) [SCAL] (1) $FUN_5 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.fillTank2.inPort.set) ($RES_$AUX_398) (116) [SCAL] (1) $FUN_6 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.fillTank2.outPort.reset) ($RES_$AUX_397) (117) [SCAL] (1) $FUN_7 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.emptyTank2.inPort.set) ($RES_$AUX_396) (118) [SCAL] (1) $FUN_8 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.emptyTank2.outPort.reset) ($RES_$AUX_395) (119) [SCAL] (1) $FUN_9 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.wait1.inPort.set) ($RES_$AUX_394) (120) [SCAL] (1) $FUN_10 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.wait1.outPort.reset) ($RES_$AUX_393) (121) [SCAL] (1) $FUN_11 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.wait2.inPort.set) ($RES_$AUX_392) (122) [SCAL] (1) $FUN_12 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.wait2.outPort.reset) ($RES_$AUX_391) (123) [SCAL] (1) $FUN_13 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.suspend.reset) ($RES_$AUX_390) (124) [FOR-] (2) ($RES_SIM_120) (124) [----] for $i1 in 1:2 loop (124) [----] [SCAL] (1) tankController.s2.outPort[$i1].available = if $SEV_13[$i1] then tankController.s2.outerStatePort.localActive else $SEV_14[$i1] ($RES_SIM_121) (124) [----] end for; (125) [SCAL] (1) tankController.s2.inPort[1].occupied = tankController.s2.outerStatePort.localActive ($RES_SIM_122) (126) [WHEN] (1)when false then (126) [----] tankController.s2.oldActive := tankController.s2.outerStatePort.localActive (126) [----] end when; (127) [SCAL] (1) $TEV_15 = $PRE.tankController.makeProduct.newActive ($RES_EVT_420) (128) [SCAL] (1) tankController.s2.newActive = $SEV_15 ($RES_SIM_124) (129) [SCAL] (1) $TEV_16 = $PRE.tankController.makeProduct.T4.enableFire ($RES_EVT_421) (130) [SCAL] (1) tankController.s2.outerStatePort.localActive = $TEV_11 ($RES_SIM_125) (131) [SCAL] (1) $TEV_17 = $PRE.tankController.makeProduct.wait2.oldActive ($RES_EVT_422) (132) [SCAL] (1) $TEV_18 = $PRE.tankController.makeProduct.wait2.outerStatePort.localActive ($RES_EVT_423) (133) [SCAL] (1) tankController.s2.outerStatePort.subgraphStatePort.activeSteps = if tankController.s2.outerStatePort.localActive then 1.0 else 0.0 ($RES_SIM_127) (134) [SCAL] (1) $TEV_19 = $PRE.tankController.makeProduct.wait2.newActive ($RES_EVT_424) (135) [SCAL] (1) $TEV_20 = $PRE.tankController.makeProduct.T2.enableFire ($RES_EVT_425) (136) [SCAL] (1) $TEV_21 = $PRE.tankController.makeProduct.wait1.oldActive ($RES_EVT_426) (137) [SCAL] (1) $TEV_22 = $PRE.tankController.makeProduct.wait1.outerStatePort.localActive ($RES_EVT_427) (138) [SCAL] (1) $TEV_23 = $PRE.tankController.makeProduct.wait1.newActive ($RES_EVT_428) (139) [SCAL] (1) $TEV_24 = $PRE.tankController.makeProduct.emptyTank2.oldActive ($RES_EVT_429) (140) [SCAL] (1) tankController.makeProduct.fillTank2.outerStatePort.localActive = $TEV_30 ($RES_SIM_210) (141) [SCAL] (1) start.table.realToBoolean.y = $SEV_7 ($RES_SIM_82) (142) [SCAL] (1) start.table.combiTimeTable.y[1] = start.table.combiTimeTable.p_offset[1] + $FUN_19 ($RES_SIM_83) (143) [SCAL] (1) tankController.makeProduct.fillTank2.outerStatePort.subgraphStatePort.activeSteps = if tankController.makeProduct.fillTank2.outerStatePort.localActive then 1.0 else 0.0 ($RES_SIM_212) (144) [WHEN] (1)when {$SEV_8, initial()} then (144) [----] start.table.combiTimeTable.nextTimeEventScaled := Modelica.Blocks.Tables.Internal.getNextTimeEvent(start.table.combiTimeTable.tableID, time) (144) [----] end when; (145) [WHEN] (1)when {$SEV_8, initial()} then (145) [----] start.table.combiTimeTable.nextTimeEvent := if start.table.combiTimeTable.nextTimeEventScaled < 1e60 then start.table.combiTimeTable.nextTimeEventScaled else 1e60 (145) [----] end when; (146) [SCAL] (1) tankController.makeProduct.T1.outPort.set = $SEV_29 ($RES_SIM_215) (147) [SCAL] (1) tankController.T6.outPort.set = $SEV_9 ($RES_SIM_89) (148) [SCAL] (1) tankController.makeProduct.stateGraphRoot.suspend = $FUN_13 ($RES_BND_344) (149) [SCAL] (1) $FUN_14 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.resume.set) ($RES_$AUX_389) (150) [SCAL] (1) tankController.makeProduct.stateGraphRoot.resume = $FUN_14 ($RES_BND_345) (151) [SCAL] (1) $FUN_15 = Modelica.StateGraph.Temporary.anyTrue(tankController.s2.inPort.set) ($RES_$AUX_388) (152) [SCAL] (1) $FUN_16 = Modelica.StateGraph.Temporary.anyTrue(tankController.s2.outPort.reset) ($RES_$AUX_387) (153) [SCAL] (1) $FUN_17 = Modelica.StateGraph.Temporary.anyTrue(tankController.emptyTanks.inPort.set) ($RES_$AUX_386) (154) [SCAL] (1) tankController.makeProduct.T1.localCondition = $SEV_38 ($RES_BND_348) (155) [SCAL] (1) $FUN_18 = Modelica.StateGraph.Temporary.anyTrue(tankController.emptyTanks.outPort.reset) ($RES_$AUX_385) (156) [SCAL] (1) tankController.makeProduct.wait2.outPort[1].reset = tankController.makeProduct.T4.outPort.set ($RES_SIM_300) (157) [SCAL] (1) $FUN_19 = Modelica.Blocks.Tables.Internal.getTimeTableValueNoDer(start.table.combiTimeTable.tableID, 1, time, start.table.combiTimeTable.nextTimeEventScaled, $TEV_38) ($RES_$AUX_384) (158) [SCAL] (1) tankController.makeProduct.wait2.outPort[1].available = tankController.makeProduct.T4.inPort.available ($RES_SIM_301) (159) [SCAL] (1) $FUN_20 = Modelica.Blocks.Tables.Internal.getTimeTableValueNoDer(stop.table.combiTimeTable.tableID, 1, time, stop.table.combiTimeTable.nextTimeEventScaled, $TEV_39) ($RES_$AUX_383) (160) [SCAL] (1) tankController.makeProduct.T1.outPort.set = tankController.makeProduct.wait1.inPort[1].set ($RES_SIM_302) (161) [SCAL] (1) $FUN_21 = Modelica.Blocks.Tables.Internal.getTimeTableValueNoDer(shut.table.combiTimeTable.tableID, 1, time, shut.table.combiTimeTable.nextTimeEventScaled, $TEV_40) ($RES_$AUX_382) (162) [SCAL] (1) tankController.makeProduct.T1.outPort.occupied = tankController.makeProduct.wait1.inPort[1].occupied ($RES_SIM_303) (163) [SCAL] (1) tankController.makeProduct.T2.outPort.set = tankController.makeProduct.fillTank2.inPort[1].set ($RES_SIM_304) (164) [SCAL] (1) tankController.makeProduct.T2.outPort.occupied = tankController.makeProduct.fillTank2.inPort[1].occupied ($RES_SIM_305) (165) [SCAL] (1) tankController.T3.outPort.set = $SEV_16 ($RES_SIM_130) (166) [SCAL] (1) tankController.makeProduct.wait1.outPort[1].reset = tankController.makeProduct.T2.outPort.set ($RES_SIM_306) (167) [SCAL] (1) tankController.makeProduct.wait1.outPort[1].available = tankController.makeProduct.T2.inPort.available ($RES_SIM_307) (168) [SCAL] (1) tankController.makeProduct.emptyTank2.outPort[1].reset = tankController.T2.outPort.set ($RES_SIM_308) (169) [SCAL] (1) $TEV_25 = $PRE.tankController.makeProduct.emptyTank2.outerStatePort.localActive ($RES_EVT_430) (170) [SCAL] (1) tankController.makeProduct.emptyTank2.outPort[1].available = tankController.makeProduct.outPort.available ($RES_SIM_309) (171) [SCAL] (1) $TEV_26 = $PRE.tankController.makeProduct.emptyTank2.newActive ($RES_EVT_431) (172) [SCAL] (1) $TEV_27 = $PRE.tankController.makeProduct.T3.outPort.set ($RES_EVT_432) (173) [SCAL] (1) $TEV_28 = $PRE.tankController.makeProduct.fillTank2.oldActive ($RES_EVT_433) (174) [SCAL] (1) tankController.T2.outPort.set = $SEV_17 ($RES_SIM_137) (175) [SCAL] (1) $TEV_29 = $PRE.tankController.makeProduct.fillTank2.outerStatePort.localActive ($RES_EVT_434) (176) [SCAL] (1) $TEV_30 = $PRE.tankController.makeProduct.fillTank2.newActive ($RES_EVT_435) (177) [SCAL] (1) $TEV_31 = $PRE.tankController.makeProduct.T1.outPort.set ($RES_EVT_436) (178) [SCAL] (1) $TEV_32 = $PRE.tankController.makeProduct.fillTank1.oldActive ($RES_EVT_437) (179) [SCAL] (1) $TEV_33 = $PRE.tankController.makeProduct.fillTank1.outerStatePort.localActive ($RES_EVT_438) (180) [SCAL] (1) $TEV_34 = $PRE.tankController.makeProduct.fillTank1.newActive ($RES_EVT_439) (181) [SCAL] (1) tankController.makeProduct.fillTank1.outPort[1].reset = false ($RES_SIM_220) (182) [SCAL] (1) tankController.makeProduct.fillTank1.inPort[1].set = false ($RES_SIM_221) (183) [SCAL] (1) tankController.makeProduct.fillTank1.outPort[1].available = tankController.makeProduct.fillTank1.outerStatePort.localActive ($RES_SIM_222) (184) [SCAL] (1) tankController.emptyTanks.outPort[1].reset = false ($RES_SIM_94) (185) [SCAL] (1) tankController.makeProduct.fillTank1.inPort[1].occupied = tankController.makeProduct.fillTank1.outerStatePort.localActive ($RES_SIM_223) (186) [SCAL] (1) tankController.emptyTanks.inPort[1].set = false ($RES_SIM_95) (187) [WHEN] (1)when tankController.makeProduct.stateGraphRoot.suspend then (187) [----] tankController.makeProduct.fillTank1.oldActive := tankController.makeProduct.fillTank1.outerStatePort.localActive (187) [----] end when; (188) [SCAL] (1) tankController.emptyTanks.outPort[1].available = tankController.emptyTanks.outerStatePort.localActive ($RES_SIM_96) (189) [SCAL] (1) tankController.makeProduct.fillTank1.newActive = if tankController.makeProduct.stateGraphRoot.resume then tankController.makeProduct.fillTank1.oldActive else $SEV_30 ($RES_SIM_225) (190) [SCAL] (1) tankController.emptyTanks.inPort[1].occupied = tankController.emptyTanks.outerStatePort.localActive ($RES_SIM_97) (191) [SCAL] (1) tankController.makeProduct.fillTank1.outerStatePort.localActive = $TEV_34 ($RES_SIM_226) (192) [SCAL] (1) tankController.makeProduct.T3.localCondition = $SEV_37 ($RES_BND_351) (193) [WHEN] (1)when false then (193) [----] tankController.emptyTanks.oldActive := tankController.emptyTanks.outerStatePort.localActive (193) [----] end when; (194) [SCAL] (1) tankController.emptyTanks.newActive = $SEV_10 ($RES_SIM_99) (195) [SCAL] (1) tankController.makeProduct.fillTank1.outerStatePort.subgraphStatePort.activeSteps = if tankController.makeProduct.fillTank1.outerStatePort.localActive then 1.0 else 0.0 ($RES_SIM_228) (196) [SCAL] (1) tankController.makeProduct.outerState.subgraphStatePort.activeSteps = if tankController.makeProduct.outerState.active then 1.0 else 0.0 ($RES_SIM_229) (197) [SCAL] (1) tankController.makeProduct.fillTank2.outPort[1].reset = tankController.makeProduct.T3.outPort.set ($RES_SIM_310) (198) [SCAL] (1) tankController.makeProduct.fillTank2.outPort[1].available = tankController.makeProduct.T3.inPort.available ($RES_SIM_311) (199) [SCAL] (1) tankController.makeProduct.fillTank1.outPort[1].reset = tankController.makeProduct.T1.outPort.set ($RES_SIM_312) (200) [SCAL] (1) tankController.makeProduct.fillTank1.outPort[1].available = tankController.makeProduct.T1.inPort.available ($RES_SIM_313) (201) [SCAL] (1) tankController.makeProduct.fillTank1.inPort[1].set = tankController.T1.inPort.reset ($RES_SIM_314) (202) [SCAL] (1) tankController.makeProduct.fillTank1.inPort[1].occupied = tankController.T1.outPort.occupied ($RES_SIM_315) (203) [SCAL] (1) $TEV_35 = $PRE.tankController.s1.oldActive ($RES_EVT_440) (204) [SCAL] (1) tankController.T1.inPort.reset = $SEV_18 ($RES_SIM_144) (205) [SCAL] (1) $TEV_36 = $PRE.tankController.s1.outerStatePort.localActive ($RES_EVT_441) (206) [SCAL] (1) $TEV_37 = $PRE.tankController.s1.newActive ($RES_EVT_442) (207) [SCAL] (1) $TEV_38 = $PRE.start.table.combiTimeTable.nextTimeEventScaled ($RES_EVT_443) (208) [SCAL] (1) $TEV_39 = $PRE.stop.table.combiTimeTable.nextTimeEventScaled ($RES_EVT_444) (209) [SCAL] (1) $TEV_40 = $PRE.shut.table.combiTimeTable.nextTimeEventScaled ($RES_EVT_445) (210) [SCAL] (1) tankController.makeProduct.resume[1].set = false ($RES_SIM_149) (211) [SCAL] (1) $SEV_1 = shut.table.realToBoolean.u >= shut.table.realToBoolean.threshold ($RES_EVT_447) (212) [SCAL] (1) $SEV_2 = time >= $PRE.shut.table.combiTimeTable.nextTimeEvent ($RES_EVT_448) (213) [SCAL] (1) tankController.s1.outPort[1].reset = false ($RES_SIM_233) (214) [FOR-] (2) ($RES_SIM_234) (214) [----] for $i1 in 1:2 loop (214) [----] [SCAL] (1) tankController.s1.inPort[$i1].set = false ($RES_SIM_235) (214) [----] end for; (215) [SCAL] (1) tankController.s1.outPort[1].available = tankController.s1.outerStatePort.localActive ($RES_SIM_236) (216) [FOR-] (2) ($RES_SIM_237) (216) [----] for $i1 in 1:2 loop (216) [----] [SCAL] (1) tankController.s1.inPort[$i1].occupied = if $SEV_13[$i1] then tankController.s1.outerStatePort.localActive else $SEV_31[$i1] ($RES_SIM_238) (216) [----] end for; (217) [SCAL] (1) tankController.T2.localCondition = $SEV_36 ($RES_BND_362) (218) [WHEN] (1)when false then (218) [----] tankController.s1.oldActive := tankController.s1.outerStatePort.localActive (218) [----] end when; (219) [SCAL] (1) tankController.makeProduct.suspend[1].reset = false ($RES_SIM_150) (220) [SCAL] (1) tankController.makeProduct.suspend[1].available = tankController.makeProduct.outerState.active ($RES_SIM_151) (221) [SCAL] (1) tankController.makeProduct.resume[1].occupied = tankController.makeProduct.outerState.active ($RES_SIM_152) (222) [SCAL] (1) tankController.makeProduct.newActive = $SEV_19 ($RES_SIM_153) (223) [SCAL] (1) tankController.makeProduct.outerState.active = $TEV_15 ($RES_SIM_154) (224) [SCAL] (1) $SEV_4 = stop.table.realToBoolean.u >= stop.table.realToBoolean.threshold ($RES_EVT_450) (225) [SCAL] (1) tankController.makeProduct.activeSteps = -integer(tankController.makeProduct.stateGraphRoot.subgraphStatePort.activeSteps) ($RES_SIM_155) (226) [SCAL] (1) $SEV_5 = time >= $PRE.stop.table.combiTimeTable.nextTimeEvent ($RES_EVT_451) (227) [SCAL] (1) $SEV_7 = start.table.realToBoolean.u >= start.table.realToBoolean.threshold ($RES_EVT_453) (228) [SCAL] (1) tankController.makeProduct.T4.enableFire = $SEV_20 ($RES_SIM_158) (229) [SCAL] (1) $SEV_8 = time >= $PRE.start.table.combiTimeTable.nextTimeEvent ($RES_EVT_454) (230) [SCAL] (1) tankController.makeProduct.T4.outPort.set = $SEV_21 ($RES_SIM_159) (231) [SCAL] (1) $SEV_9 = (tankController.T6.localCondition and tankController.T6.inPort.available) and not tankController.T6.outPort.occupied ($RES_EVT_455) (232) [SCAL] (1) $SEV_10 = $FUN_17 or tankController.emptyTanks.outerStatePort.localActive and not $FUN_18 ($RES_EVT_456) (233) [SCAL] (1) $SEV_11 = (shut.on and tankController.T5.inPort.available) and not tankController.T5.outPort.occupied ($RES_EVT_457) (234) [SCAL] (1) $SEV_12 = (start.on and tankController.T4.inPort.available) and not tankController.T4.outPort.occupied ($RES_EVT_458) (235) [FOR-] (2) ($RES_EVT_459) (235) [----] for $i1 in 1:2 loop (235) [----] [SCAL] (1) $SEV_13[$i1] = $i1 == 1 ($RES_EVT_460) (235) [----] end for; (236) [SCAL] (1) tankController.s1.newActive = $SEV_32 ($RES_SIM_240) (237) [SCAL] (1) tankController.s1.outerStatePort.localActive = $TEV_37 ($RES_SIM_241) (238) [SCAL] (1) tankController.s1.outerStatePort.subgraphStatePort.activeSteps = if tankController.s1.outerStatePort.localActive then 1.0 else 0.0 ($RES_SIM_243) (239) [SCAL] (1) tankController.makeProduct.fillTank1.outerStatePort.subgraphStatePort.activeSteps + tankController.makeProduct.fillTank2.outerStatePort.subgraphStatePort.activeSteps + tankController.makeProduct.emptyTank2.outerStatePort.subgraphStatePort.activeSteps + tankController.makeProduct.wait1.outerStatePort.subgraphStatePort.activeSteps + tankController.makeProduct.wait2.outerStatePort.subgraphStatePort.activeSteps + tankController.makeProduct.stateGraphRoot.subgraphStatePort.activeSteps = 0.0 ($RES_SIM_244) (240) [SCAL] (1) tankController.makeProduct.outerState.subgraphStatePort.activeSteps + tankController.s2.outerStatePort.subgraphStatePort.activeSteps + tankController.emptyTanks.outerStatePort.subgraphStatePort.activeSteps + stateGraphRoot.subgraphStatePort.activeSteps + tankController.s1.outerStatePort.subgraphStatePort.activeSteps = 0.0 ($RES_SIM_245) (241) [SCAL] (1) tankController.T6.localCondition = $SEV_35 ($RES_BND_372) (242) [SCAL] (1) valve2.valveControl = $SEV_34 ($RES_BND_375) (243) [SCAL] (1) valve3.valveControl = $SEV_33 ($RES_BND_376) (244) [ARRY] (2) start.reset = {stop.on, shut.on} ($RES_BND_377) (245) [ARRY] (2) stop.reset = {start.on, shut.on} ($RES_BND_378) (246) [ARRY] (2) shut.reset = {start.on, stop.on} ($RES_BND_379) (247) [SCAL] (1) tankController.makeProduct.T4.t = if tankController.makeProduct.T4.enableFire then tankController.makeProduct.T4.t_dummy else 0.0 ($RES_SIM_160) (248) [WHEN] (1)when tankController.makeProduct.T4.enableFire then (248) [----] time - tankController.makeProduct.T4.t_dummy := time (248) [----] end when; (249) [SCAL] (1) tankController.makeProduct.wait2.outPort[1].reset = false ($RES_SIM_163) (250) [SCAL] (1) tankController.makeProduct.wait2.inPort[1].set = false ($RES_SIM_164) (251) [SCAL] (1) tankController.makeProduct.wait2.outPort[1].available = tankController.makeProduct.wait2.outerStatePort.localActive ($RES_SIM_165) (252) [FOR-] (2) ($RES_EVT_461) (252) [----] for $i1 in 1:2 loop (252) [----] [SCAL] (1) $SEV_14[$i1] = tankController.s2.outPort[$i1 - 1].available and not tankController.s2.outPort[$i1 - 1].reset ($RES_EVT_462) (252) [----] end for; (253) [SCAL] (1) tankController.makeProduct.wait2.inPort[1].occupied = tankController.makeProduct.wait2.outerStatePort.localActive ($RES_SIM_166) (254) [WHEN] (1)when tankController.makeProduct.stateGraphRoot.suspend then (254) [----] tankController.makeProduct.wait2.oldActive := tankController.makeProduct.wait2.outerStatePort.localActive (254) [----] end when; (255) [SCAL] (1) $SEV_15 = $FUN_15 or tankController.s2.outerStatePort.localActive and not $FUN_16 ($RES_EVT_463) (256) [SCAL] (1) tankController.makeProduct.wait2.newActive = if tankController.makeProduct.stateGraphRoot.resume then tankController.makeProduct.wait2.oldActive else $SEV_22 ($RES_SIM_168) (257) [SCAL] (1) $SEV_16 = (stop.on and tankController.T3.inPort.available) and not tankController.T3.outPort.occupied ($RES_EVT_464) (258) [SCAL] (1) tankController.makeProduct.wait2.outerStatePort.localActive = $TEV_19 ($RES_SIM_169) (259) [SCAL] (1) $SEV_17 = (tankController.T2.localCondition and tankController.makeProduct.outPort.available) and not tankController.T2.outPort.occupied ($RES_EVT_465) (260) [SCAL] (1) $SEV_18 = (start.on and tankController.T1.inPort.available) and not tankController.T1.outPort.occupied ($RES_EVT_466) (261) [SCAL] (1) $SEV_19 = tankController.makeProduct.activeSteps > 0 and not $FUN_13 or $FUN_14 ($RES_EVT_467) (262) [SCAL] (1) $SEV_20 = tankController.makeProduct.T4.inPort.available and not tankController.makeProduct.T4.outPort.occupied ($RES_EVT_468) (263) [SCAL] (1) $SEV_21 = tankController.makeProduct.T4.enableFire and time >= ((time - tankController.makeProduct.T4.t_dummy) + tankController.makeProduct.T4.waitTime) ($RES_EVT_469)