Você está na página 1de 233

MP2000

Programação
com o
MotionWorks 6
1
O MP2000:
Introdução
Visão Geral

Agrega funções de PLC, Rede (Mechatrolink, DeviceNet,


Ethernet e Profibus-Slave) e controle de eixo
Possui módulos de I/O locais e remotos (Mechatrolink)
Possui funções de Interpolação Linear, Circular e
Helicoidal; GEAR e CAM, e Eixo Virtual
Programado em Ladder, Function Blocks e Linguagem de
Texto (semelhante à BASIC), através do ambiente de
programação MotionWorks 6 (cód.: CPMC-MPE770) ou
com o YB-KIT-MP2000 (Kit de Programação)
Pode controlar até 256 eixos – com o MP2200 – entre
servos e inversores)

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

Salva da CPU para o


cartão de memória
flash externo

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

Existem 3 métodos diferentes de programar


os controladores MP:

Ladder com Function Blocks (funções mais


comuns pré-criadas pela Yaskawa)
Command.SetValue (OWxx08) (tipos de
movimentos mais comuns - MCC)
Linguagem de Texto Estruturado com Motion
Programs

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

Vantagens do controle do eixo pela rede


relação ao controle analógico/trem de pulso
(padrão)
Menos fiação
Mais eixos
Leitura e escrita de parâmetros do Servopack
I/O e servos/inversores em uma mesma rede
Alta imunidade a ruído

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

O MP2200 oferece a opção de utilizar


um cartão de memória flash removível

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

Os 5 MB da RAM são dividos em 2 áreas, de


registradores diferentes
Memória dos Registradores

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

Cada tipo de registrador possui uma


capacidade/característica de armazenamento
Bit: 1 bit
Word: inteiro de 16 bits
Long (double word): inteiro de 32 bits
Float: real de 32 bits

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

Um registrador é uma posição de memória da


CPU que armazena dados
Os dados podem ser valores numéricos, como o
valor de posição ou velocidade do servo; lógicos
(V ou F, 0 ou 1); ou ainda outros registradores
Tipo de Dado Nome Exemplo

- 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

Todos os registradores, exceto I e O

Endereçamento dos 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

Registradores de entrada e saída

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

1. (V/F) A chave INIT limpa a memória FLASH na energização. (F)


2. (V/F) A única forma de alterar o conteúdo da memória FLASH é
através do software MotionWorks. (V)
3. Se a alimentação é removida sem que salvemos essas configurações
na FLASH, qual será o conteúdo da RAM na próxima energização?
O conteúdo da FLASH que foi salvo pela última vez

4. Quais são os registradores destacados no diagrama?

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

Conexão via Serial


Conexão via Ethernet
Conexão via USB

16
O MP2000:
Conexão
Programação via Serial

1. Conecte o cabo serial


2. Configure o Communication Manager
(caso não o tenha feito anteriormente)
3. Fique online no controlador

17
O MP2000:
Programação via Serial: Configurando o Communication Manager

Abra o Communication Manager

Dê um duplo clique em uma porta lógica e


no tipo de porta, selecione “Serial”

18
O MP2000:
Programação via Serial: Configurando o Communication Manager

Clique em “Detail”. Na janela que abrir, dê um Ok (e


depois dê um Ok na janela anterior...) e salve.

Agora o Communication Manager deve


estar parecido com a imagem abaixo:

19
O MP2000:
Programação via Serial: Acessando o Controlador

Feche o Communication Manager (reset) e abra o


MotionWorks 6.
Em “Communications Setting”, selecione a opção Serial e dê
um “Connection”...

20
O MP2000:
Conexão
Programação via Ethernet

1. Conecte o cabo Ethernet (cross-over)


2. Configure o Communication Manager
(caso não o tenha feito anteriormente)
3. Fique online no controlador

21
O MP2000:
Programação via Ethernet: Configurando a porta do seu computador

Para comunicar com o MP via Ethernet, devemos


primeiramente definir um endereço de IP fixo para a porta
Ethernet do nosso Desktop / Laptop...

Para tal, acesse as Propriedades


de sua porta Ethernet (a forma de
chegar nesta tela varia conforme
sistema operacional). Desça até o
item “Protocolo TCP/IP” e clique
em Propriedades...

22
O MP2000:
Programação via Ethernet: Configurando a porta do seu computador

Na tela que é aberta, digite um endereço IP. Como o cartão


218-IF vem com o endereço padrão 192.168.1.1, colocamos
por exemplo o 192.168.1.10

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

Clique em Ok e aguarde até que o Windows reconheça a


conexão (desde que o cabo Ethernet já esteja conectado)

Agora vamos configurar o Communication Manager...

24
O MP2000:
Programação via Ethernet: Configurando o Communication Manager

Abra o Communication Manager

Dê um duplo clique em uma porta lógica e


no tipo de porta, selecione “CP-218”

25
O MP2000:
Programação via Ethernet: Configurando o Communication Manager

Clique em “Detail”. Na janela que abrir, selecione o endereço


IP da porta do seu micro e dê um Ok
(e depois dê um Ok na janela
anterior...) e salve.

Agora o Communication Manager deve


estar parecido com a imagem abaixo:

26
O MP2000:
Programação via Ethernet: Acessando o Controlador

Feche o Communication Manager (reset) e abra o


MotionWorks 6.
Em “Communications Setting”, selecione a opção Ethernet
com o endereço IP da porta do seu micro e dê um
“Connection”...

Clicando em Detail, você


pode alterar o endereço IP
do cartão 218-
218-IF. Para forçar
o cartão com este IP (caso
você não saiba qual
endereço está configurado
no cartão), acione a chave
“INIT” do 218-
218-IF…

27
O MP2200:
Conexão
Programação via USB

1. Conecte o cabo USB


2. Configure o Communication Manager
(caso não o tenha feito anteriormente)
3. Fique online no controlador

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

Abra o Communication Manager

Dê um duplo clique em uma porta lógica e


no tipo de porta, selecione “USB”, dê um OK
e salve.

30
O MP2200:
Programação via USB: Acessando o Controlador

Agora o Communication Manager deve estar parecido com


a imagem abaixo:

Feche o Communication Manager (reset) e abra o


MotionWorks 6.
Em “Communications Setting”, selecione a opção USB e dê
um “Connection”...

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

Utilize o Quick Reference Guide (QRG)


Uma vez que a porta de
comunicação foi criada no PC e a
comunicação estabelecida, execute
o procediemnto de startup descrito
no QRG

MP2000 Quick Reference Guide

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

Configuração dos Eixos


O eixo precisa ser definido em um grupo para
utilizarmos as variáveis do eixo

Na primeira vez que você expandir as variáveis do eixo, você deverá


definir um grupo para o eixo. No Logical Axis Name você pode dar um
nomes como X, Y, etc.

34
Projeto Baseado no MCC Procedimento de Startup

Eixos: Todos os registradores possuem um


nome padrão, organizados sob o item Variables
S (Global) SW0000-1023
Informações do sistema e de status (somente leitura)
Exemplo: Flickers, Calendário, etc

I (Entradas) IW0000-FFFF O (Saídas) OW0000-FFFF


