DM03 FactoryTalkTransactionManagerLabAdvanced
DM03 FactoryTalkTransactionManagerLabAdvanced
BRASIL 2008
Convergência:
Automação e Informação Juntas, Gerando Resultados
A NATUREZA AGRADECE
DM03 - Integrando Sistemas de Automação
com Bancos de Dados Relacionais Usando
FactoryTalk Transaction Manager - Avançado
Índice
Antes de começar........................................................................................................................................4
Sobre este laboratório ...................................................................................................................................5
Uso da transação bidirecioinal do FactoryTalk Transaction Manager para lógica no Logix ............36
Este laboratório usa uma linha de transportador simples que ilustra algumas funções do
FactoryTalk Transaction Manager, temos um programa RSEmulate 5000 executando e uma
aplicação FactoryTalk View SE que ajuda você a visualizar um pouco do que está acontecendo
no controlador.
Observe que a maioria das etapas tem o texto na parte superior e a imagem logo abaixo.
Geralmente, a imagem mostra como executar a ação descrita no texto.
Ferramentas e pré-requisitos
Dispositivos de hardware necessários
PC com VMWare v5.5
Programas de software necessários
O VMware Image “FT Transaction Manager” consiste em:
Windows XP Pro SP2
SQL Server 2005
FactoryTalk Transaction Manager v9.0 (CPR9)
FactoryTalk View Site Edition v5.0 (CPR9)
RSLinx Enterprise v5.00 (CPR9)
RSLinx Classic v2.51 (CPR9)
RSLogix 5000 v15.0
RSLogix Emulate 5000 v15.0
Arquivos necessários
Projeto FactoryTalk View Site Edition (tela simples e poucos tags)
Scripts do banco de dados SQL (as tabelas já foram criadas para este laboratório)
Lógica ladder
1. Inicie o SQL Server Management Studio. No menu Start, selecione Programs >
Microsoft SQL Server 2005> SQL Server Management Studio.
2. Você deve fazer o login no SQL Server, mas isso foi pré-configurado para você com o
Windows Authentication, apenas clique em Connect.
Examinando a tabela abaixo, você pode perceber que temos conveyor_id para identificar
o ativo e outras informações sobre como o transportador está funcionando.
Nossa primeira tarefa é criar a própria configuração do FactoryTalk Transaction Manager. (Na
verdade, pré-carregamos a lógica ladder no RSEmulate 5000, de outra forma você deve
considerar esta a primeira etapa). Como este laboratório avançado considera a experiência
prévia com o FactoryTalk Transaction Manager, são fornecidas somente as informações básicas
para criar a configuração. OBS.: Se você não conseguir criar a configuração usando somente
as informações fornecidas abaixo, deve fazer o laboratório básico.
Abertura do RSLogix Emulate 5000 Chassis Monitor clicando duas vezes no atalho na
área de trabalho.
Agora que você concluiu as etapas 1 e 2 do Checklist, adicionar dados é a próxima etapa.
Precisamos selecionar os tags que farão parte desta configuração.
4. Como já estamos no laboratório avançado, vamos deixar a navegação dos tags para
você! Apenas certifique-se de que sua lista de tags corresponda à mostrada abaixo.
Você precisa ter em mente que:
• Todos os tags que precisamos estão no programa conveyor1
• Certifique-se de que todos os campos sejam idênticos aos ilustrados abaixo –
especialmente Data Types e Mode (nem todos os padrões são aceitáveis - dica:
machine_name é um grupo)
• O tag SystemClock é adicionado usando a instrução na etapa 5 abaixo (mesmo para
usuários avançados como você, os indicadores podem ser necessários)
b) Desça para a parte inferior da tela FactoryTalk Transaction Manager e edite o grupo do
item para aquele tag (clique duas vezes no campo ou selecione o campo e pressione
F2), depois adicione um ,L6 ao final (insira: a vírgula, a letra L e o número 6) que informa
o FactoryTalk Transaction Manager para começar no primeiro ponto e capturar 6 locais
de memória contíguos.
d) A mudança final que deve ser feita para o registro de data e hora é informar o
FactoryTalk Transaction Manager que, diferente de um vetor fechado de nossos valores
médios antigos, esta estrutura é mapeada como uma estrutura de data e hora do PLC5
para facilitar a conversão dos sistemas Logix (e porque já tínhamos o tipo de dados no
FactoryTalk Transaction Manager). Precisamos selecionar o tipo de dados PLC
Timestamp na lista pull down de tipo de dados.
Agora que concluímos a etapa 3, podemos passar para a etapa 4 para configurar nossas
informações de banco de dados. Nosso laboratório requer o armazenamento em duas tabelas,
por isso, precisamos basicamente informar o FactoryTalk Transaction Manager sobre essas
duas tabelas. A tela ODBC Data Object Definition permite referenciar os objetos do banco de
dados, como tabelas e procedimentos armazenados, por exemplo.
3. Primeiro, temos que construir uma Database Connection para o banco de dados, então,
precisamos de uma conexão com um ODBC System DSN (nome da fonte de dados).
Faremos isso clicando no botão de navegação (botão com elipse ou reticências) que
está próximo à lista pull down database connection.
4. Estamos na tela de conexão, abra a lista de System DSNs disponíveis (criamos uma
para você). Selecione FTTM _DB como o System DSN e o nome da conexão é
preenchido para você. Precisamos apenas colocar nosso nome do usuário e senha que
são sa e rockwell, respectivamente.
6. Uma vez que nossa tabela foi selecionada, você vê as colunas disponíveis do banco de
dados à esquerda na parte inferior da tela. À direita, estão as colunas que queremos que
o FactoryTalk Transaction Manager use. Precisamos selecionar todas as colunas (clique
e arraste ou selecione o início da coluna, segure a tecla shift e clique na última coluna)
usando o botão de seta ( >> ) no meio da tela. Envie as colunas escolhidas para a
direita. Sua tela deve ser semelhante a:
8. Vamos clicar em Close para fechar a tela de definição de objeto de dados e voltaremos
para a lista de verificação com a etapa quatro que agora tem uma caixa de verificação
verde. Clicaremos em Step 4 novamente para voltarmos para a tela de objeto de dados,
pois queremos criar uma conexão para mais uma tabela.
10. Neste caso, queremos todas as colunas, exceto o fault_count. Sua tela será
semelhante a:
1. Voltamos para o Checklist para colocarmos a marca verde na etapa 5. Clique em Step 5
para acessar a tela de transações.
3. Queremos abrir a lista pull down de objetos de dados e selecionar my_conveyor. Você
vê que a parte inferior da tela mostra as colunas que selecionamos para reutilizarmos
quando criarmos os objetos de dados.
4. Em seguida, você precisa clicar duas vezes na coluna do valor vinculado (ou clique com
o botão direito do mouse e selecione Filter & Select Data points).
5. Precisamos programar esta transação para executar um pouco mais rápido que o
padrão de 1 minuto (caso contrário, este laboratório durará para sempre). Precisamos
selecionar o botão Trigger/Storage… .
6. Na tela Trigger and Storage Parameters, precisamos mudar Scan Rate para 10
seconds. Clique em OK para sair desta tela e voltar para a tela de definição da
transação.
10. Na tela Transaction Definition, chamaremos a nova transação package_trans que deve
ser inserida no campo transaction name. Selecione box_table na lista pull down de
objeto de dados.
11. Você verá as colunas aparecerem para o objeto de dados box_table. Clique com o botão
direito do mouse na tela e selecione a opção Filter & Select Data points.
13. Esta transação não disparará mais com base no tempo, mas com base em um evento,
por isso, temos que configurar a trigger: clique no botão Trigger/Storage… .
14. A trigger será o ponto não programável conveyor1.inspection, o que significa que ela
disparará somente quando a caixa foi inspecionada. Selecione em On Unscheduled
Event nossa única trigger não programável.
15. Queremos apenas executar esta ação quando o bit for ativado, por isso, marcaremos On
High Transition.
16. Além disso, não queremos um disparo falso (isso acontece quando o FactoryTalk
Transaction Manager é iniciado pela primeira vez e cada evento não programável parece
que é modificado, pois o FactoryTalk Transaction Manager nunca teve um valor antes),
portanto, selecionaremos a opção Ignore the First Unscheduled Event.
Temos que fazer uma pequena limpeza em alguns itens antes de iniciarmos a configuração do
FactoryTalk Transaction Manager. Primeiro, vamos acionar a depuração para que possamos
descobrir se algo não está funcionando corretamente no FactoryTalk Transaction Manager. Além
disso, iniciaremos o projeto da IHM FactoryTalk View SE e o RSEmulate 5000 Chassis Monitor.
2. Lá, você pode ver todos os níveis de configurações. As informações sobre os arquivos
em cache, arquivos de registros de erros (que queremos alterar nesta etapa) e
conectores. Vamos selecionar Error Log.
3. Na tab Error Log, certifique-se de que Debug, Informational, Warning, Error e Fatal
estejam todos marcados (marcar Millisecond Time é opcional).
5. Temos que nos certificar de que o controlador (RSEmulate 5000 Chassis Monitor) está
no modo de operação. Usando o RSEmulate 5000 Chassis Monitor, clique com o botão
direito do mouse no controlador Emulator no slot 2 e selecione Run. Clique em Yes para
entrar no modo de operação.
7. A tela que aparece tem somente um botão, clique sobre ele (ele foi usado para fins de
depuração, por isso, você pode fazer alterações na tela seguinte e salvá-las no
FactoryTalk View SE Studio sem precisar reiniciar a aplicação do cliente toda vez). Você
verá a seguinte tela:
9. Agora que tudo está executando, nossos dados mudarão e podemos disparar o
FactoryTalk Transaction Manager. Vamos observar como ele se comporta. Inicie a
configuração usando a interface do usuário principal do FactoryTalk Transaction
Manager e clique no botão play.
Como não queremos um valor nulo para a velocidade média, vamos executar uma edição online
no FactoryTalk Transaction Manager para mudar esse valor. O FactoryTalk Transaction
Manager tinha a capacidade de adicionar/modificar pontos de dados e transações online em
várias versões.
3. Clique em Create Edits para entrar no modo de edição. Você perceberá que há vários
botões disponíveis agora que não estavam quando entrou nesta tela.
4. Na parte inferior da tela para os vínculos de pontos de dados, você observa que
avg_speed não está vinculado a qualquer ponto de dados. Usaremos a expressão
média do FactoryTalk Transaction Manager para colocar na velocidade média.
Selecione a coluna avg_speed, clique com o botão direito do mouse e selecione Bind
Expression.
6. Em seguida, selecione o ponto de dados que queremos na parte inferior da tela, abra a
lista pull-down e selecione conveyor_speed.
Você pode visualizar os alertas de edição pendente se quiser (o ícone com óculos), mas
não temos nenhum para esta transação. Os alertas Pending Edit tentam avisar quando
uma transação que você editou liberará algum tipo de informação de "estado". Por
exemplo, nossa transação adicionou uma função de média, pois ela não está liberando
nenhum estado, porém, se mudarmos o ponto de dados usado para a média, um alerta
Pending edit irá adverti-lo de que o estado da média atual (ou buffer) será descartado e,
quando você agrupar a transação, o novo estado será incorporado.
12. Agora, você pode clicar no botão Assemble All (não se importe com os alertas que
surgirem) semelhante a uma seta verde (à esquerda dos óculos). O ato de construção é
o que muda a transação de execução.
13. Aguarde, pelo menos, 30 segundos e volte ao SQL Server Management Studio. Atualize
a tabela do transportador e role até o final. Você deve visualizar o início do valor médio
para preencher a coluna avg_speed.
Você também deve observar que as transações falharam na visualização do monitor de
transação, como mencionado anteriormente. Este é um resultado do buffer que está
sendo incorporado e esses "erros" podem ser ignorados.
Nesta etapa, mudaremos da lógica do conversor que executa no controlador para a lógica que
executa no banco de dados (você pode inspecionar a lógica no programa Conveyor1, isso não é
complicado, pois se trata somente de uma declaração CMP). O procedimento armazenado que
usaremos é chamado called package_checker e criamos o objeto de dados em uma etapa
anterior (se você quiser visualizar a lógica do procedimento armazenado, use o SQL Server
Management Studio).
2. A partir daí, precisamos adicionar pontos de dados, vamos clicar duas vezes no FT na
árvore (quando você não estiver usando a lista de verificação, clique duas vezes nos nós
da árvore que mostrarão as respectivas telas de definição).
4. Como esta é uma edição on-line, os pontos de dados mostram em fonte vermelha as
definições pendentes. Lembre-se de alterar Mode de fire_box_check para Unsched
5. Você deve destacar as três seqüências que têm edições pendentes. Clique em Save Edits
e em Assemble Edits. Criamos, salvamos e agrupamos estes novos pontos, mas isso
causou algum efeito na execução da configuração? Lembre-se de que a configuração
de execução não tem validade até que Assemble seja selecionado, porém, como estes
pontos ainda não são usados em uma transação, nenhum ponto novo foi realmente
colocado na varredura. É importante observar que se você ainda não utilizou o comando
Assemble neste ponto, não poderá visualizar estes novos pontos de dados quando for
para a tela de transações. Uma dica para saber quando esta etapa está terminada é
verificar se não há nenhum ponto vermelho em itálico quando fechar a tela. Lembre-se
de que você destacou os pontos para que os botões save e assemble "atuem" sobre
eles.
6. Agora, estamos prontos para criar nossa nova transação. Se você está no modo de
visuaIização da definição da transação, pode clicar com o botão direito do mouse na tela
à direita para selecionar Define Transaction.
Vale observar algumas coisas sobre este procedimento armazenado. Como você pode ver,
estamos vinculando box_id, altura, largura etc., pois temos as informações da caixa que irá
para o procedimento armazenado. Além disso, temos o nome da máquina que subirá na
lista (se você verificar o controlador, o nome da máquina é SCANNER1). O procedimento
armazenado procura um registro em uma tabela que corresponde ao nome da máquina e
que tenha altura mínima. Com base na altura, se o valor que vier da caixa for menor, a
gravação que volta para o controlador (out_divert) será 1 ou, caso contrário, será 0. Se a
gravação for 1, a lógica do controlador é convertida. A saída ainda não foi vinculada.
10. Agora que eles estão separados, clique com o botão direito do mouse no parâmetro de
entrada @out_divert (com a letra “I”) e selecione Bind Null Value.
11. Feito isso, precisamos vincular um ponto à saída. Para isso, arraste o ponto de dados
rssql_should_divert.
13. Em seguida, vamos configurar a trigger para que esta transação seja disparada somente
quando quisermos, então, clique no botão Trigger/Storage.
16. Clique em Assemble Edits (não se preocupe com advertências, pois não há nenhuma) para
fazer a transação ficar online. A transação não começará a disparar até mudarmos
nossa chave Use FT Int. no RSView SE, dessa forma não precisamos nos preocupar
com a ocorrência de nenhum evento.
Nesta seção, mudaremos a lógica no RSEmulate 5000 para usar o FactoryTalk Transaction
Manager e o banco de dados para executar nossa lógica do conversor em vez da simples
verificação na lógica ladder.
1. Vamos voltar para a tela do RSView SE client (se você a fechou, clique no ícone da área de
trabalho para reabri-la).
2. O "motor" do FactoryTalk Transaction Manager está executando. Agora temos que mudar
nossa Use FT Int. para On.
1. Quando a caixa passa pelo scanner, o valor “boxcheck” no cliente (que mostra o
valor de fire_box_check no controlador) deve mudar para 1.
O laboratório está concluído! Você fez duas transações para armazenar dados, uma com base
no tempo e outra com base em eventos. Você fez alterações em algumas transações enquanto
estava online para adicionar a média. Você também mudou a lógica do sistema para usar um
banco de dados para determinar as ações na plataforma de controle em vez de ficar preso à
lógica ladder!
Entre no SQL Server Management Studio e pare o SQL Server service para encerrar o
banco de dados. Você visualizará erros diferentes na tela e a instrução BTR FactoryTalk
Transaction Manager não será 1.