Escolar Documentos
Profissional Documentos
Cultura Documentos
TRM010-MP2000iecSeries-AppProg | Rev 3.00 | Data: 30/12/2010 | © 2010 Yaskawa Elétrico do Brasil. Todos os direitos reservados.
Visão Geral do Treinamento Módulos eLearning
Espera-se que o aluno já tenha feito os treinamentos:
eLM.MP2300Siec.01.HardwareOverview
eLM.MP2600iec.01.HardwareOverview
Estes Módulos eLearning incluem as seguintes informações:
Recursos
Características
Opções
EtherNet/IP
MECHATROLINK-II
Apêndices
• Done vs InPosition
• Video OPC server eLearning
• MotionWorks IEC Express vs Pro
• Introdução à Programação SFC
3
Visão Geral do Treinamento Esquema de Aula
• Unidade
Divisão
» Objetivos (apresentação do conceito)
– Apresentação do conteúdo
– Utilização dele como referência
» Aprendizagem
– Faça você
– “Mão na massa”
– Descrição da tarefa
– Descrição do procedimento
» Testes (quando disponível)
– Repetição da aprendizagem e objetivos apresentados
– Aplicação do que você sabe para criação de algo novo
4
Driving Value
UNIDADE 1
Startup e Manutenção
Visão Geral
Procedimentos de Manutenção
Análise e Rastreio de Falhas
Procedimentos de Startup
Driving Value Unidade 1
Startup e Manutenção
VISÃO GERAL
Sigma-5 Sigma-5
Rede Mechatrolink-II Nó 1 Nó2
para controle de
Eixos e I/O
I/O do SERVOPACK:
3 saídas (SO1, SO2, SO3)
7 entradas (SI0 ~ SI6)
LIO-01: SI1 = P-OT, SI2 = N-OT
8 saídas (DO0 – DO7)
8 entradas (DI0 – DI7)
16 I/Os disponíveis, mas somente 8
conectados no kit
7
Objetivo
Explanação Ferramentas de Software
Servidor Web
•Confirmar a comunicação Ethernet
•Determinar/Ajustar o endereço IP
•Executar upgrade de firmware
•Localização de defeitos e reset
•Salvar/Descarregar um arquivo de projeto
•Testar o movimento dos eixos
MotionWorks IEC
Ambiente de programação
Configuration Tool
•Salvar a auto-configuração
•Configurar o hardware do controlador
e do servo
•Teste de movimento do(s) eixo(s)
8
Objetivo:
Explanação Ajuste das Dip Switches do MP
9
Driving Value Unidade 1
Startup e Manutenção
Procedimentos de
Manutenção
Aprendizagem Identificar/Configurar um endereço IP
Objetivo Executar um Upload do Projeto
Aprendizagem “Puxar” o projeto de um controlador
Objetivo Substituir o controlador
Procedimentos de Aprendizagem:
Manutenção Estabelecer Comunicação Ethernet
Procure o
endereço IP do
Controlador.
11
Procedimentos de
Manutenção
Web Server
Web Server do MP
Credenciais Case Sensitive
» Login: Admin
» Password depende do controlador
Dados do login:
– MP2300S
Admin – MP2310
MP2300S – MP2600
Ou Níveis de Acesso
Admin Customizáveis
MP2600 » Definido no arquivo www.xml
Ou
» Nota ténica AN.MCD.09.069
Admin detalha o procedimento
MP2310
Alarmes, Histórico de Alarmes,
Referências de Alarme
12
Procedimentos de Objetivo:
Manutenção Indentificar/Configurar um endereço IP
O Endereço IP do The IP do controlador pode ser definido através da página web
Se o endereço IP não for conhecido, conecte usando a chave E-INIT e o IP192.168.1.1
MP2600iec
Dados do login:
Admin
MP2300S
Ou
Admin
MP2600
Ou
Admin
MP2310
13
Procedimentos de
Arquivo de Projeto
Manutenção
• Install Archive
Descarrega todo o projeto no
controlador (no formato .zip)
Gera um “clone” com o novo
controlador
• Create Archive
Tira uma “foto” do controlador
(no formato .zip)
Login como:
» Configuração
Admin
» Programa MP2300S
» Boot Project ou
» Arquivo-fonte
Admin
(editável no software) MP2600
14
Procedimentos de APRENDIZAGEM:
Manutenção Criar um Arquivo de Projeto(Upload)
Create Archive
Clique em “Receive from Controller”
Salve como qualquer arquivo da
internet
O Arquivo contém os dados da
aplicação visualizados em ”File
Listing”
Programa
Configuração
Tabelas de Cames
Parametros do Servopack
O Arquivo não possuem alguns dados
específicos de hardware:
Endereço IP
Offset do encoder Absoluto
Histórico de Alarmes , data, tempo
Valores das variáveis retentivas
Firmware
15
Procedimentos de
Instalação do Arquivo
Manutenção
Instale o arquivo salvo anteriormente
Recupere o programa do outro MP
Troque o controlador danificado Configuraçõesque devem ser ajustados
manualmente
Implemente o novo controlador
Endereço IP
Offsets de Encoder Absoluto
Histórico de Alarme,
Data, hora
User Valor de varíaveis gravadas
Firmware
Abuse
16
Procedimentos de Startup a partir do
Manutenção Project Archive
Topologia da demosntração de substituição de hardware
Simulador de IHM no PC via Modbus/TCP
Todos os controladores da Classe irão rodar com o mesmo arquivo
» Os Endereços IP serão diferentes
» Diferentes Drives e motores
» Cargas montadas no motor com diferentes orientações
17
Prática:
Maintenance Procedures
Startup a partir do Project Archive
Install Archive
Primeiro “Delete All User
Files”
Procure o arquivo no
PenDrive
Archive_TreinaExemplo.zip
A Instalação estará
completa quando os
arquivos aparecerem
» Aproximadamente 30
segundos
Clique em Reboot para
rodar
Veja o
Guia de Reboot
Referencias reenergizará
Rápidas somente o
Item 2.4 controlador
18
Procedimentos de Prática:
Manutenção Startup a partir do Project Archive
Iniciando o Simulador Crimson
Abra o Software“Crimson3.0”
Abra o arquivo, selecione o
arquivo de acordo com o
endereço IP
Utilize o botão
Acesse o modo
Manutenção
19
Procedimentos de Prática:
Manutenção Startup a partir do Project Archive
Comissionando um novo Sistema
Envie os Parâmetros para o
servo
Reset o Encoder Absoluto
Faça um novo
Referenciamento
Escreva todos os
Pn do Servo
Reset Abs
Encoder
20
Procedimentos de Prática:
Manutenção Startup a partir do Project Archive
Faça um novo Referenciamento
Faça o referenciamento nos
Eixos
Movimente até a nova posição
Regule-a como novo ponto
zero
Refaça o referenciamento
21
Procedimentos de
Manutenção
Substituição de Hardware
Controlador
Ajuste o Endereço IP
Descarregue o Arquivo (zip)
Regule o novo offset do ponto zero (para abs
enc)
Drives
Ajuste o Endereço Mechatrolink (exceto para o
MP2600iec)
Envie os Parâmetros
» Estes estão incorporados no programa!
– Veja como é simples implementar no TreinaExemplo
» Para maiores detalhes , veja o documento Veja
PD.MP2000iec.10.105 Guia de Referencias Rápidas
Motores
Reset do Encoder Absoluto*
Envie o Limite de multi-turn (se aplicável)*
* Reset do Encoder
» Incorporado no programa
Absoluto e o envio do
– Veja como é simples implementar no TreinaExemplo
limite Multi-Turn(Número
» Veja o documento: PD.MP2000iec.10.106
de voltas do encoder)
» Veja o vídeo: eLV.MP2000iec.01.Maint-MtrRplce são enviados através do
MotionWorks IEC
22
Procedimentos de Prática:
Manutenção Machine Operations “Test Move”
23
Driving Value Unidade 1
Startup e Manutenção
25
Analise / Rastreio de Prática:
Falhas Começando um Novo Projeto
26
Análises / Localização de Objetivo:
Falhas Tela Principal do MotionWorks IEC
27
Análises / Localização de Objetivo:
Falhas Tela Principal do MotionWorks IEC
Área de Programação
28
Análises / Localização de
Falhas
Endereço IP
Defina o endereço IP do projeto no ambiente de programação do
MotionWorks IEC
Right-Click
Set Project IP
Address to match
controller address
29
Analise / Rastreio de
Falhas
Resource Dialog
Botão Project Control
Abra a caixa de comunicação “Resource”
» O controlador é o seu “Resource”
Estabeleça a conexão com o controlador
» Se estiver “online” aparecerá a tarja verde
» Se o botão Error estiver vermelho, você deve
clicar para visualizar / resolver o erro
Feche a caixa Resource quando não
estiver usando
» Ela consome processamento do software e do
controlador enquanto aberta
» As Tasks não podem ser deletadas ou suas
propriedades alteradas com esta caixa aberta
» Evite Erros “A com chanel is open”
30
Análises / Localização de
Hardware Físico
Falhas
“Resource” é o Controlador
Resource roda “Tasks”
“Tasks” roda “Programs POUs”
“Order of POUs” é a ordem na qual
elas são executadas
31
Análises / Localização de
Falhas
Código Fonte
“Carreguando no PC” o código
Fonte(source)
O código fonte é uma cópia
editável de todo o projeto
» Inclue a Configuração de
hardware e o Ajuste dos ganhos
Não é necessário salvar o
código fonte
O Source fica dentro do
project archive “zipfile.zwt”
» Somente para o MP2300Siec e
MP2310iec
Se o controlador possui o
código fonte, o botão Upload
fica habilitado na janela do
Resource
32
Análises / Localização de
Falhas
Upload do Project Source
Procedimento
Faça o upload do Project
Source no Controlador
O MotionWorks IEC
descompacta o fonte no PC
O projeto será fechado
automaticamente
» Você será questionado para
salvar o projeto
Abra o projeto
Ajuste o endereço IP para
comunicar através do “Project
Control”
33
Analise / Rastreio de
Falhas
Project Source Upload
Finalize o procedimento para extrair o código fonte do projeto
Veja Guia de Referencias Rápidas Item 2.2
Após a extração do projeto, você deverá salvar em uma pasta
no PC
Veja o Guia de Referencias Rápidas para abrir e rodar o
projeto TreinaExemplo
34
Analise / Rastreio de
Monitor Code
Falhas
Monitore o código através do
modo Debug
Clique no botão DEBUG ON
A edição não será permitida
durante a execução deste
modo
35
Analise / Rastreio de
Monitore e Force os I/Os
Falhas
I/O físicas podem ser forçadas
Duplo-clique na variável do código
Duplo-clique na lista de variáveis
globais
36
Análises / Localização de
Monitore e Force o I/O Físico
Falhas
Monitore as Variáveis Globais
37
Sobreescrevendo o Valor
Análises / Localização de Falhas de uma Variável
38
Analise / Rastreio de Prática:
Falhas Watch Window
Cross Reference
B-direito na variável, Build Cross
References
Clique na variável, a janela
Cross References lista outras
ocorrências
Clique na variável da lista para
abrir a página com o código
B-direito na barra lateral, “Filter”
para acessar mais opções
40
Analise / Rastreio de Prática:
Falhas Logic Analyzer
41
Analise / Rastreio de Prática:
Falhas Logic Analyzer
42
Analise / Rastreio de Prática:
Falhas Logic Analyzer
Trigger Configuration
B-Direito no menu Logic Analyzer
B-Direito
43
Analise / Rastreio de Prática:
Falhas Logic Analyzer
44
Aprendizagem:
Análises / Localização de Falhas Logic Analyzer
Arraste as cooredenadas do
eixo para medir dos valores
45
Aprendizagem:
Análises / Localização de Falhas Descarregando o Projeto
• Example
Abra a POU IHM
Debug Mode OFF
Adicione contato paralelo
Make
Download Changes
Para adicionar um contato paralelo:
•Clique no contato existente
•Clique no botão paralelo
•Duplo clique no novo contato e nomeie a variável
46
Objetivo:
Análises / Localização de Falhas Descarregar o Projeto
O Boot Project
pode ser
O Boot Project descarregado
pode ser individualmente
descarregado junto
com o projeto (e o
fonte)
48
Objetivo:
Análises / Localização de Falhas Salva o projeto para futuro upload
Marque todas as
opções
49
Analise / Rastreio de Objetivo:
Falhas Cold Start, Warm Start, Hot Start
50
Analise / Rastreio de Objetivo:
Falhas Cold Start, Warm Start, Hot Start
51
Driving Value UNIT 1
Startup e Manutenção
Procedimento de Startup
Arquivos de Configuração
Novo Projeto
Ressetando para o padrão de fábrica(Factory Default)
Configuração de Hardware
Iniciando a Programação
Procedimentos de Arquivos de
Startup Configuração
• Configuração
Configuração
Arquivos XML definem o
hardware
• Execução
Código da aplicação (LD, ST,
etc)
Execução
53
Procedimentos de Arquivos de
Startup Configuração
54
Procedimentos de Arquivos de
Startup Configuração
Chave CNFG e os arquivos de configuração (veja o que acontece dentro do controlador)
1. Na primeira energização, DEFAULT é utilizado (apenas na condição ‘ressetado para o padrão de fábrica’)
2. A toda energização com a chave CNFG=ON é criado um arquivo DISCO (mas não é usado)
3. Importe o arquivo DISCO para o projeto OFFLINE quando conectar com o controlador
4. Salve o projeto OFFLINE para o STARTUP no MWIEC
5. Na segunda energização, o STARTUP será utilizado
Default Cnfg
CNFG =ON
Disco Cnfg
55
Aprendizagem:
Procedimentos de Startup Começar um Projeto Novo
56
Procedimentos de Prática:
Startup Resete para o Padrão de Fábrica
Após “Restore to
Factory Default”, não
há nenhuma
configuração de
Start-up
57
Procedimentos de Startup Configuração de Hardware– Online
O IP do “Connect” é utilizado
pela parte de Configuração de
Hardware, somente
58
Procedimentos de Use as configurações do
Startup Auto-Discovery
O controlador descobre o hardware local e a Mechatrolink na
energização
Quando CNFG = On
As configurações do Auto Discovery podem ser importadas
para o projeto
Somente quando não há configurações de Startup (depois de
resetar o controlador)
A única vez que você
conseguirá “puxar” a
configuração “Disco” para
seu projeto será após um
RESET do controlador,
porque nesse momento não
haverá arquivos de “Startup”
59
Procedimentos de
Startup
Reset dos Eixos
• Resete os Parâmetros Pn para valores de fábrica
Envie os parâmetros de fábrica para o ServoPack
• Reset o Encoder Absoluto
Limpe Alarmes
Zere a contagem de voltas do encoder Absoluto
Envie o limite Multi-turn (Pn205) para o encoder
60
Procedimentos de
Startup
Online Save
SEMPRE Salve a Configuração
Atenção especial ao item!
Se offline ou online
Make e Download
Reenergize a potência
61
Configuração de Hardware
Procedimentos de Startup
afeta os programas
• A configuração de hardware muda o programa executável
Variáveis Globais
Configurações de IO(drivers)
62
Procedimentos de
Startup
Ajuste as unidades de usuário
• Ajuste as Unidades de Usuário
Use mm como unidade
Sistema Mecânico:
» Fuso de Esferas(Ballscrew)
» Passo 10mm/rev
» Sem Redutor
Machine Cycle é
aplicável somente
quando o parâmetro Feed Constant é o
1007 “Load Type” = quanto a máquina
rotary desloca por revolução
da carga
GB
N-OT P-OT
63
Procedimentos de
Startup
Envie as configurações Offline
• Se você salvou as
alterações quando
OFFLINE
Envie para o
Controlador
» Rapidamente
Connect, Online Save
» Assim os parâmetros do
Servo serão Atualizados
Recupere as
Configurações Atuais
» Recupera as alterações
salvas no controlador
» Descarta as alterações offline
64
Procedimentos de Startup Teste de Movimento
• Teste de Movimento
Verifica as unidades do usuário
Aceleração típica é de
Speed x 100
65
Procedimentos de Startup Ganhos do Servo
Sigma-5
O padrão “Tuning-Less”
normalmente já é suficiente
Ajuste “fino” com o SigmaWin
Plus
» Autotuning Avançado e o “One
Parameter Tuning”
» Análises mais precisas (0,125
ms)
» É necessário desconectar o
Servo da Mechatrolink
Sigma-2 e Sigma-3
Ajuste os ganhos
manualmente através do
MotionWorks IEC ou Web
Server
» Menor precisão na análise (2,0
ms de acordo com a taxa da
Mechatrolink)
66
Procedimentos de Startup Ganhos do Servo
Sincronize os parâmetros com o Controlador
Abra o CT do MotionWorks IEC
Entre Online , “Use Startup Configuration”, e SALVE
Você pode confirmar se os parâmetros foram salvos abrindo o
arquivo de parâmetros daquele eixo
67
Procedimentos de Startup Ganhos do Servo
Recomendações para Tuning
Implemente a função
“Y_WriteParameters” no
programa
» Permite uma substituição
extremamente simples do
servo em campo
» Recomendamos rodar a
função apenas após
solicitação do usuário, não
automaticamente a cada
energização
68
Driving Value
UNIDADE 2
Programação Básica
Padrão IEC61131-3
Padrão PLCopen
MC_Power
Posicionamento Ponto-a-Ponto
Temporizadores e Sequenciamento
Utilizando I/Os
Variáveis
Driving Value Unidade 2
Programação Básica
Padrão IEC61131-3
71
Padrão IEC61131-3 Execução do POU
72
Aprendizagem:
Padrão IEC61131-3 Criar um novo Programa
73
Aprendizagem:
Padrão IEC61131-3
Inserir uma Instância de Programa
• Passos para rodar um programa POU em uma tarefa
Botão direito na tarefa – Inserir uma instância de programa
Escolha o tipo do programa
Digite a instância de forma que case com o tipo de programa
74
Objetivo:
Padrão IEC61131-3 Linguagens de programação
• 5 Linguagens de
programação
IL (Instruction List)
Use ST (Structured Text)
SFC (Sequential
Function Chart)
FBD (Function Block
Diagram)
Use
LD (Ladder Diagram)
Quando você cria um novo POU, seja ele um
programa, uma função ou um Bloco Funcional, você
deverá escolher em qual linguagem você irá
*FBD e LD são “híbridos” de ambas as trabalhar com ele…
linguagens e são equivalentes. Não há conversão entre linguagens.
75
Padrão IEC61131-3 As 5 Linguagens da IEC 61131-3
Transição 1
A B C
AN -| |--|/|----------------( ) Transição 2
A D C
B Passo 3
76
Padrão IEC61131-3 Modelo de Sofware IEC 61131-3
access paths
Task association
Access path association
77
Padrão IEC61131-3 Termos Utilizados no Modelo
• Configuração
São todas as configurações de software pertinentes à topologia adotada para
sua automação
• Recurso
Todo elemento dentro de uma CONFIGURAÇÃO que possua capacidade de
processamento, como Controladores, IHM, Gateways, etc.
• Tarefa
É um elemento de execução para um determinado grupo de programas, que
podem ser executados de forma periódica, cíclica ou condicionados (trigger)
• POU
Unidades de programa que interagem com inúmeras entradas, saídas,
Funções e Blocos Funcionais
• BF
São Blocos Funcionais que interagem com inúmeras entradas e saídas,
Funções e Bloco Funcionais (são PROGRAMAS encapsulados)
78
Padrão IEC61131-3 O Modelo dentro do MotionWorks IEC
Os controladores são os
“Resource” Clique e arraste para
1) Mudar a ordem de execução dos
programas
2) Mover o programa para outra tarefa
3) Remover da lista de tarefas
Multiplas tarefas rtodam
com taxas de atualização
diferentes. Tarefas de
sistema podem ser
ajustadas para rodas uma
vez, assim como no
WarmStart
79
Padrão IEC61131-3 Elementos Comuns
• Elementos de Configuração
: (Tasks)
82
Teste:
Padrão IEC61131-3 Criar um POU e Inserir uma Instrução
83
Padrão IEC61131-3 Respostas
• Um Bloco Funcional trabalha da mesma forma, tanto no
Ladder quanto na linguagem de Texto Estruturado
• A única coisa que muda é a forma como ele aparece no
programa
Entrando no FB vemos o
“encapsulamento” dele. Nós
necessitamos apenas inserir
as variáveis, independente da
linguagem
84
Objetivo:
Padrão IEC61131-3 Conceitos de Linguagens de Alto Nível
85
Aprendizagem:
Padrão IEC61131-3 Criando uma Variável
No Pratica_LD
• Duplo-clique na entrada ou saída
Fique atento ao Tipo de Dado (Data Type)
Dê um nome para a variável, como por exemplo “Start1”
Digite uma literal (constante),como por exemplo LREAL#400.0
86
Aprendizagem:
Padrão IEC61131-3 Criando uma Variável
Na Pratica_ST
• Siga esses passos para criar uma variável
Posicione o cursor no local de inserção de variável
87
Objetivo:
Padrão IEC61131-3 Regras para Variáveis
88
Objetivo:
Padrão IEC61131-3 Regras para Variáveis
89
Objetivo:
Padrão IEC61131-3 Regras para Variáveis
90
Objetivo:
Padrão IEC61131-3 Regras para Variáveis
92
Aprendizagem:
Padrão IEC61131-3 Visualização de Variáveis
93
Objetivo:
Padrão IEC61131-3 Utilização de variáveis
94
Objetivo:
Padrão IEC61131-3 Utilização de variáveis
Name Usage
Name Usage
MC_Power_2 MC_Power_2 G_AccDec VAR_GLOBAL
Axis02.AxisNum Axis
MC_Power
Axis Axis02.AxisNum Axis02.AxisNum
Enable02
Axis
Enable
MC_Power
Axis
Status
Axis02.AxisNum
Status02
V001 VAR
V004 VAR_GLOBAL
Enable02 Enable Status Status02
V002 VAR
Enable_Negative Active Enable_Negative Active
ErrorID ErrorID
Enable02 Enable
Enable_Positive
Enable_Negative
BufferMode
Status
Busy
Active
Error
Status02 Enable02 Enable
Enable_Positive
Enable_Negative
BufferMode
Status
Busy
Active
Error
Status02
V004 VAR_EXTERNAL
ErrorID ErrorID
Enable_Negative
BufferMode
Active
Error
ErrorID
Enable_Negative
BufferMode
Active
Error
ErrorID
Name Usage
001 Input01 Enable01
V001 VAR
Enable02
StartAgain
G_AccDec VAR_EXTERNAL
Input03 Reset V005 VAR_EXTERNAL
StopAll
95
Padrão IEC61131-3 Criando Variáveis Globais e Locais
Boa Prática:
Nomear as variáveis
globais com prefixo G_
96
Padrão IEC61131-3 Regras de Uso
• GLOBAL ou LOCAL?
Padrão usar LOCAL
Considere a lista global
“sagrada”
Conveção sugerida
• Digite G_ na frente de todas
as variáveis globais
G_EnableRight
G_EnableLeft
• Confirme visualmente
quando olhar a lista global
97
Driving Value Unidade 2
Programação Básica
Padrão PLCopen
• O padrão PLCopen
define como um Bloco
Funcional do tipo Motion
Control deve operar
Estados relativos ao
Movimento
Comportamento das
entradas e saídas
Regras gerais
• Esses Blocos
Funcionais aparecem no
Edit Wizard com o
prefixo “MC_”
99
Objetivo:
Padrão PLCopen Diagrama de Movimento
• Motion States(Mc_ReadMotion
State)
Synchronized Motion
Discrete Motion
Continuous Motion
Stopping
ErrorStop
Homing
Standstill
Disabled
• A PLCopen descreve quais
blocos têm prioridade e qual
“estado” é acionado
100
Objetivo:
Padrão PLCopen Regras gerais
101
Objective:
PLCopen Standard General Rules
Output status The Done, InGear, InSync, InVelocity, Error, ErrorID and CommandAborted outputs are reset
Instruções with the falling edge of execute. In must be guaranteed that they are set for at least one cycle if
the corresponding situation occurs, even if execute was reset before.
Done and Error outputs are mutually exclusive (cannot be true at the same time). If an instance of a
Leia as regras gerais FB receives a new execute before it finished (as a series of commands on the same instance), the FB
won’t return any feedback, like ‘Done’ or ‘CommandAborted’, for the previous action.
ou utilize o help do FB Input parameters The parameters are used with the rising edge of the execute input. To modify any parameter it is
necessary to put the correct set of values and to trigger the motion again
Missing input According to IEC 61131-3, if any parameter of a function block input is missing (“open”) then
Responda as parameters the value from the previous invocation of this instance will be used. In the first invocation the
initial value is applied.
Done, InVelocity, InGear, and InSync mean successful completion so these signals are logically
exclusive to Error.
Types of errors:
• Function blocks (e.g. parameters outside range, state machine)
• Communication
• Drive
Instance errors are not always resulting in an axis error (bringing the axis to standstill)
FB Naming In case of multiple libraries within one system (to support multiple drive / motion control systems), the
FB naming may be changed to “ MC_FBname_SupplierID".
Behavior of Done The Done output (as well as InGear, InSync, ..) is set when the commanded action has been
output completed successfully.
With multiple Function Blocks working on the same axis in a sequence, the following applies:
when one movement on an axis is interrupted with another movement on the same axis without
having reached the final goal, Done of the first FB will not be set.
Behavior of CommandAborted is set, when a commanded motion is interrupted by another motion command
CommandAborted or MC_Stop.
output The reset-behavior of CommandAborted is like Done. When CommandAborted occurs, the
other output-signals like InVelocity are reset.
102
Teste:
Padrão PLCopen Regras Gerais
1. Qual a diferença entre os termos “posição” e “distância”?
A posição é definida em coordenadas absolutas e a distância é relativa à posição no início do
deslocamento (posição atual).
2. Qual é o valor padrão para a entrada de um Bloco
Funcional se não houverem conexões?
O último valor ou então o valor inicial (normalmente zero).
104
Padrão PLCopen Bloco Funcional “Instâncias”
A “Instância” é o título acima do bloco funcional
Representa uma área separada da memória de execução
105
Driving Value Unidade 2
Programação Básica
Início de um Projeto
107
Estudo do Programa Preparando o Projeto
• MP2600iec – Adicionando um Eixo Virtual
108
Estudo do Programa Preparando o Projeto
• Configuração (todos os eixos)
109
Objetivo:
Estudo do Programa Sobre o programa
110
Objetivo:
Estudo do Programa Mapa do Programa
Mapa de Programa
Inicializar (ST)
111
Driving Value Unidade 2
Programação Básica
Inicializar (ST)
Habilitar (LD)
113
Conceitos dos Blocos Funcionais Inserir o MC_Power
• Entradas dos BFs
Conecte a variável
G_HabilitaEsquerdo à entrada
Enable
As demais entradas podem ficar
desconectadas
» O valor padrão será usado
114
Teste:
Conceitos dos Blocos Funcionais
Utilizando o Help
• Clique com o botão direito no bloco e selecione a opção HELP
para ver que tipo de dado é solicitado para uma determinada
entrada
Bool
Enable __________
Bool
Enable_Positive __________
Bool
Enable_Negative __________
115
Conceitos dos Blocos Funcionais Tipo de dado Axis_Ref
• Todos os Blocos Funcionais
PLCopen possuem uma
entrada/saída Axis
Entrada obrigatória
• A entrada Axis necessita de
uma variável do tipo
“AXIS_REF”
• O tipo de dado AXIS_REF é
um dado “structure”
• Structures
Um grupo de dados que
seguem um padrão de
organização
Este tipo de dado pode ser
utilizado em um BF através
de uma única variável
116
Conceitos dos Blocos Funcionais Tipo de dado Axis_Ref
• Structure
Todas as informações definidas por uma structure podem
ser transmitidas por uma única variável
AXIS_REF
Exemplo de definição de Element Data Type
MC_Power_1
tipo de dado AXIS_REF Axis Number UINT
MC_Power
Axis Name STRING
MotorEsquerda Axis Axis
Encoder Resolution DINT
Enable Status
Servopack Model STRING
Enable_Positive Busy
Enable_Negative Active
117
Conceitos dos Blocos Funcionais Tipo de dado Axis_Ref
118
Conceitos dos Blocos Funcionais Tipo de dado Axis_Ref
• Escolha o tipo AXIS_REF quando estiver criando variáveis
de entrada de eixos (axis)
Lembre-se de organizar as variáveis globais em “User Variables”
119
Conceitos dos Blocos Funcionais Tipo de dado Axis_Ref
• Os dados do tipo Struct são muito
complexos para serem inicializados pela Inicializar (ST)
lista de variáveis
Isso ocorre porque esses dados possuem
vários elementos para serem inicializados
conjuntamente
Habilitar (LD)
Eles devem ser inicializados dentro do
programa
• Recomendamos inicializar os dados do
tipo estruturado em linguagem de texto
MotorEsquerda.AxisNum:=UINT#1;
MotorEsquerda Este comando carrega o valor “1” dentro do campo Nº do eixo,
Campo Tipo Valor
da variável MotorEsquerda
Nº do eixo UINT 1
120
Conceitos dos Blocos Funcionais Tipo de dado Axis_Ref
• Procedimento para inicialização de dados estruturados
utilizando ST Passo 3
Digite o ponto: uma lista de
O nome do eixo é “LeftMotor” possíveis campos dessa variável
irão aparecer
Passo 1
Digite o nome da variável e
pressione F5
Passo 2
Confirme se o tipo
de dado é o
Axis_Ref e clique
em OK
Passo 4
Complete o comando,
Quando terminar, clique no botão MAKE digitando o tipo de dado
121
Conceitos dos Blocos Funcionais Número do Eixo
• De onde vem esse número de eixo?
NÃO é necessariamente devido ao ajuste da chave da MLINK!
É o Parâmetro # 1031 do eixo (“Logical Axis Number”),
localizado na parte de configuração do sistema
122
Driving Value Unidade 2
Programação Básica
MC_Power
124
Quiz 1
MC_Power Program MC_Power for Axis2
Solução Parcial
125
Driving Value Unidade 2
Programação Básica
Posicionamento
Ponto-a-Ponto
Aprendizagem:
Posicionamento Ponto-a-Ponto POU para posicionamento
Inicializar (ST)
Habilitar (LD)
Posicionamento (LD)
127
Skill
Posicionamento Ponto-a-Ponto Axis1 MC_MoveRelative
128
Objetivo:
Posicionamento Ponto-a-Ponto Sintaxe
129
Aprendizagem:
Posicionamento Ponto-a-Ponto Sequenciamento
• Dicas
Utilize a tecla CTRL para copiar
qualquer elemento, como o
campo Axis
130
Aprendizagem:
Posicionamento Ponto-a-Ponto Sequenciamento
• Passos
Adicione o bloco
MoveAbsolute
» Utilize a posição 0.0
» Utilize a mesma
velocidade, etc; adotadas
anteriormente
Crie uma sequência de
movimentos
Relativo
Absoluto
131
Skill
Posicionamento Ponto-a-Ponto Axis1 MC_MoveAbsolute Sequence
• Solução Parcial
132
Teste:
Posicionamento Ponto-a-Ponto Bit DONE e Sequenciamento
• Instruções
Ajuste a velocidade para 30.0
Rode o MoveRelative
Observe o bit Done
» E se a entrada execute ficar ligada após
posicionamento tiver sido concluído?
» E se ela for desligada durante o
posicionamento?
» Verifique a ajuda dos BF
– Clique com o direito para acessar o Help
Execute Execute
Done Done
<resposta> <resposta>
133
Driving Value Unidade 2
Programação Básica
Temporizadores e
Sequenciamento
Objetivo:
Temporizadores e Sequenciamento Timer TON
Timer TON
Clique com o botão direito em HELP
para definição de parâmetro
O tipo de dado TIME possui um formato
especial e valores iniciais devem ser
expressos como um literal
Exemplo: T#2s, e não simplismente “2”
135
Aprendizagem:
Temporizadores e Sequenciamento Utilizando Temporizadores
• Sequência de Repetição
Temporizadores contam
por quanto tempo a
entrada IN é verdadeira.
Use um contato N.F.
para repetição
136
Teste:
Temporizadores e Sequenciamento Sequenciamento
Incremental
Eixo 1 Absoluto
2s 2s
Incremental
Absoluto
Eixo 2
2s 2s
137
Dicas de Edição– Copy
Temporizadores e Sequenciamento
and Paste
Copy and Paste
Abra o bloco funcional e clique OK para adicionar uma nova
instância à lista de variáveis locais.
Se você não abrir e clicar OK, MAKE irá gerar os erros “… not found!”
138
Quiz
Temporizadores e Sequenciamento MC_MoveRelative e
MC_MoveAbsolute Sequence
• Solução Parcial
139
Temporizadores e Sequenciamento Programa Monitor POU
Habilitacao (LD)
Posicionamento (LD)
Monitor (LD)
140
Temporizadores e SequenciamentoMC_ReadActualVelocity
• Add MC_ReadActualVelocity
141
Quiz
Temporizadores e Sequenciamento Utilizando o Logic Analyzer
142
Driving Value Unidade 2
Programação Básica
Utilizando I/Os
Objetivo Sintaxe dos I/Os
Objetivo Regras para os I/Os
Objetivo Lógica Ladder e edição
Aprendizagem Entradas no Programa
Teste MC_Stop e os I/Os
Aprendizagem:
Utilizando I/Os POU para Lógica de Controle
Posicionamento (LD)
Monitor (LD)
144
Aprendizagem:
Utilizando I/Os Entradas no Programa
145
Teste:
Utilizando I/Os MC_Stop e I/Os
Monitor (LD)
146
Quiz
Utilizando I/Os
Programa “Stop”
• Solução Parcial
Parar
IHM
147
Quiz
Utilizando I/Os Programa “Reset Alarms”
• Ajuste o códico para resetar os alarmes do eixo e os alarmes do
controlador com DI7
Adicione o programa POU “Reset”
Adicione lógica ao IHM
• Solução Parcial
Ajuste Valuedisplay
para ver o código
de Alarme em seu
formato nativo
hexadecimal.
149
Driving Value UNIDADE 2
Programação Básica
Editando Variáveis
Uso de Variáveis
Renomeando Variáveis
Local e Global com mesmo nome
Organização da Lista de Variáveis
Limpeza da Lista Global
Remoção de Instâncias não utilizadas
Objetivo:
Variáveis Utilização de variáveis
Nome Uso
Nome Uso
MC_Power_2
MC_Power
MC_Power_2
MC_Power
V003 VAR_GLOBAL
Axis02.AxisNum
Enable02
Axis
Enable
Enable_Positive
Axis
Status
Busy
Axis02.AxisNum Axis02.AxisNum
Status02 Enable02
Axis
Enable
Enable_Positive
Axis
Status
Busy
Axis02.AxisNum
Status02
V001 VAR
Enable_Negative Active Enable_Negative Active
V004 VAR_GLOBAL
V002 VAR
BufferMode Error BufferMode Error
ErrorID ErrorID
Axis02.AxisNum Axis
MC_Power_2
MC_Power
Axis Axis02.AxisNum Axis02.AxisNum Axis
MC_Power_2
MC_Power
Axis Axis02.AxisNum V003 VAR_EXTERNAL V005 VAR_GLOBAL
Enable02 Enable Status Status02 Enable02 Enable Status Status02
Enable_Negative
BufferMode
Active
Error
ErrorID
Enable_Negative
BufferMode
Active
Error
ErrorID
V004 VAR_EXTERNAL
BufferMode Error
ErrorID
BufferMode Error
ErrorID
Nome Uso
001 Input01 Enable01
Enable02
V001 VAR
Input02 Reset
/
Start
V002 VAR
StartAgain
V003 VAR_EXTERNAL
Input03 Reset
StopAll
V005 VAR_EXTERNAL
151
Variáveis Renomeando Variáveis
Renomeando Variáveis utilizando “Global Replace”
Renomear apenas na Lista de Variáveis Globais quebra a
conexão do POU
EXEMPLO:
» Lista de Variável Local Renomear devido a um erro de
» Utilização em Código digitação ou convenção de nomes
Certifique-se de marcar
o “Whole Word”
152
Variáveis Local e Global de mesmo nome
• E se você criou uma variável Global mas ela deveria ser
Local?
Um aviso aparece, perguntando se você quer utilizar a variável
Global ou criar uma nova do tipo Local
153
Variáveis Organização da Lista de Variáveis
• Variáveis globais no grupo errado?
Exemplo: Cheque o grupo LIO-01
Arraste as variáveis desejadas para o grupo certo
Clique e arraste o
cabeçalho de uma
linha para selecionar
múltiplas linhas.
Clique e arraste o
cabeçalho de uma
linha novamente
para mover o grupo
de variáveis
154
Variáveis Limpeza da Lista Global
• A lista Global tem variáveis que não deveriam ser globais
Apague-as
155
Variáveis Remoção de Variáveis Não Utilizadas
• Você teve muitos avisos de
variáveis não utilizadas (“unused
variable”)?
Menu Build
» “Remove unused variables and FB
instances”
– “Unused” significa não utilizadas em um
POU
156
Driving Value UNIDADE 2
Programação Básica
Tipos de Dados
Enumerados
Definição
MC_Direction e MC_BufferMode
Diretórios de Tipos de Dados
Tipos Enumerados como Literal e Variáveis
MC_Direction em um programa
Tipos de Dados Enumerados Definição
• Temos dois:
MC_Direction
MC_BufferedMode
MC_Direction#
0 positive_direction
1 shortest_way
2 negative_direction
3 current_direction
MC_BufferMode#
0 Aborting
1 Buffered
2 BlendingLow
3 BlendingPrevious
4 BlendingNext
5 BlendingHigh
158
MC_Direction e
Tipos de Dados Enumerados
MC_BufferMode
• MC_Direction • MC_BufferedMode
Posicionamento absoluto de cargas Permite que um
rotativas movimento interrompa
» Quatro “direções” possíveis
outro
Exemplo: Mesa Rotativa
» Posição 0 = Posição 360 Cria “movimentos
emendados”
0|360
Utilizado para aplicações
Como com registro
chegar em
180? Veja o help para maiores
informações
180 MC_BufferMode#
0 Aborting
MC_Direction# 1 Buffered
0 positive_direction 2 BlendingLow
1 shortest_way 3 BlendingPrevious
4 BlendingNext
2 negative_direction
5 BlendingHigh
3 current_direction
159
Tipos de Dados Enumerados Diretório de Tipos de Dados
160
Tipos de Dados Enumerados Literais e Variáveis
Variável
Literal
161
Tipos de Dados Enumerado Ajuda
162
MC_Direction em um
Tipos de Dados Enumerado
programa
• Altere a configuração para Rotativa
Sistema rotativo
Unidade de graus
• Adicione uma entrada para Direção
Conecte uma constante na entrada Direction
• Observe o comportamento
163
Driving Value UNIDADE 2
Programação Básica
Definição
Entradas Duplicadas
Função x Bloco Funcional Definição
165
Função x Bloco Funcional Entradas Duplicadas
• Algumas funções
embutidas
permitem entradas
duplicadas
Função AND pode
fazer o E lógico de
multiplos valores,
não apenas 2.
• Entradas
Booleanas podem
ser invertidas.
166
Driving Value
UNIDADE 3
Programação Avançada
Funções de Usuários
Blocos Funcionais de Usuários
Bibliotecas de Usuário
Bibliotecas de Ferramentas Yaskawa
Referenciamento (Homing)
Engrenagens
Cames
Driving Value UNIDADE 3
Programação Avançada
Funções de Usuários
170
Funções de Usuário Escrever Códigos de Funções
171
Funções de Usuário Funções no Programa POU
No campo “Edit wizard / group”, selecione o nome do projeto
Compile o projeto (MAKE)
Insira o bloco no programa POU
- Use o programa POU “Main”
Insira as variáveis
Ajuste os valores no modo Debug para confirmar a saída
172
Funções de Usuário PowerFlow
• PowerFlow é um recurso de debug que deve ser usado com
POUs e serve para ver quais linhas foram executadas
Perguntado se deseja ligá-lo quando um código de uma função
de usuário está aberto.
Clique em NÂO
para desabilitar esta
função
173
Busca de Falhas –
Funções de Usuário
Ordem de Entrada
• As entradas e suas ordens de exibição são definidas por
uma lista de variáveis locais para a Função POU
Unexpected Input
174
Busca de Falhas –
Funções de Usuário
Tipo de Dado do Retorno
• O tipo de dado do retorno(Saída da Função) pode ser alterado nas
propriedades do POU
O tipo de dado do retorno pode ter sido deixado como BOOL quando
o programador inseriu o POU
175
Teste:
Funções de Usuário Criando uma Função
DICAS:
1. Pode ser feito em uma linha do ST.
2. Use o F5 para declarar variáveis no ST.
3. Consulte a POU Inicialização para saber
sobre a sintaxe.
176
Driving Value UNIDADE 3
Programação Avançada
Blocos Funcionais de
Usuários
178
Bloco Funcional de Usuário Escreva um Bloco Funcional
• Faça um SimpleJog
179
Bloco Funcional de Usuário Funções com EN / ENO
Menu “Extras”, “Options”
• EN/ENO
Suportado pelo Firmware
2.1 ou superior
Código equivalente pode ser
critado sem o EN/ENO,
utilizando Jump e Label.
Botão direito “Connector/Jump”
180
Propriedades dos
Bloco Funcional de Usuário
Blocos Funcionais
• As entradas e
saídas dos Blocos
Funcionais podem
ser ocultadas e
atribuído um valor
oculto.
Clique duplo
para abrir as
propriedades
181
Bloco Funcional de Usuário Utilize o Bloco Funcional
• Insira o Bloco Funcional SimpleJog em algum POU
Jog no LeftMotor
Jog no VirtualMotor
Use o “Machine Operations” para provar
que o eixo virtual está se movendo.
182
Driving Value UNIDADE 3
Programação Avançada
Bibliotecas de Usuário
184
Aprendizagem:
Bibliotecas de Usuário
Crie uma Biblioteca
• Salve o projeto no diretório “Libraries” com um novo nome
• Faça o projeto
• Salve como ZIP
Para referência
Refira ao Guia de Referência Rápido
• FW-Libraries
Como no PLCopenPlus –
o software já vai tê-lo
pronto.
• Bibliotecas de Usuários
Se sua biblioteca utiliza
outras bibliotecas, você
pode compactar todas
elas.
• Código de Frontend
O retorno do “Make” é
compactado.
• Layouts das páginas
Marque “Zip User-Libraries” e “Zip Frontend-Code”
Não é utilizado pela
Yaskawa
186
Aprendizagem:
Bibliotecas de Usuário
Utiliza uma Biblioteca
• Crie um novo projeto
• Adicione uma “user library” do projeto anterior
• Adicione a função do usuário e o bloco funcional para um
POU
Refira ao Guia de Referênica Rápido
A User Library também pode conter todos os POUs daquele projeto, que podem
ser reutilizados em outro projeto. O mais comum e útil é reutilizar o FU e o FB.
187
Bibliotecas de Usuário Deletando Data Types
• As informações dentro da pasta “Data Types” não podem ser repetidas /
declaradas mais de uma vez
• Devemos então deletar o “MotionBlockTypes” desse Novo Projeto
188
Driving Value UNIDADE 3
Programação Avançada
Bibliotecas de Ferramentas
Yaskawa
Conceito da Toolbox
Aprendizagem: Inserir PLCopen_Toolbox
Arquivos de Projeto no Windows
Bibliotecas Dependentes
Destaque – Tipo de Dado AxisStruct
Destaque – Bloco Funcional AxisControl
Destaque –Bloco Funcional ReadAxisParameters
Inicialização da Estrutura
Template customizado
Bibliotecas de Ferramentas
Yaskawa
Conceito da Toolbox
• TN.MCD.08.130
190
Bibliotecas de Ferramentas
Yaskawa
Conceito da Toolbox
191
Bibliotecas de Ferramentas
Yaskawa
Inserir um PLCopen Toolbox
• Abra o Manual de Ajuda do Toolbox pelo PenDrive
• Abra/Descompacte o “PLCopen Toolbox” no Pen Drive
• Insira a Biblioteca no projeto “Treinamento_01”
Sigua o Guia Rápido de Referência
192
Bibliotecas de Ferramentas Arquivos de Projeto no
Yaskawa Windows
193
Bibliotecas de Ferramentas Conceito de Bibliotecas
Yaskawa Dependentes
• Bibliotecas dependentes necessitam de inserção individual
LibraryProject.Mwt Salvar/Zipar
Inserir LibraryProject.Zwt
SupportingUserLib1.Mwt
Inserir
SupportingUserLib2.Mwt
Unzip
Inserir
AuxFirmwareLibrary.Fwl
NewProject.Mwt
LibraryProject.Mwt
Inserir LibraryProject.Mwt
Inserir SupportingUserLib1.Mwt
SupportingUserLib1.Mwt
Inserir
SupportingUserLib2.Mwt SupportingUserLib2.Mwt
Inserir
AuxFirmwareLibrary.Fwl
AuxFirmwareLibrary.Fwl
194
Bibliotecas de Ferramentas Biblioteca de Ferramentas
Yaskawa Dependentes
• Necessário PLCopen_Toolbox
Math_Toolbox
• Necessário Cam_Toolbox
PLCopen_Toolbox
Math_Toolbox
Ymotion (biblioteca de firmware)
NewProject.Mwt
Inserir
Inserir Inserir Inserir
Ymotion.FWL Cam_Toolbox
PLCopen_Toolbox
Math_Toolbox
195
Bibliotecas de Ferramentas
Yaskawa
Tipo de Dado AxisStruct
• Crie uma nova variável com o tipo “AxisStruct”
AxisStruct está definida na Biblioteca PLCopen Toolbox
Adicione o “Watch”
Para ver os elementos
da estrutura.
196
Bibliotecas de Ferramentas
Yaskawa
Bloco Funcional AxisControl
Note o “.Ref”
O tipo de dado
AxisStruct já
contém
elementos para
alarmes e
avisos.
197
Bibliotecas de Ferramentas Bloco Funcional
Yaskawa ReadAxisParameters
• Leitura de Parâmetros do Eixo
Similar às “system variables” dos outros controladores
198
Bibliotecas de Ferramentas
Yaskawa
Inicialização da Estrutura
• A Biblioteca PLCopen Toolbox contém um POU lógico com um texto
genérico para guardar os dados inseridos.
Vá para a aba “Library” e abra o POU “Initialize”
Copie as linhas de inicialização desejada.
Cole na sua própria POU “Initialize”
Procure e substitua o “ReplaceMe” pelo nome de suas variáveis
Entre com os valores iniciais requiridos
Copie da
Biblioteca para
o Projeto
199
Bibliotecas de Ferramentas
Yaskawa
Template Customizado
Qualquer projeto pode ser salvo como um template para um novo projeto.
Boas Práticas:
Compacte uma cópia do
template do projeto.
O próprio template é apenas um
ajuste para o MotionWorks IEC
200
Driving Value UNIDADE 3
Programação Avançada
Referenciamento (Homing)
202
Referenciamento pela
Homing
PLCopen
• PLCopen parte 5: Homing
Detalhes no PDF da PLCopen, parte 5
PLCopen define:
• “Procedimentos” de Homing
• “Passos” do Homing
• Passos do Homing
Não existe um bloco que satisfaça todas as
condições
No lugar disso, a PLCopen define a forma
de construção, ou passos, para o
referenciamento
» Os blocos de referenciamento são
chamados de MC_StepXxxxx
Dois passos de
homing são
suportados pelos
controladores
MP2300iec.
203
Homing Blocos Funcionais Suportados
• O MP2300Siec suporta os seguintes BF relacionados ao
referenciamento
MC_StepLimitSwitch
» PLCopen pg.11-12
MC_StepRefPulse
» PLCopen pg.16-17
MC_FinishHoming
» PLCopen pg.15
MC_SetPosition
204
Diagrama de Estados de
Homing
Homing
• Alguns blocos deixam o controlador em
“homing mode”
MC_StepLimitSwitch
• Outros fazem ele retornar para o modo
“standstill”
MC_FinishHoming
MC_StepRefPulse
205
Homing Programa POU de Home
• Adicione um Programa POU para Home
Inicializar(ST)
Posicionamento(LD) Parar(LD)
206
Homing Ferramenta de Homing do PLCopen
• A biblioteca de ferramentas
PLCopen da Yaskawa oferece
blocos de homing.
O tipo de dado “HomeStruct” é para
Home Data
Use a watch
window para
achar bons
valores para os
dados.
Então inicialize
a estrutura em
um ST POU.
Veja o manual
de Ajuda das
Ferramentas.
207
Teste:
Homing
Homing
• Crie uma rotina de referenciamento (obeserve isso
acontecendo passo-a-passo)
Referencie o eixo com o pulso C,
Gire o motor até que o eixo esteja alinhado
Defina a posição com o eixo alinhado como zero
• Características opcionais
Referencie até um sensor antes de localizar o pulso C
» Utilize o MC_MoveVelocity
Utilize o MC_StepLimitSwitch
208
Homing Solução Sugerida
• Uma possível solução parcial para o teste de Homing:
209
Driving Value UNIDADE 3
Programação Avançada
Engrenagem Eletrônica
Visão Geral
Engrenamento pelo PLCopen
Programa POU de Engrenagem
Exemplo de Programa
GearInPos
Engrenagem Eletrônica Visão Geral
• Engrenamento Eletrônico
O motor se movimenta como a engrenagem de saída – “Escravo”
Engrenagem de entrada é outro encoder – “Mestre”
» Encoder Externo Engrenagem de
Engrenagem de Entrada (Mestre)
» Eixo do Servo
Saída (Escravo)
» Eixo Virtual
Razão da Engrenagem
» Numerador = Unidades do Escravo
» Denominador = Unidades do Mestre
211
Engrenagem Eletrônica PLCopen Gearing
• GearIn
“solta a embreagem” e engrena o escravo no mestre.
Se o mestre já está em movimento, o escravo acelera até a velocidade
necessária e então “encaixa” na posição.
• GearOut
“pressiona a embreagem” e deixa o escravo e o mestre desconestado.
O escravo continuará na velocidade anterior, como se não houvesse
atrito.
212
Programa POU de
Engrenagem Eletrônica
Engrenagem
Inicializar(ST)
Posicionamento(LD) Parar(LD)
213
Engrenagem Eletrônica Exemplo de Programa
Teste o programa
“SimpleJog” o mestre
Engrene enquanto o
mestre estiver
movendo/parado.
Tente razões diferentes
Mova o mestre com a mão
com o servo
habilitado/desabilitado.
Observe a saída do InGear
• Recursos do Programa
Chaveamento no modo
Boolean (TB)
Acesso direto às saídas do
FB (F_Trig_1.Q) 214
Engrenagem Eletrônica Gear In Pos
Posição de Engrenamento do Mestre = 20
Posição Absoluta Posição de Engrenamento do Escravo = 20
Distâcia inicial para o Mestre = 5
20
15
Tempo
215
Driving Value UNIDADE 3
Programação Avançada
Came Eletrônico
Recursos Disponíveis
Visão Geral
Perfil do Came
Software “Cam Tool”
Implementar um Came Eletrônico
Visão Avançada dos Cames
Came Eletrônico Recursos Disponíveis
• Introdução e Help sobre o Came Eletrônico
Clique com o botão direito para obter ajuda sobre o FB
Vá até o tópico “Camming”
217
Came Eletrônico Recursos Disponíveis
• Guia de Referência Rápida para Came Eletrônico
Procure pelo documento número EM.MCD.09.043
Guia você
através de um
projeto novo de
Cames
218
Came Eletrônico Visão Geral
• Came Eletrônico tem origem mecânica
Posição do Motor (escravo) é controlado pelo posicionamento
de um outro encoder (mestre)
O mestre é um eixo giratório com um encoder
» Encoder Externo, Eixo do Servo, Eixo Virtual
» A posição do mestre tipicamente é de um angulo de 0° a 360° Escravos
Eixo
Mestre
Eixos
Escravos Mestre
219
Came Eletrônico Visão Geral
• Conceito principal
Posição do escravo é controlada pela posição do
mestre
A relação da posição Mestre-Escravo é descrita
por uma tabela de came.
0 0 0
Tempo Repete
220
Came Eletrônico Visão Geral - Ilustração
TrnCam01.csv
221
Came Eletrônico Programa POU de Came
Inicializar(ST)
222
Came Eletrônico Perfil do Came
• Desenvolver o perfil do came é uma ciência.
Nós utilizaremos um perfil do came arbitrário
Quais são os pontos críticos?
uma tabela de
posicionamento
mestre/escravo no
formato *.csv .
A ferramenta de
Came faz isto para
nós!
223
Came Eletrônico “Cam Tool” – Ajustar o Estilo
Cam Tool é um software grátis
Rode o “Cam Tool”
“File” – “New”
“Set Style”
» Escolha “No Unit”
– Unidades são ajustadas pelo “Hardware Configuration”, não pelo “CamTool”
» “Max. Phase” é a máxima posição do mestre – um “ciclo do mestre”
» “Max. Position” é a posição máxima do escravo por ciclo.
– Controle o máximo pelo do gráfico
» “Machine/Motor Information” é opcional e não será utilizado.
224
“Cam Tool” – Ajuste de
Came Eletrônico
Parâmetros
• Entre com os pontos críticos
• Forma da Curva
Afeta a velocidade, acelerção e
jerk 72[deg],180 [mm] 180[deg],180 [mm]
• Plotagem Mestre
Valor pequeno = muitos pontos,
alta resolução, movimento
suave
Seções com linhas retas
necessitam de apenas 2 pontos
» Controlador aplica uma
interpolação linear entre pontos 0[deg],0 [mm] 360[deg], 0 [mm]
na tabela CSV final.
225
Came Eletrônico “Cam Tool” – Analizador de Perfil
• “Data Graph” – mostra a tabela de came no formato gráfico
• “Data List” – mostra os pontos da tabela de came
• “Control Graph” – calcula velocidade, aceleração e jerk
226
Came Eletrônico “Cam Tool” – Criando um CSV
• Salve tanto como CDT (projeto) e como CSV (dado de
posição)
Máximo de 8 caracteres
Recomendado salvar na pasta do projeto
227
Enviando a tabela de came
Came Eletrônico
para o controlador
• Utilize o “Hardware Configuration”
• Confirme no “Project Archive” (interface web)
DICA:
Copie o diretório da página web
‘data/cam/TrnCam01.csv’
228
Acesse a Tabela de Came pelo Código:
Came Eletrônico
Y_CamFileSelect
• Y_CamFileSelect
A entrada “File” é do tipo de dado STRING
» Feche com apóstrofos ou crie uma variável STRING com valor inicial
O valor da saída “CamTableID” é determinada pelo
controlador
229
Implementando um Came
Came Eletrônico
Eletrônico
• Faça um Jog no mestre
ou mova-o com a mão
• Observe
Saída InSync
Engrenamento e
Desengrenamento.
230
Visão avançada dos Cames:
Came Eletrônico Opções de Engrenamento
1440
1080
720
360
0
0 0 0 0 0
231
231
Visão avançada dos Cames:
Came Eletrônico “Engage Window”
• Detalhes da “Engage Window”
A janela permite a detecção da Posição de
Engate quando o mestre está em velocidade.
Determinando um valor ótimo
» Máxima velocidade do mestre x taxa do
Mechatrolink x 2
Uma janela muito grande pode causar um
salto do escravo para a posição
correspondente da tabela de posicionamento. Small (normal) window
Janela Pequena (normal)
» A relação Mestre / Escravo não é afetado pelo
tamanho da janela.
Uma janela muito pequena pode causar o
não engate do escravo.
» O controlador pode nunca ver o mestre na
janela. Salto
Jump
O tamanho padrão da janela é de 1% do ciclo
do mestre, o que é um valor apropriado para
a maioria das aplicações. Large (oversized) window
Janela Grande
232
Visão avançada dos Cames:
Came Eletrônico Shift do Came
Shifting
Ajuste do lado do mestre
Útil quando uma marca de registro
detecta produtos no eixo do mestre.
O padrão do escravo fica inalterado.
Master
Shifting é um
deslocamento
controlado do lobe do
came vermelho no
eixo preto.
233
Visão avançada dos Cames:
Came Eletrônico Shift do Came
90 graus de shift
234
Visão avançada dos Cames:
Came Eletrônico Scale do Came
• Scaling
Ajuste do lado do escravo
Multiplicação simples de todos os pontos do lado do escravo
O padrão do escravo pode ser alongado ou reduzido.
Escravo
Mestre
235
Visão avançada dos Cames:
Came Eletrônico Offset do Escravo
• Offset do Escravo
Ajuste do lado do escravo
Adição simples nos pontos do lado do escravo
O padrão do escravo será o mesmo, mas será
reposicionado em uma faixa diferente.
Escravo
Mestre
236
Visão avançada dos Cames:
Came Eletrônico Offset do Escravo
237
Electronic Cam Aprenda Mais
Deseja realmente aprender a aproveitar o poder dos Cames?
Vídeo de eLearning
» eLV.MotionWorksIEC.01.CamDemo
Apresentação
» TP.MCD.09.056 (Apenas acesso de parceiros)
Workshop de Programação Avançada (Treinamento In-House)
» TRM020-MP2000iec-APW1
» Aplicação de faca rotativa
Busca na página web
» Notas de aplicação(número do documento AN.xx.xxx)
» Código Exemplo (número do documento EC.xx.xxx)
Leia toda a ajuda!
Utilize o “CamToolbox” e leia o arquivo de ajuda
Resolva uma aplicação!
238
Driving Value
UNIDADE 4:
Comuniação Ethernet
Visão Geral
Modbus / TCP
Ethernet / IP
OPC
Visão Geral Comunicação Simultânea
3 ferramentas de
software
E/IP
Modbus/TCP
OPC
Mestre & Escravo
240
Visão Geral Comunicação via Rede
• O Mestre inicia a comunicação
• Os dados fluem nos dois sentidos
Master Slave
Device Device
241
Visão Geral Dispositivos de Rede como Hardware
• Quando o controlador é configurado para Modbus/TCP
Global_Variables group aparecerá
IO_Configuration aparecerá
Geralmente o controlador
NÂO possui nenhuma
variável glocal ou
configuração de I/O
242
Visão Geral Memória Global de I/O
• Variáveis relacionadas a dispositivos físicos possuem endereço de
I/O
Entradas Saídas
%IB %QB
Local Slots Local Slots
LIO cards LIO cards
Mlink Mlink
Axes Axes
I/O devices I/O devices
Modbus/TCP Modbus/TCP
Master Master
E/IP Scanner E/IP Scanner
Modbus/TCP Slave Modbus/TCP Slave
E/IP Adapter E/IP Adapter
243
Visão Geral Endereçamento de I/O
• Siga o nível de endereçamento de Byte IEC61131-3
244
Visão Geral Exercício
• Comunicação controlador para controlador
Um é o mestre, o outro o escravo
Memória de Rede
245
Driving Value UNIDADE 4
Comunicação Ethernet
Aplicação em Modbus/TCP
Visão Geral
Configuração do Escravo
Configuração do Mestre
Aplicação em Modbus/TCP Ajuda Online
• Utilize o Online Help, itens 1.9.2 e 1.9.3
Acesso pelo Hardware Configuration
247
Aplicação em Modbus/TCP Instruções
• Interligue dois controladores
Um será o MASTER
O outro será o SLAVE
• Aplicação
O controlador mestre enviará palavras de 16 bits para o
controlador escravo
O controlador mestre receberá palavras de 16 bits do
controlador escravo
• Detalhes nos slides seguintes
Configure o Escravo e crie variáveis
Configure o Mestre e crie variáveis
248
Aplicação em Modbus/TCP Comunicação de Dados
Mestre Escravo
• Comunicação de
dados via
Modbus/TCP
249
Aplicação em Modbus/TCP Visão geral
• Variáveis são transmitidas de um controlador para outro
250
Aplicação em Modbus/TCP Configuração do Escravo
• Habilite o Controlador como Escravo Modbus
Cheque a caixa!
Escolha as tarefas de I/O (Slow provavelmete já será suficente!)
Outras opções podem ser necessárias
Escravo
251
Aplicação em Modbus/TCP Atualização do Sistema
• Save Slave
252
Confirmação do Hardware
Aplicação em Modbus/TCP
Escravo
• Grupos de Variáveis Globais adcionados
Grupo para cada códico de função suportado pelo Modbus
Address Range é listado
• Adicionados Dispositivos de I/O
Address Range confirmado
Não há a necessidade de mudanças, apenas observe
253
Criação de Variáveis do
Aplicação em Modbus/TCP
Escravo
• Crie Variáveis no Controlador Escravo
Utilize o intervalo de endereços indicado no
cabeçalho do grupo
Palavra de 16-bit
representam 2
bytes
OUT_To_Master01
Byte %QB28676
Byte %QB28677
IN_From_Master01
254
Aplicação em Modbus/TCP Adicionando Escravos
• Adicionamos o controlador Escravo no controlador Mestre
Entre online na Configuração
Sob “Modbus/TCP” clique em “Add Slave Device”
Mestre
255
Aplicação em Modbus/TCP Adicionando Escravos
• Propriedades do Escravo
“IP address” do escravo
Nome do “Status Variable” Este endereço IP é apenas um exemplo.
O Mestre usa o endereço IP do dispositivoo
Intervalo de tarefa e intervalo de rede escravo.
Mestre Escravo
192.168.15.22 192.168.15.21
256
Adicionando um
Aplicação em Modbus/TCP
Bloco de Dados
• Adicione um Bloco de Dados
Adicione blocos para as palavras de ENTRADA e SAÍDA
Mestre
257
Aplicação em Modbus/TCP Bloco de Entrada
• Detalhes do Bloco de Entradas
Mestre Escravo
258
Aplicação em Modbus/TCP Intervalos de Endereço Local
Mestre
Esta é o primeiro bloco de dados de
entrada do escravo, então faz mais
sentido começar pelo endereço mais
baixo. Outro bloco de dados de
entrada poderia ser adicionado e
poderia começar no próximo
endereço livre 43026.
259
Aplicação em Modbus/TCP Bloco de Saída
As saídas do Modbus são guardadas na
• Detalhes do Bloco de Saídas área de memória %Q do controlador,
então os valores de endereço podem ser
os mesmos que das entradas na área %I
Master Slave
260
Aplicação em Modbus/TCP Atualização do Sistema
• Save Master
Atualiza a configuração de projeto
Cria variáveis globais & grupos
Cria dispositivos de I/O
• Envia a configuração para o
controlador
Sincroniza o controlador com o projeto
• Reenergize o Controlador
Reinicie ou energize novamente para
utilizar a nova configuração
• Make, Download, Warm start
Novas variáveis e hardware requerem
um Novo Start
261
Aplicação em Modbus/TCP Confirme o Hardware Mestre
262
Aplicação em Modbus/TCP Variável de Status
• Verifique a variável de status Indica que a visualização está em
hexadecimal
Online Help: 1.9.3
Valor Esperado: 16#1000 (conectado) ou 16#1400 (durante
processamento)
263
Aplicação em Modbus/TCP Variáveis do Mestre
Mestre
• Crie variáveis do Mestre
Crie variáveis nos grupos
(utilize o “Create Variable Set”)
Utilize a faixa de endereço
Palavras de 16 bits
indicada no cabeçalho do
utilizam 2 Bytes grupo
PRESTE MUITA
ATENÇÃO NOS
ENDEREÇOS!
SEMPRE utilize
O endereço Criamos apenas 3 variáveis de um total de 8 MAÍUSCULAS para os
disponíveis endereços
depende da
configuração
264
Aplicação em Modbus/TCP Rode o Programa
• Dê um MAKE/Download, rode os programas tanto no
Mestre quanto no Escravo, e monitore a comunicação
Mestre
Escravo
265
Driving Value UNIDADE 4
Comunicação Ethernet
Aplicação em Ethernet/IP
Instâncias E/IP
Comparação com Modbus/TCP
Configuração do Mestre
Configuração do Assembly
Aplicação em Ethernet/IP Ajuda Online
• Utilize o Online Help, itens 1.9.4 e 1.9.5
267
Aplicação em Ethernet/IP Instâncias Ethernet/IP
• Ethernet / IP utiliza “instâncias” para comunicar dados, ao
invés dos Function Codes
Como se fosse um canal específico para comunicar
Instâncias diferentes para ENTRADAS E SAÍDAS
Cada instância no MP2000iec contém 128 ou 256 bytes
• Terminologia
Scanner (Mestre)
Adapter (Escravo)
• A criação de variáveis e a variável de status é semelhante ao
Modbus/TCP
268
Aplicação em Ethernet/IP Comparação com Modbus/TCP
Scanner Adapter
269
Aplicação em Ethernet/IP Configuração do Mestre
• Tipo de Conexão= Multicast para MP2000iec
270
Aplicação em Ethernet/IP Configuração do Assembly
• Configuration de Instâncias do Assembly
Refira à documentação do adapter(Slave)
Não necessário para comunicação MP2000iec para MP2000iec
271
Driving Value
UNIT 5
Execução de Tarefas
Ordem de execução
Desabilitando um POU
Monitorando a Task
Scan da Aplicação
Scan da Mechatrolink
Execução das Tarefas Ordem de Execução
• A ordem de execução padrão não é necessariamente a mais
indicada para sua aplicação
• A ordem da VISUALIZAÇÃO dos programas na aba Project
não é a mesma da ordem de EXECUÇÃO na aba Hardware
274
Execução das Tarefas Desabilitando um POU
275
Execução das Tarefas Tempos de Varredura
• Intervalo de tarefas
Default: 8, 20, 100ms
Execução do programa
É o scan da Aplicação
Deve múltiplo inteiro do scan
da Mechatrolink
• Ciclo de Comunicação da
Mechatrolink-II
Default: 2 ms
Executa os Movimentos e trata
os I/Os da MLINK
“MLINK Scan”
276
Execução das Tarefas Ordem de Execução
2 ms MLINK SCAN 10 ms APPLICATION TASK SCAN
3 5
OUTPUTS WRITTEN
INPUTS READ
2 4
1
0 2 4 6 8 10
277
Execução das Tarefas Ordem de Execução
BFs inseridos nas partes mais inferiores da página de
programa (com “execution order” maior) normalmente geram o
movimento no eixo em uma tempo maior do que comparados
aos blocos mais “no começo” do programa (com um “execution
order” menor). Isso significa que os dois blocos
MC_MoveAbsolute no exemplo anterior não irão iniciar o
movimento dos seus respectivos eixos exatamente no mesmo
instante, mesmo sendo acionados pela mesma variável (V006).
278
Execução das Tarefas Scan da Máquina
279
Execução das Tarefas Monitorando a Task
• Monitore a PLC_TASK_INFO no Watch
280
Execução das Tarefas Watchdog
• Certifique-se de que o valor do Watchdog Time = Intervalo
281
Execução das Tarefas Scan da Mechatrolink
282
Driving Value
Multi-Tarefas
Conceitos de Multi-Tarefas
Tarefa Nova
Tipos de Tarefas
Tarefas de Sistema
Instâncias de Programas
Prioridade das Tarefas
Tarefas de I/O
Multi-Tarefas Conceitos de Multi-Tarefas
• Até 16 tarefas
• Intervalo de tarefas (tempo de scan) independente para cada
tarefa
• Prioridade da tarefa
• Endereçamento manual dos POUs para uma determinada
Task
• Endereçamento manual dos I/Os (hardware) para uma
determinada Task
284
Multi-Tarefas Inserindo uma Tarefa Nova
• Clique com o botão direito na pasta Tasks (aba Hardware)
• Insert Task
285
Multi-Tarefas Tipos de Tarefas
• Default
Este é o tipo de tarefa com menor
prioridade (número mais alto) e roda
sempre que “sora tempo” em outras
tarefas.
• Cyclic
Esse tipo de tarefa é repetida a cada
intrvalo pré-determinado.
Ideal para tarefas que executam
movimento no servo, com tempos de
varredura tão rápidos como a própria
rede Mechatrolink.
Tarefas que movimentam o servo
normalmente são definidas com tempos
menores de varredura do que aquelas
que não fazem movimento no servo,
como no caso das lógicas de
intertravamento, etc. Mas isso depende
da aplicação.
• Event
Roda baseado em condições de
interrupção, causada por I/Os.
• System
Roda essa tarefa apenas uma vez,
quando o sistema atinge um determinado
estado, como um “warm start”, etc. Boa
para rotinas de inicializações e
verificações de condições de falha.
286
Multi-Tarefas Tarefas de Sistema
• Utililze as Tarefas de Sistema para executar um ou mais
programas conforme o sistema atinge um determinado ponto
Warm Start
Cold Start
Erros
287
Multi-Tarefas Instâncias de Programas
• Manualmente insira uma instância de programa à uma Task
Acusa erro se não houver nenhum programa naquela Task
288
Multi-Tarefas Tarefas Cíclicas
• Crie tarefas rápidas e lentas, do tipo cíclicas
Otimiza a execução do programa
Programas de controle de movimento em tarefas rápidas
Programas que fazem interface de usuário em tarefas mais
lentas
289
Multi-Tarefas Intervalo de Tarefas
• O intervalo de execução pode ser ajustado tão rápido quanrto
da própria Mechatrolink
• Ajuste o Watchdog para coincidir com o Intervalo
290
Multi-Tarefas Prioridade das Tarefas
• As tarefas são executadas sequencialmente por ordem de
prioridade (0 = primeira, 31 = última)
Tarefas críticas com intervalo de execução pequeno precisam
ser definidas com um nível de prioridade alto (número menor,
maior preferencia de execução)
291
Endereçamento
Multi-Tarefas
das Tarefas de I/O
• Os I/Os de Hardware
precisam estar
sincronizados com alguma
tarefa
• A “IO task” (criada
automaticamente pelo
template) já foi criada
pensando nisso
• Ethernet IP pode ser
sincronizada com uma task
de 2ms (em sincronismo
com a MLINK)
292
Driving Value
Apêndice
Done vs InPosition
OPC server eLearning Video
MotionWorks IEC Express vs Pro
Introdução à Programação SFC
Driving Value
DONE VS INPOSITION
Done vs InPosition
Done vs. InPosition A Diferençã é a Realimentação
• Done não é o mesmo que InPosition
Done = o controlador acabou de traçar o perfil de movimento
In Position = o motor alcançou a posição final
Mais informações no FU/FB Help “Motion Details”
Velocity
Done
In Position
295
Done vs. InPosition Lógica Ladder
• Use a Lógica Ladder “seal-in circuit” para gerar In Position
Servo Axis “PSET” global variable (Position Settled)
Trabalha em conjunto com Pn522 [pulsos de encoder]
296
Done vs. InPosition Exemplo
• Exemplo de programa POU “Positioning” com
implementação do In Position usando PSET
297
Driving Value
MotionWorks IEC
OPC Server
299
Driving Value
302
Visão geral
Diagrama
Server Client
3rd Party
OPC
Server
Controlador
3rd Party
303
Visão geral
O que você precisa?
• Software: MWIEC OPC Server
Part Number: PDE-U-OPCPA
• Client Software
OEMs escrevem software padrão
Software configurável
• OPCWareXL usado nesta apresentação
304
Driving Value
Demonstração
Demonstração Visão Geral
• Monitora e controla simultaneamente
Dois controladores MP2300Siec
Dois motores para cada controlador
• Client OPC “OPCWareXL” Plug-In para Excel
306
Demonstração Opção de Configuração Simples
307
Demonstração Configuração
192.168.15.41 192.168.15.40 192.168.15.42
192.168.15.83 192.168.15.85
308
Demonstração Controladores
192.168.15.41 192.168.15.40 192.168.15.42
192.168.15.83 192.168.15.85
309
Demonstração OPC Server
192.168.15.41 192.168.15.40 192.168.15.42
192.168.15.83 192.168.15.85
310
Demonstração OPC Client
192.168.15.41 192.168.15.40 192.168.15.42
192.168.15.83 192.168.15.85
311
Driving Value
Motionworks IEC
Express vs Pro
313
Informações Gerais Compatibilidade
• As duas versões podem ser instaladas em um mesmo PC
A lincença deles é tratada individualmente
• Projetos do Express podem ser abertos no Pro
Os projetos do Express são automaticamente convertidos em
projetos do Pro
» Salve o projeto com outro nome ou compacte-o antes de abrir no Pro
O contrário não funciona…
• As lógicas dentro dos programas podem ser “copiadas /
coladas”
Podemos abrir vários projetos no Express e no Pro
simultaneamente
Somente o primeiro projeto poderá ser editado, os demais ficam
restritos para visualização
Fica fácil copiar todo o programa
• Mesmo firmware no controlador
Não existe nenhum firmware especial para a versão Pro
314
Informações Gerais Árvore do Projeto
• Mais opções de
configuração
MENU: Extras - Options
Graphical Editor
» Largura dos Contatos
» Atraso para detecção de
colisão
» Todas as funções com
ou sem EN/ENO
Backup e Auto-Save
316
Informações Gerais Comparação de Projeto
• Mostra exatamente de uma revisão anterior de um projeto
para uma nova versão, por exemplo
317
Informações Gerais Visual Melhorado
• Botões menores para deixar a área de programação livre
• Novos botões como o “Download Changes” para agilizar o
desenvolvimento do programa
318
Driving Value
Programação em Fluxograma
(SFC)
O que é o SFC
Quando utilizar o SFC
Exemplo de Programa
Programação em Fluxograma (SFC) O que é SFC
• Uma programação de
forma gráfica, refletindo a
sequência da aplicação,
que pode ser claramente
interpretada
• Uma ferramenta de
análise do tipo “top-down”
• Mostra os principais
“estados” de um programa
Exemplo de Semáforo
320
Programação em Fluxograma (SFC) Quando Utilizar SFC
• Quando existe um sequência pré-determinada para o
funcionamento de uma determinada máquina
• Quando é vantajoso pensar /visualizar o funcionamento da
máquina como em um fluxograma
• Quando alguém que não está muito familiarizado precisa
trabalhar com seu programa. Olhar o programa em SFC dá
uma boa idéia de como um determinada máquina funciona.
321
Programação em Fluxograma (SFC) SFC no MotionWorks IEC
322
Programação em Fluxograma (SFC) Status do Projeto
• Inicialização do Eixo na Task de Startup
• Came, Engrenamento, Posicionamento em uma “Fast Task”
• Todo o resto em uma “Medium Task”
O nome da Task pode ser alterado
323
Programação em Fluxograma (SFC) A Aplicação
O desafio:
• Dê uma olhada no programa
Start N Clear_Outputs
em SFC ao lado. Você 001 MO1_DI_03
002 MoveDone
324
Programação em Fluxograma (SFC) Carta de Tempo
• Movimento Avante / Reverso
• O movimento é iniciado pela Input 3
• Saída de confirmação
325
Programação em Fluxograma (SFC) Criando o Programa
• Inserindo o POU
• Adicione esse programa a
uma “Fast Task”
326
Programação em Fluxograma (SFC) O Programa em SFC
S = Etapa (Step)
A = Ação
T = Transição
327
Programação em Fluxograma (SFC) Editando os Nomes
T003 T003
T004 T004
T005 T005
328
Programação em Fluxograma (SFC) Primeiro Passo
• Primeiro Passo Init N Clear_Outputs
paso inicial
T003
Só pode haver 1 passo inicial
Out N Set_Output
T004
Rev N Clear_Output
T005
Init
329
Programação em Fluxograma (SFC) Jump
• Jump Init N Clear_Outputs
T003
Out N Set_Output
T004
Rev N Clear_Output
T005
Init
330
Programação em Fluxograma (SFC) Ação: Zerar as Saídas
O1_DI_03
MoveDone
Out N MO1_DO_03
MOVE
WORD#0 MO1_DO_Bank
Start_Rev
331
Programação em Fluxograma (SFC) Transição Direta
• Altere as propriedades do T001 para “direct”
• Adicione um programa em Ladder para essa “transição
direta”
Start N Clear_Outputs
001 MO1_DI_03
002 MoveDone
Out N MO1_DO_03
332
Programação em Fluxograma (SFC) Ação: Mover para Frente
Init N Clear_Outputs
001 MO1_DI_03
Fwd N Move_Forward
MC_MoveRelative_1
T003 MC_MoveRelative
LeftMotor Axis Axis LeftMotor
T005 333
Programação em Fluxograma (SFC) Utilizando o Bit “Step.X”
Init N Clear_Outputs
001 MO1_DI_03
Fwd N Move_Forward
MC_MoveRelative_1
T003
MC_MoveRelative
LeftMotor Axis Axis LeftMotor
001 Fwd.X
Execute Done MoveDone
Out N Set_Output
Distance Distance Busy
Rev NBufferMode
Clear_Output
T005 334
Programação em Fluxograma (SFC) Movimento Concluído
Init N Clear_Outputs
001 MO1_DI_03
Fwd N Move_Forward
002 MoveDone
MC_MoveRelative_1
Out N Set_Output
MC_MoveRelative
LeftMotor Axis Axis LeftMotor
001 Fwd.X
Execute Done MoveDone
T004
Distance Distance Busy
BufferMode
Init 335
001 MO1_DI_03
Programação em Fluxograma (SFC) Ação por Variável
Fwd N Move_Forward
002 MoveDone
Out N MO1_DO_03
T004
Rev N Clear_Output
336
Programação em Fluxograma (SFC)
Fwd N Move_Forward
Ação por Detalhe
002 MoveDone
Out N MO1_DO_03
Clique com o direito do mouse em Properties
para alterar o nome
Input3
Rev N Clear_Output
T004
Init
337
001 MO1_DI_03
002 MoveDone
Out N MO1_DO_03
Input3
Rev N Clear_Output
T004
Init
O bit que controla se a transição é VERDADEIRA
ou FALSA precisa ter o mesmo nome daquele
dado à transição
338
002 MoveDone
Programação em Fluxograma (SFC) Comportamento da Ação
Out N MO1_DO_03
Input3
Rev D Move_Reverse
T#750ms
T004
Init
339
Programação em Fluxograma (SFC) Comportamento da Ação
340
002
Programação em Fluxograma (SFC)
MoveDone
Ação: Mover para Trás
Out N MO1_DO_03
Input3
Rev D Move_Reverse
T#750ms
T004
MC_MoveRelative_2
Init MC_MoveRelative
LeftMotor Axis Axis LeftMotor
BufferMode
341
002 MoveDone
Programação em Fluxograma (SFC) Movimento Concluído
Out N MO1_DO_03
Input3
Rev D Move_Reverse
T#750ms
Done
Init
342
Programação em Fluxograma (SFC) Bifurcação
Init N Clear_Outputs
001 MO1_DI_03
002 MoveDone
Out N MO1_DO_03
Input3
Rev D Move_Reverse
T#750ms
Done
Init
343
Programação em Fluxograma (SFC) Ação Paralela: Piscar
INIT N Clear_AllOutputs
001 MO1_DI_03
002 MoveDone
Out N MO1_DO_03
DINT_TO_DWORD
PLC_SYS_TICK_CNT FlickerDWORD
Start_Rev
REV N Clear_Output
D Move_Reverse
001 T#750ms
FlickerDWORD.X6 MO1_DO_04
Rev_Done
INIT
344
Programação em Fluxograma (SFC) Rodando o Programa
• Modo Debug
Fácil acompanhamento do programa
345
Entre em Contato com a Yaskawa
(11) 3585-1100
www.yaskawa.com.br
treinamento@yaskawa.com.br
346