Running: ./testmodel.py --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries --ompython_omhome=/usr Modelica_3.2.2_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="empty",numberOfIntervals=5000,variableFilter="",fileNamePrefix="Modelica_3.2.2_Modelica.StateGraph.Examples.ControlledTanks") translateModel(Modelica.StateGraph.Examples.ControlledTanks,tolerance=1e-06,outputFormat="empty",numberOfIntervals=5000,variableFilter="",fileNamePrefix="Modelica_3.2.2_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.001217/0.001217, allocations: 110.6 kB / 17.75 MB, free: 5.328 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.001128/0.001128, allocations: 187 kB / 18.69 MB, free: 4.402 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.31/1.31, allocations: 205.1 MB / 224.5 MB, free: 12.25 MB / 190.1 MB Notification: Performance of FrontEnd - Absyn->SCode: time 3.039e-05/3.039e-05, allocations: 7.125 kB / 328.5 MB, free: 3.367 MB / 270.1 MB Notification: Performance of NFInst.instantiate(Modelica.StateGraph.Examples.ControlledTanks): time 0.005675/0.005714, allocations: 3.786 MB / 332.3 MB, free: 15.56 MB / 286.1 MB Notification: Performance of NFInst.instExpressions: time 0.00413/0.009859, allocations: 2.444 MB / 334.7 MB, free: 13.1 MB / 286.1 MB Notification: Performance of NFInst.updateImplicitVariability: time 0.0005316/0.0104, allocations: 31.81 kB / 334.7 MB, free: 13.07 MB / 286.1 MB Notification: Performance of NFTyping.typeComponents: time 0.001191/0.0116, allocations: 0.5522 MB / 335.3 MB, free: 12.52 MB / 286.1 MB [/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 3.2.3+maint.om/Utilities/Strings.mo:139:3-175:14:writable] Warning: Pure function 'Modelica.Utilities.Strings.isEmpty' contains a call to impure function 'Modelica.Utilities.Strings.Advanced.skipWhiteSpace'. Notification: Performance of NFTyping.typeBindings: time 0.0008242/0.01248, allocations: 421.8 kB / 335.7 MB, free: 12.1 MB / 286.1 MB Notification: Performance of NFTyping.typeClassSections: time 0.002032/0.01452, allocations: 1.026 MB / 336.7 MB, free: 11.07 MB / 286.1 MB Notification: Performance of NFFlatten.flatten: time 0.002158/0.01669, allocations: 2.04 MB / 338.8 MB, free: 9.031 MB / 286.1 MB Notification: Performance of NFFlatten.resolveConnections: time 0.001625/0.01833, allocations: 1.324 MB / 340.1 MB, free: 7.676 MB / 286.1 MB Notification: Performance of NFEvalConstants.evaluate: time 0.0009107/0.01925, allocations: 0.8491 MB / 340.9 MB, free: 6.824 MB / 286.1 MB Notification: Performance of NFSimplifyModel.simplify: time 0.0007415/0.02, allocations: 0.7821 MB / 341.7 MB, free: 6.039 MB / 286.1 MB Notification: Performance of NFPackage.collectConstants: time 0.0002266/0.02023, allocations: 216 kB / 341.9 MB, free: 5.828 MB / 286.1 MB Notification: Performance of NFFlatten.collectFunctions: time 0.0004467/0.02069, allocations: 315.9 kB / 342.2 MB, free: 5.52 MB / 286.1 MB Notification: Performance of combineBinaries: time 0.001447/0.02214, allocations: 2.175 MB / 344.4 MB, free: 3.32 MB / 286.1 MB Notification: Performance of replaceArrayConstructors: time 0.0007242/0.02288, allocations: 1.293 MB / 345.7 MB, free: 2.008 MB / 286.1 MB Notification: Performance of NFVerifyModel.verify: time 0.0003181/0.0232, allocations: 243.2 kB / 346 MB, free: 1.77 MB / 286.1 MB Notification: Performance of FrontEnd: time 0.0003091/0.02352, allocations: 143 kB / 346.1 MB, free: 1.629 MB / 286.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.005584/0.02911, allocations: 6.396 MB / 352.5 MB, free: 11.03 MB / 302.1 MB Notification: Performance of FunctionAlias: time 0.0009008/0.03002, allocations: 1.01 MB / 353.5 MB, free: 9.992 MB / 302.1 MB Notification: Performance of Early Inline: time 0.00418/0.03421, allocations: 4.193 MB / 357.7 MB, free: 5.734 MB / 302.1 MB Notification: Performance of simplify1: time 0.0003292/0.03456, allocations: 251.6 kB / 357.9 MB, free: 5.488 MB / 302.1 MB Notification: Performance of Alias: time 0.008332/0.0429, allocations: 6.892 MB / 364.8 MB, free: 13.95 MB / 318.1 MB Notification: Performance of simplify2: time 0.0004/0.04334, allocations: 179.8 kB / 365 MB, free: 13.77 MB / 318.1 MB Notification: Performance of Events: time 0.001336/0.04469, allocations: 1.013 MB / 366 MB, free: 12.73 MB / 318.1 MB Notification: Performance of Detect States: time 0.001907/0.04661, allocations: 1.73 MB / 367.7 MB, free: 10.96 MB / 318.1 MB Notification: Performance of Partitioning: time 0.001847/0.04847, allocations: 1.539 MB / 369.3 MB, free: 9.359 MB / 318.1 MB Error: Internal error NBSlice.fillDependencyArray failed because number of flattened indices 1 for dependency shut.on could not be divided 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 (240/250) **************************** (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) [DISC] (1) Boolean $TEV_14 (116) [DISC] (1) Boolean[1] tankController.emptyTanks.inPort.set (117) [DISC] (1) Boolean $TEV_13 (118) [DISC] (1) Boolean[1] tankController.makeProduct.wait1.outPort.available (119) [DISC] (2) Boolean[2] $SEV_13[$i1] (120) [DISC] (1) Boolean $TEV_12 (121) [DISC] (1) final Boolean tankController.T6.localCondition = tankController.T6.localCondition (122) [DISC] (1) Boolean $TEV_11 (123) [DISC] (1) Boolean $TEV_10 (124) [DISC] (1) protected Boolean tankController.makeProduct.fillTank1.newActive (125) [DISC] (1) Boolean[1] tankController.makeProduct.wait2.outPort.reset (126) [DISS] (1) protected Boolean tankController.s1.oldActive (127) [DISC] (1) Boolean[1] tankController.makeProduct.fillTank1.outPort.reset (128) [DISC] (1) Boolean tankController.T5.inPort.available (129) [DISS] (1) protected Boolean tankController.makeProduct.fillTank2.oldActive (130) [DISC] (1) Boolean tankController.T6.inPort.available (131) [DISS] (1) protected discrete Real start.table.combiTimeTable.nextTimeEventScaled (fixed = true, start = 0.0) (132) [DISC] (2) Boolean[2] stop.reset = {start.on, shut.on} (133) [DISC] (1) Boolean $FUN_18 (134) [DISC] (1) Boolean[1] tankController.makeProduct.wait1.inPort.set (135) [DISC] (1) Boolean $FUN_17 (136) [DISC] (1) Boolean $FUN_16 (137) [DISC] (1) Boolean tankController.makeProduct.T2.enableFire (138) [DISC] (1) Boolean $FUN_15 (139) [DISC] (1) Boolean $FUN_14 (140) [DISC] (1) Boolean tankController.T3.outPort.set (141) [ALGB] (1) protected flow Real tankController.makeProduct.fillTank1.outerStatePort.subgraphStatePort.activeSteps (142) [DISC] (1) Boolean $FUN_13 (143) [DISC] (1) Boolean $FUN_12 (144) [DISC] (1) Boolean[1] tankController.emptyTanks.outPort.available (145) [DISC] (1) Boolean $FUN_11 (146) [DISS] (1) protected Boolean tankController.makeProduct.fillTank1.oldActive (147) [DISC] (1) Boolean[1] tankController.makeProduct.emptyTank2.inPort.set (148) [DISC] (1) Boolean $FUN_10 (149) [ALGB] (1) protected flow Real tankController.makeProduct.wait2.outerStatePort.subgraphStatePort.activeSteps (150) [ALGB] (1) protected flow Real tankController.emptyTanks.outerStatePort.subgraphStatePort.activeSteps (151) [DISC] (1) protected Boolean tankController.makeProduct.wait1.outerStatePort.localActive = tankController.makeProduct.wait1.outerStatePort.localActive (152) [DISC] (1) Boolean $SEV_9 (153) [DISC] (1) Boolean $SEV_8 (154) [DISC] (1) Boolean $SEV_7 (155) [DISC] (1) Boolean[1] tankController.s2.inPort.set (156) [DISC] (1) Boolean $SEV_5 (157) [DISC] (1) Boolean $SEV_4 (158) [DISC] (1) Boolean tankController.makeProduct.T2.outPort.set (159) [DISC] (1) Boolean $SEV_2 (160) [ALGB] (1) flow Real stateGraphRoot.subgraphStatePort.activeSteps (161) [DISC] (1) Boolean $SEV_1 (162) [ALGB] (1) protected Real start.table.realToBoolean.u (163) [DISC] (1) Boolean[1] tankController.makeProduct.resume.set (164) [DISC] (2) Boolean[2] shut.reset = {start.on, stop.on} (165) [DISC] (1) protected Boolean tankController.emptyTanks.newActive (166) [DISC] (1) protected Boolean start.table.realToBoolean.y (167) [DISC] (1) Boolean tankController.T4.inPort.available (168) [DISC] (1) Boolean[1] tankController.makeProduct.fillTank1.inPort.set (169) [DISC] (1) Boolean[1] tankController.makeProduct.wait2.inPort.occupied (170) [DISC] (1) Boolean tankController.T3.inPort.available (171) [DISC] (1) Boolean shut.on (172) [DISC] (1) Boolean tankController.makeProduct.stateGraphRoot.suspend = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.suspend.reset) or false (173) [DISC] (1) protected Boolean tankController.s2.outerStatePort.localActive = tankController.s2.outerStatePort.localActive (174) [DISC] (1) Boolean[1] tankController.makeProduct.fillTank2.outPort.available (175) [DISC] (1) Boolean tankController.makeProduct.outPort.available (176) [ALGB] (1) flow Real tankController.makeProduct.outerState.subgraphStatePort.activeSteps (177) [DISC] (1) Boolean tankController.makeProduct.T2.inPort.available (178) [ALGB] (1) protected flow Real tankController.makeProduct.fillTank2.outerStatePort.subgraphStatePort.activeSteps (179) [DISS] (1) protected Boolean tankController.emptyTanks.oldActive (180) [DISC] (1) Boolean tankController.T6.outPort.set (181) [DISC] (1) Boolean[1] tankController.makeProduct.resume.occupied (182) [DISC] (1) Boolean tankController.T1.outPort.occupied (183) [DISC] (1) protected Boolean tankController.makeProduct.fillTank2.outerStatePort.localActive = tankController.makeProduct.fillTank2.outerStatePort.localActive (184) [DISC] (1) protected Boolean tankController.makeProduct.fillTank1.outerStatePort.localActive = tankController.makeProduct.fillTank1.outerStatePort.localActive (185) [DISC] (1) protected Boolean tankController.makeProduct.newActive (186) [DISC] (1) Boolean tankController.T2.outPort.occupied (187) [DISC] (1) Boolean[1] tankController.emptyTanks.outPort.reset (188) [DISC] (1) Boolean tankController.T5.outPort.occupied (189) [DISC] (1) Boolean tankController.makeProduct.stateGraphRoot.resume = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.resume.set) or false (190) [ALGB] (1) protected Real stop.table.realToBoolean.u (191) [DISC] (1) Boolean tankController.T4.outPort.occupied (192) [DISC] (2) Boolean[2] tankController.s2.outPort.available (193) [DISC] (1) Boolean[1] tankController.s1.outPort.available (194) [DISC] (1) protected Boolean stop.table.realToBoolean.y (195) [ALGB] (1) protected Real[1] stop.table.combiTimeTable.y (196) [DISC] (1) Boolean tankController.makeProduct.T1.outPort.set (197) [ALGB] (1) flow Real tankController.makeProduct.stateGraphRoot.subgraphStatePort.activeSteps (198) [DISC] (1) protected Integer tankController.makeProduct.activeSteps (199) [ALGB] (1) Real tank2.inflow1.Fi (200) [ALGB] (1) protected flow Real tankController.s1.outerStatePort.subgraphStatePort.activeSteps (201) [DISC] (1) Boolean tankController.makeProduct.T3.outPort.occupied (202) [DISC] (1) Boolean tankController.makeProduct.T3.outPort.set (203) [DISC] (1) Boolean[1] tankController.emptyTanks.inPort.occupied (204) [DISC] (1) Boolean[1] tankController.makeProduct.fillTank1.outPort.available (205) [DISC] (2) Boolean[2] tankController.s1.inPort.set (206) [DISC] (1) final Boolean tankController.makeProduct.T3.localCondition = tankController.makeProduct.T3.localCondition (207) [DISC] (1) Boolean tankController.makeProduct.T4.enableFire (208) [DISC] (1) Boolean tankController.T1.inPort.available (209) [DISC] (1) Boolean[1] tankController.makeProduct.wait1.inPort.occupied (210) [ALGB] (1) Real tankController.makeProduct.T2.t (211) [DISC] (1) protected Boolean tankController.makeProduct.emptyTank2.outerStatePort.localActive = tankController.makeProduct.emptyTank2.outerStatePort.localActive (212) [ALGB] (1) protected Real tankController.makeProduct.T2.t_dummy (213) [DISC] (1) Boolean $SEV_38 (214) [DISC] (1) Boolean $SEV_37 (215) [DISC] (1) Boolean $SEV_36 (216) [DISC] (1) final Boolean tankController.T2.localCondition = tankController.T2.localCondition (217) [DISC] (1) Boolean $SEV_35 (218) [DISC] (1) Boolean[1] tankController.makeProduct.emptyTank2.outPort.available (219) [DISC] (1) Boolean $SEV_34 (220) [DISC] (1) Boolean[1] tankController.makeProduct.fillTank2.inPort.set (221) [DISC] (1) Boolean $SEV_33 (222) [DISC] (1) Boolean $SEV_32 (223) [DISC] (1) Boolean $SEV_30 (224) [ALGB] (1) Real valve3.inflow1.Fi (225) [DISS] (1) protected discrete Real start.table.combiTimeTable.nextTimeEvent (fixed = true, start = 0.0) (226) [DISC] (1) Boolean[1] tankController.makeProduct.suspend.reset (227) [ALGB] (1) protected Real[1] shut.table.combiTimeTable.y (228) [ALGB] (1) protected Real shut.table.realToBoolean.u (229) [DISC] (1) Boolean tankController.makeProduct.outerState.active = tankController.makeProduct.outerState.active (230) [DISC] (1) protected Boolean tankController.emptyTanks.outerStatePort.localActive = tankController.emptyTanks.outerStatePort.localActive (231) [DISC] (1) protected Boolean shut.table.realToBoolean.y (232) [DISC] (1) protected Boolean tankController.makeProduct.wait2.outerStatePort.localActive = tankController.makeProduct.wait2.outerStatePort.localActive (233) [DISC] (1) Boolean tankController.T5.outPort.set (234) [DER-] (1) Real $DER.tank1.level (235) [DISC] (2) Boolean[2] start.reset = {stop.on, shut.on} (236) [DISC] (1) Boolean[1] tankController.s2.inPort.occupied (237) [DISS] (1) protected discrete Real stop.table.combiTimeTable.nextTimeEvent (fixed = true, start = 0.0) (238) [DISC] (1) Boolean[1] tankController.makeProduct.suspend.available (239) [DISC] (1) Integer stateGraphRoot.activeSteps (240) [DISC] (1) Boolean $TEV_40 System Equations (260/270) **************************** (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_25 = ($FUN_9 or tankController.makeProduct.wait1.outerStatePort.localActive and not $FUN_10) 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_26 = ($FUN_7 or tankController.makeProduct.emptyTank2.outerStatePort.localActive and not $FUN_8) and not tankController.makeProduct.stateGraphRoot.suspend ($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_27 = (tankController.makeProduct.T3.localCondition and tankController.makeProduct.T3.inPort.available) and not tankController.makeProduct.T3.outPort.occupied ($RES_EVT_472) (8) [SCAL] (1) $SEV_28 = ($FUN_5 or tankController.makeProduct.fillTank2.outerStatePort.localActive and not $FUN_6) 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_29 = (tankController.makeProduct.T1.localCondition and tankController.makeProduct.T1.inPort.available) and not tankController.makeProduct.T1.outPort.occupied ($RES_EVT_474) (11) [SCAL] (1) tankController.makeProduct.wait1.outPort[1].reset = false ($RES_SIM_179) (12) [SCAL] (1) $SEV_30 = ($FUN_3 or tankController.makeProduct.fillTank1.outerStatePort.localActive and not $FUN_4) and not tankController.makeProduct.stateGraphRoot.suspend ($RES_EVT_475) (13) [FOR-] (2) ($RES_EVT_476) (13) [----] for $i1 in 1:2 loop (13) [----] [SCAL] (1) $SEV_31[$i1] = tankController.s1.inPort[$i1 - 1].occupied or tankController.s1.inPort[$i1 - 1].set ($RES_EVT_477) (13) [----] end for; (14) [SCAL] (1) $SEV_32 = $FUN_1 or tankController.s1.outerStatePort.localActive and not $FUN_2 ($RES_EVT_478) (15) [SCAL] (1) $SEV_33 = tankController.makeProduct.emptyTank2.outerStatePort.localActive or tankController.emptyTanks.outerStatePort.localActive ($RES_EVT_479) (16) [SCAL] (1) shut.table.combiTimeTable.y[1] = shut.table.realToBoolean.u ($RES_SIM_263) (17) [SCAL] (1) stop.table.combiTimeTable.y[1] = stop.table.realToBoolean.u ($RES_SIM_265) (18) [SCAL] (1) start.table.combiTimeTable.y[1] = start.table.realToBoolean.u ($RES_SIM_267) (19) [SCAL] (1) tankController.T6.outPort.set = tankController.s1.inPort[2].set ($RES_SIM_268) (20) [SCAL] (1) tankController.T6.outPort.occupied = tankController.s1.inPort[2].occupied ($RES_SIM_269) (21) [SCAL] (1) tankController.makeProduct.wait1.inPort[1].set = false ($RES_SIM_180) (22) [SCAL] (1) tankController.makeProduct.wait1.outPort[1].available = tankController.makeProduct.wait1.outerStatePort.localActive ($RES_SIM_181) (23) [SCAL] (1) tankController.makeProduct.wait1.inPort[1].occupied = tankController.makeProduct.wait1.outerStatePort.localActive ($RES_SIM_182) (24) [WHEN] (1)when tankController.makeProduct.stateGraphRoot.suspend then (24) [----] tankController.makeProduct.wait1.oldActive := tankController.makeProduct.wait1.outerStatePort.localActive (24) [----] end when; (25) [SCAL] (1) tankController.makeProduct.wait1.newActive = if tankController.makeProduct.stateGraphRoot.resume then tankController.makeProduct.wait1.oldActive else $SEV_25 ($RES_SIM_184) (26) [SCAL] (1) $SEV_34 = tankController.makeProduct.fillTank2.outerStatePort.localActive or tankController.emptyTanks.outerStatePort.localActive ($RES_EVT_480) (27) [SCAL] (1) tankController.makeProduct.wait1.outerStatePort.localActive = $TEV_23 ($RES_SIM_185) (28) [SCAL] (1) $SEV_35 = tank2.level + tank1.level < 0.001 ($RES_EVT_481) (29) [SCAL] (1) $SEV_36 = tank2.level < 0.001 ($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_37 = tank1.level < 0.001 ($RES_EVT_483) (32) [SCAL] (1) tankController.makeProduct.emptyTank2.outPort[1].reset = false ($RES_SIM_188) (33) [SCAL] (1) $SEV_38 = tank1.level > tankController.makeProduct.limit ($RES_EVT_484) (34) [SCAL] (1) tankController.makeProduct.emptyTank2.inPort[1].set = false ($RES_SIM_189) (35) [SCAL] (1) tankController.T2.outPort.set = tankController.s1.inPort[1].set ($RES_SIM_270) (36) [SCAL] (1) tankController.T2.outPort.occupied = tankController.s1.inPort[1].occupied ($RES_SIM_271) (37) [SCAL] (1) tankController.s2.outPort[2].reset = tankController.T4.outPort.set ($RES_SIM_272) (38) [SCAL] (1) tankController.s2.outPort[2].available = tankController.T4.inPort.available ($RES_SIM_273) (39) [SCAL] (1) tankController.s2.outPort[1].reset = tankController.T5.outPort.set ($RES_SIM_274) (40) [SCAL] (1) tankController.s2.outPort[1].available = tankController.T5.inPort.available ($RES_SIM_275) (41) [SCAL] (1) tankController.T4.outPort.set = tankController.makeProduct.resume[1].set ($RES_SIM_277) (42) [SCAL] (1) tankController.T4.outPort.occupied = tankController.makeProduct.resume[1].occupied ($RES_SIM_278) (43) [SCAL] (1) tankController.T3.outPort.set = tankController.s2.inPort[1].set ($RES_SIM_279) (44) [SCAL] (1) tankController.makeProduct.emptyTank2.outPort[1].available = tankController.makeProduct.emptyTank2.outerStatePort.localActive ($RES_SIM_190) (45) [SCAL] (1) tankController.makeProduct.emptyTank2.inPort[1].occupied = tankController.makeProduct.emptyTank2.outerStatePort.localActive ($RES_SIM_191) (46) [WHEN] (1)when tankController.makeProduct.stateGraphRoot.suspend then (46) [----] tankController.makeProduct.emptyTank2.oldActive := tankController.makeProduct.emptyTank2.outerStatePort.localActive (46) [----] end when; (47) [SCAL] (1) tankController.makeProduct.emptyTank2.newActive = if tankController.makeProduct.stateGraphRoot.resume then tankController.makeProduct.emptyTank2.oldActive else $SEV_26 ($RES_SIM_193) (48) [SCAL] (1) tankController.makeProduct.emptyTank2.outerStatePort.localActive = $TEV_26 ($RES_SIM_194) (49) [SCAL] (1) tankController.makeProduct.emptyTank2.outerStatePort.subgraphStatePort.activeSteps = if tankController.makeProduct.emptyTank2.outerStatePort.localActive then 1.0 else 0.0 ($RES_SIM_196) (50) [SCAL] (1) tankController.makeProduct.T3.outPort.set = $SEV_27 ($RES_SIM_199) (51) [SCAL] (1) tankController.T3.outPort.occupied = tankController.s2.inPort[1].occupied ($RES_SIM_280) (52) [SCAL] (1) tankController.makeProduct.suspend[1].reset = tankController.T3.outPort.set ($RES_SIM_281) (53) [SCAL] (1) tankController.makeProduct.suspend[1].available = tankController.T3.inPort.available ($RES_SIM_282) (54) [SCAL] (1) tankController.emptyTanks.outPort[1].reset = tankController.T6.outPort.set ($RES_SIM_286) (55) [SCAL] (1) tankController.emptyTanks.outPort[1].available = tankController.T6.inPort.available ($RES_SIM_287) (56) [SCAL] (1) tankController.T5.outPort.set = tankController.emptyTanks.inPort[1].set ($RES_SIM_288) (57) [SCAL] (1) tankController.T5.outPort.occupied = tankController.emptyTanks.inPort[1].occupied ($RES_SIM_289) (58) [SCAL] (1) tankController.s1.outPort[1].reset = tankController.T1.inPort.reset ($RES_SIM_294) (59) [SCAL] (1) tankController.s1.outPort[1].available = tankController.T1.inPort.available ($RES_SIM_295) (60) [SCAL] (1) tankController.makeProduct.T4.outPort.set = tankController.makeProduct.emptyTank2.inPort[1].set ($RES_SIM_296) (61) [SCAL] (1) tankController.makeProduct.T4.outPort.occupied = tankController.makeProduct.emptyTank2.inPort[1].occupied ($RES_SIM_297) (62) [SCAL] (1) tankController.makeProduct.T3.outPort.set = tankController.makeProduct.wait2.inPort[1].set ($RES_SIM_298) (63) [SCAL] (1) tankController.makeProduct.T3.outPort.occupied = tankController.makeProduct.wait2.inPort[1].occupied ($RES_SIM_299) (64) [ALGO] (1) ($RES_SIM_43) (64) [----] shut.on := shut.table.realToBoolean.y; (64) [----] when $PRE.shut.reset then (64) [----] shut.on := false; (64) [----] end when; (65) [ALGO] (1) ($RES_SIM_44) (65) [----] stop.on := stop.table.realToBoolean.y; (65) [----] when $PRE.stop.reset then (65) [----] stop.on := false; (65) [----] end when; (66) [ALGO] (1) ($RES_SIM_45) (66) [----] start.on := start.table.realToBoolean.y; (66) [----] when $PRE.start.reset then (66) [----] start.on := false; (66) [----] end when; (67) [SCAL] (1) stateGraphRoot.activeSteps = -integer(stateGraphRoot.subgraphStatePort.activeSteps) ($RES_SIM_49) (68) [-IF-] (1)if tankController.makeProduct.fillTank1.outerStatePort.localActive then (68) [----] [SCAL] (1) tank1.inflow1.Fi = source.maxflow ($RES_SIM_55) (68) [----] else (68) [----] [SCAL] (1) tank1.inflow1.Fi = 0.0 ($RES_SIM_56) (68) [----] end if; (69) [SCAL] (1) tankController.emptyTanks.outerStatePort.localActive = $TEV_6 ($RES_SIM_100) (70) [SCAL] (1) tankController.emptyTanks.outerStatePort.subgraphStatePort.activeSteps = if tankController.emptyTanks.outerStatePort.localActive then 1.0 else 0.0 ($RES_SIM_102) (71) [SCAL] (1) tankController.T5.outPort.set = $SEV_11 ($RES_SIM_105) (72) [SCAL] (1) $TEV_0 = $PRE.shut.reset ($RES_EVT_402) (73) [SCAL] (1) $TEV_1 = $PRE.stop.reset ($RES_EVT_403) (74) [SCAL] (1) $TEV_2 = $PRE.start.reset ($RES_EVT_404) (75) [SCAL] (1) $TEV_3 = $PRE.tankController.T6.outPort.set ($RES_EVT_405) (76) [SCAL] (1) $TEV_4 = $PRE.tankController.emptyTanks.oldActive ($RES_EVT_406) (77) [SCAL] (1) $TEV_5 = $PRE.tankController.emptyTanks.outerStatePort.localActive ($RES_EVT_407) (78) [-IF-] (1)if valve3.valveControl then (78) [----] [SCAL] (1) valve3.inflow1.Fi = sqrt(max(0.0, tank2.hmax * 19.6133 * tank2.level)) * tank2.a ($RES_SIM_61) (78) [----] else (78) [----] [SCAL] (1) valve3.inflow1.Fi = 0.0 ($RES_SIM_62) (78) [----] end if; (79) [SCAL] (1) $TEV_6 = $PRE.tankController.emptyTanks.newActive ($RES_EVT_408) (80) [SCAL] (1) $TEV_7 = $PRE.tankController.T5.outPort.set ($RES_EVT_409) (81) [SCAL] (1) $DER.tank2.level = (tank2.inflow1.Fi - valve3.inflow1.Fi) / (tank2.A * tank2.hmax) ($RES_SIM_63) (82) [-IF-] (1)if valve2.valveControl then (82) [----] [SCAL] (1) tank2.inflow1.Fi = sqrt(max(0.0, tank1.hmax * 19.6133 * tank1.level)) * tank1.a ($RES_SIM_66) (82) [----] else (82) [----] [SCAL] (1) tank2.inflow1.Fi = 0.0 ($RES_SIM_67) (82) [----] end if; (83) [SCAL] (1) $DER.tank1.level = (tank1.inflow1.Fi - tank2.inflow1.Fi) / (tank1.A * tank1.hmax) ($RES_SIM_68) (84) [SCAL] (1) tankController.T4.outPort.set = $SEV_12 ($RES_SIM_112) (85) [SCAL] (1) $TEV_8 = $PRE.tankController.T4.outPort.set ($RES_EVT_410) (86) [SCAL] (1) $TEV_9 = $PRE.tankController.s2.oldActive ($RES_EVT_411) (87) [SCAL] (1) $TEV_10 = $PRE.tankController.s2.outerStatePort.localActive ($RES_EVT_412) (88) [FOR-] (2) ($RES_SIM_117) (88) [----] for $i1 in 1:2 loop (88) [----] [SCAL] (1) tankController.s2.outPort[$i1].reset = false ($RES_SIM_118) (88) [----] end for; (89) [SCAL] (1) $TEV_11 = $PRE.tankController.s2.newActive ($RES_EVT_413) (90) [SCAL] (1) $TEV_12 = $PRE.tankController.T3.outPort.set ($RES_EVT_414) (91) [SCAL] (1) tankController.s2.inPort[1].set = false ($RES_SIM_119) (92) [SCAL] (1) $TEV_13 = $PRE.tankController.T2.outPort.set ($RES_EVT_415) (93) [SCAL] (1) $TEV_14 = $PRE.tankController.T1.inPort.reset ($RES_EVT_416) (94) [SCAL] (1) $TEV_15 = $PRE.tankController.makeProduct.newActive ($RES_EVT_417) (95) [SCAL] (1) shut.table.realToBoolean.y = $SEV_1 ($RES_SIM_70) (96) [SCAL] (1) $TEV_16 = $PRE.tankController.makeProduct.T4.enableFire ($RES_EVT_418) (97) [SCAL] (1) shut.table.combiTimeTable.y[1] = shut.table.combiTimeTable.p_offset[1] + Modelica.Blocks.Tables.Internal.getTimeTableValueNoDer(shut.table.combiTimeTable.tableID, 1, time, shut.table.combiTimeTable.nextTimeEventScaled, $TEV_38) ($RES_SIM_71) (98) [SCAL] (1) $TEV_17 = $PRE.tankController.makeProduct.wait2.oldActive ($RES_EVT_419) (99) [WHEN] (1)when {$SEV_2, initial()} then (99) [----] shut.table.combiTimeTable.nextTimeEventScaled := Modelica.Blocks.Tables.Internal.getNextTimeEvent(shut.table.combiTimeTable.tableID, time) (99) [----] end when; (100) [WHEN] (1)when {$SEV_2, initial()} then (100) [----] shut.table.combiTimeTable.nextTimeEvent := if shut.table.combiTimeTable.nextTimeEventScaled < 1e60 then shut.table.combiTimeTable.nextTimeEventScaled else 1e60 (100) [----] end when; (101) [SCAL] (1) stop.table.realToBoolean.y = $SEV_4 ($RES_SIM_76) (102) [SCAL] (1) tankController.makeProduct.fillTank2.outPort[1].reset = false ($RES_SIM_204) (103) [SCAL] (1) stop.table.combiTimeTable.y[1] = stop.table.combiTimeTable.p_offset[1] + Modelica.Blocks.Tables.Internal.getTimeTableValueNoDer(stop.table.combiTimeTable.tableID, 1, time, stop.table.combiTimeTable.nextTimeEventScaled, $TEV_39) ($RES_SIM_77) (104) [SCAL] (1) tankController.makeProduct.fillTank2.inPort[1].set = false ($RES_SIM_205) (105) [WHEN] (1)when {$SEV_5, initial()} then (105) [----] stop.table.combiTimeTable.nextTimeEvent := if stop.table.combiTimeTable.nextTimeEventScaled < 1e60 then stop.table.combiTimeTable.nextTimeEventScaled else 1e60 (105) [----] end when; (106) [SCAL] (1) tankController.makeProduct.fillTank2.outPort[1].available = tankController.makeProduct.fillTank2.outerStatePort.localActive ($RES_SIM_206) (107) [WHEN] (1)when {$SEV_5, initial()} then (107) [----] stop.table.combiTimeTable.nextTimeEventScaled := Modelica.Blocks.Tables.Internal.getNextTimeEvent(stop.table.combiTimeTable.tableID, time) (107) [----] end when; (108) [SCAL] (1) tankController.makeProduct.fillTank2.inPort[1].occupied = tankController.makeProduct.fillTank2.outerStatePort.localActive ($RES_SIM_207) (109) [WHEN] (1)when tankController.makeProduct.stateGraphRoot.suspend then (109) [----] tankController.makeProduct.fillTank2.oldActive := tankController.makeProduct.fillTank2.outerStatePort.localActive (109) [----] end when; (110) [SCAL] (1) tankController.makeProduct.fillTank2.newActive = if tankController.makeProduct.stateGraphRoot.resume then tankController.makeProduct.fillTank2.oldActive else $SEV_28 ($RES_SIM_209) (111) [SCAL] (1) $FUN_1 = Modelica.StateGraph.Temporary.anyTrue(tankController.s1.inPort.set) ($RES_$AUX_399) (112) [SCAL] (1) $FUN_2 = Modelica.StateGraph.Temporary.anyTrue(tankController.s1.outPort.reset) ($RES_$AUX_398) (113) [SCAL] (1) $FUN_3 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.fillTank1.inPort.set) ($RES_$AUX_397) (114) [SCAL] (1) $FUN_4 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.fillTank1.outPort.reset) ($RES_$AUX_396) (115) [SCAL] (1) $FUN_5 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.fillTank2.inPort.set) ($RES_$AUX_395) (116) [SCAL] (1) $FUN_6 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.fillTank2.outPort.reset) ($RES_$AUX_394) (117) [SCAL] (1) $FUN_7 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.emptyTank2.inPort.set) ($RES_$AUX_393) (118) [SCAL] (1) $FUN_8 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.emptyTank2.outPort.reset) ($RES_$AUX_392) (119) [SCAL] (1) $FUN_9 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.wait1.inPort.set) ($RES_$AUX_391) (120) [SCAL] (1) $FUN_10 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.wait1.outPort.reset) ($RES_$AUX_390) (121) [FOR-] (2) ($RES_SIM_120) (121) [----] for $i1 in 1:2 loop (121) [----] [SCAL] (1) tankController.s2.outPort[$i1].available = if $SEV_13[$i1] then tankController.s2.outerStatePort.localActive else $SEV_14[$i1] ($RES_SIM_121) (121) [----] end for; (122) [SCAL] (1) tankController.s2.inPort[1].occupied = tankController.s2.outerStatePort.localActive ($RES_SIM_122) (123) [WHEN] (1)when false then (123) [----] tankController.s2.oldActive := tankController.s2.outerStatePort.localActive (123) [----] end when; (124) [SCAL] (1) $TEV_18 = $PRE.tankController.makeProduct.wait2.outerStatePort.localActive ($RES_EVT_420) (125) [SCAL] (1) tankController.s2.newActive = $SEV_15 ($RES_SIM_124) (126) [SCAL] (1) $TEV_19 = $PRE.tankController.makeProduct.wait2.newActive ($RES_EVT_421) (127) [SCAL] (1) tankController.s2.outerStatePort.localActive = $TEV_11 ($RES_SIM_125) (128) [SCAL] (1) $TEV_20 = $PRE.tankController.makeProduct.T2.enableFire ($RES_EVT_422) (129) [SCAL] (1) $TEV_21 = $PRE.tankController.makeProduct.wait1.oldActive ($RES_EVT_423) (130) [SCAL] (1) tankController.s2.outerStatePort.subgraphStatePort.activeSteps = if tankController.s2.outerStatePort.localActive then 1.0 else 0.0 ($RES_SIM_127) (131) [SCAL] (1) $TEV_22 = $PRE.tankController.makeProduct.wait1.outerStatePort.localActive ($RES_EVT_424) (132) [SCAL] (1) $TEV_23 = $PRE.tankController.makeProduct.wait1.newActive ($RES_EVT_425) (133) [SCAL] (1) $TEV_24 = $PRE.tankController.makeProduct.emptyTank2.oldActive ($RES_EVT_426) (134) [SCAL] (1) $TEV_25 = $PRE.tankController.makeProduct.emptyTank2.outerStatePort.localActive ($RES_EVT_427) (135) [SCAL] (1) $TEV_26 = $PRE.tankController.makeProduct.emptyTank2.newActive ($RES_EVT_428) (136) [SCAL] (1) $TEV_27 = $PRE.tankController.makeProduct.T3.outPort.set ($RES_EVT_429) (137) [SCAL] (1) tankController.makeProduct.fillTank2.outerStatePort.localActive = $TEV_30 ($RES_SIM_210) (138) [SCAL] (1) start.table.realToBoolean.y = $SEV_7 ($RES_SIM_82) (139) [SCAL] (1) start.table.combiTimeTable.y[1] = start.table.combiTimeTable.p_offset[1] + Modelica.Blocks.Tables.Internal.getTimeTableValueNoDer(start.table.combiTimeTable.tableID, 1, time, start.table.combiTimeTable.nextTimeEventScaled, $TEV_40) ($RES_SIM_83) (140) [SCAL] (1) tankController.makeProduct.fillTank2.outerStatePort.subgraphStatePort.activeSteps = if tankController.makeProduct.fillTank2.outerStatePort.localActive then 1.0 else 0.0 ($RES_SIM_212) (141) [WHEN] (1)when {$SEV_8, initial()} then (141) [----] start.table.combiTimeTable.nextTimeEventScaled := Modelica.Blocks.Tables.Internal.getNextTimeEvent(start.table.combiTimeTable.tableID, time) (141) [----] end when; (142) [WHEN] (1)when {$SEV_8, initial()} then (142) [----] start.table.combiTimeTable.nextTimeEvent := if start.table.combiTimeTable.nextTimeEventScaled < 1e60 then start.table.combiTimeTable.nextTimeEventScaled else 1e60 (142) [----] end when; (143) [SCAL] (1) tankController.makeProduct.T1.outPort.set = $SEV_29 ($RES_SIM_215) (144) [SCAL] (1) tankController.T6.outPort.set = $SEV_9 ($RES_SIM_89) (145) [SCAL] (1) tankController.makeProduct.stateGraphRoot.suspend = $FUN_13 ($RES_BND_344) (146) [SCAL] (1) $FUN_11 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.wait2.inPort.set) ($RES_$AUX_389) (147) [SCAL] (1) tankController.makeProduct.stateGraphRoot.resume = $FUN_14 ($RES_BND_345) (148) [SCAL] (1) $FUN_12 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.wait2.outPort.reset) ($RES_$AUX_388) (149) [SCAL] (1) $FUN_13 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.suspend.reset) ($RES_$AUX_387) (150) [SCAL] (1) $FUN_14 = Modelica.StateGraph.Temporary.anyTrue(tankController.makeProduct.resume.set) ($RES_$AUX_386) (151) [SCAL] (1) tankController.makeProduct.T1.localCondition = $SEV_38 ($RES_BND_348) (152) [SCAL] (1) $FUN_15 = Modelica.StateGraph.Temporary.anyTrue(tankController.s2.inPort.set) ($RES_$AUX_385) (153) [SCAL] (1) tankController.makeProduct.wait2.outPort[1].reset = tankController.makeProduct.T4.outPort.set ($RES_SIM_300) (154) [SCAL] (1) $FUN_16 = Modelica.StateGraph.Temporary.anyTrue(tankController.s2.outPort.reset) ($RES_$AUX_384) (155) [SCAL] (1) tankController.makeProduct.wait2.outPort[1].available = tankController.makeProduct.T4.inPort.available ($RES_SIM_301) (156) [SCAL] (1) $FUN_17 = Modelica.StateGraph.Temporary.anyTrue(tankController.emptyTanks.inPort.set) ($RES_$AUX_383) (157) [SCAL] (1) tankController.makeProduct.T1.outPort.set = tankController.makeProduct.wait1.inPort[1].set ($RES_SIM_302) (158) [SCAL] (1) $FUN_18 = Modelica.StateGraph.Temporary.anyTrue(tankController.emptyTanks.outPort.reset) ($RES_$AUX_382) (159) [SCAL] (1) tankController.makeProduct.T1.outPort.occupied = tankController.makeProduct.wait1.inPort[1].occupied ($RES_SIM_303) (160) [SCAL] (1) tankController.makeProduct.T2.outPort.set = tankController.makeProduct.fillTank2.inPort[1].set ($RES_SIM_304) (161) [SCAL] (1) tankController.makeProduct.T2.outPort.occupied = tankController.makeProduct.fillTank2.inPort[1].occupied ($RES_SIM_305) (162) [SCAL] (1) tankController.T3.outPort.set = $SEV_16 ($RES_SIM_130) (163) [SCAL] (1) tankController.makeProduct.wait1.outPort[1].reset = tankController.makeProduct.T2.outPort.set ($RES_SIM_306) (164) [SCAL] (1) tankController.makeProduct.wait1.outPort[1].available = tankController.makeProduct.T2.inPort.available ($RES_SIM_307) (165) [SCAL] (1) tankController.makeProduct.emptyTank2.outPort[1].reset = tankController.T2.outPort.set ($RES_SIM_308) (166) [SCAL] (1) $TEV_28 = $PRE.tankController.makeProduct.fillTank2.oldActive ($RES_EVT_430) (167) [SCAL] (1) tankController.makeProduct.emptyTank2.outPort[1].available = tankController.makeProduct.outPort.available ($RES_SIM_309) (168) [SCAL] (1) $TEV_29 = $PRE.tankController.makeProduct.fillTank2.outerStatePort.localActive ($RES_EVT_431) (169) [SCAL] (1) $TEV_30 = $PRE.tankController.makeProduct.fillTank2.newActive ($RES_EVT_432) (170) [SCAL] (1) $TEV_31 = $PRE.tankController.makeProduct.T1.outPort.set ($RES_EVT_433) (171) [SCAL] (1) tankController.T2.outPort.set = $SEV_17 ($RES_SIM_137) (172) [SCAL] (1) $TEV_32 = $PRE.tankController.makeProduct.fillTank1.oldActive ($RES_EVT_434) (173) [SCAL] (1) $TEV_33 = $PRE.tankController.makeProduct.fillTank1.outerStatePort.localActive ($RES_EVT_435) (174) [SCAL] (1) $TEV_34 = $PRE.tankController.makeProduct.fillTank1.newActive ($RES_EVT_436) (175) [SCAL] (1) $TEV_35 = $PRE.tankController.s1.oldActive ($RES_EVT_437) (176) [SCAL] (1) $TEV_36 = $PRE.tankController.s1.outerStatePort.localActive ($RES_EVT_438) (177) [SCAL] (1) $TEV_37 = $PRE.tankController.s1.newActive ($RES_EVT_439) (178) [SCAL] (1) tankController.makeProduct.fillTank1.outPort[1].reset = false ($RES_SIM_220) (179) [SCAL] (1) tankController.makeProduct.fillTank1.inPort[1].set = false ($RES_SIM_221) (180) [SCAL] (1) tankController.makeProduct.fillTank1.outPort[1].available = tankController.makeProduct.fillTank1.outerStatePort.localActive ($RES_SIM_222) (181) [SCAL] (1) tankController.emptyTanks.outPort[1].reset = false ($RES_SIM_94) (182) [SCAL] (1) tankController.makeProduct.fillTank1.inPort[1].occupied = tankController.makeProduct.fillTank1.outerStatePort.localActive ($RES_SIM_223) (183) [SCAL] (1) tankController.emptyTanks.inPort[1].set = false ($RES_SIM_95) (184) [WHEN] (1)when tankController.makeProduct.stateGraphRoot.suspend then (184) [----] tankController.makeProduct.fillTank1.oldActive := tankController.makeProduct.fillTank1.outerStatePort.localActive (184) [----] end when; (185) [SCAL] (1) tankController.emptyTanks.outPort[1].available = tankController.emptyTanks.outerStatePort.localActive ($RES_SIM_96) (186) [SCAL] (1) tankController.makeProduct.fillTank1.newActive = if tankController.makeProduct.stateGraphRoot.resume then tankController.makeProduct.fillTank1.oldActive else $SEV_30 ($RES_SIM_225) (187) [SCAL] (1) tankController.emptyTanks.inPort[1].occupied = tankController.emptyTanks.outerStatePort.localActive ($RES_SIM_97) (188) [SCAL] (1) tankController.makeProduct.fillTank1.outerStatePort.localActive = $TEV_34 ($RES_SIM_226) (189) [SCAL] (1) tankController.makeProduct.T3.localCondition = $SEV_37 ($RES_BND_351) (190) [WHEN] (1)when false then (190) [----] tankController.emptyTanks.oldActive := tankController.emptyTanks.outerStatePort.localActive (190) [----] end when; (191) [SCAL] (1) tankController.emptyTanks.newActive = $SEV_10 ($RES_SIM_99) (192) [SCAL] (1) tankController.makeProduct.fillTank1.outerStatePort.subgraphStatePort.activeSteps = if tankController.makeProduct.fillTank1.outerStatePort.localActive then 1.0 else 0.0 ($RES_SIM_228) (193) [SCAL] (1) tankController.makeProduct.outerState.subgraphStatePort.activeSteps = if tankController.makeProduct.outerState.active then 1.0 else 0.0 ($RES_SIM_229) (194) [SCAL] (1) tankController.makeProduct.fillTank2.outPort[1].reset = tankController.makeProduct.T3.outPort.set ($RES_SIM_310) (195) [SCAL] (1) tankController.makeProduct.fillTank2.outPort[1].available = tankController.makeProduct.T3.inPort.available ($RES_SIM_311) (196) [SCAL] (1) tankController.makeProduct.fillTank1.outPort[1].reset = tankController.makeProduct.T1.outPort.set ($RES_SIM_312) (197) [SCAL] (1) tankController.makeProduct.fillTank1.outPort[1].available = tankController.makeProduct.T1.inPort.available ($RES_SIM_313) (198) [SCAL] (1) tankController.makeProduct.fillTank1.inPort[1].set = tankController.T1.inPort.reset ($RES_SIM_314) (199) [SCAL] (1) tankController.makeProduct.fillTank1.inPort[1].occupied = tankController.T1.outPort.occupied ($RES_SIM_315) (200) [SCAL] (1) $TEV_38 = $PRE.shut.table.combiTimeTable.nextTimeEventScaled ($RES_EVT_440) (201) [SCAL] (1) tankController.T1.inPort.reset = $SEV_18 ($RES_SIM_144) (202) [SCAL] (1) $TEV_39 = $PRE.stop.table.combiTimeTable.nextTimeEventScaled ($RES_EVT_441) (203) [SCAL] (1) $TEV_40 = $PRE.start.table.combiTimeTable.nextTimeEventScaled ($RES_EVT_442) (204) [SCAL] (1) $SEV_1 = shut.table.realToBoolean.u >= shut.table.realToBoolean.threshold ($RES_EVT_444) (205) [SCAL] (1) $SEV_2 = time >= $PRE.shut.table.combiTimeTable.nextTimeEvent ($RES_EVT_445) (206) [SCAL] (1) tankController.makeProduct.resume[1].set = false ($RES_SIM_149) (207) [SCAL] (1) $SEV_4 = stop.table.realToBoolean.u >= stop.table.realToBoolean.threshold ($RES_EVT_447) (208) [SCAL] (1) $SEV_5 = time >= $PRE.stop.table.combiTimeTable.nextTimeEvent ($RES_EVT_448) (209) [SCAL] (1) tankController.s1.outPort[1].reset = false ($RES_SIM_233) (210) [FOR-] (2) ($RES_SIM_234) (210) [----] for $i1 in 1:2 loop (210) [----] [SCAL] (1) tankController.s1.inPort[$i1].set = false ($RES_SIM_235) (210) [----] end for; (211) [SCAL] (1) tankController.s1.outPort[1].available = tankController.s1.outerStatePort.localActive ($RES_SIM_236) (212) [FOR-] (2) ($RES_SIM_237) (212) [----] for $i1 in 1:2 loop (212) [----] [SCAL] (1) tankController.s1.inPort[$i1].occupied = if $SEV_13[$i1] then tankController.s1.outerStatePort.localActive else $SEV_31[$i1] ($RES_SIM_238) (212) [----] end for; (213) [SCAL] (1) tankController.T2.localCondition = $SEV_36 ($RES_BND_362) (214) [WHEN] (1)when false then (214) [----] tankController.s1.oldActive := tankController.s1.outerStatePort.localActive (214) [----] end when; (215) [SCAL] (1) tankController.makeProduct.suspend[1].reset = false ($RES_SIM_150) (216) [SCAL] (1) tankController.makeProduct.suspend[1].available = tankController.makeProduct.outerState.active ($RES_SIM_151) (217) [SCAL] (1) tankController.makeProduct.resume[1].occupied = tankController.makeProduct.outerState.active ($RES_SIM_152) (218) [SCAL] (1) tankController.makeProduct.newActive = $SEV_19 ($RES_SIM_153) (219) [SCAL] (1) tankController.makeProduct.outerState.active = $TEV_15 ($RES_SIM_154) (220) [SCAL] (1) $SEV_7 = start.table.realToBoolean.u >= start.table.realToBoolean.threshold ($RES_EVT_450) (221) [SCAL] (1) tankController.makeProduct.activeSteps = -integer(tankController.makeProduct.stateGraphRoot.subgraphStatePort.activeSteps) ($RES_SIM_155) (222) [SCAL] (1) $SEV_8 = time >= $PRE.start.table.combiTimeTable.nextTimeEvent ($RES_EVT_451) (223) [SCAL] (1) $SEV_9 = (tankController.T6.localCondition and tankController.T6.inPort.available) and not tankController.T6.outPort.occupied ($RES_EVT_452) (224) [SCAL] (1) $SEV_10 = $FUN_17 or tankController.emptyTanks.outerStatePort.localActive and not $FUN_18 ($RES_EVT_453) (225) [SCAL] (1) tankController.makeProduct.T4.enableFire = $SEV_20 ($RES_SIM_158) (226) [SCAL] (1) $SEV_11 = (shut.on and tankController.T5.inPort.available) and not tankController.T5.outPort.occupied ($RES_EVT_454) (227) [SCAL] (1) tankController.makeProduct.T4.outPort.set = $SEV_21 ($RES_SIM_159) (228) [SCAL] (1) $SEV_12 = (start.on and tankController.T4.inPort.available) and not tankController.T4.outPort.occupied ($RES_EVT_455) (229) [FOR-] (2) ($RES_EVT_456) (229) [----] for $i1 in 1:2 loop (229) [----] [SCAL] (1) $SEV_13[$i1] = $i1 == 1 ($RES_EVT_457) (229) [----] end for; (230) [FOR-] (2) ($RES_EVT_458) (230) [----] for $i1 in 1:2 loop (230) [----] [SCAL] (1) $SEV_14[$i1] = tankController.s2.outPort[$i1 - 1].available and not tankController.s2.outPort[$i1 - 1].reset ($RES_EVT_459) (230) [----] end for; (231) [SCAL] (1) tankController.s1.newActive = $SEV_32 ($RES_SIM_240) (232) [SCAL] (1) tankController.s1.outerStatePort.localActive = $TEV_37 ($RES_SIM_241) (233) [SCAL] (1) tankController.s1.outerStatePort.subgraphStatePort.activeSteps = if tankController.s1.outerStatePort.localActive then 1.0 else 0.0 ($RES_SIM_243) (234) [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) (235) [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) (236) [SCAL] (1) tankController.T6.localCondition = $SEV_35 ($RES_BND_372) (237) [SCAL] (1) valve2.valveControl = $SEV_34 ($RES_BND_375) (238) [SCAL] (1) valve3.valveControl = $SEV_33 ($RES_BND_376) (239) [ARRY] (2) start.reset = {stop.on, shut.on} ($RES_BND_377) (240) [ARRY] (2) stop.reset = {start.on, shut.on} ($RES_BND_378) (241) [ARRY] (2) shut.reset = {start.on, stop.on} ($RES_BND_379) (242) [SCAL] (1) tankController.makeProduct.T4.t = if tankController.makeProduct.T4.enableFire then tankController.makeProduct.T4.t_dummy else 0.0 ($RES_SIM_160) (243) [WHEN] (1)when tankController.makeProduct.T4.enableFire then (243) [----] time - tankController.makeProduct.T4.t_dummy := time (243) [----] end when; (244) [SCAL] (1) tankController.makeProduct.wait2.outPort[1].reset = false ($RES_SIM_163) (245) [SCAL] (1) tankController.makeProduct.wait2.inPort[1].set = false ($RES_SIM_164) (246) [SCAL] (1) $SEV_15 = $FUN_15 or tankController.s2.outerStatePort.localActive and not $FUN_16 ($RES_EVT_460) (247) [SCAL] (1) tankController.makeProduct.wait2.outPort[1].available = tankController.makeProduct.wait2.outerStatePort.localActive ($RES_SIM_165) (248) [SCAL] (1) $SEV_16 = (stop.on and tankController.T3.inPort.available) and not tankController.T3.outPort.occupied ($RES_EVT_461) (249) [SCAL] (1) tankController.makeProduct.wait2.inPort[1].occupied = tankController.makeProduct.wait2.outerStatePort.localActive ($RES_SIM_166) (250) [SCAL] (1) $SEV_17 = (tankController.T2.localCondition and tankController.makeProduct.outPort.available) and not tankController.T2.outPort.occupied ($RES_EVT_462) (251) [WHEN] (1)when tankController.makeProduct.stateGraphRoot.suspend then (251) [----] tankController.makeProduct.wait2.oldActive := tankController.makeProduct.wait2.outerStatePort.localActive (251) [----] end when; (252) [SCAL] (1) $SEV_18 = (start.on and tankController.T1.inPort.available) and not tankController.T1.outPort.occupied ($RES_EVT_463) (253) [SCAL] (1) tankController.makeProduct.wait2.newActive = if tankController.makeProduct.stateGraphRoot.resume then tankController.makeProduct.wait2.oldActive else $SEV_22 ($RES_SIM_168) (254) [SCAL] (1) $SEV_19 = tankController.makeProduct.activeSteps > 0 and not $FUN_13 or $FUN_14 ($RES_EVT_464) (255) [SCAL] (1) tankController.makeProduct.wait2.outerStatePort.localActive = $TEV_19 ($RES_SIM_169) (256) [SCAL] (1) $SEV_20 = tankController.makeProduct.T4.inPort.available and not tankController.makeProduct.T4.outPort.occupied ($RES_EVT_465) (257) [SCAL] (1) $SEV_21 = tankController.makeProduct.T4.enableFire and time >= ((time - tankController.makeProduct.T4.t_dummy) + tankController.makeProduct.T4.waitTime) ($RES_EVT_466) (258) [SCAL] (1) $SEV_22 = ($FUN_11 or tankController.makeProduct.wait2.outerStatePort.localActive and not $FUN_12) and not tankController.makeProduct.stateGraphRoot.suspend ($RES_EVT_467) (259) [SCAL] (1) $SEV_23 = tankController.makeProduct.T2.inPort.available and not tankController.makeProduct.T2.outPort.occupied ($RES_EVT_468) (260) [SCAL] (1) $SEV_24 = tankController.makeProduct.T2.enableFire and time >= ((time - tankController.makeProduct.T2.t_dummy) + tankController.makeProduct.T2.waitTime) ($RES_EVT_469)