Télécharger Imprimer la page

Siemens SINUMERIK 828D Mode D'emploi page 29

Masquer les pouces Voir aussi pour SINUMERIK 828D:

Publicité

Indexation
L'indice d'une variable système de type "Champ de ..." peut comporter une autre variable
système. L'indice est alors pris en compte dans le traitement de bloc dans la période d'appel de
l'interpolateur.
Exemple
Code de programme
... WHEN ... DO $AC_PARAM[ $AC_MARKER[1] ] = 3
Limitations
• Une imbrication de l'indexage avec d'autres variables système n'est pas autorisée.
• L'indice ne doit pas comporter de variable de prétraitement. L'exemple suivant n'est donc pas
autorisé car $P_EP est une variable de prétraitement :
$AC_PARAM[ 1 ] = $P_EP[ $AC_MARKER[ 0 ] ]
4.3.3
Conversions de type
Lors des affectations de valeurs et des transferts de paramètres avec des types de données
différents, une conversion de type implicite est effectuée entre les types de données suivants :
• REAL
• INT
• BOOL
Remarque
Conversion de REAL vers INT
Lors de la conversion de REAL vers INT, en présence d'une valeur après la virgule ≧ 0,5, la
valeur est arrondie au nombre entier supérieur le plus proche. En présence d'une valeur après
la virgule < 0,5, la valeur est arrondie au nombre entier inférieur le plus proche.
Comportement selon la fonction ROUND.
Si la valeur REAL se trouve en dehors de la plage de valeurs INT, une alarme s'affiche et la
conversion n'est pas effectuée.
Conversion de REAL ou INT vers BOOL
• Valeur <> 0 → TRUE
• Valeur == 0 → FALSE
Exemples
Conversion : INT $AC_MARKER → REAL $AC_PARAM
Code de programme
$AC_MARKER[1]=561
ID=1 WHEN TRUE DO $AC_PARAM[1] = $AC_MARKER[1]
Actions synchrones
Description fonctionnelle, 07/2023, A5E48765042D AF
4.3 Variable système pour actions synchrones
Description détaillée
29

Publicité

loading