Entradas de Uso Geral & Rede (somente leitura) Saídas de Uso Geral & Rede (leitura/escrita)
Entradas Físicas: IW0000-7FFF Saídas Físicas: OW0000-7FFF
Convenção: IW0410 + (para módulos de I/O local) Convenção: OW0410 + (para módulos de I/O local)
IW0010 + (para módulos de I/O MLINK) OW0010 + (para módulos de I/O MLINK)
Entrada da Rede: IW8000-807F(Módulo#1, Eixo#1) Saída da Rede: OW8000-807F(Módulo#1, Eixo#1)
"motion monitoring" Offset 80h por eixo "motion setting" Offset 80h por eixo
800h por módulo 800h por módulo
Exemplo: IB80000 = controlador pronto Exemplo: OB80000 = habilita SVON
Referência: Basic Module User Manual; 7.2.3 Referência: Basic Module User Manual; 7.2.2

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

Veja o MEMORY MAP


do QRG
Botão
Direito

Pastas diferentes para cada


tipo de drawing. Por
enquanto utilizaremos
apenas o H. Os demais
serão discutidos
posteriormente

Deixe com o padrão e dê um OK

36
Projeto Baseado no MCC A Aplicação

Parte A: Servo On
IN0: Habilita o servo

Parte B: Posicionamento Incremental


IN1: Habilita o Command.SetValue (OWxx08)
IN2: Define uma distância (1 volta)
IN3: Define o sentido de giro

Parte C: Reset de Alarme


IN7: Reseta um alarme

Parte D: Variáveis
Crie variáveis de acordo com as recomendações no Best Practice da Yaskawa

Parte E: Posicionamento Absoluto


IN6: Utiliza posicionamento ABSOLUTO
Utilize a técnica de programação em cascata (waterfall)

37
Projeto Baseado no MCC Aplicação:: Detalhes:1
Aplicação Detalhes:1--A

IN0: Habilita o servo


• Crie o Drawing
• Localize as Variáveis

38
Projeto Baseado no MCC Solução da Aplicação 1-A

Insira uma Linha


Tecla Insert do teclado
Insira as Instruções
Detalhes adiante Entrada 0 Servo ON
Variável: ____________ Variável: ____________

Insira as Variáveis nas Registrador: ____________ Registrador: ____________

Instruções
Compile ( ou F8)

39
Projeto Baseado no MCC Instruções do Ladder

Instruções Básicas (no topo)

Acesso a todas as
instruções no aba “ladder
instruction”, à direita

40
Projeto Baseado no MCC Solução da Aplicação 1-A

Visualize também o endereço, se preferir

• Somente a variável (padrão)

• Variável e Endereço

41
Projeto Baseado no MCC Solução da Aplicação 1-A

Visualize todo o nome da variável

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

Parte B: Posicionamento Incremental (Step)


IN1: Habilita o Command.SetValue (OWxx08)
IN2: Define uma distância (1 volta)
IN3: Define o sentido de giro

43
Projeto Baseado no MCC Solução da Aplicação 1-B

Passos para fazer um posicionamento


incremental (Step)
Position.Relative (OL8044) = 1048576
• 1 rev = 1048576 pulsos do encoder (de 20 bits)
Command.JogRelativeMoveDirection (OB80092)
• Define o sentido de giro
Velocidade, aceleração, desaceleração,etc.
• Utilize os valores iniciais padrão
Command.SetValue (OW8008) = 8 -> inicia o
posicionamento
• O posicionamento será cancelado se o
Command.SetValue retornar para 0 antes do
posicionamento ter sido concluído. Veja o manual na Seç. 7.2.8

44
Projeto Baseado no MCC Solução da Aplicação 1-B

Utilize a instrução STORE para


escrever valores em uma variável

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

Para movimentar o eixo Marque esta página no Capítulo 7.1.1

é necessário utilizar o
Command.SetValue
(OW8008)
O Capítulo 7.2 explica
como utilizar cada valor
Marque a seção 7.2

O Cap 7.2.7 explica o modo STEP

46
Projeto Baseado no MCC Command.SetValue

Utilizar o Command.SetValue (OWxx08) é


semelhante a utilizar o câmbio de um carro
Devemos “passar para o neutro” antes de
alterar para outra marcha

1: Posicionamento 3: Referenciamento 7: JOG


Lógica
•Store
0: Sem movimento Command.SetValue = 0
(neutro)
•Se a entrada 1 for
acionada, faça
2: Posicionamento 4: Interpolação 8: Passo (Step)
Command.SetValue = 8
Externo

47
Projeto Baseado no MCC Solução da Aplicação 1-B

48
Projeto Baseado no MCC Função Watch

Utilize a aba Watch para


monitorar e escrever em
qualquer variável/registrador,
como o da referência de
posição
Para adicionar ao Watch
Clique com o direito ou arraste a
variável do drawing
Arraste da lista de variáveis
Digite o nome da variável ou o Exercício
endereço do registrador
•Adicione o
Speed.Commanded e o
Position.Actual ao Watch
•Rode o programa
•Observe e edite o dado na
diretamente na WATCH
49
Projeto Baseado no MCC Aplicação:: Detalhes:1
Aplicação Detalhes:1--C

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

Detecte e limpe o alarme


Como poderemos simular um alarme?
Gere um alarme e verifique se a OUT7
acende, então reset através da IN7

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

E se o Position.Relative for alterado?


Direcione uma variável para o Position.Relative ao
invés de um valor fixo
Utilize o Best Practice da Yaskawa para escolher
uma variável adequada
Monitore a variável no WATCH

Substitua o valor constante por


uma variável
53
Projeto Baseado no MCC Aplicação 1D: Variáveis

Defina uma variável


Digite um nome
diretamente na
instrução do ladder
Decida se a variávell
deve ser Global (M)
ou Local (D)
Decida sobre o tipo
de dado da variável Regras para variáveis

(Bit, Word, Long, Sem espaços e pontuação, exceto para o underline


Não utilize nomes que possam causa confusão com o
Float) endereço das variáveis. Por exemplo, não utililze um
nome do tipo “OL0”

54
Projeto Baseado no MCC Adicionando Variáveis

As variáveis também podem ser definidas antes de


escrever o programa no ladder

Clique com o direito no dado que você deseja


adicionar uma nova variável

As variáveis locais são definidas em uma aba


separada

55
Projeto Baseado no MCC Solução da Aplicação 1-D

56
Projeto Baseado no MCC Salve na Flash

O programa NUNCA fica salvo na RAM pela


bateria (ela é apenas para os registradores)
É necessário salvar o programa na flash para
que não haja necessidade de re-compilar o
programa depois que o equipamento for re-
energizado

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

Passos para fazer um posicionamento absoluto


Position.MoveType(OB80095) = 1
• Ajuste o bit de tipo de posicionamento para absoluto
• Utilize o OnCoil(SB00004)
Position.Commanded(OL801C)
• O motor move para a posição definida nessa palavra
• Position.Actual = Position.commanded quando o movimento é
concluído
Command.SetValue(OW8008) =1 inicia o movimento
• O motor vai imediatamente para a posição em
Position.Commanded.
• O Position.Commanded pode ser alterado em qualquer
momento enquanto o Command.SetValue=1, e o motor irá se
deslocar imediatamente para a nova posição
• Certifique-se de que o servo está habilitado e sem alarmes/erros
• Ajuste a velocidade e rampas de acel/desa. como desejar
59
Projeto Baseado no MCC Técnica de Cascata

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

esccrito em apenas DW00010

DW00019
Integer Operations
General and/or Timer
DW00020
um lugar DW00025
Optional
(Word, Long, Float)

Word (Integer) Accumulator


DW00026
• Utilize a DW26 DW00026

Logic (Integer) Accumulator


DW00027
(“acumulador” local) DW00028
DW00027

Long (Integer) Accumulator


como um intermediário DW00029
DW00030
DL00028

Long (Float) Accumulator


para enviar valores DW00031
DF00032

Note: Default is 32 D-registers per drawing. Edit drawing properties


para o to increase when using Function Blocks. (Increasing this allocation
reduces available program [Ladder & Motion] memory.)

Command.SetValue DW00032
SPARE
DW00099
(OW8008) DW00100
Function Block Word Registers
DW16384

60
Projeto Baseado no MCC Técnica de Cascata

A técnica de cascata garante que registradores


importantes, como o Command.SetValue (OW8008)
sejam escritos em apenas um local no programa

0 => Acum Defina um valor


padrão temporário
para esse
acumulador

Em outras partes no 8 => Acum


programa, quando
for necessário alterar
o MCC, alterare 1 => Acum
nesse acumulador

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

Edite o programa que


você criou para
utilizar a técnica de
cascata

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

Comparação entre os modos:


Posicionamento Absoluto
x
Posicionamento Incremental
Exemplo
Position.Actual(IL8016)=4000
Mover para a posição absoluta 3000
MODO ABSOLUTO
Position.MoveType OB80095 = 1 Modo de posicionamento absoluto
Command.SetValue OW8008 = 0 “Neutro"
Position.Commanded OL801C = 3000 Valor de posição absoluta desejada
Command.SetValue OW8008 = 1 O posicionamento é solicitado, e o motor imediatamente move para
a posição acima

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

Que efeito tem o Command.MoveType (OB8095)


quando o Command.SetValue (OW8008) = 8 (Step)?
O Command.MoveType não tem efeito nenhum sobre o modo Passo/Step;
ele é utilizado para definir posicionamento absoluto ou incremental no
modo Posicionamento (Command.SetValue (OW8008) = 1)
Qual registrador é utilizado para definir uma posição
incremental (passo) quando o Command.SetValue
(OW8008) = 8?
Position.Relative(OL8044)

Qual registrador é utilizado para definir uma posição


absoluta quando o Command.SetValue (OW8008)=1?
Position.Commanded(OL801C)

64
Projeto Baseado no MCC Borda de Subida

Local Memory (D) Register Allocation Map

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)

