Skip to main content

Cas d'utilisation standard

le SM3_Basic La bibliothèque contient des blocs fonctionnels supérieurs qui n'interagissent pas avec l'entraînement via l'interface standard consigne/valeur réelle. Ces blocs fonction fournissent des commandes ou modifient les paramètres du variateur en lisant ou en écrivant les paramètres de l'instance de AXIS_REF_SM3.

Réinitialisation d'un lecteur

Si vous avez modifié les paramètres du lecteur lors de l'exécution, vous devez le réinitialiser. Exemple : modifiez le facteur d'échelle ou la période modulo des variateurs rotatifs. En appelant le SMC3_ReinitDrive bloc fonctionnel avec un bord montant au niveau du Execute entrée, le wCommuncationState le paramètre du lecteur est réinitialisé et le processus de démarrage complet du lecteur est répété.

Important

La réinitialisation doit attendre que l'axe atteigne l'état requis SMC_COMSTATE_BASE_COM_INITIALIZATION ou plus. Sinon, l'erreur s'affichera SMC_RAG_ERROR_AXIS_NOT_INITIALIZED.

Si la communication d'un bus de terrain subordonné est interrompue, une réinitialisation explicite n'est plus nécessaire pour CODESYS SoftMotion version 4.18.0.0 et supérieure. L'axe est automatiquement réinitialisé dès que la communication par bus de terrain est rétablie. Avant la version 4.18.0.0, après l'interruption de la communication du bus de terrain, un SMC3_ReinitDrive était nécessaire (erreur avec SMC_DI_GENERAL_COMMUNICATION_ERROR) dès que la communication par bus de terrain aura été rétablie.

Astuce

L'ancien comportement peut être restauré en réglant AutoRestart entrée du SMC_AxisChangeSettings bloc de fonctions pour SMC_AXIS_AUTORESTART_MODE.OFF.

Allumer et éteindre un lecteur

le bRegulatorOn et bDriveStart paramètres de la AXIS_REF_SM3 bloc fonctionnel contrôle le niveau de performance et la décélération d'un variateur. L'accès se fait au moyen du MC_Power bloc fonctionnel.

Pour libérer l'étage de sortie, il faut régler le bRegulatorOn paramètre de la MC_Power bloc fonctionnel. Le variateur signale l'état actuel de ce processus via le bRegulatorRealState sortir. S'il est pris en charge par le lecteur, un bRegulatorOn réinitialisé pendant le mouvement désactivera immédiatement le couple. Dans ce cas, le bloc fonction signale une erreur et règle les axes sur la errorstop Etat.

le bDriveStart La variable détermine si le lecteur est autorisé ou non à se déplacer. L'état actuel de ce paramètre se trouve dans bDriveStartRealState.

S'il est pris en charge par le lecteur, un bDriveStart la réinitialisation des paramètres décélère l'entraînement avec la rampe configurée ("QuickStop") pendant le mouvement. Après cela, l'entraînement s'arrête à la position atteinte tant que bRegulatorOn. L'axe reste dans le stopping tant que le mécanisme "QuickStop" est actif (bDriveStart entrée = FAUX). Si le variateur a déjà été déplacé par un bloc fonction, il affichera maintenant CommandAborted. Ceci ne s'applique pas aux MC_Stop bloc fonctionnel qui signale une erreur et règle les axes sur errorstop Etat.

Manipulation des freins mécaniques

S'il est pris en charge par le lecteur, le eBrakeControl variable peut être définie ou réinitialisée au moyen de la SMC3_BrakeControl bloc fonctionnel. Trois modes différents sont possibles.

. SMC3_BrakeSetState
  • SMC_BRAKE_AUTO: L'état du frein est contrôlé par le variateur.

  • SMC_BRAKE_OPEN: Le frein est ouvert.

  • SMC_BRAKE_CLOSE: Le frein est fermé.

le bBrakeClosedRealState La variable signale l'état actuel du frein.

Du point de vue de SoftMotion, la commande, ainsi que l'état du frein mécanique, ne dépendent pas de l'état du variateur ou du mouvement de marche.

Commutation du mode de contrôle

