1234567891011121314151617181920212223242526272829303132 |
- import PowerWindowModel
- semantic adaptation controller_sa
- for fmu controller
- input ports armature_current -> obj_detected, passenger_up, passenger_down, driver_up, driver_down, next
- output ports up, down
- control rules { triggered by signal == true or t >= get_next_time_step(controller) }
- in rules with crossing absolute tolerance = 1e-8 and relative tolerance = 0.0001, no hold {
- armature_current >! 5 -> obj_detected := true;
- otherwise(armature_current) -> obj_detected := false;
- }
- out rules with zero order hold {
- "up" -> up := 1;
- "stop" -> { up := 0; down := 0; };
- "down" -> down := 1;
- delay at up and down;
- }
- semantic adaptation window_sa
- for fmu window
- out rules {
- reaction_torque := -reaction_torque;
- }
- semantic adaptation window_obstacle_sa
- for fmu window_sa, obstacle
- multiply rate 10 times with first order interpolation
- successive substitution starts at height with absolute tolerance = 1e-8 and relative tolerance = 0.0001
- semantic adaptation plant_sa
- for fmu power, window_obstacle_sa
- successive substitution starts at reaction_torque with absolute tolerance = 1e-6 and relative tolerance = 1e-6
|