Word (Integer) Accumulator


Por convenção,
DW00026
DW00026 utilizamos a variável
Logic (Integer) Accumulator
DW00027

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”

MB001000 Axis Normal


MB001001 Servo On Reference
MB001002
MB001003
MB001004
MB001005 Jog Forward Interlock
MW00100 MB001006 Jog Reverse Interlock
MB001007 Jog Forward Reference
MB001008 Jog Reverse Reference
MB001009 Jogging
MB00100A Homing In Progress
MB00100B Homing Completed Detection
MB00100C Homing Completed Latch
MB00100D
MB00100E
MB00100F

66
Projeto Baseado no MCC Multi--Eixos
Multi

O ajuste da chave rotativa do servo e a


configuração automática do controlador
definem quais registradores serão utilizados
Cada eixo necessita de 80 registradores
(variáveis de eixo)

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

Os registradores de entrada e saída do eixo


são listados por números
Adicione o offset apropriado
• 80h por eixo
• 800h por circuito

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.

Processos não Utilizadas para


Visto somente
O núcleo da prioritários, que processamentos
uma vez (na
operação podem ser repetitivos
energização)
sequenciais

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]

Low speed scan


Valor ajustado: 8.0 [ms]
Tempo máximo: 7.0 [ms]
Tempo atual: 6.0 [ms]
Low-Speed scan

High-speed High-speed High-speed High-speed


Scan Scan Scan Scan

“H” Drawing

“L” Drawing
O Low Speed Scan deve ser ajustado em múltiplos do High Speed Scan!

Background*

Background * : Para execução de tarefas internas do sistema


71
Informações Adicionais Hierarquia dos Drawings

Pais Filhos Netos


DWG. H DWG. H01 DWG. H01.01 Funções
SEE H01 FUNC-001
SEE H01.01
FUNC- 001

DEND

DWG. H01.02 DEND


SEE H01.02

DEND DEND

DWG. H02 Nota: A ordem dos filhos


DWG. H02.01 e netos não importa, e as
SEE H02 funções podem ser
SEE H02.01 chamadas em qualquer
DEND tempo e em qualquer
lugar
DEND DEND

72
Informações Adicionais Exemplo de Hierarquia

H High Scan Pai


H20 Controle de movimento do eixo
• H20.01 Eixo 1: Command.SetValue ou Function Blocks
• H20.02 Eixo 2: Command.SetValue ou Function Blocks
• …H20.99 Eixo 99: Command.SetValue ou Function Blocks
L Low Scan Pai
L20 Seqüenciamento do eixo
• L20.01 Eixo 1: (AxisNorm, ServoOn, Jog, etc)
• L20.02 Eixo 2: (AxisNorm, ServoOn, Jog, etc)
• … L20.99 Eixo 99: (AxisNorm, ServoOn, Jog, etc)
A Startup Parent
A01 Inicializações Gerais
A20 Inicialização do eixo
• A20.01 Axis 1: Inicialização da RDA
• A20.02 Axis 2: Inicialização da RDA
• … A20.99 Axis 99: Inicialização da RDA
73
Informações Adicionais Utilização do Drawing

High Scan Programs


Function blocks
Qualquer parte que crie ou controle movimento
Low Scan Programs
Lógicas
Entradas do usuário, como reset de alarme, ou
escrita de parâmetros
Qualquer parte em que uma execução prioritária
não for realmente necessária

74
Informações Adicionais Scan Time

O valor default do tempo de scan é muito alto


para a maioria dos casos
Um high scan de 2ms e um low scan de 20ms
é um bom começo

Veja apêndice A-9

75
O scan set time é o registrador SW4
Informações Adicionais Scan Time

O que acontece se o tempo de scan estiver


muito baixo?
O que deve ser feito se o tempo de scan for
muito baixo?

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

Lista a localização das


variáveis em QUALQUER
PROGRAMA
O Cross Reference
também pode ser
acessado clicando
com o direito do
mouse no
registrador

79
Informações Adicionais Find / Replace

Localiza variáveis em um programa ativo

O Find e Replace
também pode ser
acessado clicando
com o direito do
mouse no
registrador

80
Informações Adicionais Register List

Utilize o Register List para localizar


registradores disponíveis, debugar o programa
e abrir o Register Map

Digite o endereço do Informe o drawing (no caso de Número Congele


registrador registradores locais) de ou
colunas atualize
os dados
Verde: mostra
registradores que
estão sendo Mostra/Oculta
utilizados pelo informação visual
programa (cores)

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

Os sufixos I e J são artifícios úteis para repetição


de uma mesma lógica de Ladder, cálculo, etc.
IB00 MB00

IB01 MB01
FOR i = 0 até 15 de 1 em 1

IB00i MB00i
……………..

FEND

IB0F MB0F

82
Informações Adicionais Índices I e J

Exemplo: Adição consecutiva de registradores


Obtenha a soma de 100 registradores, da MW100 até
a MW199.
0 = MW200
FOR j ≥ 0 a 99 de 1 em 1
MW200 + MW100j => MW200
FEND

Obs.: Podemos criar a lógica primeiramente


em um Pseudo-Código, para ficar mais clara
a idéia, antes de codificá-la no MP.
83
Function Blocks Avançado

…voltando

84
Projeto com Function Block

Conectar via Ethernet


Procedimento de
Startup dos FB
Estrutura do programa
& regras
Criando seu primeiro
programa
RDAINIT1&2
SERVON &
AXISEND
MOVEINC,
CHNGDYN,
STOP, HOME,
etc
85
Projeto com Function Block Ajustes do DEMO

Procedimento de Startup do MP2000


Zere o controlador e inicie um novo projeto,
seguindo os passos do QRG
Procedimento de Startup dos FB
“Copie e cole” os programas com function block
para dentro do seu projeto, seguindo o QRG

86
Projeto com Function Block O que é um Function Block?

Todos os I/Os precisam Nome


Entradas ter valores
da Função
da Função

Registradores globais de uso geral (leitura/escrita)


Saídas
Registradores Livre para o usuário: MW00000~29999
*Área da RDA: MW30000~65535
da Função
Conveção:
de Trabalho Eixo #1:MW1000~1999, Eixo #2:MW2000~2999

Referência: planilha da RDA


* Se programando com function block s

As unidades padrão para os Function


OW0000-FFFF

Blocks são em pulsos do encoder


87
Function Blocks
Projeto com Function Block
Disponíveis
Function blocks são na
realidade programas em
ladder feitos na pasta
Function Programs
Eles podem ser abertos
como qualquer outro
programa
Os function blocks
precisam ser importados
para um projeto
Você pode confirmar que
eles foram importados se
eles aparecerem online
no controlador

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

Siga o procedimento de startup dos Function


Blocks no QRG
Function Block Startup Procedure
First complete the MP2000 Startup Procedure
New Function Block Project
Step Instruction Detail
1 Go Offline Online - Disconnection. Flash Save optional.
IN A NEW WINDOW, Open the official Function Block project file,
Open Official Function
2 EC.MCD.06.056 by doubleclicking on it in Windows Explorer. Choose "Not
Block Project File
Connect" if prompted.
R-click the Function folder and Copy. Navigate back to original project file, R-
Copy/Paste Function
3 click Function folder and Paste. Click OK to accept all function blocks. You
Blocks to Project
can also drag the folder from one project file to another.
Write Function blocks to Under the blue Transfer tab, select "Write Into Controller". Check "Program"
4
Controller only and click Start. Takes 1 minute over serial connection.
5 Save to Flash Save to flash happens automatically
Online - Communications Settings. Choose "Serial(Com1)" or "Ethernet" and
6 Go Online
click "Connection". Green animated bar appears on top when connected.
7 Cycle Power Cycle power is needed for initialization drawings (A drawings) to run

