Sugerencias y trucos
B.3 Consejos para el método CHANGE
B.3
Consejos para el método CHANGE
• Los métodos CHANGE deben mantenerse siempre muy breves, en especial aquellos con
variables ligadas a una variable de sistema o de usuario que se modifica a alta frecuencia.
Motivo:
Aumento del rendimiento de la máscara.
• En la medida de lo posible, no deben configurarse funciones RNP() en métodos CHANGE. En
lugar de ello, es preferible crear al mismo tiempo una variable invisible con la variable de
sistema o de usuario que se va a leer y utilizar esta.
Motivo:
Con cada llamada se emitiría inevitablemente una función RNP(). Si no, se accedería simple
y exclusivamente al valor actual ya existente de todos modos.
Ejemplo:
con cada cambio del movimiento del eje por RNP() se efectúa una resolución de nombres
para leer un dato de máquina específico del canal:
DEF AXIS_POSITION_X =
CHANGE(AXIS_POSITION_X)
se ha movido: "
<< AXIS_POSITION_X)
END_CHANGE
Con ayuda de una variable invisible, se mantiene actual el dato de máquina específico del
canal y cada cambio de valor se copia en una variable temporal, como el registro.
Esta variable temporal puede entonces utilizarse en el método CHANGE del cambio de valor
de la posición de eje sin efectuar cada vez una resolución de nombres del dato de máquina
y crear el posterior acceso de lectura:
DEF AXIS_POSITION_X =
DEF AXIS_NAME_X = (S///,""/WR0//"$MC_AXCONF_GEOAX_NAME_TAB[0]")
CHANGE(AXIS_NAME_X)
END_CHANGE
CHANGE(AXIS_POSITION_X1)
AXIS_POSITION_X)
END_CHANGE
348
DLGL("Axis """ << RNP("$MC_AXCONF_GEOAX_NAME_TAB[0]") << """
REG[0] = AXIS_NAME_X
DLGL("Axis """ << REG[0] << """ se ha movido " <<
(R///,""///"$AA_IM[X]")
(R///,""///"$AA_IM[X]")
Manual de programación, 07/2022, A5E50479473E AC
SINUMERIK Integrate Run MyScreens