Axis controller
Preambule
WRsimulateur permet d'insérer des contrôleurs d'axe dans les folios.
L'exemple us43-demo_controller_axis_CODESYS.xrs illustre la mise en œuvre d'un contrôleur d'axe IAI-SCON2 pour contrôler le positionnement dune table élévatrice.
CODESYS axis controller simulation
Description rapide
- L'automate virtuel CODESYS ControlWin 64 est connecté au contrôleur d'axe simulé par WRSimulateur via Modbus TCP-IP.
- L'interaction entre l'automate et le contrôleur passe par une table d'échange qui comprend 5 mots. (%QW5.0 à %QW5.2 et %IW5.0 à %IW5.1 dans l'exemple)
- Le programme du projet us43-demo_controller_axis_CODESYS.project ajuste les bits de contrôle du registre axis_ctrl du contrôleur selon l'état des boutons connectés à ses entrées.
- La vitesse et le point de consigne sont imposés par le programme (lignes 9 et 10 du programme ci-dessous)
- On peut tester le comportement du positionnement de la table mobile en forçant les valeurs des registres axis_setpoint et axis_speed
CODESYS axis controller program
Axis controller parameters
Les adresses des mots API utilisés dans les tableaux suivants sont donnés à titre d'exemple. Il est possible de choisir des adresses différentes dans la cartographie de l'API virtuel:
Default parameter | Description |
---|---|
In = 10 A | Axis Controller caliber |
axis_ctrl = %QW5.0 | Control bits |
axis_setpoint = %QW5.1 | Position setpoint |
axis_speed = %QW5.2 | Axis movement speed in % |
axis_status = %IW5.0 | Axis controller status |
axis_position = %IW5.1 | Axis position (%) |
home_point = 0 mm | Home position value (mm) |
max_position = 700 mm | Max position value (mm) |
axis_ctrl | Bit descriptions |
---|---|
set servo (%QW5_0.0) | Enables the axis controller operation [False,True] |
stop move (%QW5_0.1) | Stop motion request [False,True] |
goto home (%QW5_0.2) | Requests return to home position [False,True] |
goto setpoint (%QW5_0.3) | Requests positioning to setpoint [False,True] |
raz default (%QW5_0.4) | Requests fault reset (overload) [False,True] |
axis_status | Bit descriptions |
---|---|
setpoint_reached (%IW5.0) | Setpoint position reached [False,True] |
homepoint_reached (%IW5.1) | Home position reached [False,True] |