90
Projeto com Function Block Recursos

Function Block User Guide (PDF)


Explanação, informação, teoria, procedimentos
Descrição dos Function Blocks (WORD)
É isto que você precisa para programar
RDA (Excel)
Para localização de falhas e entendimento do que
ocorre internamente
• RDA MemoryMapDetails(MP2x00)
• RDA ReadWrite_Usage (MP2x00)

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

DI_00: Habilita o servo através de Function


Block
Function Blocks Utilizados:
RDAINIT1
RDAINIT2
SVON
AXISEND

93
Projeto com Function Block Function Blocks Mínimos

O projeto mais simples de um único eixo


com FB necessita de 4 Function Blocks e 2
drawings

• H (High scan drawing)


– Servo On Cada drawing que utiliza
FB deve iniciar com
– Axis End SVON e terminar com
AXISEND

• 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

Crie o drawing “A”


Crie o drawing “H”
Extenda os registradores locais
para 320

96
Projeto com Function Block Insira os Function Blocks

Os function blocks estão


localizados no menu
Control, ou digitando
“FUNC” na linha do ladder
Uma vez inserida, escolha
a função desejada na lista

97
Projeto com Function Block Quick Quiz

Insira os Function Blocks


Abra o
MP2000_IndividualFunctionDocument_RevC.
PDF
Qual a finalidade do RDAINIT1? Informar dados da aplicação
Qual a finalidade do RDAINIT2? Informar dados do motor
Qual a função do SVON? Habilitar o referido eixo
Qual a função do AXISEND? Indicar o fim dos Function Blocks

98
Projeto com Function Block OnCoil / OffCoil

Muitos dos Function Blocks necessitam de um


Bit como entrada. Digitar 1 ou 0 não
funciona…
OnCoil (SB4) é um bit sempre ON, e deve ser
utilizado quando a lógica “true” é necesária
Utilize o OnCoil para criar o OffCoil (MB4), que
será sempre OFF, quando a lógica false for
neccessária

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

Ajuste o RDAINIT1 de acordo com as


limitações do perfil
Velocidade Máx. do Motor

Velocidade Máx. da Aplicação

Velocidade Nominal do Motor

20 ms

X_MaxSpeed = × ×
4000[rev] 1048576[pulsos] 1[min]
[min] [rev] 60[ seg ]

∆velocidade X_MaxSpeed[pulsos/seg] 1000[ms]


X_MaxAccel = = ×
∆tempo 20 [ms] 1[ seg ]

101
Projeto com Function Block RDAINIT 1&2

Calcule a velocidade máx.


e a máx aceleração no
ladder utilizando a
instrução Expression
X_MaxSpeed = × ×
4000[rev] 1048576[pulsos] 1[min]
[min] [rev] 60[ seg ]

∆velocidade X_MaxSpeed[pulsos/seg] 1000[ms]


X_MaxAccel = = ×
∆tempo 20 [ms] 1[ seg ]

Defina variáveis para a


velocidade e aceleração
máximas
Utilize registradores globais
(M) para que esses valores
possam ser usados em
outros programas
102
Projeto com Function Block Drawing “A”

Crie
variáveis

∆velocidade X_MaxSpeed[pulsos/seg] 1000[ms]


X_MaxSpeed = × ×
4000[rev] 1048576[pulsos] 1[min] X_MaxAccel = = ×
[min] [rev] 60[ seg ] ∆tempo 20 [ms] 1[ seg ]

103
Projeto com Function Block Uso dos Registradores

Function blocks utilizam registradores internamente, divididos em


duas partes
Registradores de Trabalho (usualmente registradores D)
RDA (Reserved Data Area) – registradores M
Convenção: Utilize DW32-99 para registradores locais dos FB
Registradores que precisam ser acessados por outros programas
devem ser do tipo M (global)
Function Block Register Usage
D (Local Registers) M (Global Registers)
0 Standard 0
Conventions (see
General Usage
31 QRG)
User Defined.
according to
32
Use D -registers, standard conventions
Function Block
I/O , M , or (See QRG)
I/O Fixed Mapping.
others
99 Data passed to 29999
100 other F.B. 30000
User Defined automatically
starting address. "behind the
Usually D- Function Block
Function Block scenes"
registers are Reserved Data Area
Work Registers
used starting at (RDA)
(DA100)
319 65535

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

Método: defina esses registradores em


seqüência, após inserir todos os FB

SVON

D (Local Registers) DATA46W DA100


DA100
46W
DA146 4W "wasted" FB
DA150
8W
DATA08W DA150
DA158 2W "wasted"
DA160
23W
FB
DA183 8W "wasted"
DA190 DATA23W DA160

DA319 1W
AXISEND

320 words significa


DATA01W DA319
word 0 ~ 319

106
Projeto com Function Block Quick Quiz

O que vai no campo “DATA □ □ W” de um FB?


Um “DA”, que é um apontador para o MP saber quais words de trabalho
aquele determinado Function Block irá utilizar

O novo programa com Function Block não irá


funcionar até você salvá-lo na flash e religar o
controlador. Por quê?
Porque este procedimento é necessário para rodar os programas de
inicialização (drawings A), onde encontram-se os blocos RDAINIT 1 e 2

107
Projeto com Function Block CHNGDYN: Aplicação 2B

DI_01: Altera a Acel/Desacel e Velocidade


Acel/Desacel = 10.000.000 pulsos/s²
Velocidade = 20 rev/s
Function Block
Utilizado
CHNGDYN

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.

O valor máximo será limitado pelo valor a RDA


(ML3**22). Valor em pulsos/seg^2. O valor
ACCEL Long Valor da aceleração armazenado na RDA. mínimo depende da resolução do encoder e da
velocidade nominal.
O valor máximo será limitado pelo valor a RDA
(ML3**28). Valor em pulsos/seg^2. O valor
DECEL Long Valor da aceleração armazenado na RDA.
mínimo depende da resolução do encoder e da
velocidade nominal.

Pulsos V. nominal [RPM] × Resol. Encoder [ pós_quad]


Acel. Mín. [ ]=
seg
2
seg
60 [ ] ×32,
. 768 [seg]
RPM
20 bits abs
Qual será o valor de
Motor SGM _ _ AV / JV / SV GV
aceleração para o nosso kit?
Velocidade Nominal 3000 1500
Resolução 1048576 1048576
Aceleração Mínima 1600049 800025

109
Projeto com Function Block Solução da Aplicação 2B

Utilize variáveis (registradores


locais D) para acel, desacel, etc
Refira-se ao
MP2xxx_Register_Guide para
escolha de registradores para
variáveis
Envie esses registradores para
a janela Watch para que os
valores possam ser
rapidamente alterados
O bloco CHNGDYN rodou sem
erros?
Problemas comuns
Sobrescrita de registradores
Entrada de valores fora da faixa
Registradores zerados
• Defina valores para a
Acel/Desacel e Velocidade no Crie
variáveis
Watch
Entrada de tipo errado de
registrador (bit, word, long)
110
Projeto com Function Block MOVEINC: Aplicação 2C

DI_02: Move o servo


Distância = 1 volta do motor
Quando o movimento estiver concluído, acione a
saída DO_01
Function Block Utilizado
MOVINC

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

DI_03: Pára o movimento


O motor deve parar o mais breve possível
• Utilize o valor da acel/desacel máxima no RDAINIT1
Function Blocks Utilizado
STOP

113
Projeto com Function Block Solução da Aplicação 2D

O bloco STOP rodou


sem erros?
O motor parou?
Problemas comuns
Sobrescrita de
registradores
Registradores
zerados
Os mesmos bits são
utilizados por outro
bloco de movimento
ao mesmo tempo

114
Detalhes dos
Projeto com Function Block
Function Block

Aumente os registradores locais (D)


