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.
| SoftMotion n'envoie pas de données cycliques au variateur. Cela permet de contrôler le lecteur d'autres manières. |
| Contrôle couple/force |
| Contrôle de la vitesse |
| Contrôle de position |
| 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éfinissantfReference
etbStartReference
. De plus, l'état deAXIS_REF_SM3
(wState
) est réglé surhoming
. 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 surTRUE
. Pour afficher la fin du chemin de référence, le pilote définit les valeurs debStartReference
etbStartReferenceRealState
à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