Bloco que calcula uma tabela de pontos de uma curva CAM.
Representação Ladder

Características de Execução
Tamanho de Memória de Programa |
66 Bytes |
Tamanho de Memória de Dados |
24 Bytes |
Estrutura do Bloco
Tipo de Variável |
Nome |
Tipo de Dado |
Descrição |
VAR_IN_OUT |
Master |
BYTE |
Seleção de mestre da operação (0 - Entradas digitais rápidas) (1 - CANopen) (2 - Encoder 1) (3 - Eixo virtual) (4 - Encoder 2) |
Slave |
BYTE |
Seleção de escravo da operação (0 - Eixo real) |
|
CamTable |
WORD |
Código da tabela CAM |
|
VAR_INPUT |
Execute |
BOOL |
Habilitação do bloco |
NumberOfPoints |
WORD |
Número de pontos da tabela |
|
MasterPoints |
LREAL |
Pontos do mestre |
|
SlavePoints |
LREAL |
Pontos do escravo |
|
CurveType |
WORD |
Tipo de curva |
|
Periodic |
BOOL |
Controle de execução da requisição (0 - Execução única) (1 - Execução periódica) |
|
VAR_OUTPUT |
InSync |
BOOL |
Habilitação da saída |
Busy |
BOOL |
Sinalizador de que o bloco ainda não foi finalizado |
|
Error |
BOOL |
Sinalizador de erro na execução |
|
ErrorID |
WORD |
Identificador do erro ocorrido |
|
CamTableID |
WORD |
Tabela CAM selecionada |
|
VAR |
MW_CAMCALC_INST_0 |
MW_CAMCALC |
Instância de acesso à estrutura do bloco |
Funcionamento
Este bloco, quando detecta uma borda de subida em Execute, constrói a tabela especificada em CamTable com os dados programados para que esta possa ser utilizada pelo bloco MC_CamIn.
Quando Execute possui valor FALSE, Done permanece FALSE. A saída Done é ativada quando o bloco termina a execução com sucesso, permanecendo em nível TRUE até que Execute receba FALSE.
Caso haja algum erro na execução, a saída Error é ativada e ErrorID exibe o código do erro segundo a tabela abaixo.
Código |
Descrição |
83 |
Arquivo das tabelas de pontos da curva CAM inválido. |
84 |
CAM Table inválido. CAM Table deve ser de 11 à 20. |
86 |
Número de pontos maior que o programado no configurador CAM PROFILES. |
87 |
Posição do eixo mestre inválida. A posição do eixo mestre deve ser maior que a posição do ponto anterior. |
88 |
Bloco MW_CamCalc em execução. Somente é permitido a execução de um bloco MW_CamCalc de cada vez. |
89 |
Tabela de pontos em uso pelo bloco MC_CamIn. |
90 |
Marcador de double com posição do eixo mestre inexistente. |
91 |
Marcador de double com posição do eixo escravo inexistente. |
92 |
Marcador de word com tipo de curva inexistente. |
Exemplo



Na transição de subida do marcador de bit CAMCALC_EXECUTE, o bloco MW_CamCalc é executado e a tabela de pontos de TABLE será calculada de acordo com os argumentos do bloco.
Nesse exemplo, o número de pontos da curva será o conteúdo de NUM_POINTS, a posição do eixo mestre será de acordo com os conteúdos de MASTER_POINTS[0] e MASTER_POINTS[1], a posição do eixo escravo será de acordo com os conteúdos de SLAVE_POINTS[0] e SLAVE_POINTS[1] e o tipo da curva será de acordo com os conteúdos de CURVE_TYPE[0] e CURVE_TYPE[1].
Colocando os mesmos valores na ferramenta CAM Profiles podemos observar a curva abaixo:

Ao finalizar o cálculo da tabela de pontos, a saída InSync é setada enquanto a entrada Execute permanece setada.
Com CAMCALC_DONE setado, o bloco MC_CamIn poderá ser executado.