Não sobreponha os registradores
Faça uma verificação final quando o programa
estiver finalizado
Utilize blocos RDAINIT1&2 para cada eixo
Salve na flash e religue o controlador para
rodar os blocos RDAINIT1 e RDAINIT2

115
Projeto com Function Block Aplicação 2 H: Drawing

116
Projeto com Function Block Fins--de-
Fins de-curso

SVB: P-OT & N-OT são ligados diretamente


no CN1 do Servopack.
Os parâmetros Pn50A & Pn50B podem configurar,
mascarar e inverter os sinais de fim-de-curso

Servo

Chave de Chave de
fim-de-curso fim-de-curso
reverso avante

Faixa de movimentação da máquina


Limite de Limite de
software reverso software avante

Com o cartão SVA, o P-OT & N-OT


são ligados no próprio SVA

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

Cap.11 do Manual lista


os parâmetros que são
alterados
118
Function Block Project Fins--de-
Fins de-curso

Ajuste o Pn50A e Pn50B no módulo SVB se


os sensores de fim-de-curso forem utilizados
Utilize o botão “Save” para gravar os parâmetros
na flash do ServoPack
Salve na flash e religue o ServoPack para as
alterações terem efeito

119
Dependência dos
Projeto com Function Block
Function Blocks

Alguns blocos de movimento necessitam de


outros FB para operarem corretamente devido
aos parâmetros da RDA
Todos os blocos de movimento dependem do
SVON
O SVON depende do AXISEND
Todos os MOVxxx dependem do CHGDYN
O CAM depende do MODENG

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

O bit execute altera para ON?


O bit error ou done altera para ON?
Se houver algum bit de status na saída, o que
eles indicam?
Verifique problemas comuns
Sobrescrita de registradores
Registradores zerados ou fora da faixa
Os mesmos bits de saída são utilizados por outro
bloco de movimento ao mesmo tempo
Mesmas entradas para executar mais de um bloco
Outro drawing rodando um mesmo bloco ao
mesmo tempo

122
Function Block Project Registradores de Trabalho

Se você souber qual bloco está em erro, utilize os


registradores de trabalho descritos no manual em
“Block Fault Condition”

Neste caso, a aceleração e


desaceleração estão muito
baixas. Bits 2 e 3 do
registrador de trabalho
número zero (da DW150,
no caso) indicam isso

123
Function Block Project Falhas Gerais

Adicione uma nova aba no Watch para


rastreio de falhas dos Function Blocks
Comece olhando a MW3**81
Baseado no resultado, utilize os demais
reistradores nessa página
M ove T ype M otion N o issued at the end
0 = S top 0 = S top
1 = Jog 1 = 「M O V V EL」
2 = M ove R elative 2 = 「M O V IN C 」

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

Transfira o programa modelo para o


controlador
Isto irá sobrescrever qualquer programa no
controlador
Salve na flash e religue o controlador

126
Function Blocks Avançado GEAR/CAM: RDA MS-
MS-Pair

Par Master-Slave MW56000


Mster-Slave #1
MW56050
Até 128 pares master- MW56100
Mster-Slave #2

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

O que faz o MOD_ENG?

O MODENG pega o valor de


entrada que é constantemente
Dado incrementada, e repassa para a
saída uma onda que é RAWDATA
incrementada na mesma taxa, (dado de entrada)
que entretanto é reiniciada a cada
ciclo da máquina

MODDATA
(dado de saída)

MCHNCYCL

Tempo

128
Function Blocks Avançado Aplicação de CAM

O motor segue um perfil de CAM a partir de


uma referência de posição (encoder)
9000
8192
8000
8000

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

Qual o último registrador N° de


utilizado pela tabela de pares x 4
CAM?

130
Function Blocks Avançado CAM

CAM com Function Blocks

O valor do registrador MODENG O MODENG converte


é sempre isso em um uma saída do
incrementado, MS-PAIR 1 tipo dente de serra, que
conforme o encoder MCHNCYCL seue o mestre
mestre
RAWDATA

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

O CAM utiliza a saída dente


de serra para posicionar o
motor baseado na tabela de
CAM, armazenada nos
registradores
C 2 M 1 CAM 9000

8000
8000
8192

Constants Global Multi-purpose


MS-PAIR 1 7000

6000
6500

Slave Position
O
5000
5000

nput (Motion Monitoring) Output (Motion Setting)


TABLE TYPE 4000

3000
2000

D
Local to specific ladder Drawing
3 TABLE DATA
2000

1000

0
0

0
1000

1024 2048 3072 4096 5120 6144


500

7168
0

8192

#
Master Position

131
Function Blocks Avançado CAM: Tabela de CAM

Uma tabela de CAM fica


armazenada no MP e
informa diferentes
posições para o mestre e
o escravo em seus
registradores
Registradores ML, CL ou
DL podem ser utilizados
C 2 M 1
Campo TBLTYPE Constants Global Multi-purpose

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

O servo está habilitado?


