Advertisement
Guest User

door.osc

a guest
Sep 8th, 2013
313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 28.01 KB | None | 0 0
  1. '##############
  2. 'Door Script
  3. '##############
  4.  
  5. 'Controls Doors
  6.  
  7. '(c) 2007-2009 Rüdiger Hülsmann
  8. '(c) 2007-2009 Marcel Kuhnt
  9.  
  10. 'Script Version: 1.1
  11. 'Omsi release: 1.0
  12.  
  13. 'Needs:
  14. '- elec
  15.  
  16. 'Revision History:
  17. '- Marcel Kuhnt 13.06.2009 Batterietrennschalter => elec_busbar_main
  18. '- Marcel Kuhnt 21.06.2009 AI-Unterstützung hinzugefügt
  19. '- Rüdiger Hülsmann 24.10.2009 Ansteuerung des Kinderwagenwunsches modifiziert
  20. '- Rüdiger Hülsmann 19.12.2009 Timer für Ausstiegstür jetzt Timegap-basiert, Bugfix: Tür schließt jetzt nur bei elec_busbar=1
  21. '- RÜdiger Hülsmann 22.09.2010 Door light trigger value set to 0.1
  22. '- RÜdiger Hülsmann 07.11.2010 Door speed based on reservoir pressure, air-operated doors made an option
  23. '- Marcel Kuhnt 08.11.2010 AI procedure closing doors debugged
  24. '- Rüdiger Hülsmann 21.11.2010 Front doors only operable when busbar on
  25. '- Rüdiger Hülsmann 23.12.2010 External front door operation included, option: doors only operable with actual stop brake
  26. '- Rüdiger Hülsmann 31.12.2010 Electric door function debugged
  27. '- Rüdiger Hülsmann 05.01.2011 20h-switch
  28. '- Rüdiger Hülsmann 07.01.2011 Backdoor manual switch sound debugged, 20h switch depending on bus type
  29. '- Rüdiger Hülsmann 19.01.2011 Electric door support
  30. '- Rüdiger Hülsmann 19.01.2011 Electric door support
  31. '- Julian Zimmermann 03.03.2012 Türsteuerung angepasst
  32. '--------------------------------------------------------------------------------
  33.  
  34. {trigger:bus_doorfront0}
  35. (L.L.elec_busbar_main) (L.L.bremse_halte_sw) (C.L.door_needs_stopbrake) ! && &&
  36. (L.L.elec_busbar_main) (L.L.bremse_halte) (C.L.door_needs_stopbrake) && && ||
  37. (L.L.Nothahn_1_sw) 0 = &&
  38. {if}
  39. (M.L.trg_bus_doorfront0)
  40. ' (M.L.trg_bus_doorfront0_kierman)
  41. (M.L.trg_bus_doorfront1)
  42. {endif}
  43. 1 (S.L.cockpit_tuertaster1)
  44. {end}
  45.  
  46. {trigger:bus_doorfront0_off}
  47. 0 (S.L.cockpit_tuertaster1)
  48. {end}
  49.  
  50. '{trigger:Kinderwagenwunsch}
  51. ' 1 (S.L.door_kinderwagenwunsch) (S.L.Schalter_Kinderwagenwunsch) (S.L.door_handsteuerung)
  52. ' (M.L.summer_abspielen)
  53. ' 1 (S.L.haltewunsch)
  54. '{end}
  55.  
  56. {trigger:Kinderwagenwunsch_off}
  57. 0 (S.L.Schalter_Kinderwagenwunsch)
  58. {end}
  59.  
  60. '{trigger:Rollstuhlwunsch}
  61. ' 1 (S.L.door_kinderwagenwunsch) (S.L.Schalter_Rollstuhl) (S.L.door_handsteuerung)
  62. ' (M.L.summer_abspielen)
  63. ' 1 (S.L.haltewunsch)
  64. '{end}
  65.  
  66. {trigger:Rollstuhlwunsch_off}
  67. 0 (S.L.Schalter_Rollstuhl)
  68. {end}
  69.  
  70. {trigger:Nothahn_1}
  71. (L.L.Nothahn_1_sw) ! (S.L.Nothahn_1_sw)
  72. (T.L.ev_doornothahn_front)
  73. {end}
  74.  
  75. {trigger:Nothahn_2}
  76. (L.L.Nothahn_2_sw) ! (S.L.Nothahn_2_sw)
  77. (T.L.ev_doornothahn_back)
  78. {end}
  79.  
  80. {trigger:Door_0_drag}
  81. (L.L.Nothahn_1_sw)
  82. {if}
  83. (L.S.mouse_x) 1000 / (L.L.door_0) + -1 max 1 min (S.L.door_0) s1
  84. {endif}
  85. {end}
  86.  
  87. {trigger:Door_1_drag}
  88. (L.L.Nothahn_1_sw)
  89. {if}
  90. (L.S.mouse_x) 1000 / (L.L.door_1) + -1 max 1 min (S.L.door_1) s1
  91. {endif}
  92. {end}
  93.  
  94. {trigger:Door_2_drag}
  95. (L.L.Nothahn_2_sw)
  96. {if}
  97. (L.S.mouse_x) 1000 / (L.L.door_2) + -1 max 1 min (S.L.door_2) s1
  98. {endif}
  99. {end}
  100.  
  101.  
  102. {trigger:Door_3_drag}
  103. (L.L.Nothahn_2_sw)
  104. {if}
  105. (L.S.mouse_x) 1000 / (L.L.door_3) + -1 max 1 min (S.L.door_3) s1
  106. {endif}
  107. {end}
  108.  
  109.  
  110. {trigger:bus_doorfront0_external}
  111. (L.L.elec_busbar_avail)
  112. (L.L.Nothahn_1_sw) 0 = &&
  113. {if}
  114. (M.L.trg_bus_doorfront0)
  115. {endif}
  116. {end}
  117.  
  118. {trigger:cp_Tuerfluegelsperre_drag}
  119. (L.S.mouse_y) 20 / (L.L.cp_Tuerfluegelsperre_sw) + -1 max 1 min (S.L.cp_Tuerfluegelsperre_sw) s1
  120.  
  121. ' Stufen:
  122. ' -1: Flügel hinten gesperrt
  123. ' 0: kein Flügel gesperrt
  124. ' 1: Flügel vorne gesperrt
  125.  
  126. l1 -0.5 <
  127. {if}
  128. -1 (S.L.cp_Tuerfluegelsperre_modus)
  129. {else}
  130. l1 0.5 <
  131. {if}
  132. 0 (S.L.cp_Tuerfluegelsperre_modus)
  133. {else}
  134. 1 (S.L.cp_Tuerfluegelsperre_modus)
  135. {endif}
  136. {endif}
  137. {end}
  138.  
  139. {trigger:cp_Tuerfluegelsperre_off}
  140. (L.L.cp_Tuerfluegelsperre_modus) (S.L.cp_Tuerfluegelsperre_sw)
  141. {end}
  142.  
  143. {trigger:bus_doorselect_F1}
  144. 1 (S.L.cp_Tuerfluegelsperre_modus)
  145. (L.L.cp_Tuerfluegelsperre_modus) (S.L.cp_Tuerfluegelsperre_sw)
  146. {end}
  147.  
  148. {trigger:bus_doorselect_F12}
  149. 0 (S.L.cp_Tuerfluegelsperre_modus)
  150. (L.L.cp_Tuerfluegelsperre_modus) (S.L.cp_Tuerfluegelsperre_sw)
  151. {end}
  152.  
  153. {trigger:bus_doorselect_F2}
  154. -1 (S.L.cp_Tuerfluegelsperre_modus)
  155. (L.L.cp_Tuerfluegelsperre_modus) (S.L.cp_Tuerfluegelsperre_sw)
  156. {end}
  157.  
  158. {trigger:bus_doorfront1}
  159. (L.L.elec_busbar_main) (L.L.bremse_halte_sw) (C.L.door_needs_stopbrake) ! && &&
  160. (L.L.elec_busbar_main) (L.L.bremse_halte) (C.L.door_needs_stopbrake) && && ||
  161. (L.L.door_20h_sw) ! &&
  162. (L.L.Nothahn_1_sw) 0 = &&
  163. {if}
  164. (M.L.trg_bus_doorback23)
  165. (L.L.doorTarget_23)
  166. {endif}
  167. 1 (S.L.cockpit_tuertaster2)
  168. {end}
  169.  
  170. {trigger:bus_doorfront1_off}
  171. 0 (S.L.cockpit_tuertaster2)
  172. {end}
  173.  
  174. {trigger:bus_dooraft}
  175. (M.L.trg_bus_dooraft)
  176. {end}
  177.  
  178. {trigger:bus_20h-switch}
  179. (C.L.cockpit_has_20h_switch)
  180. {if}
  181. (M.L.trg_bus_20h-switch)
  182. {endif}
  183. {end}
  184.  
  185.  
  186. '{trigger:int_haltewunsch}
  187. ' (M.L.summer_abspielen)
  188. ' 1 (S.L.haltewunsch)
  189. '{end}
  190.  
  191. '{trigger:door_haltewunsch}
  192. ' (M.L.summer_abspielen)
  193. ' 1 (S.L.haltewunsch) (S.L.door_haltewunsch_knopfdruck)
  194. '{end}
  195.  
  196. {trigger:door_haltewunsch_off}
  197. 0 (S.L.door_haltewunsch_knopfdruck)
  198. {end}
  199.  
  200. '{trigger:cp_schalter_kinderwagen}
  201. ' (L.L.door_handsteuerung) ! (S.L.door_handsteuerung)
  202. ' {if}
  203. ' 0 (S.L.door_kinderwagenwunsch)
  204. ' (T.L.ev_kippschalter_ein)
  205. ' {else}
  206. ' (T.L.ev_kippschalter_aus)
  207. ' {endif}
  208.  
  209. '{end}
  210.  
  211. '{trigger:door_kinderwagenwunsch}
  212. ' (L.L.bremse_halte) (L.L.door_handsteuerung) ! &&
  213. ' {if}
  214. ' 1 (S.L.door_kinderwagenwunsch) (S.L.door_handsteuerung)
  215. ' {endif}
  216. '{end}
  217.  
  218.  
  219. {macro:Door_Init}
  220. ' 1000 random 500 / 1 - (C.L.door_acc_var) * (C.L.fdoor_acc) + (S.L.doorAcc_0_kierman)
  221. 1000 random 500 / 1 - (C.L.door_acc_var) * (C.L.fdoor_acc) + (S.L.doorAcc_0)
  222. 1000 random 500 / 1 - (C.L.door_acc_var) * (C.L.fdoor_acc) + (S.L.doorAcc_1)
  223. 1000 random 500 / 1 - (C.L.door_acc_var) * (C.L.bdoor_acc) + (S.L.doorAcc_2)
  224. 1000 random 500 / 1 - (C.L.door_acc_var) * (C.L.bdoor_acc) + (S.L.doorAcc_3)
  225.  
  226. 1000 random 500 / 1 - (C.L.door_maxspeed_var) * (C.L.fdoor_maxspeed) + (S.L.doorMaxSpeed_0_norm)
  227. 1000 random 500 / 1 - (C.L.door_maxspeed_var) * (C.L.fdoor_maxspeed) + (S.L.doorMaxSpeed_1_norm)
  228. 1000 random 500 / 1 - (C.L.door_maxspeed_var) * (C.L.bdoor_maxspeed) + (S.L.doorMaxSpeed_2_norm)
  229. 1000 random 500 / 1 - (C.L.door_maxspeed_var) * (C.L.bdoor_maxspeed) + (S.L.doorMaxSpeed_3_norm)
  230.  
  231. (C.L.door_refl) (S.L.doorRefl_0)
  232. (C.L.door_refl) (S.L.doorRefl_1)
  233. (C.L.door_refl) (S.L.doorRefl_2)
  234. (C.L.door_refl) (S.L.doorRefl_3)
  235.  
  236. {end}
  237.  
  238. {macro:Door_Frame}
  239.  
  240. (M.L.Door0_Calc)
  241. (M.L.Door1_Calc)
  242. ' (M.L.DoorAftCalc)
  243. (M.L.Door2_Calc)
  244. (M.L.Door3_Calc)
  245. (M.L.Nothahn_Loopsound)
  246. (M.L.cieply_guzik)
  247.  
  248. (L.L.door_0) 0.9 > (S.L.PAX_Entry0_Open) (S.L.PAX_Exit0_Open)
  249. (L.L.door_1) 0.9 > (S.L.PAX_Entry1_Open) (S.L.PAX_Exit1_Open)
  250. (L.L.door_2) 0.9 > (S.L.PAX_Exit2_Open) (S.L.PAX_Exit3_Open)
  251. (L.L.door_3) 0.9 > (S.L.PAX_Entry2_Open) (S.L.PAX_Entry3_Open)
  252.  
  253. ' "Dauerfeuer"-Haltewunsch über Kinderwagenschalter (macht genau dasselbe wie der "trigger:int_haltewunsch"):
  254. ' (L.L.door_handsteuerung) (L.L.door_haltewunsch_knopfdruck) ||
  255. ' {if}
  256. ' 1 (S.L.haltewunsch)
  257. ' {endif}
  258.  
  259. ' Setzen der Haltestellenbremse erst bei Stillstand des Busses:
  260. (L.L.bremse_halte_sw) (L.L.door_20h_sw) ||
  261. (L.L.bremse_halte) ! (L.L.Velocity) (C.L.Door_Bremse_Halte_MaxKMH) < && &&
  262. {if}
  263. (L.L.elec_busbar_main)
  264. {if}
  265.  
  266. 1 (S.L.bremse_halte)
  267. {endif}
  268. {endif}
  269.  
  270. ' Türfreigabekriterium
  271.  
  272. ' (L.L.bremse_halte_sw) (L.L.bremse_halte) && (S.L.door_freigabe)
  273.  
  274. ' Haltewunschlampe:
  275. (L.L.haltewunsch) (L.L.door_2) 0.2 < (L.L.door_3) 0.2 < (L.L.elec_busbar_main) && && &&
  276. {if}
  277. 1 (S.L.haltewunschlampe_soll)
  278. {else}
  279. 0 (S.L.haltewunschlampe_soll) (S.L.haltewunsch)
  280. {endif}
  281.  
  282. ' Abfall des Kinderwagenwunsch-Relais bei fehlender Stromversorgung:
  283.  
  284. (L.L.elec_busbar_main) 0 =
  285. {if}
  286. 0 (S.L.door_kinderwagenwunsch)
  287. {endif}
  288.  
  289. ' Beleuchtung der Einstiege
  290.  
  291. (L.L.elec_busbar_main)
  292. {if}
  293. (L.L.door_0) 0.1 > (L.L.door_1) 0.1 > || (S.L.door_light_1)
  294. (L.L.door_2) 0.1 > (L.L.door_3) 0.1 > || (S.L.door_light_2)
  295. {else}
  296. 0 (S.L.door_light_1) (S.L.door_light_2)
  297. {endif}
  298.  
  299. ' Druckabhängige Türgeschwindigkeit
  300.  
  301. (C.L.door_druckluft)
  302. {if}
  303. (L.L.doorMaxSpeed_0_norm) (L.L.bremse_p_Tank04) 100000 - 850000 / (S.L.doorMaxSpeed_0)
  304. (L.L.doorMaxSpeed_1_norm) (L.L.bremse_p_Tank04) 100000 - 850000 / (S.L.doorMaxSpeed_1)
  305. (L.L.doorMaxSpeed_2_norm) (L.L.bremse_p_Tank04) 100000 - 850000 / (S.L.doorMaxSpeed_2)
  306. (L.L.doorMaxSpeed_3_norm) (L.L.bremse_p_Tank04) 100000 - 850000 / (S.L.doorMaxSpeed_3)
  307. {endif}
  308. '----------------------
  309. ' AI-Ablauf:
  310.  
  311. (L.L.AI_Scheduled_AtStation) s0
  312. 1 =
  313. {if}
  314. 'Wenn Türen geöffnet werden sollen:
  315. (L.L.Velocity) (C.L.Door_Bremse_Halte_MaxKMH) <
  316. {if}
  317. 'Nur, wenn v < maxkmh, sonst warten
  318. 'Taster jeweils nur betätigen, falls noch nicht an
  319. (L.L.bremse_halte_sw) !
  320. {if}
  321. (M.L.trg_bus_dooraft)
  322. {endif}
  323. (L.L.doorTarget_0) ! (L.L.doorTarget_1) ! && (L.L.door_AI_timer) 0.3 > &&
  324. {if}
  325. (M.L.trg_bus_doorfront0)
  326. {endif}
  327. (L.L.doorTarget_23) ! (L.L.door_AI_timer) 0.6 > (L.L.haltewunsch) && &&
  328. {if}
  329. (M.L.trg_bus_doorback23)
  330. {endif}
  331. {else}
  332. 0 (S.L.door_AI_timer)
  333. {endif}
  334. (L.L.door_AI_timer) (L.S.Timegap) + (S.L.door_AI_timer)
  335. {else}
  336. l0 -1 =
  337. {if}
  338. 'Wenn Türen geschlossen werden sollen:
  339. 'Taster jeweils nur betätigen, falls noch nicht aus:
  340. (L.L.doorTarget_1) (L.L.doorTarget_0) ||
  341. {if}
  342. (M.L.trg_bus_doorfront0)
  343. 0 (S.L.door_AI_timer)
  344. {endif}
  345. (L.L.doorTarget_23) (L.L.door_AI_timer) 0.3 > &&
  346. {if}
  347. (M.L.trg_bus_doorback23)
  348. {endif}
  349. 'Haltestellenbremse erst wegnehmen, wenn alle Türen zu. Dann auch erst den Bus AI-mäßig freigeben:
  350. (L.L.door_0) 0.1 <
  351. (L.L.door_1) 0.1 < &&
  352. (L.L.door_2) 0.1 < &&
  353. {if}
  354. (L.L.bremse_halte_sw) (L.L.door_AI_timer) 0.3 > &&
  355. {if}
  356. (M.L.trg_bus_dooraft)
  357. {endif}
  358. (L.L.bremse_halte_sw) !
  359. {if}
  360. 0 (S.L.AI_Scheduled_AtStation)
  361. {endif}
  362. {else}
  363. 'Sollte eine der Türen auf sein und die Haltestellenbremse aus, dann sofort diese einlegen
  364. (L.L.bremse_halte_sw) !
  365. {if}
  366. (M.L.trg_bus_dooraft)
  367. {endif}
  368. (L.L.doorTarget_0) !
  369. (L.L.doorTarget_1) ! &&
  370. (L.L.doorTarget_23) ! &&
  371. {if}
  372. 0 (S.L.door_AI_timer)
  373. {endif}
  374. {endif}
  375. (L.L.door_AI_timer) (L.S.Timegap) + (S.L.door_AI_timer)
  376. {endif}
  377. {endif}
  378.  
  379.  
  380. {end}
  381.  
  382. {macro:Nothahn_Loopsound}
  383.  
  384. (L.L.elec_busbar_main) 1 =
  385. {if}
  386. (L.L.Nothahn_1_sw) 1 =
  387. (L.L.Nothahn_2_sw) 1 = ||
  388. {if}
  389. 1 (S.L.ev_door_Nothahnwarnloop)
  390. {else}
  391. 0 (S.L.ev_door_Nothahnwarnloop)
  392. {endif}
  393. {else}
  394. 0 (S.L.ev_door_Nothahnwarnloop)
  395. {endif}
  396. {end}
  397.  
  398. {macro:cieply_guzik}
  399.  
  400. (L.L.haltewunsch)
  401. {if}
  402. 1 (S.L.haltewunsch)
  403. {else}
  404. (L.L.PAX_Exit2_Req) (L.L.PAX_Exit0_Req) || (L.L.PAX_Exit1_Req) || (S.L.haltewunsch)
  405. {endif}
  406.  
  407. (L.L.cp_ASR_off)
  408. {if}
  409. (L.L.door_0) 0 =
  410. {if}
  411. (L.L.PAX_Entry0_Req) (L.L.PAX_Exit0_Req) ||
  412. {if}
  413. 1 (S.L.door_auto_0) (M.L.trg_bus_doorfront0)
  414. {else}
  415. 0 (S.L.door_auto_0)
  416. {endif}
  417. {endif}
  418. (L.L.door_1) 0 =
  419. {if}
  420. (L.L.PAX_Entry1_Req) (L.L.PAX_Exit1_Req) ||
  421. {if}
  422. 1 (S.L.door_auto_2) (M.L.trg_bus_doorfront0)
  423. {else}
  424. 0 (S.L.door_auto_2)
  425. {endif}
  426. {endif}
  427. (L.L.door_2) 0 =
  428. {if}
  429. (L.L.PAX_Entry2_Req) (L.L.PAX_Exit2_Req) ||
  430. {if}
  431. 1 (S.L.door_auto_2) (M.L.trg_bus_doorback23)
  432. {else}
  433. 0 (S.L.door_auto_2)
  434. {endif}
  435. {endif}
  436. (L.L.door_3) 0 =
  437. {if}
  438. (L.L.PAX_Entry3_Req) (L.L.PAX_Exit3_Req) ||
  439. {if}
  440. 1 (S.L.door_auto_3) (M.L.trg_bus_doorback23)
  441. {else}
  442. 0 (S.L.door_auto_3)
  443. {endif}
  444. {endif}
  445. 1 (S.L.bremse_halte)
  446. 1 (S.L.uzyto_cieply_przycisk)
  447. {else}
  448. (L.L.uzyto_cieply_przycisk)
  449. {if}
  450. (L.L.door_0) 0.9 >
  451. {if}
  452. (M.L.trg_bus_doorfront0)
  453. {endif}
  454. (L.L.door_1) 0.9 >
  455. {if}
  456. (M.L.trg_bus_doorfront1)
  457. {endif}
  458. (L.L.door_2) 0.9 >
  459. {if}
  460. (M.L.trg_bus_doorback23)
  461. {endif}
  462. 0 (S.L.uzyto_cieply_przycisk)
  463. {endif}
  464. 0 (S.L.bremse_halte)
  465. {endif}
  466. {end}
  467. {end}
  468.  
  469. '{macro:Door0_Calc_kierman}
  470. ' (C.L.electric_doors)
  471. ' {if}
  472. ' (L.L.doorTarget_0_kierman)
  473. ' {if}
  474. ' (L.L.door_0_kierman) (F.L.door_0_opn_speed) (S.L.doorMaxSpeed_0)
  475. ' {else}
  476. ' (L.L.door_0_kierman) (F.L.door_0_cls_speed) (S.L.doorMaxSpeed_0)
  477. ' {endif}
  478. '
  479. ' (C.L.fdoor_acc) (S.L.doorAcc_0)
  480. '
  481. ' (L.L.doorTarget_0_kierman) ! (L.L.doorSpeed_0_kierman) s0 abs 0.05 > (L.L.door_0_kierman) 0 > || &&
  482. ' {if}
  483. ' l0 /-/ (L.L.doorMaxSpeed_0) <
  484. ' {if}
  485. ' (L.L.doorSpeed_0_kierman) (L.L.doorAcc_0) (L.S.Timegap) * - (S.L.doorSpeed_0_kierman)
  486. ' {else}
  487. ' (L.L.doorSpeed_0_kierman) (L.L.doorAcc_0) (L.S.Timegap) * + (S.L.doorSpeed_0_kierman)
  488. ' {endif}
  489. ' (L.L.door_0_kierman) (L.L.doorSpeed_0_kierman) (L.S.Timegap) * + (S.L.door_0_kierman)
  490. ' {else}
  491. ' (L.L.doorSpeed_0_kierman) abs 0.05 > (L.L.door_0_kierman) 1 < || (L.L.doorTarget_0_kierman) &&
  492. ' {if}
  493. ' l0 (L.L.doorMaxSpeed_0) <
  494. ' {if}
  495. ' (L.L.doorSpeed_0_kierman) (L.L.doorAcc_0) (L.S.Timegap) * + (S.L.doorSpeed_0_kierman)
  496. ' {else}
  497. ' (L.L.doorSpeed_0_kierman) (L.L.doorAcc_0) (L.S.Timegap) * - (S.L.doorSpeed_0_kierman)
  498. ' {endif}
  499. ' (L.L.door_0_kierman) (L.L.doorSpeed_0_kierman) (L.S.Timegap) * + (S.L.door_0_kierman)
  500. ' {else}
  501. ' 0 (S.L.doorSpeed_0_kierman)
  502. ' {endif}
  503. ' {endif}
  504. ' {else}
  505. ' (L.L.doorTarget_0_kierman) ! (L.L.doorSpeed_0_kierman) s0 abs 0.05 > (L.L.door_0_kierman) 0 > || &&
  506. ' {if}
  507. ' l0 /-/ (L.L.doorMaxSpeed_0) <
  508. ' {if}
  509. ' (L.L.doorSpeed_0_kierman) (L.L.doorAcc_0) (L.S.Timegap) * - (S.L.doorSpeed_0_kierman)
  510. ' {endif}
  511. ' (L.L.door_0_kierman) (L.L.doorSpeed_0_kierman) (L.S.Timegap) * + (S.L.door_0_kierman)
  512. ' {else}
  513. ' (L.L.doorSpeed_0_kierman) abs 0.05 > (L.L.door_0_kierman) 1 < || (L.L.doorTarget_0_kierman) &&
  514. ' {if}
  515. ' l0 (L.L.doorMaxSpeed_0) <
  516. ' {if}
  517. ' (L.L.doorSpeed_0_kierman) (L.L.doorAcc_0) (L.S.Timegap) * + (S.L.doorSpeed_0_kierman)
  518. ' {endif}
  519. ' (L.L.door_0_kierman) (L.L.doorSpeed_0_kierman) (L.S.Timegap) * + (S.L.door_0_kierman)
  520. ' {else}
  521. ' 0 (S.L.doorSpeed_0_kierman)
  522. ' {endif}
  523. ' {endif}
  524. ' {endif}
  525. '
  526. ' (L.L.door_0_kierman) 1 >
  527. ' {if}
  528. ' (T.L.ev_doorhitopen_0)
  529. ' 1 (S.L.door_0_kierman)
  530. ' (L.L.doorSpeed_0_kierman) /-/ (L.L.doorRefl_0) * (S.L.doorSpeed_0_kierman)
  531. ' {else}
  532. ' (L.L.door_0_kierman) 0 <
  533. ' {if}
  534. ' (T.L.ev_doorhitclose_0)
  535. ' 0 (S.L.door_0_kierman)
  536. ' (L.L.doorSpeed_0_kierman) /-/ (L.L.doorRefl_0) * (S.L.doorSpeed_0_kierman)
  537. ' {endif}
  538. ' {endif}
  539. '{end}
  540.  
  541.  
  542. {macro:Door0_Calc}
  543. (C.L.electric_doors)
  544. (L.L.Nothahn_1_sw) 0 = &&
  545. {if}
  546. (L.L.doorTarget_0)
  547. {if}
  548. (L.L.door_0) (F.L.door_0_opn_speed) (S.L.doorMaxSpeed_0)
  549. {else}
  550. (L.L.door_0) (F.L.door_0_cls_speed) (S.L.doorMaxSpeed_0)
  551. {endif}
  552.  
  553. (C.L.fdoor_acc) (S.L.doorAcc_0)
  554.  
  555. (L.L.doorTarget_0) ! (L.L.doorSpeed_0) s0 abs 0.05 > (L.L.door_0) 0 > || &&
  556. {if}
  557. l0 /-/ (L.L.doorMaxSpeed_0) <
  558. {if}
  559. (L.L.doorSpeed_0) (L.L.doorAcc_0) (L.S.Timegap) * - (S.L.doorSpeed_0)
  560. {else}
  561. (L.L.doorSpeed_0) (L.L.doorAcc_0) (L.S.Timegap) * + (S.L.doorSpeed_0)
  562. {endif}
  563. (L.L.door_0) (L.L.doorSpeed_0) (L.S.Timegap) * + (S.L.door_0)
  564. {else}
  565. (L.L.doorSpeed_0) abs 0.05 > (L.L.door_0) 1 < || (L.L.doorTarget_0) &&
  566. {if}
  567. l0 (L.L.doorMaxSpeed_0) <
  568. {if}
  569. (L.L.doorSpeed_0) (L.L.doorAcc_0) (L.S.Timegap) * + (S.L.doorSpeed_0)
  570. {else}
  571. (L.L.doorSpeed_0) (L.L.doorAcc_0) (L.S.Timegap) * - (S.L.doorSpeed_0)
  572. {endif}
  573. (L.L.door_0) (L.L.doorSpeed_0) (L.S.Timegap) * + (S.L.door_0)
  574. {else}
  575. 0 (S.L.doorSpeed_0)
  576. {endif}
  577. {endif}
  578. {else}
  579. (L.L.Nothahn_1_sw) 0 =
  580. {if}
  581. (L.L.doorTarget_0) ! (L.L.doorSpeed_0) s0 abs 0.05 > (L.L.door_0) 0 > || &&
  582. {if}
  583. l0 /-/ (L.L.doorMaxSpeed_0) <
  584. {if}
  585. (L.L.doorSpeed_0) (L.L.doorAcc_0) (L.S.Timegap) * - (S.L.doorSpeed_0)
  586. {endif}
  587. (L.L.door_0) (L.L.doorSpeed_0) (L.S.Timegap) * + (S.L.door_0)
  588. {else}
  589. (L.L.doorSpeed_0) abs 0.05 > (L.L.door_0) 1 < || (L.L.doorTarget_0) &&
  590. {if}
  591. l0 (L.L.doorMaxSpeed_0) <
  592. {if}
  593. (L.L.doorSpeed_0) (L.L.doorAcc_0) (L.S.Timegap) * + (S.L.doorSpeed_0)
  594. {endif}
  595. (L.L.door_0) (L.L.doorSpeed_0) (L.S.Timegap) * + (S.L.door_0)
  596. {else}
  597. 0 (S.L.doorSpeed_0)
  598. {endif}
  599. {endif}
  600. {endif}
  601. {endif}
  602.  
  603. (L.L.door_0) 1 >
  604. {if}
  605. (T.L.ev_doorhitopen_0)
  606. 1 (S.L.door_0)
  607. (L.L.doorSpeed_0) /-/ (L.L.doorRefl_0) * (S.L.doorSpeed_0)
  608. {else}
  609. (L.L.door_0) 0 <
  610. {if}
  611. (T.L.ev_doorhitclose_0)
  612. 0 (S.L.door_0)
  613. (L.L.doorSpeed_0) /-/ (L.L.doorRefl_0) * (S.L.doorSpeed_0)
  614. {endif}
  615. {endif}
  616. {end}
  617.  
  618. {macro:Door1_Calc}
  619. (C.L.electric_doors)
  620. (L.L.Nothahn_1_sw) 0 = &&
  621. {if}
  622. (L.L.doorTarget_1)
  623. {if}
  624. (L.L.door_1) (F.L.door_1_opn_speed) (S.L.doorMaxSpeed_1)
  625. {else}
  626. (L.L.door_1) (F.L.door_1_cls_speed) (S.L.doorMaxSpeed_1)
  627. {endif}
  628.  
  629. (C.L.fdoor_acc) (S.L.doorAcc_1)
  630.  
  631. (L.L.doorTarget_1) ! (L.L.doorSpeed_1) s0 abs 0.05 > (L.L.door_1) 0 > || &&
  632. {if}
  633. l0 /-/ (L.L.doorMaxSpeed_1) <
  634. {if}
  635. (L.L.doorSpeed_1) (L.L.doorAcc_1) (L.S.Timegap) * - (S.L.doorSpeed_1)
  636. {else}
  637. (L.L.doorSpeed_1) (L.L.doorAcc_1) (L.S.Timegap) * + (S.L.doorSpeed_1)
  638. {endif}
  639. (L.L.door_1) (L.L.doorSpeed_1) (L.S.Timegap) * + (S.L.door_1)
  640. {else}
  641. (L.L.doorSpeed_1) abs 0.05 > (L.L.door_1) 1 < || (L.L.doorTarget_1) &&
  642. {if}
  643. l0 (L.L.doorMaxSpeed_1) <
  644. {if}
  645. (L.L.doorSpeed_1) (L.L.doorAcc_1) (L.S.Timegap) * + (S.L.doorSpeed_1)
  646. {else}
  647. (L.L.doorSpeed_1) (L.L.doorAcc_1) (L.S.Timegap) * - (S.L.doorSpeed_1)
  648. {endif}
  649. (L.L.door_1) (L.L.doorSpeed_1) (L.S.Timegap) * + (S.L.door_1)
  650. {else}
  651. 0 (S.L.doorSpeed_1)
  652. {endif}
  653. {endif}
  654. {else}
  655. (L.L.Nothahn_1_sw) 0 =
  656. {if}
  657. (L.L.doorTarget_1) ! (L.L.doorSpeed_1) s0 abs 0.05 > (L.L.door_1) 0 > || &&
  658. {if}
  659. l0 /-/ (L.L.doorMaxSpeed_1) <
  660. {if}
  661. (L.L.doorSpeed_1) (L.L.doorAcc_1) (L.S.Timegap) * - (S.L.doorSpeed_1)
  662. {endif}
  663. (L.L.door_1) (L.L.doorSpeed_1) (L.S.Timegap) * + (S.L.door_1)
  664. {else}
  665. (L.L.doorSpeed_1) abs 0.05 > (L.L.door_1) 1 < || (L.L.doorTarget_1) &&
  666. {if}
  667. l0 (L.L.doorMaxSpeed_1) <
  668. {if}
  669. (L.L.doorSpeed_1) (L.L.doorAcc_1) (L.S.Timegap) * + (S.L.doorSpeed_1)
  670. {endif}
  671. (L.L.door_1) (L.L.doorSpeed_1) (L.S.Timegap) * + (S.L.door_1)
  672. {else}
  673. 0 (S.L.doorSpeed_1)
  674. {endif}
  675. {endif}
  676. {endif}
  677. {endif}
  678.  
  679. (L.L.door_1) 1 >
  680. {if}
  681. (T.L.ev_doorhitopen_1)
  682. 1 (S.L.door_1)
  683. (L.L.doorSpeed_1) /-/ (L.L.doorRefl_1) * (S.L.doorSpeed_1)
  684. {else}
  685. (L.L.door_1) 0 <
  686. {if}
  687. (T.L.ev_doorhitclose_1)
  688. 0 (S.L.door_1)
  689. (L.L.doorSpeed_1) /-/ (L.L.doorRefl_1) * (S.L.doorSpeed_1)
  690. {endif}
  691. {endif}
  692. {end}
  693.  
  694. '{macro:DoorAftCalc}
  695. '
  696. ' (L.L.bremse_halte_sw) !
  697. ' (L.L.door_20h_sw) ! &&
  698. ' (L.L.door_2) 0 = &&
  699. ' (L.L.door_3) 0 = &&
  700. ' (L.L.elec_busbar_main) ! ||
  701. ' (L.L.bremse_halte) &&
  702. ' (L.L.throttle) 0.2 > &&
  703. ' {if}
  704. ' 0 (S.L.bremse_halte)
  705. ' (T.L.ev_haltebremse_aus)
  706. ' {endif}
  707. '
  708. ' Türfreigabe
  709. ' (L.L.cp_Tuerfreigabe_sw)
  710. ' (L.L.bremse_halte) &&
  711. ' (L.L.elec_busbar_main) &&
  712. ' (L.L.haltewunsch)
  713. ' (L.L.door_handsteuerung) || &&
  714. ' (L.L.doorTarget_23) ! &&
  715. ' {if}
  716. ' (M.L.trg_bus_doorback23)
  717. ' {endif}
  718. '
  719. ' (L.L.cp_Tuerfreigabe_sw)
  720. ' (L.L.bremse_halte) &&
  721. ' (L.L.elec_busbar_main) &&
  722. ' (L.L.haltewunsch) ! &&
  723. ' (L.L.door_handsteuerung) ! &&
  724. ' (L.L.doorTarget_23) &&
  725. ' (L.L.door_2) 1 = &&
  726. ' (L.L.door_3) 1 = &&
  727. ' {if}
  728. ' (M.L.trg_bus_doorback23)
  729. ' {endif}
  730. '
  731. '{end}
  732.  
  733. {macro:Door2_Calc}
  734. (L.L.door_Warncounter) 0 <
  735. (L.L.doorTarget_23) 1 = ||
  736. {if}
  737. (L.L.door_Warnung) 1 =
  738. {if}
  739. (T.L.ev_doortriggerclose_2)
  740. 0 (S.L.door_Warnung)
  741. {endif}
  742. (C.L.electric_doors)
  743. (L.L.Nothahn_2_sw) 0 = &&
  744. {if}
  745. (L.L.doorTarget_23)
  746. {if}
  747. (L.L.door_2) (F.L.door_2_opn_speed) (S.L.doorMaxSpeed_2)
  748. {else}
  749. (L.L.door_2) (F.L.door_2_cls_speed) (S.L.doorMaxSpeed_2)
  750. {endif}
  751.  
  752. (C.L.bdoor_acc) (S.L.doorAcc_2)
  753.  
  754. (L.L.doorTarget_23) ! (L.L.doorSpeed_2) s0 abs 0.05 > (L.L.door_2) 0 > || &&
  755. {if}
  756. l0 /-/ (L.L.doorMaxSpeed_2) <
  757. {if}
  758. (L.L.doorSpeed_2) (L.L.doorAcc_2) (L.S.Timegap) * - (S.L.doorSpeed_2)
  759. {else}
  760. (L.L.doorSpeed_2) (L.L.doorAcc_2) (L.S.Timegap) * + (S.L.doorSpeed_2)
  761. {endif}
  762. (L.L.door_2) (L.L.doorSpeed_2) (L.S.Timegap) * + (S.L.door_2)
  763. {else}
  764. (L.L.doorSpeed_2) abs 0.05 > (L.L.door_2) 1 < || (L.L.doorTarget_23) &&
  765. {if}
  766. l0 (L.L.doorMaxSpeed_2) <
  767. {if}
  768. (L.L.doorSpeed_2) (L.L.doorAcc_2) (L.S.Timegap) * + (S.L.doorSpeed_2)
  769. {else}
  770. (L.L.doorSpeed_2) (L.L.doorAcc_2) (L.S.Timegap) * - (S.L.doorSpeed_2)
  771. {endif}
  772. (L.L.door_2) (L.L.doorSpeed_2) (L.S.Timegap) * + (S.L.door_2)
  773. {else}
  774. 0 (S.L.doorSpeed_2)
  775. {endif}
  776. {endif}
  777. {else}
  778. (L.L.Nothahn_2_sw) 0 =
  779. {if}
  780. (L.L.doorTarget_23) ! (L.L.doorSpeed_2) s0 abs 0.05 > (L.L.door_2) 0 > || &&
  781. {if}
  782. l0 /-/ (L.L.doorMaxSpeed_2) <
  783. {if}
  784. (L.L.doorSpeed_2) (L.L.doorAcc_2) (L.S.Timegap) * - (S.L.doorSpeed_2)
  785. {endif}
  786. (L.L.door_2) (L.L.doorSpeed_2) (L.S.Timegap) * + (S.L.door_2)
  787. {else}
  788. (L.L.doorSpeed_2) abs 0.05 > (L.L.door_2) 1 < || (L.L.doorTarget_23) &&
  789. {if}
  790. l0 (L.L.doorMaxSpeed_2) <
  791. {if}
  792. (L.L.doorSpeed_2) (L.L.doorAcc_2) (L.S.Timegap) * + (S.L.doorSpeed_2)
  793. {endif}
  794. (L.L.door_2) (L.L.doorSpeed_2) (L.S.Timegap) * + (S.L.door_2)
  795. {else}
  796. 0 (S.L.doorSpeed_2)
  797. {endif}
  798. {endif}
  799. {endif}
  800. {endif}
  801.  
  802. (L.L.door_2) 1 >
  803. {if}
  804. (T.L.ev_doorhitopen_2)
  805. 1 (S.L.door_2)
  806. (L.L.doorSpeed_2) /-/ (L.L.doorRefl_2) * (S.L.doorSpeed_2)
  807. {else}
  808. (L.L.door_2) 0 <
  809. {if}
  810. (T.L.ev_doorhitclose_2)
  811. 0 (S.L.door_2)
  812. (L.L.doorSpeed_2) /-/ (L.L.doorRefl_2) * (S.L.doorSpeed_2)
  813. {endif}
  814. {endif}
  815. {else}
  816. (L.L.door_Warncounter) (L.S.Timegap) - (S.L.door_Warncounter)
  817. {endif}
  818. {end}
  819.  
  820. {macro:Door3_Calc}
  821. (L.L.door_Warncounter) 0 <
  822. (L.L.doorTarget_23) 1 = ||
  823. {if}
  824. (C.L.electric_doors)
  825. (L.L.Nothahn_2_sw) 0 = &&
  826. {if}
  827. (L.L.doorTarget_23)
  828. {if}
  829. (L.L.door_3) (F.L.door_3_opn_speed) (S.L.doorMaxSpeed_3)
  830. {else}
  831. (L.L.door_3) (F.L.door_3_cls_speed) (S.L.doorMaxSpeed_3)
  832. {endif}
  833.  
  834. (C.L.bdoor_acc) (S.L.doorAcc_3)
  835.  
  836. (L.L.doorTarget_23) ! (L.L.doorSpeed_3) s0 abs 0.05 > (L.L.door_3) 0 > || &&
  837. {if}
  838. l0 /-/ (L.L.doorMaxSpeed_3) <
  839. {if}
  840. (L.L.doorSpeed_3) (L.L.doorAcc_3) (L.S.Timegap) * - (S.L.doorSpeed_3)
  841. {else}
  842. (L.L.doorSpeed_3) (L.L.doorAcc_3) (L.S.Timegap) * + (S.L.doorSpeed_3)
  843. {endif}
  844. (L.L.door_3) (L.L.doorSpeed_3) (L.S.Timegap) * + (S.L.door_3)
  845. {else}
  846. (L.L.doorSpeed_3) abs 0.05 > (L.L.door_3) 1 < || (L.L.doorTarget_23) &&
  847. {if}
  848. l0 (L.L.doorMaxSpeed_3) <
  849. {if}
  850. (L.L.doorSpeed_3) (L.L.doorAcc_3) (L.S.Timegap) * + (S.L.doorSpeed_3)
  851. {else}
  852. (L.L.doorSpeed_3) (L.L.doorAcc_3) (L.S.Timegap) * - (S.L.doorSpeed_3)
  853. {endif}
  854. (L.L.door_3) (L.L.doorSpeed_3) (L.S.Timegap) * + (S.L.door_3)
  855. {else}
  856. 0 (S.L.doorSpeed_3)
  857. {endif}
  858. {endif}
  859. {else}
  860. (L.L.Nothahn_2_sw) 0 =
  861. {if}
  862. (L.L.doorTarget_23) ! (L.L.doorSpeed_3) s0 abs 0.05 > (L.L.door_3) 0 > || &&
  863. {if}
  864. l0 /-/ (L.L.doorMaxSpeed_3) <
  865. {if}
  866. (L.L.doorSpeed_3) (L.L.doorAcc_3) (L.S.Timegap) * - (S.L.doorSpeed_3)
  867. {endif}
  868. (L.L.door_3) (L.L.doorSpeed_3) (L.S.Timegap) * + (S.L.door_3)
  869. {else}
  870. (L.L.doorSpeed_3) abs 0.05 > (L.L.door_3) 1 < || (L.L.doorTarget_23) &&
  871. {if}
  872. l0 (L.L.doorMaxSpeed_3) <
  873. {if}
  874. (L.L.doorSpeed_3) (L.L.doorAcc_3) (L.S.Timegap) * + (S.L.doorSpeed_3)
  875. {endif}
  876. (L.L.door_3) (L.L.doorSpeed_3) (L.S.Timegap) * + (S.L.door_3)
  877. {else}
  878. 0 (S.L.doorSpeed_3)
  879. {endif}
  880. {endif}
  881. {endif}
  882. {endif}
  883.  
  884. (L.L.door_3) 1 >
  885. {if}
  886. (T.L.ev_doorhitopen_3)
  887. 1 (S.L.door_3)
  888. (L.L.doorSpeed_3) /-/ (L.L.doorRefl_3) * (S.L.doorSpeed_3)
  889. {else}
  890. (L.L.door_3) 0 <
  891. {if}
  892. (T.L.ev_doorhitclose_3)
  893. 0 (S.L.door_3)
  894. (L.L.doorSpeed_3) /-/ (L.L.doorRefl_3) * (S.L.doorSpeed_3)
  895. {endif}
  896. {endif}
  897. {endif}
  898.  
  899. {end}
  900.  
  901. '{macro:trg_bus_doorfront0_kierman}
  902. '
  903. ' (L.L.doorTarget_0_kierman) ! (S.L.doorTarget_0_kierman)
  904. ' {if}
  905. ' (T.L.ev_doortriggeropen_0)
  906. ' {else}
  907. ' (T.L.ev_doortriggerclose_0)
  908. ' {endif}
  909. ' (C.L.door_druckluft)
  910. ' {if}
  911. ' (L.L.bremse_p_Tank04) 100000 - 0.98 * 100000 + (S.L.bremse_p_Tank04)
  912. ' {endif}
  913. '{end}
  914.  
  915. {macro:trg_bus_doorfront0}
  916.  
  917. (L.L.cp_Tuerfluegelsperre_modus) -1 =
  918. {if}
  919. (L.L.doorTarget_0) 0 = (L.L.doorTarget_1) 1 = &&
  920. {if}
  921. 0 (S.L.doorTarget_1)
  922. (T.L.ev_doortriggerclose_1)
  923. (C.L.door_druckluft)
  924. {if}
  925. (L.L.bremse_p_Tank04) 100000 - 0.98 * 100000 + (S.L.bremse_p_Tank04)
  926. {endif}
  927. {else}
  928. (L.L.doorTarget_1) !
  929. {if}
  930. 1 (S.L.doorTarget_1)
  931. (T.L.ev_doortriggeropen_1)
  932. (C.L.door_druckluft)
  933. {if}
  934. (L.L.bremse_p_Tank04) 100000 - 0.98 * 100000 + (S.L.bremse_p_Tank04)
  935. {endif}
  936. {endif}
  937. {endif}
  938. (L.L.doorTarget_0)
  939. {if}
  940. 0 (S.L.doorTarget_0)
  941. (T.L.ev_doortriggerclose_0)
  942. (C.L.door_druckluft)
  943. {if}
  944. (L.L.bremse_p_Tank04) 100000 - 0.98 * 100000 + (S.L.bremse_p_Tank04)
  945. {endif}
  946. {endif}
  947. {else}
  948. (L.L.cp_Tuerfluegelsperre_modus) 0 =
  949. {if}
  950. (L.L.doorTarget_0) 1 = (L.L.doorTarget_1) 1 = &&
  951. {if}
  952. 0 (S.L.doorTarget_0) (S.L.doorTarget_1)
  953. (T.L.ev_doortriggerclose_0)
  954. (C.L.door_druckluft)
  955. {if}
  956. (L.L.bremse_p_Tank04) 100000 - 0.98 * 100000 + (S.L.bremse_p_Tank04)
  957. {endif}
  958. (T.L.ev_doortriggerclose_1)
  959. (C.L.door_druckluft)
  960. {if}
  961. (L.L.bremse_p_Tank04) 100000 - 0.98 * 100000 + (S.L.bremse_p_Tank04)
  962. {endif}
  963. {else}
  964. (L.L.doorTarget_0) !
  965. {if}
  966. 1 (S.L.doorTarget_0)
  967. (T.L.ev_doortriggeropen_0)
  968. (C.L.door_druckluft)
  969. {if}
  970. (L.L.bremse_p_Tank04) 100000 - 0.98 * 100000 + (S.L.bremse_p_Tank04)
  971. {endif}
  972. {endif}
  973. (L.L.doorTarget_1) !
  974. {if}
  975. 1 (S.L.doorTarget_1)
  976. (T.L.ev_doortriggeropen_1)
  977. (C.L.door_druckluft)
  978. {if}
  979. (L.L.bremse_p_Tank04) 100000 - 0.98 * 100000 + (S.L.bremse_p_Tank04)
  980. {endif}
  981. {endif}
  982. {endif}
  983. {else}
  984. (L.L.doorTarget_0) 1 = (L.L.doorTarget_1) 0 = &&
  985. {if}
  986. 0 (S.L.doorTarget_0)
  987. (T.L.ev_doortriggerclose_0)
  988. (C.L.door_druckluft)
  989. {if}
  990. (L.L.bremse_p_Tank04) 100000 - 0.98 * 100000 + (S.L.bremse_p_Tank04)
  991. {endif}
  992. {else}
  993. (L.L.doorTarget_0) !
  994. {if}
  995. 1 (S.L.doorTarget_0)
  996. (T.L.ev_doortriggeropen_0)
  997. (C.L.door_druckluft)
  998. {if}
  999. (L.L.bremse_p_Tank04) 100000 - 0.98 * 100000 + (S.L.bremse_p_Tank04)
  1000. {endif}
  1001. {endif}
  1002. {endif}
  1003. (L.L.doorTarget_1)
  1004. {if}
  1005. 0 (S.L.doorTarget_1)
  1006. (T.L.ev_doortriggerclose_1)
  1007. (C.L.door_druckluft)
  1008. {if}
  1009. (L.L.bremse_p_Tank04) 100000 - 0.98 * 100000 + (S.L.bremse_p_Tank04)
  1010. {endif}
  1011. {endif}
  1012. {endif}
  1013. {endif}
  1014.  
  1015. ' (L.L.doorTarget_0) ! (S.L.doorTarget_0)
  1016. ' {if}
  1017. ' (T.L.ev_doortriggeropen_0)
  1018. ' {else}
  1019. ' (T.L.ev_doortriggerclose_0)
  1020. ' {endif}
  1021. ' (C.L.door_druckluft)
  1022. ' {if}
  1023. ' (L.L.bremse_p_Tank04) 100000 - 0.98 * 100000 + (S.L.bremse_p_Tank04)
  1024. ' {endif}
  1025. '
  1026. ' (L.L.doorTarget_1) ! (S.L.doorTarget_1)
  1027. ' {if}
  1028. ' (T.L.ev_doortriggeropen_1)
  1029. ' {else}
  1030. ' (T.L.ev_doortriggerclose_1)
  1031. ' {endif}
  1032. ' (C.L.door_druckluft)
  1033. ' {if}
  1034. ' (L.L.bremse_p_Tank04) 100000 - 0.98 * 100000 + (S.L.bremse_p_Tank04)
  1035. ' {endif}
  1036. {end}
  1037.  
  1038. {macro:trg_bus_doorfront1}
  1039. ' Überbleibsel vom M&R-Bus, bleibt nur drin, damit keine Fehlermeldungen kommen
  1040. {end}
  1041.  
  1042. {macro:trg_bus_doorback23}
  1043. (L.L.haltewunsch) 0 =
  1044. (L.L.doorTarget_23) 1 = &&
  1045. (L.L.doorTarget_23) 0 = ||
  1046. {if}
  1047. (L.L.doorTarget_23) ! (S.L.doorTarget_23)
  1048. {if}
  1049. (T.L.ev_doortriggeropen_2)
  1050. 0 (S.L.door_Warncounter)
  1051. {else}
  1052. ' (T.L.ev_doortriggerclose_2)
  1053. (T.L.ev_door_Warnsound)
  1054. 2 (S.L.door_Warncounter)
  1055. 1 (S.L.door_Warnung)
  1056. 0 (S.L.doorSpeed_2)
  1057. 0 (S.L.doorSpeed_3)
  1058. {endif}
  1059. (C.L.door_druckluft)
  1060. {if}
  1061. (L.L.bremse_p_Tank04) 100000 - 0.96 * 100000 + (S.L.bremse_p_Tank04)
  1062. {endif}
  1063. {endif}
  1064. {end}
  1065.  
  1066. {macro:trg_bus_dooraft}
  1067. (L.L.bremse_halte_sw) ! (S.L.bremse_halte_sw)
  1068.  
  1069. (L.L.bremse_halte_sw)
  1070. {if}
  1071. (T.L.ev_haltebremse_sw_an)
  1072. {else}
  1073. (T.L.ev_haltebremse_sw_aus)
  1074. {endif}
  1075. {end}
  1076.  
  1077. {macro:trg_bus_20h-switch}
  1078. (L.L.door_20h_sw) ! (S.L.door_20h_sw)
  1079.  
  1080. (L.L.door_20h_sw)
  1081. {if}
  1082. (T.L.ev_haltebremse_sw_an)
  1083. {else}
  1084. (T.L.ev_haltebremse_sw_aus)
  1085. {endif}
  1086. {end}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement