scchart T3A1 { input bool second; initial state start --> setPoints immediate; state setPoints { entry / 'setpoint(railway, 23, BRANCH)'; entry / 'setpoint(railway, 24, BRANCH)'; entry / 'setpoint(railway, 20, BRANCH)'; entry / 'setpoint(railway, 19, BRANCH)'; } --> travel; state travel { entry 'settrack(railway, IC_ST_3, FWD, 100)'; entry 'settrack(railway, IC_ST_4, FWD, 100)'; entry 'settrack(railway, IC_ST_0, FWD, 100)'; entry 'settrack(railway, IC_LN_1, FWD, 100)'; entry 'settrack(railway, IC_LN_2, FWD, 100)'; entry 'settrack(railway, IC_LN_3, FWD, 100)'; entry 'settrack(railway, IC_LN_4, FWD, 100)'; entry 'settrack(railway, IC_LN_5, FWD, 100)'; entry 'settrack(railway, IC_LN_6, FWD, 100)'; } --> slowdown immediate with 'getcontact(railway, IC_ST_3, 0, 1)' / 'getcontact(railway, IC_ST_3, 1, 1)'; //aufräumen state slowdown { entry 'settrack(railway, IC_ST_3, FWD, 40)'; entry 'settrack(railway, IC_ST_4, FWD, 40)'; entry 'settrack(railway, IC_ST_0, FWD, 40)'; entry 'settrack(railway, IC_LN_1, FWD, 40)'; entry 'settrack(railway, IC_LN_2, FWD, 40)'; entry 'settrack(railway, IC_LN_3, FWD, 40)'; entry 'settrack(railway, IC_LN_4, FWD, 40)'; entry 'settrack(railway, IC_LN_5, FWD, 40)'; entry 'settrack(railway, IC_LN_6, FWD, 40)'; } --> stop immediate with 'getcontact(railway, IC_ST_3, 1, 1)'; state stop { entry 'settrack(railway, IC_ST_3, BRAKE, 0)'; entry 'settrack(railway, IC_ST_4, BRAKE, 0)'; entry 'settrack(railway, IC_ST_0, BRAKE, 0)'; entry 'settrack(railway, IC_LN_1, BRAKE, 0)'; entry 'settrack(railway, IC_LN_2, BRAKE, 0)'; entry 'settrack(railway, IC_LN_3, BRAKE, 0)'; entry 'settrack(railway, IC_LN_4, BRAKE, 0)'; entry 'settrack(railway, IC_LN_5, BRAKE, 0)'; entry 'settrack(railway, IC_LN_6, BRAKE, 0)'; } --> travel with 5 second; }