O valor do RAWDATA está incrementando/decrementando o
MOD_ENG?
O valor do MODDATA está sendo tratado/modulado?
O MS-PAIR está com o mesmo valor no MOD_ENG e no CAM?
O TBLTYPE e o TBLADDRS estão configurados corretamente?
Você consegue visualizar os valores da tabela de CAM nos
registradores informados?
O CAM está habilitado e engrenado?
O CAM está rodando sem errros?
O MODDATA passa pelo ENGAGPOS?
A escala foi ajustada na ML56xx8 (diretamente ou através do
bloco CAMSCALE?
Os drawings de inicialização (A) rodaram? Salve na flash e
religue o MP
Certifique-se de que não há outros drawings controlando o motor

133
Function Blocks Avançado CAM

Ajustando a escala no ML56xx8 da RDA


Que valor deve ser ajustado para 100%?

1094 C A M shift ML56004 A bsolute C A M S hift am ount [count]


1095 S LA V E offset ML56006 A bsolute O ffset am ount [count]
1096 C A M S cale ML56008 A bsolute A cale am ount [0.01%]
1097 M achine C ycle ML56010 M achine C ycle [count]
1098 D ata C ounter ML56012 R aw m aster data for m aster-slave pair [count]
1099 M odD ata ML56014 M odulated m aster data for m aster/slave pair. [count]

Se a saída STATE mostra que o


eixo está executando o cam, mas ele
não está movimentando, então
provavelmente o CAM Scale
(ML56xx8 para MS-Pair #) está
zerado
134
Function Blocks Avançado Modelo

Agora vamos testar!!!

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

Quando você precisa alterar as configurações


dos módulos?
Comunicação Ethernet
Alterar configuração de I/O do Servopack
Localizar /alterar registradores do LIO; testar I/Os
Depois de alterar os ganhos do servo
Configuração dos eixos virtuais
Ao utilizar módulos de I/O MLINK de outros
fabricantes (como o Phoenix Bus Coupler)
Programar unidades de referência diferentes

138
Localização dos
Ajustes da Aplicação
Registradores do LIO

Module Configuration
Controlador: LIO-01
• Details: LIO
– Abra o slot

Clique com o direito

Você pode monitorar os I/Os aqui sem escrever nada no ladder

139
Ajustes da Aplicação Eixo Virtual

Para que serve um Eixo Virtual?


Sincronizar vários eixos à um único mestre, sem
atrasos entre os eixos físicos

140
Ajustes da Aplicação Eixo Virtual

Eixo Virtual = SVR

Alterar para “Normal Operation”

O SVR se comporta como o SVB, mas com menos


parâmetros de ajuste

Quais são as
diferenças entre
o SVB e o SVR?

141
Ajustes da Aplicação Eixo Virtual

Adicione o eixo virtual às variáveis de sistema


Especifique o Circuit No. e o Axis No.

142
Ajustes da Aplicação Quick Quiz: Eixo Virtual

Quantos eixos virtuais o controlador suporta?


16 eixos virtuais

O que deve ser feito para habilitar o eixo virtual?


Ajustar o fixed parameter para “Normal Operation”

Como ajustar as variáveis do eixo virtual?


Duplo clique em Axis Variables para abrir o Group Definition.
Adicione o circuito/eixo para o eixo virtual que foi habilitado

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

Utilize a opção “Copy Current Value” na configuração


do módulo SVB (Module Configuration) Salve e Salve
na Flash para que os parâmetros fiquem
armazenados.

Visualize que agora os parâmetros do Current Value e


Input Value coincidem.

144
Ajustes da Aplicação Recomendações de Tuning

Métodos de Tuning do Servopack

SigmaWin

145
Ajustes da Aplicação Recomendações de Tuning

Remova todos os comandos


Utilize o Copy Current
Value do Servopack, como o
Copia TODOS os Command.SetValue
parâmetros do Servopack
para o Input Data
Vá até o Module
Configuration -> SVB
Definition -> aba
SERVOPACK, menu Edit
A instrução MLNK-SVW
utiliza os valores desse
campo (Input Data)
Salve e salve na flash

146
Ajustes da Aplicação Recomendações de Tuning

Visualize que agora os parâmetros do Current


Value e Input Value coincidem.

147
Ajustes da Aplicação Tuning

Para vários eixos com tuning idêntico,


podemos copiar e colar o conteúdo das abas
SERVOPACK e Setup Parameters em outro
eixo

Utilize o Axis Data


Copy e Axis Data Paste

Se os servopacks não são idênticos,


então só os Setup Parameters serão
copiados
148
Ajustes da Aplicação Recomendações de Tuning

Function Block 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

Que programas no ladder podem alterar os


Fixed Parameters?
Nenhum! Os fixed parameters somente podem ser alterados no module
configuration
Se os Setup Parameters são alterados no
Module configuration, essa alteração será
permanente?
Save e Save to flash faz com que seja permanente após a
energização (antes de rodar algum drawing que esteja alterando eles)

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

Definição das unidades


de usuário:
A menor unidade de
incremento de movimento,
como 0,001mm; 0;1 graus,
etc
Unidades de usuário são
selecionadas e
configuradas no Module
Configuration
Documentação
Quick Reference Guide

155
Ajustes da Aplicação Unidades de Usuário

Quais parâmetros são necessários para a


seguinte configuração?
Motor: SGMAV-01 [20-bit (1048576)]
Gearbox: redução de 5:1
Fuso de esfera: 10 mm de passo
Resolução desejada de 0,001mm

Refira-se aos Caps 8.1.1 e 7.2.1 do Module


User Manual SVB

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

FP34: Rated Speed [RPM] (Default 3000)

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

Use MCC=10 Use MCC=11


to change to change
FP1.A=1 Acceleration Deceleration FP1.A=1 36 8 9
Update at power up or when FP1.A=0 when FP1.A=0 Update at power up or
Motor G.B. 6
when changed when changed
OL8036: Acceleration [select unit OW8003.4-7] (Default 0) OL8038: Deceleration [select unit OW8003.4-7] (Default 0) For an "Infinite Length" Axis
0: [RU/sec^2] 0: [RU/sec^2] * Rotary Table
1: [ms to Rated Speed (FP34)] 1: [ms to Rated Speed (FP34)] * Conveyor
FP1 bit0: Set axis type to "Infinite
OL8036/OL8038 =0 sets servopack acceleration/deceleration rate to Length"
65535[10,000 RU/sec^2], independent of unit selected in OW8003.4-7 FP10: Set R.U. per rotation.
This will be 360 degrees
(converted to R.U.) for a rotary
table.

157
Ajustes da Aplicação Quick Quiz

Para um sistema de mesa rotativa diretamente


acoplada ao nosso servo do kit, com resolução de 0,01o
Quais ajustes nos Fixed Parameters são necessários?
Quais ajustes nos Setup Parameters são necessários?
Qual sequência de registradores (O) é necessária para
executar esse movimento?
Implemente essa aplicação diretamente pelo module
configuration (ou pela janela Watch) no modo STEP
Certifique-se de que os drawings anteriores estejam
desabilitados
180 graus/seg Veja a seção
8.1.4 até 8.1.8
Distância percorrida = 2 voltas do Basic
(720 graus) Module Manual
20 ms 20 ms

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

A Linguagem de Motion é uma linguagem de programação


textual, focada para a parte de movimento do eixo. Podem
ser criados até 64 programas (entre programas principais e
subrotinas), separados dos programas de Ladder.

Nesse curso, na programação de Motion iremos ver:

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

Veja o Quick Reference


Guide

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.

First line must be 'MPM001' and last line must be 'END;'.


Instructions terminate with semicolon. Comments
3 Write Motion Program enclosed in quotes ("comment"). See Motion Command
List in this QRG. Refer to Motion Programming User
Manual (SIEZ-C887-1.3) for extensive detail

4 Save Motion Program Use save icon. Also save to flash.

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

Insere ; depois da instrução

Aperte “F8” para


compilar o
programa

165
Chamada do Motion
Linguagem de Motion
Program

Veja o Quick Reference Guide


Call From Ladder
Step Instruction Detail

MSEE is located under the "Motion" tab in Ladder Editor.


It can only be used in an H-drawing. Define a starting
1 Use the MSEE instruction address for the four 16-bit work registers in the Data field.
Often DA00000 is used defining DW00000 through
DW00003, but be sure to use M o

All axes in the group must have: 1) Servo On, 2) Motion


Command Code =0 and not continually updated to 0, 3)
2 Rules before starting No other motion program in same group runnin, in alarm,
or paused, 4) SERVOPACK self-writing function disabled -
FixedParameter 1 bit A=1.

Bit 0 of the second word defined in the Data field


(DB000010 in the above example) must go high for the
3 Start the motion program
motion program to start. See Motion Program Work
Registers in this QRG for more information.

Ladder code must not manipulate Motion Command


Code, unless motion language is not using the Motion
4 Rules while running

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

Monitore esses registradores na janela Watch

É 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

Registradores de trabalho do Motion Program


Refira-se ao Quick Reference Guide

ENTRADA (Sinais de Controle do Motion Program)


DW00001
Bit Nome Descrição
DB000010 Start Inicia com a borda de subida (se for POSSÍVEL dar o start)
DB000011 Pausa Pausa o programa enquanto estiver em ON
DB000012 Stop Para o programa, sai do Motion Program e gera um alarme no MPM
2nd Work Register

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

Programa mínimo necessário:

Também podemos
acionar um bit pelo
Watch Page

170
Linguagem de Motion Registradores e Comandos

Podemos utilizar variáves dentro dos programas de


Motion, como no Ladder, além de valores
numéricos. Os registradores são os mesmos tipos
utilizados no Ladder.

Exemplos:

MB000010 = SB000402 & IB000010;


OF00200 = MW00100 + ML02000;
MB000001 = 1;

171
Linguagem de Motion Registradores e Comandos

- Comandos de Movimento do Eixo:


MOV: Posicionamento simples, MOV [X]100 [Y]200;
MVS: Interpolação linear, MVS [X]100 [Y]200 F500;
MCW, MCC: Interpolação circular, MCW [X]100 [Y]200 U0 V0 F50;
ZRN: Referenciamento (Homing), ZRN [X]0 [Y]0;

- Comandos de Controle:
ABS, INC: Modo de coordenadas absolutas ou incrementais
POS: Define valor de posição, POS [X]123 [Y]456;

- Comandos de Velocidade e rampas:


ACC, DCC, SCC: Rampas de Acel., Desac. e Curva S,
ACC [X]100 [Y]200;
VEL: Define velocidade, VEL [X]100 [Y]200;
IAC, IDC: Rampas de Acel. e Desac. para Interpolação, IDC T500;

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

- Número do Programa / Subrotina: MPM_ _ _ / MPS_ _ _


(1 a 256)

- Oculta zeros: [X1] MW00010  [X1] MW10

- Fim de linha / comando (;)

- Comentários entre aspas:

“Home all axes then move to position by linear interpolation”


[axis1] 0 [axis2] 0; “Zero point return for all axes”

- No mínimo 1 espaço deve ser inserido após um label e um comando


de motion

174
Partindo e parando
Linguagem de Motion
Programas de Motion
O programa de Motion é controlado pelo programa H

A instrução MSEE que é responsável pela chamada e pelo


controle do programa de Motion

Source Drawing Sub Drawing Motion Program


Drawing H Drawing H01 MPM001

MSEE MPS001

SEE H01 MSEE MPM001


