Escolar Documentos
Profissional Documentos
Cultura Documentos
Programação
com o
MotionWorks 6
1
O MP2000:
Introdução
Visão Geral
2
Introdução MP2300 x MP2200
MP2300:
MP2200:
3 slots para cartões opcionais
9 slots para cartões opcionais (sendo
(sendo obrigatório um cartão de
obrigatório um cartão de CPU)
comunicação)
Expansibilidade de até 4 racks
Rede Mechatrolink para controle
Operação com memória flash
de eixos já incorporada externa
I/O incorporado: 8 entradas e 4 Programação através de porta USB
saídas digitais Alimentação 24Vcc ou 100 ~ 220Vca
Alimentação 24Vcc
3
O MP2200:
Introdução
Trabalhando com Memória Flash Externa
Habilita cartão de
memória flash externa
Salva do cartão de
memória flash externo
para a CPU
Força o endereço da
porta USB para 1
4
Memória do MP2000
Programação do MP
Estrutura da Memória
Tipos de Registradores
Endereçamento dos Registradores
5
Visão Geral da
Memória do MP2000
Programação do MP
6
Controle através do SVB
Memória do MP2000
(1 Eixo)
Eixo)
Parâmetros de Movimento
OW(8000-807F)
Parâmetros Malha de
Fixos Posição
NS--115
Parâmetros do
MP2000 SVB ServoPack SGDH
Feedback
IW(8000-807F)
Parâmetros de Monitoração
7
Controle de Movimento
Memória do MP2000
pela Rede
8
Estrutura da Memória do
Memória do MP2000
MP2000
A memória RAM da Família MP2000 é divida em 2 partes:
O programa sempre é carregado da Flash para a RAM na
energização
Portanto certifique-se de salvar na Flash antes de desligar o MP*
A bateria é para backup dos registradores na RAM
RAM FLASH
Programa(e configurações)
Registradores transferidos da FLASH para
a RAM na energização*.
Energização
Module
Config.
Programa Programa
INIT
Limpa a RAM na energização
CNFG
Escreve as configurações do Module Configuration na RAM,
9 na energização * Quando a INIT está em OFF
Memória do MP2000 Áreas de Memória
S C M
Sistema Constantes Globais Variáveis Globais
I O Veja o REGISTER
MAP do QRG
Entradas (físicas e da rede) Saídas (físicas e da rede)
para detalhes
Os mais utilizados:
D
Memória do Programa
M, I, O e D
Variáveis Locais
#
Constantes Locais
High Scan
Programas
H, L, A, I Low Scan
At Startup
Interrupt
10
Memória do MP2000 Tamanho dos Registradores
F E D C B A 9 8 7 6 5 4 3 2 1 0
A word de 16 bits é 1 bit
Word de 16 bits
a unidade básica
da memória Long ou Float de 32 bits
11
Memória do MP2000 Exemplos de Registradores
- B: 1 Bit MB001001
- W: Word de 16 bits MW00100
- L: Word de 32 bits ML01200
- F: Real de 32 bits MF00124
- A: Endereço MA00200
12
Endereçamento dos
Memória do MP2000
Registradores
Para todos os registradores, com exceção dos de entrada (I) e saída (O): S, C, M, D, #, A
Endereço F E D C B A 9 8 7 6 5 4 3 2 1 0
MW2008
ML2008
MW2009
MW2010 MF2010
MW2011
Longs e Floats
M B 2008 C
devem ser formadas
popr números pares,
para impedir
conflitos
Tipo de Registrador Tipo de Dado Registrador Bit
S: Sistema B: Bit (Decimal) (Hexa)
C: Constante Global W: Word 16 bits
M: Variável Global L: Long 32 bits
D: Variável Local F: Float 32 bits
#: Constante Local A: Endereço
A: Inicialização
13
Endereçamento dos
Memória do MP2000
Registradores
Registradores I e O
O número é em hexadecimal
Endereçamento dos Registradores
Endereço F E D C B A 9 8 7 6 5 4 3 2 1 0
OW8018
OW8019
OW801A OL801A
OW801B
Longs e Floats
O B 8019 A
devem ser formadas
popr números pares,
para impedir
conflitos
Tipo de Registrador Tipo de Dado Registrador Bit
I: Entrada B: Bit (Hexa) (Hexa)
O: Saída W: Word 16 bits
L: Long 32 bits
F: Float 32 bits
A: Endereço
14
Memória do MP2000 Quiz
A. MB10088 MW1008 A
B. MW1009 B B B B B B B B B B B B B B B B
C. ML1010 ou MF1010 C C C C C C C C C C C C C C C C
C C C C C C C C C C C C C C C C
D. MB10120
D
E. IB0008C
F. IW0009 IW0008 E
IL000A F F F F F F F F F F F F F F F F
G.
G G G G G G G G G G G G G G G G
H. IB000C1 G G G G G G G G G G G G G G G G
H
15
Acessando o Controlador de
Movimentos
16
O MP2000:
Conexão
Programação via Serial
17
O MP2000:
Programação via Serial: Configurando o Communication Manager
18
O MP2000:
Programação via Serial: Configurando o Communication Manager
19
O MP2000:
Programação via Serial: Acessando o Controlador
20
O MP2000:
Conexão
Programação via Ethernet
21
O MP2000:
Programação via Ethernet: Configurando a porta do seu computador
22
O MP2000:
Programação via Ethernet: Configurando a porta do seu computador
O endereço IP da porta do
micro deve ser semelhante
ao do cartão 218-
218-IF do MP,
com o útlimo grupo diferente,
apenas
23
O MP2000:
Programação via Ethernet: Configurando a porta do seu computador
24
O MP2000:
Programação via Ethernet: Configurando o Communication Manager
25
O MP2000:
Programação via Ethernet: Configurando o Communication Manager
26
O MP2000:
Programação via Ethernet: Acessando o Controlador
27
O MP2200:
Conexão
Programação via USB
28
O MP2200:
Programação via USB: Configurando a porta do seu computador
Ao conectar o cabo USB (com
o controlador já energizado) na
porta USB do seu computador,
o Windows irá pedir para você
instalar o driver do MP (assim
como ele faz com qualquer
outro dispositivo USB). Siga os
passos das telas do Windows
e “aponte” para o driver que se
encontra em uma das pastas
do CD de instalação do
MotionWorks 6. Se a
instalação for bem sucedida,
você “verá” o MP em uma das
portas USB do seu micro, no
gerenciador de hardware do
Windows
29
O MP2200:
Programação via USB: Configurando o Communication Manager
30
O MP2200:
Programação via USB: Acessando o Controlador
31
Projeto Baseado no MCC
Procedimento de
Startup
Movendo o Motor
Fundamentos do
MotionWorks
Command.SetValue
(OWxx08)
Posicionamento do
tipo Step (incremental)
Posicionamento
Absoluto
Utilizando o Quick
Reference Guide
32
Projeto Baseado no MCC Procedimento de Startup
Contents
Registers MP2000 Startup Procedure
2 Memory Map All equipment must be properly wired and installed.
3 Register Addressing Step Instruction Detail
4 Global Allocation Map 1 Power OFF Prepare for first Power ON
5 Axis Allocation Overview 2 Set M-LINK address MP2000 base unit is node 0, so set rotary switch 1-F
6 Axis Allocation Detail Prepare to erase all RAM (not FLASH) and self-configure hardware.
7 Axis Allocation Bit Detail 3 Turn On CONFIG and INIT dipswitches
Tuning parameters are copied from Servopack to controller (Ch 11)
8 Axis Allocation Constant Detail Wait for "All Green" lights on Servopacks and Controller. Takes about
9 Local Register Allocation 4 Power ON
15sec.
Startup and Communication The configuration is now termporarily stored in program RAM and
10 General Startup Procedure 5 Set all dipswitches OFF (left)
should not be self-configured again at next power up.
11 Serial/Ethernet Communication 6 Start MotionWorks Ver 6 Connect Serial Cable JEPMC-W5311-03B
Register Based Programming File - New Project. Select Controller Type at bottom. Long filenames
12 Basic Set of Registers 7 Make New Project
ok.
13 Motion Command Code Positioning Online - Communications Settings. Choose "Serial(Com1)" and click
Function Blocks 8 Go Online "Connection". Green animated bar with project file name appears on
14 Function Block Startup Procedure top when connected.
15 Function Block Troubleshooting Optional Procedure below: When the servopack is not brand new, use
9 SERVOPACK Default Set Procedure
16 RDA Summary the procedure below to restore default parameter settings
17 RDA page 1 Select "Variable" tab on lower right. Expand Axis Variable folder and
18 RDA page 2 (error codes) 10 Set Up Axes define number of axes and text name for each axis. Subfolders for axis
19 RDA page 3 variables will appear.
20 RDA Cam&Gear (M-S Pair) Online - Read From Controller. Click "Individual" and under System
Motion Programming Language Configuration check only "System Definition" and "Module
Transfer System Configuration
21 Motion Program Startup Procedure 11 Configuration". Click Start.
to computer
22 Motion Program Work Registers The system configuration applied directly to the controller by the CNFG
Configuration dipswitch is now saved to the project file.
23 Reference Units
Online - Save to Flash. Click "Start", CPU_STOP (wait for flash save),
24 Tuning
ok, Yes to run controller. Then cycle power.
25 Terminology Synonyms
12 Save to Flash and Cycle Power The current controller configuration needs to be saved to flash,
26 Register Offsets
otherwise it will be overwritten at power up by whatever was last saved
to flash. Cycle power for servopack parameter changes to take effect.
33
Projeto Baseado no MCC Procedimento de Startup
34
Projeto Baseado no MCC Procedimento de Startup
M (Global) (MW00000-65535)
Registradores para variáveis globais de leitura/escrita
São os registradores Livre para Utililzação: MW00000-29999
descritos no QRG Convenção:
Eixo#1:MW1000-1999, Eixo#2:MW2000-2999
*Function Block RDA: MW30000-65535
Eixo#1:MW30100 Offset=200 por eixo
Mestre-Escravo: MW56000 Offset=50 por par (M-E)
Referência: Planilha do RDA
Constant, Read only registers.
Dados que o usuário altera pelo MPE720
Sem acessar os “drawings”
Exemplo:
Dados Mecânicos do Sistema
(reduções, pulsos do encoder por volta, etc)
35
Projeto Baseado no MCC Criando um Novo Drawing
Drawings: H, L, A, I
H (High Scan) Utilize para a parte de movimentação do eixo
L (Low Scan) Utilize para a comunicação com IHM, botões da máquina, lâmpadas, etc.
A (Inicialização) Utilize para operações que deveerão ser executadas uma única vez, na energização
I (Interrupção) Utilize para rotinas especiais de interrupção, quando uma entrada dedicada for acionada.
F (Funções) Utilizado para criação e armazenamento de funções pré-definidas
36
Projeto Baseado no MCC A Aplicação
Parte A: Servo On
IN0: Habilita o servo
Parte D: Variáveis
Crie variáveis de acordo com as recomendações no Best Practice da Yaskawa
37
Projeto Baseado no MCC Aplicação:: Detalhes:1
Aplicação Detalhes:1--A
38
Projeto Baseado no MCC Solução da Aplicação 1-A
Instruções
Compile ( ou F8)
39
Projeto Baseado no MCC Instruções do Ladder
Acesso a todas as
instruções no aba “ladder
instruction”, à direita
40
Projeto Baseado no MCC Solução da Aplicação 1-A
• Variável e Endereço
41
Projeto Baseado no MCC Solução da Aplicação 1-A
Desmarque “Reduce”
para visualizar todo o
nome da variável (sem
caracter “~”)
42
Projeto Baseado no MCC Aplicação:: Detalhes:1
Aplicação Detalhes:1--B
43
Projeto Baseado no MCC Solução da Aplicação 1-B
44
Projeto Baseado no MCC Solução da Aplicação 1-B
Escreva no Command.SetValue
Escreva no Position.Relative Somente é permitido UM (1) STOREpor
LINHA. Não coloque-os em série ou em
paralelo
Escreva no
Command.JogRelativeMoveDirection
Utilize a Velocidade e Acel/Desac.
padrão
45
Projeto Baseado no MCC Command.SetValue
é necessário utilizar o
Command.SetValue
(OW8008)
O Capítulo 7.2 explica
como utilizar cada valor
Marque a seção 7.2
46
Projeto Baseado no MCC Command.SetValue
47
Projeto Baseado no MCC Solução da Aplicação 1-B
48
Projeto Baseado no MCC Função Watch
Part C
IN7: Reset de Alarme
OUT7: Sinalize se houver algum alarme/erro
• Qual registrador sinaliza todos os alarmes?
• Qual registrador sinaliza todos os erros?
• Se não houver alarme, como devem estar esses
registradores?
• Para verificar qual o monitor correto, teste as variáveis
através do Watch
50
Projeto Baseado no MCC A Aplicação
51
Projeto Baseado no MCC Solução da Aplicação 1-C
Símbolo
para
“diferente”
52
Projeto Baseado no MCC Aplicação 1D: Variáveis
54
Projeto Baseado no MCC Adicionando Variáveis
55
Projeto Baseado no MCC Solução da Aplicação 1-D
56
Projeto Baseado no MCC Salve na Flash
57
Projeto Baseado no MCC Aplicação:: Detalhes:1
Aplicação Detalhes:1--E
Part D
IN6: Faz posicionamento ABSOLUTO
58
Projeto Baseado no MCC Aplicação:: Detalhes:1
Aplicação Detalhes:1--E
Utilize a “técnica de
cascata” (waterfall) Local Memory (D) Register Allocation Map
Map
para garantir que o Register
Description
Range
Command.SetValue DW00000
Bit Operations
DB000000 - DB00008F
DW00008
(OW8008) está sendo DW00009
One Shot Pulses
DB000090 - DB00009F
DW00019
Integer Operations
General and/or Timer
DW00020
um lugar DW00025
Optional
(Word, Long, Float)
Command.SetValue DW00032
SPARE
DW00099
(OW8008) DW00100
Function Block Word Registers
DW16384
60
Projeto Baseado no MCC Técnica de Cascata
7 => Acum
A última linha do
Acum =>
ladder escreve o
Cmd.SetValue
valor final do
acumulador no
reistrador do
Command.SetValue
61
Projeto Baseado no MCC Solução da Aplicação 1-E
Escreva o valor do
MCC no Acumulador
Ajuste o tipo de
movimento = 1
(absoluto), através de
um OnCoil
Adicione a
referência de
posição ao Watch
Page para ajustá-la
62
Posicionamento Absoluto x
Projeto Baseado no MCC
Incremental
MODO INCREMENTAL
Command.SetValue OW8008 = 0 “Neutro"
Position.Relative OL8044 = 1000 Deslocamento de 1000 …
Command.JogRelativeMoveDirection OB80092 = 1 … na direção negativa
Command.SetValue OW8008 = 8 Início do posicionamento
63
Projeto Baseado no MCC Quiz
64
Projeto Baseado no MCC Borda de Subida
Map
Register
Description
O “One Shot” (borda
Range
DW00000
de subida) permanece
Bit Operations
DW00008
DB000000 - DB00008F ON porque o bit
One Shot Pulses
DW00009
DB000090 - DB00009F anterior muda de OFF
DW00010
DW00019
Integer Operations
General and/or Timer para ON
DW00020
Optional
DW00025
(Word, Long, Float)
DW00028
DW00027 local DW9,
Long (Integer) Accumulator
DW00029
DW00030
DL00028 começando por DB90,
Long (Float) Accumulator
DW00031
DF00032 DB91, etc
Note: Default is 32 D-registers per drawing. Edit drawing properties
to increase when using Function Blocks. (Increasing this allocation
reduces available program [Ladder & Motion] memory.)
DW00032
SPARE
DW00099
DW00100
Function Block Word Registers
DW16384
65
Alocação dos
Projeto Baseado no MCC
Registradores
Os registradores foram
escolhidos de acordo com a
planilha
“MP2xxx_Register_Guide.xls”
66
Projeto Baseado no MCC Multi--Eixos
Multi
6.1
Cada módulo SVB possui um
Circuit No próprio. Isto é
ajustado automaticamente no
Module Configuration quando
a chave CNFG é acionada.
Os módulos SVA e o PO
também possuem um Circuit
No, assim como o eixo virtual
67
Projeto Baseado no MCC Multi--Eixos
Multi
6.3.2
68
Function Blocks Avançado
Abrindo um parênteses…
69
Tipos de Drawings no
Informações Adicionais
Ladder
Inicialização High-Speed
High -speed Low-Speed
Low -speed Interrupção
Interruption Interruption
Funções
(A) Scan (H)(H)
Scan Scan (L)(L)
Scan
(I)
(I)
(I)
Drawings para Drawings para Drawings para Executado
Drawings para controle de
executar alarmes, controle de quando chamado
processos sequenciamento, processos pelos outros
inicializações, prioritários, como
etc. etc. emergenciais drawings
movimentos, etc.
Power ON
DWG.A
Inicialização
DWG.H Repetição do
Drawing H-scan Processo
DWG.L
Drawing L-scan
70
Informações Adicionais Execução dos Drawings
High speed scan
Valor ajustado: 2.0 [ms]
Tempo máximo: 0.8 [ms]
Tempo atual: 0.6 [ms]
“H” Drawing
“L” Drawing
O Low Speed Scan deve ser ajustado em múltiplos do High Speed Scan!
Background*
DEND
DEND DEND
72
Informações Adicionais Exemplo de Hierarquia
74
Informações Adicionais Scan Time
75
O scan set time é o registrador SW4
Informações Adicionais Scan Time
76
Informações Adicionais Enable/Disable Drawing
Habilite parte do
programa que você quer
testar
Contato NF do OnCoil
antes da instrução SEE
Botão direito do
mouse
77
Informações Adicionais Ferramentas de Ajuda
Cross Reference
Find / Replace
Register List
78
Informações Adicionais Cross Reference
79
Informações Adicionais Find / Replace
O Find e Replace
também pode ser
acessado clicando
com o direito do
mouse no
registrador
80
Informações Adicionais Register List
Atualiza as
Vermelho: mostra registradores informações
que estão sobrepostos. Isto pode
ter sido intencional, ou um
engano Localiza o opróximo
registrador
sobreposto (em
vermelho)
81
Informações Adicionais Índices I e J
IB01 MB01
FOR i = 0 até 15 de 1 em 1
IB00i MB00i
……………..
FEND
IB0F MB0F
82
Informações Adicionais Índices I e J
…voltando
84
Projeto com Function Block
86
Projeto com Function Block O que é um Function Block?
88
Benefícios dos
Projeto com Function Block
Function Block
Padronização PLC
open
Menor tempo de
escrita
Robustez na
operação
Monitoração e Erros
centralizados
Customização
Encontre mais detalhes lendo o
Function Block User’s Guide (PDF)
89
Projeto com Function Block Startup Procedure
90
Projeto com Function Block Recursos
91
Projeto com Function Block A Aplicação
DI_00: Servo On
DI_01: Altera Acel/Desacel e Velocidade
DI_02: Move o eixo
DI_03: Pára o movimento
92
Projeto com Function Block A Aplicação
93
Projeto com Function Block Function Blocks Mínimos
• A (Initialization drawing)
– RDAINIT1 Esses 2 FB SEMPRE são
necessários para CADA
– RDAINIT2 eixo, mas devem rodar
apenas uma vez. Este é o
motivo de estarem no
drawing “A”
94
Projeto com Function Block Solução da Aplicação
Crie os drawings
Insira os Function Blocks
Adicione lógicas e cálculos
Preencha os campos dos Function Blocks
Leia a documentação individual do FB
Deixe para preencher o campo DATA por último
95
Projeto com Function Block Criando os Drawings
96
Projeto com Function Block Insira os Function Blocks
97
Projeto com Function Block Quick Quiz
98
Projeto com Function Block OnCoil / OffCoil
Veja os Registradores de
Sistema na pg. A-6
99
Projeto com Function Block RDAINIT 1&2
Assuma o seguinte:
O eixo produz movimento linear
Axis número 1
Dados do Motor: 3000/6000 RPM (nom/máx)
Encoder: 20 bit (1048576)
Máxima velocidade da aplicação: 4000RPM
Tempo de aceleração máximo : 20ms para atingir a
velocidade máxima
100
Projeto com Function Block Perfil do Movimento
20 ms
X_MaxSpeed = × ×
4000[rev] 1048576[pulsos] 1[min]
[min] [rev] 60[ seg ]
101
Projeto com Function Block RDAINIT 1&2
Crie
variáveis
103
Projeto com Function Block Uso dos Registradores
104
Projeto com Function Block Drawing “H” Básico
Todos os outros
function blocks
ficam entre o
SVON e o
AXISEND
105
Definindo os Registradores
Projeto com Function Block
de Trabalho
SVON
DA319 1W
AXISEND
106
Projeto com Function Block Quick Quiz
107
Projeto com Function Block CHNGDYN: Aplicação 2B
108
Projeto com Function Block CHNGDYN
Documentação Adicional
Entrada Tipo Descrição Faixa
Ajuste de tempo. É um timeout da comunicação
MECHATROLINK. Leva um tempo máximo de 10
TIME Word 1 ~ 32767 [seg]
high scans para a CHGDYN ser finalizada, de forma
que o tempo nesse campo deve ser maior que isso.
109
Projeto com Function Block Solução da Aplicação 2B
111
Projeto com Function Block Solução da Aplicação 2C
O bloco MOVEINC
rodou sem erros?
O motor deslocou?
Problemas comuns
Sobrescrita de
registradores
Registradores
zerados
Os mesmos bits são
utilizados por outro
bloco de movimento
ao mesmo tempo
Crie
variáveis
112
Projeto com Function Block STOP: Aplicação 2D
113
Projeto com Function Block Solução da Aplicação 2D
114
Detalhes dos
Projeto com Function Block
Function Block
115
Projeto com Function Block Aplicação 2 H: Drawing
116
Projeto com Function Block Fins--de-
Fins de-curso
Servo
Chave de Chave de
fim-de-curso fim-de-curso
reverso avante
117
Parâmetros do
Projeto com Function Block
SERVOPACK
A auto-configuração faz
algumas alterações nos
parâmetros do
SERVOPACK
Ex: Desabilita os sinais
de fim-de-curso
Salve essas alterações
no seu projeto
“Copy Current Value”
Salve
119
Dependência dos
Projeto com Function Block
Function Blocks
120
Rastreio de Falhas com
Function Block
Informações de
Rastreio
Utilizando
registradores de
trabalho
Utilizando a RDA
121
Function Block Project Rastreio de Falhas
122
Function Block Project Registradores de Trabalho
123
Function Block Project Falhas Gerais
1037
3 = M ove A bsolute 3 = 「M O V A B S 」
M ove S tate MW30178 4 = M ove A ddtive 4 = 「M O V A D D T V 」
5 = H om e 5 = 「H O M E」
6 = Latch T arget 6 = 「LT C H T G T 」
7 = G ear 7 = 「G EA R 」
8 = C AM 8 = 「C A M 」
1038 B lock R unning MW30179 Indicates num ber of block last ran. Function B lock N o. executed at the end
bit0 R unning R unning
1039
bit1 Faulted Error
R un S tatus MW30180 bit2 A borted Interruption
bit3 - -
bit0 N o H om e S w itch
bit1 O ver T ravel
bit2 T im e O ut
bit3 V alue to G reat
bit4 D irection N ot A llow ed
bit5 P os Error
bit6 N o M otor P ow er
1040
bit7 S ervo A larm
Error ID 1 MW30181 bit8 C lear P ending Error
bit9 T rack Fail
bitA R D A Error
bitB Error S top
bitC T able Error
bitD S ervo O ff
bitE -
bitF -
124
Function Blocks Avançado com
o Programa Modelo
Gear
Cam
125
Function Blocks Avançado Preparação
126
Function Blocks Avançado GEAR/CAM: RDA MS-
MS-Pair
Mster-Slave #3
slave iniciando na MW56150
MW56000
Offset na RDA de 50 MW62200
Master-Slave #128
por par
Certifique-se de
utilizar o mesmo par
Master-Slave do
MOD_ENG no CAM
127
Function Blocks Avançado CAM: MOD_ENG
MODDATA
(dado de saída)
MCHNCYCL
Tempo
128
Function Blocks Avançado Aplicação de CAM
7000 6500
6000
Slave Position
5000
5000
4000
3000
2000
2000
1000
1000 500
0 0
0
0 1024 2048 3072 4096 5120 6144 7168 8192
Master Position
129
Function Blocks Avançado CAM: Tabela de Cam
Escolha um local
para os dados Register
ML 15000
Value
9
Comment
Number of Master-Slave Points
ML 15002 0 Master Point # 1
• De acordo com o ML 15004 0 Slave Point # 1
MP2xxx_Register_Gui ML
ML
15006
15008
1024
1000
Master Point # 2
Slave Point # 2
de_Rev1.XLS ML
ML
15010
15012
2000
5000
Master Point # 3
Slave Point # 3
ML 15014 3500 Master Point # 4
Este exemplo inicia ML 15016 8000 Slave Point # 4
ML 15018 4096 Master Point # 5
na ML15000 ML
ML
15020
15022
8192
5120
Slave Point # 5
Master Point # 6
ML 15024 6500 Slave Point # 6
ML 15026 6144 Master Point # 7
ML 15028 2000 Slave Point # 7
ML 15030 7168 Master Point # 8
ML 15032 500 Slave Point # 8
ML 15034 8192 Master Point # 9
ML 15036 0 Slave Point # 9
130
Function Blocks Avançado CAM
MW56000
Mster-Slave #1 A saída dente de serra é
MW56050
Mster-Slave #2
tranferida ao bloco CAM
através da área de memória
MW56100 reservada Master-Slave, da
Mster-Slave #3
MW56150
RDA
8000
8000
8192
6000
6500
Slave Position
O
5000
5000
3000
2000
D
Local to specific ladder Drawing
3 TABLE DATA
2000
1000
0
0
0
1000
7168
0
8192
#
Master Position
131
Function Blocks Avançado CAM: Tabela de CAM
O
As posições são nput (Motion Monitoring)
D
Output (Motion Setting)
3
inseridas nesses
Local to specific ladder Drawing
#
registradores
Manualmente
Utilizando o Cam tool 132
Function Blocks Avançado Problemas comuns com o Cam
133
Function Blocks Avançado CAM
135
Function Blocks Avançado Modelo
INPUT1: SVON
INPUT2: HOME
INPUT3: MOVVEL (JOG)
INPUT4: Sentido do MOVVEL
INPUT5: MOVINC
INPUT6: GEAR
IINPUT7: CAM
INPUT8: ALRMRST
136
Ajustes da Aplicação
Module
Configuration
Eixo Virtual
Tuning
Unidades de
Usuário
137
Ajustes da Aplicação Module Configuration
138
Localização dos
Ajustes da Aplicação
Registradores do LIO
Module Configuration
Controlador: LIO-01
• Details: LIO
– Abra o slot
139
Ajustes da Aplicação Eixo Virtual
140
Ajustes da Aplicação Eixo Virtual
Quais são as
diferenças entre
o SVB e o SVR?
141
Ajustes da Aplicação Eixo Virtual
142
Ajustes da Aplicação Quick Quiz: Eixo Virtual
143
Ajustes da Aplicação Recomendações de Tuning
Práticas Recomendadas
Faça o tuning no servo.
Operador Digital – se possuir
SigmaWin - auto tuning ou ajuste do tuning-less
144
Ajustes da Aplicação Recomendações de Tuning
SigmaWin
145
Ajustes da Aplicação Recomendações de Tuning
146
Ajustes da Aplicação Recomendações de Tuning
147
Ajustes da Aplicação Tuning
Implementação a função
“TUNING” no programa
»Permite uma substituição
extremamente simples do servo
em campo.
»Esse bloco quando executado
escreve os paramêtros que já
estão salvos na FLASH do MP
para o Servopack
149
Ajustes da Aplicação Module Configuration
Fixed Parameters
Somente podem ser alterados no Module
Configuration
É necessário salvar na flash e religar o MP
150
Ajustes da Aplicação Module Configuration
Setup Parameters
Os valores salvos vem como default na
energização após salvar na Flash
O programa pode sobrescrever esses parâmetros
após a energização
Alguns registradores desses, quando atualizados,
refletem em parâmetros do SERVOPACK durante
a auto-configuração
151
Ajustes da Aplicação Module Configuration
Parâmetros do Servopack
Alterar o “input data” sem salvar somente escreve os valores na memória
RAM do Servopack
• Sempre utilize o ícone SAVE para garantir que os parâmetros serão salvos na flash
O Input Data NUNCA é escrito automaticamente no Servopack
• Utilize a instrução MLNK-SVW para tal
Alguns Setup Parameters (relacionados ao tuning) escrevem em alguns
parâmetros do servo automaticamente na energização
• Utilize a instrução MLNK-SVW iapós a energização (L20.xx) para sobrescrê-los
• Configure os registradores de tuning com a função Store
• Você também pode ajustar FP1.A=1, perdendo outras funcionalidades automáticas
Utilize o Save
e Save to flash
para alterar os
valores do
SERVOPACK
de forma
permanente
152
Ajustes da Aplicação Quick Quiz
153
Ajustes da Aplicação Unidades de Usuário
Module Configuration
Controller: MP2300
• Details: SVB
– Open slot
Botão direito
154
Ajustes da Aplicação Unidades de Usuário
155
Ajustes da Aplicação Unidades de Usuário
156
Ajustes da Aplicação Unidades de Usuário
Refira-se ao QRG
Reference Units (User Units)
KEY NOTES:
* RU = "reference unit" = "user unit" - fraction of the measurement system * Register Addresses assume Circuit#1, Axis#1
* FP = Fixed Parameter * Default Positioning units are [encoder pulses (post quad)]
* MCC = Motion Command Code (OWxx08) * Default Speed Reference units are [1000 pulses/min]
* Register Values given for Circuit#1, Axis#1 * Default Accel/Decel units are [ms to rated motor rpm]
* Bold type represents default setting * Default FP1.A=1 autmatically transfers accel/decel to servopack
* MPE720 5.31B "Units" in module configuration do not update
* Basic Module User Manual (SIEPC88070003B) lists incorrect unit defaults
RU = FP4 *10^-n
OL8010: Speed Reference [select unit OW8003.0-3] (Default 3000)
FP4 = RU Measurement
0: [RU/sec] . System
1: [10^n RU/min] 0: Pulse (post quad)
2: [% of Rated Speed (FP34)] 1: mm
OL801C: Position Reference [RU] n = 3 when FP4=0 (pulse) 2: deg
or n = FP5 when FP4<>0 3: inch
OL8044: Step Distance [RU] 4: micron
OB80092 = Step Direction
If PULSE is not chosen for the measurement
system use the following parameters to define the
relationship between PULSE and RU.
FP36: Encoder Pulses (post quad) per motor rev
FP8: Motor Revs into gearbox
Servopack Pn80B: Acceleration Rate Servopack Pn80E: Deceleration Rate FP9: Machine Shaft Revs out of gearbox
[10,000 RU/sec^2] (Default 65535) [10,000 RU/sec^2] (Default 65535) FP6: RU per Machine Shaft Revolution
157
Ajustes da Aplicação Quick Quiz
158
Ajustes da Aplicação Solução do Quiz
FIXED PARAMETERS
FP1.0 =1 (rotary infinite axis)
FP1.A = 0 (automatic update accel, etc)
180 graus/seg FP4 = 2 (degrees)
FP5 = 2 (two decimal places of resolution)
FP6 = 360 00 (RU per machine rotation)
Distância percorrida = FP8&9= remain at 1 (no gearing)
FP10 = 360 00 (RU for rollover point)
2 voltas
FP34 = 3000 (motor rated rpm)
(720 graus) FP36 = 1048576 encoder resolution
SAVE AND SAVE TO FLASH, cycle POWER
20 ms 20 ms
SETUP PARAMETERS (O)
Speed (OL8010) Unit (OW8003.0-3)
180 00 0
3 1 Other Units Possible
1* 2
*Parameter out of range, must reduce rated speed FP34
Accel (OL8036)
Unit (OW8003.4-7))
Decel (OL8038)
900000 0
120000 1 Other Units Possible
SAVE and SAVE TO FLASH (to ensure default value at power-up)
MOTION SEQUENCE
Absolute Step
Command.SetValue OW8008=0 Command.SetValue OW8008=0
Position.MoveType OB80095=1 Command.~Direction OB80092=0
Position.Commanded OL801C=0 Position.Relative OL8044=720 00
Command.SetValue OW8008=1 Command.SetValue OW8008=8
159
Linguagem de Motion
160
Linguagem de Motion Linguagem de Motion
Registradores e Comandos
Escrita do programa (código)
Posicionamento / trajetória
Interpolação linear e circular
Fundamentos dos programas de Motion
Não podemos misturar Function Blocks
e Programas de Motion controlando
uma mesmo eixo ao mesmo tempo!
161
Criando um
Linguagem de Motion
Programa de Motion
Motion Program
Step Instruction Detail
In File Manager-> Programs -> High Scan Programs ->
1 Start a new Motion Program Motion Programs, R-click "Motion Group01" and select
"New Program".
There are no commands for SERVO ON or JOG in the
Things to know before a
2 Motion Programming Language. These steps are to be
Motion Program is started
accomplished in Ladder.
162
Criando um Programa de
Linguagem de Motion
Motion
Existem 2 formas de abrir o Editor de Motion:
A partir da aba de Motion,
no lado esquerdo da tela do
MotionWorks
A partir item
Motion Program,
no Engineering
Manager
163
Teste de Programa
Linguagem de Motion
Simples
Teste o programa
Acende e apaga o LED 5 vezes
com um tempo de 1 segundo
entre a mudança
O programa inicia com a Input1
Básico da Programação
A primeira linha é o MPM001
(para o programa 1)
A última é o END;
Comentários vão entre “aspas”,
após o ;
Escreva esses registradores no
Motion Program
OB04112=1
• Altera a saída digital com
endereço OB04113 para 1
Comando para aguardar tempo
TIM T100 [unidades: 10ms]
164
Teste de Programa
Linguagem de Motion
Simples
165
Chamada do Motion
Linguagem de Motion
Program
166
Command Code register the time, and proper interlocks
are used to flag the ladder code
166
Chamada do Motion
Linguagem de Motion
Program
A instrução MSEE é utilizada
para chamar um motion program
O motion program não irá rodar
até que o bit de start correto seja
acionado
O campo DATA da instrução
MSEE determina o endereço
inicial das 4 words utilizadas pelo
motion program
É semelhante ao
campa DATA dos
Function Blocks
167
Chamada do Motion
Linguagem de Motion
Program
DETALHES
A instrução MSEE só pode ser
utilizada no drawing H
Program No.
• O campo Program No. pode ter diferentes números(1-
256), ou um registrador para endereçamento indireto,
ambos referentes ao programa
Data
• Pode ser referenciado à qualquer registrador, exceto
constantes (registradores # e C)
• Utiliza 4 words. Por exemplo, se DA00000 for utilizada
nesse campo, DW00000 será nossa palavra de status e
DW00001 será nossa palavra de controle para o motion
program
168
Chamada do Motion
Linguagem de Motion
Program
DB000013 Seleção do modo Debug "Modo de comandos por blocos". Entra no modo Debug quando em ON
Inicia o modo de comando por blocos. Executa as instruções bloco por
DB000014 Start do modo Debug
bloco a cada borda de subida
Limpa os alarmes do programa quando em ON (pára o programa antes da
DB000015 Reset de Alarme
executar o reset)
DB000016 Operação contínua Sem função, por enquanto...
DB000018 Pulo de instrução 1 Pula um comando de interpolação (MVS), com a instrução SKP ss1
DB000019 Pulo de instrução 2 Pula um comando de interpolação (MVS), com a instrução SKP ss2
Ajuste dos registradores de Altera os registradores de trabalho de 4 words, utilizados na instrução
DB00001D
trabalho MSEE
Ajuste de override da Quando estiver em ON, utiliza o valor de override, alocado na 3 word da
DB00001E
interpolação MSEE
169
Chamada do Motion
Linguagem de Motion
Program
Também podemos
acionar um bit pelo
Watch Page
170
Linguagem de Motion Registradores e Comandos
Exemplos:
171
Linguagem de Motion Registradores e Comandos
- Comandos de Controle:
ABS, INC: Modo de coordenadas absolutas ou incrementais
POS: Define valor de posição, POS [X]123 [Y]456;
172
Linguagem de Motion Registradores e Comandos
- Comandos de Alto-Nível:
PFN: IN-Position: PFN [X] [Y]; or PFN;
- Control Commands:
MSEE, MPS_, RET: Chamada ou Retorno de subrotina
TIM T_: Temporizador
IOW MB_ ==: Aguarda sinal para continuar
EOX: Aguarda 1 scan
PFORK JOINTO PJOINT: Comandos de execução paralela
SFORK JOINTO SJOINT: Comandos de execução seletiva
- Commandos de Controle:
END, IF ELSE IEND, WHILE WEND
- Além de instruções matemáticas, lógicas e de manipulação de
registradores
173
Linguagem de Motion Formatação do Programa
174
Partindo e parando
Linguagem de Motion
Programas de Motion
O programa de Motion é controlado pelo programa H
MSEE MPS001
Motion Subroutine
DEND MPS001
DEND
RET
175
Partindo Programas
Linguagem de Motion
de Motion
176
Partindo Programas
Linguagem de Motion
de Motion: Exemplo
177
Partindo Programas
Linguagem de Motion
de Motion: Exemplo
178
Parando Programas
Linguagem de Motion
de Motion
179
Linguagem de Motion Perfil de Movimento
VEL
ACC DCC
180
Linguagem de Motion Perfil de Movimento
Eixo 1: 4000
Eixo 2: 3000
181
Linguagem de Motion Perfil de Movimento
Velocidade
V solicitada
VEL
Movimento
182
Linguagem de Motion Comandos: I/O Wait
Transição do
sinal de
entrada
T
IB00011
183
Linguagem de Motion Comandos : Delay
2.50 seg
184
Comandos:
Comandos:
Linguagem de Motion
Execução Paralela
O comando de execução paralela (PFORK) roda blocos de
comandos com labels específicos em paralelo. Até quatro
processos podem ser executados em paralelo
Depois que cada label foi executado, a execução volta a ser
unida através do label designado pelo comando JOINTO
185
Linguagem de Motion Formatação do Programa
186
Linguagem de Motion Formatação do Programa
187
Linguagem de Motion Exercício
188
Linguagem de Motion Resposta do Exercício
189
Interpolação Linear
Eixo 3
(400,300,200)
(0,0,0) Eixo 1
VFinal = VEixo1
2
+ VEixo2
2
+...+ VEixo16
2
Eixo 2
191
Linguagem de Motion Interpolação Linear
Utilize ou o
V parâmetro F ou
Velocidade Máxima: o comando IFP
para definir a
FMX [R.U./min] velocidade do
MVS
Velocidade da Interpolação:
Parâmetro F [R.U./min]
ou IFP [% da FMX]
Tempo de Curva S
SCC [ms]
tempo
Tempo de Acel Tempo de Desacel
IAC [ms] IDC [ms]
192
Linguagem de Motion Interpolação Linear
Esse tempo será adotado até que sobrevenha um novo comando IAC
e/ou IDC. A faixa de ajuste é de 0 ~ 32767 [ms]
V
FMX T50000;
FMX IAC T1000;
IDC T1000;
MVS [axis1] 1000 F4000;
Velocidade
Solicitada
T
IAC IDC
194
Linguagem de Motion Interpolação Linear
Esse tempo será adotado até que sobrevenha um novo comando IFP ou
o parâmetro F.
FMX T100000;
IFP P100;
A faixa de ajuste é de 0 ~ 100 %
MVS [axis1]2500 F10000;
V IFP P50;
MVS [axis1]2500;
FMX = 10000
T
195
Linguagem de Motion Interpolação Linear
FMX * IFP
Override da Velocidade Velocidade
de Interpolação Final
196
Linguagem de Motion Interpolação Linear
197
Linguagem de Motion Interpolação Linear
INC:
MVS [X]25 F100;
PFN [X];
MVS [X]25 F125;
INC:
MVS [X]25 F100;
MVS [X]25 F125;
198
Linguagem de Motion Interpolação Linear
199
Linguagem de Motion Interpolação Linear
Exemplo de Blended Moves
200
Linguagem de Motion Interpolação Linear
201
Linguagem de Motion Exercício
202
Linguagem de Motion Resposta do Exercício
MPM001
ABS;
VEL [X]180000 [Y]180000; “velocidade de 500rpm”
ZRN [X]0 [Y]0;
IFP P100;
FMX T108000000;
IAC T3000;
IDC T4500;
PFORK L1, L2;
L1: MVS [X]360000 [Y]720000 F720000;
JOINTO L3;
L2: TIM T50;
OB0000D = 1;
JOINTO L3;
L3: PJOINT;
PFN [X][Y];
OB0000D = 0;
TIM T200
MVS [X]0 [Y]0 F86400000;
PFN [X][Y];
END;
203
Linguagem de Motion Interpolação Circular
204
Linguagem de Motion Interpolação Circular
O plano dos eixos precisa ser definido através do comando PLN antes do
comando de interpolação circular. Recomendamos que os comandos
sejam especificados nessa ordem: plano dos eixos, posições finais e
ponto central (ou raio).
ABS; ABS;
PLN [axis1] [axis2]; PLN [axis1] [axis2];
MCW [axis1] 0 [axis2] 0 U1000 V0 F1500; MCW [axis1] 0 [axis2] 0 R±1000 F1500;
axis1
Posição Final
Ponto R Ponto
0,0 axis2
Central (positivo) Central
R
(negativo) Posição Atual
205
Linguagem de Motion Interpolação Circular
Exemplo de Programa
FMX T10000000;
MVS [X]0 [Y]0 F100000;
ABS;
IAC T100;
IDC T100; 1500
0
0 500 1000 1500 2000 2500
-500
-1000
-1500
206
Obrigado!!!
(11) 3585-1100
www.yaskawa.com.br
treinamento@yaskawa.com.br
207
Apêndice A: Scope
208
Scope Explanação
Buffer FIFO
Dados são adicionados ao final do buffer
Dados anteriores são descartados
Buffer com Words de 16 bits de dados
209
Scope Configurações
Adicione variáveis ao
gráfico
Ajuste uma “sampling
rate”
Ajuste o número de
amostras
Salve os ajustes para
iniciar a captura dos
dados
210
Scope Configurações
Adicione variáveis ao
gráfico
Método 1: Arraste a
Actual Speed da lista
de variáveis
Método 2: Clique com
o botão direito e
depois em “Add to
Scope” , no Ladder ou
na lista de variáveis
211
Scope Configurações
213
Scope Configurações
214
Scope Configurações
Salve os ajustes
Atualiza as configurações do scope
Inicia a captura dos dados no buffer
215
Scope Captura dos Dados
216
Scope Captura dos Dados
217
Scope Captura dos Dados
218
Scope Captura dos Dados
Botão Snap
Os dados continuam
sendo capturados
Os dados são
visualizados no
momento do SNAP
Condição de Trigger
Aplicação
• Pára automaticamente a
captura de dados quando
o movimento for concluído
Recomendações
• Utilize somente a condição
“Terminate”
• Utilize o botão SAVE para
iniciar a captura de dados
a cada vez que você
utilizar o Trigger
• Crie um bit np Ladder para
o Trigger Somente utilize o Trigger Terminate
Adicione mais umas 100 amostras depois da
condição de terminate
220
Scope Captura dos Dados
Não esqueça de
compilar o programa
221
Scope Medição dos Dados
Speed.Actual Adicione
Position.ProfilerC
omplete (IB800C0)
e
Position.InPosition
(IB800C1) ao
gráfico
Position.ProfilerComplete
(IB800C0)
Position.InPosition
(IB800C1)
Cursor
Cursor AA Cursor B
222
Scope Medição dos Dados
Passos
Adicione os dados ao
scope e tire o gráfico
• Distribution Complete
• Positioning Complete
Ajuste o cursor B primeiro, Altera o tipo de
cursor e posição
depois o A
Ajuste a posição dos
• Clique para ajustar a posição cursores
(não arraste)
Mova o mouse Ajuste o cursor B na
posição mais distante
em relação ao A
• Passe o mouse entre os
cursores para ler a diferença Ajusta a posiçãõao
do cursor A mesmo
de tempo se o B estiver sendo
visualizado
• Passe no dado para ler as
coordenadas
223
Scope Capacidade
224
Apêndice B: Upload / Download
225
Upload / Download Upload
227
Upload / Download Upload
228
Upload / Download Download
230
Upload / Download Download
231
Upload / Download Download
233