Cambiar entre cámaras
Básicamente, puedes cambiar entre diferentes cámaras en cualquier momento. Sin embargo, debes considerar algunos puntos:
En el editor de levas, la posición del esclavo se define unívocamente como valor de función de la función de levas. Esta función se define en el rango de valores maestros y se puede expresar de la siguiente manera:
SlavePosition = CAM( MasterPosition )
Debido a que la posición actual del accionamiento maestro generalmente se desvía del rango de valores maestros, debe escalar la posición maestra en el rango de definición de la función de leva para representar un argumento válido:
SlavePosition = CAM( MasterScale*MasterPosition + MasterOffset )
De manera similar, debe escalar el valor de la función (la posición del esclavo) si el inicio de la leva en el modo
Absolute
daría lugar a un salto:SlavePosition = SlaveScale*CAM( MasterPosition ) + SlaveOffset
Es posible que deba aplicar ambos valores de escala, lo que da como resultado lo siguiente:
Slaveposition = SlaveScale*CAM( MasterScale*Masterposition + MasterOffset ) + SlaveOffset
Los valores apropiados para los parámetros de escala y compensación pueden variar de un período a otro.
El cambio entre cámaras se puede realizar de tres formas:
Inicie la segunda cámara a través de una segunda instancia de
MC_CamIn
conBufferMode = MC_BUFFER_MODE.Buffered
,StartMode = relative
,MasterAbsolute = FALSE
, ySlaveAbsolute = FALSE
.Importante
A partir de CODESYS SoftMotion versión 4.17.0.0
Inicio de la nueva leva asignando
MC_CamIn.CamTableID
a la nueva leva (sin reinicio de laMC_CamIn
bloque de funciones requerido).Se recomienda esta variante si los siguientes puntos se aplican a su caso de uso:
Todas las levas siguientes deben ejecutarse relativamente con
MasterAbsolute = FALSE
oSlaveAbsolute = FALSE
.La nueva leva debe comenzar exactamente al final de la anterior.
No se modifican otros parámetros (ejemplo:
SlaveOffset
).Importante
El salto, que se explica en el siguiente ejemplo para levas periódicas y
SlaveAbsolute = FALSE
, lo hace no se aplican a esta variante porque la leva siguiente se coloca exactamente en las posiciones finales de la leva anterior.La nueva leva se coloca exactamente al final de la leva anterior solo si el cambio a la leva nueva se realiza en el mismo ciclo cuando la leva anterior informa
EndOfProfile = TRUE
.
Inicio de la nueva leva reiniciando el
MC_CamIn
bloque de funcionesSe recomienda esta variante si se deben cambiar los parámetros para el correcto funcionamiento de la nueva leva (por ejemplo,
SlaveOffset
del siguiente ejemplo). Se aplican las restricciones del siguiente ejemplo.
En el siguiente ejemplo, cambia de CAM1
a CAM2
:
CAM1
consta de un polinomio de quinto orden seguido de dos segmentos de línea.

CAM2
consta de dos segmentos de recta seguidos de un polinomio de quinto orden.

Al cambiar entre ambas cámaras, debe considerar lo siguiente:
Para evitar saltos, los valores de velocidad y aceleración en el punto final de la primera leva deben coincidir con los valores en el punto inicial de la segunda leva. En el ejemplo, esta condición se cumple porque se asigna la misma velocidad (=1) y aceleración (=0) al punto final de
CAM1
y el punto de partida deCAM2
.Puede iniciar la segunda cámara en
Relative
modo cuando haya definido la posición de inicio del esclavo como 0. Sin embargo, la primera leva tiene que estar funcionando ennon-periodic
modo. De lo contrario, siCAM1
eran periódicas, entonces laRelative
el ajuste daría como resultado un salto.

La ampliación muestra la transición de CAM1
a CAM2
. Las líneas azules marcan las evaluaciones de las funciones de la leva en las posiciones maestras x1
y x2
.
Ahora, veremos el caso desfavorable de periodic
:
| |
| La llamada inicia una evaluación de la leva en la posición maestra |
| Para la siguiente llamada del módulo, la posición maestra |
| Cambiar a la nueva cámara |
| Segunda evaluación en posición de maestro |
Selecciona el non-periodic
Modo para evitar saltos:
| |
| La llamada inicia una evaluación de la leva en la posición maestra |
| Para la siguiente llamada del módulo, la posición maestra |
| Cambiar a cámara nueva. |
| Segunda evaluación en posición de maestro |
Para iniciar la cámara en Absolute
modo, debe asegurarse de que el esclavo esté en una posición de inicio adecuada. Si el rango de valores del maestro coincide con el período del esclavo, entonces el cambio entre levas no tiene ninguna complicación, independientemente de si las levas son periódicas o no.
En el ejemplo anterior, puede comenzar CAM2
en Absolute
modo cuando los períodos del maestro y el esclavo concuerdan con el rango de valor maestro de CAM2
(cada uno es de 360°).
Si no, por ejemplo cuando el período del esclavo es 270°
(indicado por la línea azul claro), luego el Absolute
opción no está permitida sin tomar acciones adicionales.

En este caso, el esclavo está a 90° cuando cambia de CAM1
a CAM2
. A partir de CAM2
en Absolute
modo provoca un salto a 0° (indicado por una línea gris).
Sin embargo, el salto se puede evitar ajustando la compensación del esclavo al valor apropiado de 90°.