DA00000
END

Motion Subroutine

DEND MPS001
DEND

RET

175
Partindo Programas
Linguagem de Motion
de Motion

Para rodar um programa de Motion:

1. Os eixos devem estar em ON, e sem alertas ou alarmes


2. Os eixos devem estar no modo “No-Operation” (MCC=0)
3. Nenhum outro Motion Program que opere aquele eixo
pode estar rodando, em alarme ou em pausa

* Uma vez que o programa de motion está rodando,


qualquer eixo que esteja sendo controlado por esse MPM
não poderá estar sendo controlado pelo Ladder ou pelos
Function Blocks.

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

Parar um programa de Motion antes dele ser concluído irá gerar um


alarme naquele programa, e será sinalizado através do bit de alarme do
programa de Motion (bit 8 da primeira word de trabalho).

Para limpar esse alarme:

1. Pare a execução do programa de motion, se o bit de “programa


rodando”
2. Reset o alarme dando um pulso no bit 5 da segunda word de trabalho)

179
Linguagem de Motion Perfil de Movimento

Quando criando uma trajetória com o comando


MOV, você precisa especificar o seguinte:
Posicionamento absoluto ou incremental (ABS, INC)
Distância (MOV)
Velocidade (VEL)
Tempo de aceleração (ACC)
Tempo de desaceleração(DCC)

VEL

ACC DCC

180
Linguagem de Motion Perfil de Movimento

O comando (MOV) move cada eixo (até 14 eixos)


independentemente e simultaneamente da posição
atual para a posição final na velocidade especificada
INC;
VEL [axis1]500 [axis2]500 [axis3]500;
MOV [axis1]4000 [axis2]3000 [axis3]2000;
Eixo 3: 2000

Eixo 1: 4000

Eixo 2: 3000

181
Linguagem de Motion Perfil de Movimento

Se houver conflito entre a velocidade solicitada e a


distância, o movimento iniciará a desaceleração na
metade da distância programada, dando prioridade do
posicionamento correto

Velocidade
V solicitada

VEL
Movimento

182
Linguagem de Motion Comandos: I/O Wait

O comando I/O Variable Wait (IOW) faz com que o programa


aguarde naquele ponto até que a condição seja satisfeita

Sintaxe: IOW A <operador> B; onde A é o teste e B é a condição


de validação
Exemplo: IOW IB000001&IB000002==1;
IOW (MW00100*3)+MW00101>=3355H;

Com um BIT como teste, somente == pode ser utilizado para


comparação
IOW IB00011 == 1;
V MVS [axis1] 3550 F7430;

Transição do
sinal de
entrada
T
IB00011

183
Linguagem de Motion Comandos : Delay

O comando Dwell Time (TIM) pára o programa


naqueleponto por um determinado tempo “T” antes de
executar o próximo comando

Sintaxe: TIM Ta, onde “a” é o tempo em 0,01s

MOV [axis1] 1500;


MOV MOV TIM T250;
MOV [axis1] 4000;

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

PFORK PFORK Lb1, Lb2, Lb3, Lb4;


Lb1: Process 1;
JOINTO Lbl X;
Lb2: Process 2;
Label 1
JOINTO Lbl X;
Label 2 Label 3 Label 4
Process 1 Process 2 Process 3 Process 4 Lb3: Process 3;
JOINTO Lbl X JOINTO Lbl X JOINTO Lbl X JOINTO Lbl X JOINTO Lbl X;
Lb4: Process 4
JOINTO Lbl X;
Lbl X: PJOINT Lbl X: PJOINT;

185
Linguagem de Motion Formatação do Programa

Linha Código Comentário_________________________

00001 MPM001 “sample” “N° do programa e comentário”


00002 FMX T1000000; “Velocidade máxima de interpolação”
00003 IAC T100; “Rampa de aceleração na interpolação”
00004 IDC T100; “Rampa de desaceleração na interpolação”
00005 VEL [X1]1000 [Y1]2000 [Z1]3000; “Velocidade dos posicionamentos simples”
00006 INC; “Coordenada incremental”
00007 MOV [X1]100 [Y1]150 [Z1]200; “Posicionamento simples”
00008 MVS [X1]100 [Y1]50 F500000; “Interpolação linear”
00009 IOW IW0011=1; “Aguarda sinal de I/O”
00010 MW0100 = (MW0110*100+50)/100; “Executa cálculos”
00011 MW0200 = (MW0210*100+50)/100;
00012 ABS; “Coordenada absoluta”
00013 MOV [X1]MW0100 [Y1]MW0200; “Posicionamento simples”

186
Linguagem de Motion Formatação do Programa

Linha Código Comentário_________________________

00014 POS [X1]0 [Y1]0; “Altera as posições atuais”


00015 PFORK LA01 LA02 LA03; “Comando de execução paralela”
00016 LA01: INC; “Label”
00017 MOV [X1]1000;
00018 JOINTO LA04;
00019 LA02: ABS;
00020 MVS [Y1] 1500 F50000;
00021 MW1000 = 12345;
00022 JOINTO LA04;
00023 LA03: IOW IB101 == 1;
00024 JOINTO LA04;
00025 LA04: PJOINT; “Fim da execução paralela”
00026 END; “Fim do programa”

187
Linguagem de Motion Exercício

- Crie um programa para mover o servomotor para a


posição zero. Depois que ele estiver nessa posição,
aguarde 1 segundo e mova 5 voltas na direção
positiva. Quando o motor atingir essa posição,
aguarde o acionamento de uma entrada digital para
retornar ele para a posição zero.

188
Linguagem de Motion Resposta do Exercício

189
Interpolação Linear

Em aplicações do tipo gantry e robóticas, frequentemente


é necessário que o sistema mecânico seja deslocado em
conjunto, e a resultante disso seja uma reta. Este tipo de
movimento necessita calcular a distância e a velocidade
para cada eixo a fim de criar uma resultante de
velocidade “X” e que os eixos partam e parem ao mesmo
tempo. Este tipo de sincronismo é conhecido como
Interpolação Linear.
O comando MVS permite interpolar linearmente até 16
eixos. O movimento é executado a partir da velocidade
resultante desejada e das posições finais a serem
atingidas. O controlador calcula a velocidade individual
de cada eixo para “criar” a velocidade resultante.
190
Linguagem de Motion Interpolação Linear

Quando utilizamos comandos de interpolação, a velocidade máxima de


interpolação (FMX) precisa ser especificada.
A velocidade resultante da interpolação é dada pelo parâmetro F, ou pela
“razão de velocidade de interpolação”, comando IFP.
A resultante da velocidade de todos os eixos é o parâmetro F.

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

O tempo de aceleração/desaceleração da interpolação é dado


pelos comandos IAC e IDC [ms], que variam em função do FMX.
O comando de velocidade máxima é o FMX T [unidades de
usuário/min]
MVS [eixo1] 400 [eixo2] 300 [eixo3] 200 F750;

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

As unidades do comando FMX e do parâmetro F variam de acordo


com as unidades de usuário (unidades da máquina)
Exemplo:
Calcular o valor da FMX dada uma velocidade nominal de 3000
rpm e que 1 rev. = 10,000 mm

1. Ajuste os Fixed Parameters para que 1 rev. reflita 10,000mm no


eixo da máquina:
Fixed Parameter 04: em mm
05: três casas decimais
06: Unidades deslocadas no eixo da
máquina para uma volta do servo =
10000 (10,000 mm)
2. Ajuste o FMX:
FMX T=3000rev/min * 10 mm/rev * 103=30000000
FMX T30000000 mm/min
193
Linguagem de Motion Interpolação Linear
O tempo de aceleração da interpolação (IAC) e de desaceleração da
interpolação (IDC) define as rampas para os comandos de interpolação.

O valor deles é o tempo até a velocidade máxima de interpolação (FMX).

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

A razão da velocidade de interpolação (IFP) define uma porcentagem da


velocidade máxima de interpolação, FMX, como sendo a velocidade de
interpolação.

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

IFP com 50%

T
195
Linguagem de Motion Interpolação Linear

Override da Velocidade de Interpolação:

FMX * IFP
Override da Velocidade Velocidade
de Interpolação Final

