Referencia al PLC Basic Program
11.7 Funciones (FC)
Ejemplo
En el siguiente ejemplo de SCL, primero se determina en "LBP_CallBackAuxFunc [FC12]" en qué
canal aparecen funciones auxiliares M. A continuación, se leen los valores de aparición de
funciones M del DB de canal correspondiente y se escriben en las marcas Tag_1 y Tag_2.
// #Chan: Byte;
// Tag_1: DWord;
// Tag_2: Word;
// Considerar todos los canales relevantes, p. ej., canal 1 y canal 2
IF (#Chan = 0) THEN
// Si, p. ej., está ajustado M1Change, consultar M1 y ExtM1, y escribir en
marca
END_IF;
IF (#Chan = 1) THEN
// Si, p. ej., está ajustado M1Change, consultar M1 y ExtM1, y escribir en
marca
END_IF;
11.7.6
LBP_CtrlAxisSpindle [FC18]: mando del cabezal
Función
El bloque "LBP_CtrlAxisSpindle [FC18]" permite controlar cabezales y ejes desde el PLC. El bloque
soporta las siguientes funciones:
• Posicionar cabezal
• Girar cabezal
• Mover cabezal en vaivén
• Desplazar eje divisor
• Desplazar eje de posicionamiento
Con un flanco positivo (FALSE → TRUE) para una de las señales "Start" o "Stop", se dispara
una de las funciones mencionadas. La señal "Start" o "Stop" debe permanecer en TRUE hasta
que se confirme la función positivamente ("InPos" = TRUE) o negativamente ("Error" = TRUE).
616
IF ("LBP_Chan1".M1Change) THEN
"Tag_1" := DINT_TO_DWORD"LBP_Chan1".M1);
"Tag_2" := INT_TO_WORD("LBP_Chan1".ExtM1);
END_IF;
IF ("LBP_Chan2".M1Change) THEN
"Tag_1" := DINT_TO_DWORD("LBP_Chan2".M1);
"Tag_2" := INT_TO_WORD("LBP_Chan2".ExtM1);
END_IF;
Manual de funciones, 01/2023, A5E47437861E AF
PLC