Avec le SMC_SetControllerMode bloc de fonction, vous pouvez basculer entre les différents modes de contrôle. le byControllerMode et byRealControllerMode paramètres de AXIS_REF_SM3 représentent l'état souhaité et l'état actuel de l'unité de contrôle.

Tableau 1. Valeurs possibles

SMC_nocontrol

SoftMotion n'envoie pas de données cycliques au variateur. Cela permet de contrôler le lecteur d'autres manières.

SMC_torque

Contrôle couple/force

SMC_velocity

Contrôle de la vitesse

SMC_position,

Contrôle de position

SMC_current

Contrôle de puissance



Après avoir écrit le byControllerMode variables, l'état actuel est vérifié jusqu'à ce qu'il corresponde au mode de contrôle souhaité.

Entre-temps, le FB calcule la valeur de consigne pour l'axe, par exemple lors du changement de mode de régulation. Ensuite, il définit son bDone sortie vers TRUE. A partir de ce moment, il ne prépare plus de valeurs de consigne pour l'axe. Cela doit être fait par d'autres blocs fonctionnels. Exemple : Le bDone la sortie déclenche une MC_MoveVelocity, MC_MoveAbsolute, ou MC_Halt bloc fonctionnel. Sinon, l'axe s'arrête immédiatement après le changement de mode de commande.

Prise d'origine (contrôlée par l'entraînement)

Dans SoftMotion, il existe deux manières de référencer un lecteur :

  • Référencement par un automate dans l'automate : Ce référencement s'effectue en appelant le SMC_Homing bloc fonctionnel. Le signal de référence doit faire partie du mappage E/S de l'unité de contrôle. Au moment du référencement, le variateur reste en mode de régulation "régulation de position". En général, cette méthode n'est pas particulièrement précise car la détection de la position (lorsque l'interrupteur de référence est activé) est basée sur les positions actuelles obtenues par le variateur. Par conséquent, la précision est limitée par le cycle de communication.

  • Référencement par un contrôleur dans le variateur : L'interrupteur de référence est câblé au variateur. Sa position est détectée plus rapidement et avec une plus grande précision. Pendant la course de référence commandée par l'entraînement, l'entraînement se trouve dans un autre mode de régulation, dans lequel l'entraînement est commandé par des processus internes et ne suit pas les valeurs réglées de l'unité de commande. Lorsque le chemin de référence se termine, le variateur est réinitialisé à son mode de contrôle d'origine.

    le MC_Home bloc fonctionnel démarre le chemin de référence commandé par le variateur en définissant fReference et bStartReference. De plus, l'état de AXIS_REF_SM3 (wState) est réglé sur homing. Lorsque le variateur passe sur la voie de référence (c'est-à-dire qu'il ne suit plus les valeurs spécifiées par l'unité de contrôle), le variateur positionne le paramètre sur TRUE. Pour afficher la fin du chemin de référence, le pilote définit les valeurs de bStartReference et bStartReferenceRealState à FALSE.

Verrouillage

Vous pouvez détecter la position d'un axe de plusieurs manières, selon les fonctions d'entraînement prises en charge par l'entraînement :

  • Le variateur détecte lui-même la position de l'axe (intégré ou en activant un capteur externe). Étant donné que la position réelle est transmise par le variateur lui-même, le temps de transfert du signal est minimal et précis.

  • La position actuelle de l'axe est déterminée indépendamment de l'entraînement et transmise à la commande via une entrée. La latence survenant de l'entrée du contrôleur et le cycle d'application rendent cette méthode moins précise.

    Lorsque la position de l'entraînement lui-même est transférée, elle est traitée directement dans l'application, généralement par le pilote respectif en fonction du fabricant. Pour déterminer la position de ce type d'axe, vous pouvez utiliser la MC_TouchProbe bloc fonctionnel. Il permet l'enregistrement de la position de l'axe sur un déclencheur configurable et dans une fenêtre de position. Si la position n'est pas transmise par l'entraînement, elle doit être transmise au pilote d'appareil de l'entraînement, par exemple pour le contrôle.

    Pour plus d'informations, consultez : Contrôle de position sur le contrôleur avec SM_Drive_PosControl