O comando FMX e o Override da Interpolação (se utilizado)


precisam ser especificados preferencialmente no início do
programa de motion.

196
Linguagem de Motion Interpolação Linear

O comando In-Position Check (PFN) faz com


que o programa aguarde até que a
interpolação atual seja concluída e o eixo
entre na faixa de in-position (Pn500 do servo),
para executar a próxima instrução
In-Position: PFN

MVS [eixo1]100 [eixo2]100 F3000;


PFN [eixo1] [eixo2]; Sem
MVS [eixo1]100 [eixo2]100 F3000; verificação
de posição
-ou-

MVS [eixo1]100 [eixo2]100 F3000 PFN;


MVS [eixo1]100 [eixo2]100 F3000;

197
Linguagem de Motion Interpolação Linear

Movimentos Emendados (Blended Moves): uma das vantagens da


linguagem de Motion está na facilidade de unir dois movimentos.
Simplesmente omitir o comando PFN faz com que dois movimentos
interpolados sejam emendados sem adição de tempo.
Nota: Para que esse efeito seja obtido, lembre-se de setar valores de
aceleração e desaceleração rápidos.

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

Exemplo de Interpolação Normal

199
Linguagem de Motion Interpolação Linear
Exemplo de Blended Moves

Blended moves podem ser criados através


do comando MVS, simplesmente retirando
os comandos PFN

200
Linguagem de Motion Interpolação Linear

201
Linguagem de Motion Exercício

1. Considere para o cáculo do FMX um valor de velocidade de


3000rpm/min (velocidade nominal do motor), unidades em
graus, acoplamento direto no eixo do servo (1:1), precisão de
centésimos de grau. Define os comandos IAC e IDC para
atingir uma velocidade de 1000 rpm em 1s e para desacelerar
para zero em 1,5s. Configure os Fixed Parameters…

2. Escreva o programa para fazer a interpolação linear de dois


eixos entre as posições absolutas de (0,0) e (360000,720000).
Acione uma saída digital por 0,5s depois que iniciar o
movimento dos eixos e desligue ela depois que o movimento
tiver sido concluído. Depois de 2s, retorne para a posição
absoluta (0,0).

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

Os comandos de interpolação circular (MCW, MCC) deslocam dois


eixos, da posição atual para a posição final, em uma velocidade
resultante específica (parâmetro F), com uma trajetória circular,
determinada pelo ponto central (U e V) ou pelo valor do raio (R).

MCC [axis1] a1 [axis2] a2 U b1 V b2 Tc Fd Ou


MCC [axis1] a1 [axis2] a2 Re Fd

Onde: a1, a2: Posição final (INC ou ABS)


b1, b2: Ponto central (INC ou ABS)
c: Número de voltas extras (pode ser omitido)
d: Velocidade da Interpolação
e: Raio (R>0: arc<180 ou R<0: arc>180, R=0: alarme)

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

PLN [X] [Y]; 1000

MCW [X]0 [Y]0 U1000 V0 F100000;


END; 500

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

Dados anteriores são descartados Novos dados (capacidade de 32k)


Dados na janela do
Scope
Visualização
atual dos
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

Ajuste uma taxa de


amostragem
(sampling rate)
O padrão é a cada
scan Escolha
um nome
Verifique o tempo de para esses
ajustes
High Scan
Salve os ajustes

Um ajuste de “zero” significa que os dados serão


capturados a cada scan (não pula nenhum scan). Para
uma resolução menor, digite a quantidade de scans que
ele irá pular entre as amostras
212
Scope Configurações

Ajute uma taxa de amostragem


Verifique o tempo de High Scan
Ajuste o H para 2.0 ms e o L para 20 ms

213
Scope Configurações

Ajuste o número de amostras


É necessário salvar a configuração primeiro

Escolha 1000 samples. Com o tempo de scan de


2ms e essa quantidade de amostras, qual o O buffer armazenará todos os dados. O campo Monitor
tempo total que o scope irá traçar? data No. ajusta a quantidade de dados que será
visualizada na janela do scope

214
Scope Configurações

Salve os ajustes
Atualiza as configurações do scope
Inicia a captura dos dados no buffer

Utilize CTRL-S como atalho para


salvar

215
Scope Captura dos Dados

Três formas de capturar dados


Botões Start / Stop
Botão Snap
Condição de Trigger

216
Scope Captura dos Dados

Botões Start / Stop


A captura de dados
pára quando o botão
STOP é pressionado
Os dados mais
antigos ainda serão
visualizados se o
botão stop for
pressionado antes
dos 1000 pontos de
Utilize a barra para percorrer o gráfico
amostras serem
capturados Tente fazer isso agora:
1. Confira se os dados estão sendo capturados
2. Inicie um movimento
3. Clique no botão STOP quando o movimento estiver concluído

217
Scope Captura dos Dados

Selecione “data” para as unidades da escala


vertical

Ajuste a escala e o offset

Reduza a escala horizontal para ver mais amostras por vez

218
Scope Captura dos Dados

Botão Snap
Os dados continuam
sendo capturados
Os dados são
visualizados no
momento do SNAP

Tente fazer isso agora:


1. Confirme se os dados estão sendo capturados
(clique em START)
2. Inicie um movimento
3. Clique no botão SNAP quando o movimento
estiver concluído
219
Scope Captura dos Dados

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

Trigger na Posição (Position.InPosition)


(IB800C1)
O bit vai para 1 quando o movimento estiver
cpncluído, e permanece assim até o próximo
movimento
Utilize esse bit para criar um pulso de scan que vai
para 1 quando o movimento estiver concluído, e
então use esse bit como condição de trigger

Não esqueça de
compilar o programa

Não esqueça de salvar


as configurações

221
Scope Medição dos Dados

Meça o tempo de posicionamento

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

Quatro (4) gráficos simultâneos


O gráfico captura os dados mesmo se você não
estiver viualizando eles na tela do scope

16 canais de dados por gráfico


32k de words de 16 bits por gráfico

224
Apêndice B: Upload / Download

225
Upload / Download Upload

Para fazer o upload de algum aplicativo do


MP2000, proceda da seguinte forma:
Estando online com o controlador (através de uma
das 3 formas mostradas no começo deste curso),
clique em no ícone abaixo:

Obs.: Você sabe se está online através da indicação


verde
226
Upload / Download Upload

Na tela que aparece escolha o botão “Batch” e marque


todos os campos abaixo dele, para criar um backup
completo. Se você já tiver criado um projeto, o backup será
salvo sobre esse. Caso contrário, o software solicitará o
nome e um local no micro para salver esse backup.

227
Upload / Download Upload

Após isso, clique no botão Start, e após alguns segundos


você poderá visualizar a tela de Upload concluído!

• Agora apenas clique em OK.

228
Upload / Download Download

Para fazer o download do backup do aplicativo do


MP2000, proceda da seguinte forma:
Estando com o backup do aplicativo aberto e online com o
controlador (através de uma das 3 formas mostradas no
começo deste curso), clique em no ícone abaixo:

Obs.: Você sabe se está online através da indicação verde


229
Upload / Download Download

Na tela que aparece escolha o botão “Batch” e marque


todos os campos abaixo dele, inclusive a opção para salvar
na Flash após o download, para tranferir o projeto completo.

230
Upload / Download Download

Após isso, clique no botão Start. A tela abaixo


pergunta se você
deseja fazer o
download com o
CLP rodando ou
parado (com o
programa parado).
Escolha conforme
necessidade,
embora seja mais
recomendado parar
o CLP

231
Upload / Download Download

Se você optou por parar o CLP, não esqueça de colocá-lo


em modo “Run” novamente!

• Agora apenas clique em Sim / Yes

Pronto, você já descarregou o projeto para o CLP e o


programa está salvo na Flash, podendo seguramente
desligar o controlador e religá-lo posteriormente (se
necessário), sem perder seu programa!
232
Upload / Download Informações Adicionais

Tanto no Download quanto no Upload, você pode selecionar a


opção “Individual” ao invés de “Batch”, e transferir somente os
arquivos / programas desejados. Mas para criar “backups”
recomendamos a opção “Batch”, para copiar TODOS os arquivos
de configuração e programas

233

Você também pode gostar