Você está na página 1de 15

Beckhoff TwinCAT

The Windows Control and Automation Technology

NOTA DE APLICAO 13
Princpios bsicos de utilizao da NOVRAM em
PCembedded-CX e IPCs

BRESIMAR (asaTek)
e-mail j.andril@bresimar.pt
B-NA13(v1.1)
Setembro/2016

Bresimar - Sociedade de Equipamentos Elctricos, Lda.


Geral (Sede)
Quinta do Simo - EN109 - Esgueira
Apartado 3080
3801-101 Aveiro
PORTUGAL
Telf . +351 234 303 320
Telm . +351 939 992 222
Fax +351 234 303 328/9
e-mail bresimar@bresimar.pt

13 Princpios bsicos de utilizao da NOVRAM

ndice
1. Introduo

2. NOVRAM Memoria RAM no voltil

3. Viso geral dos dispositivos com NOVRAM


3.1.
Vantagens e desvantagens da NOVRAM

3
4

4. Arquivo de dados na NOVRAM por FB


4.1.
Descrio da FB (FB_NovRamReadWriteEx)

4
8

5. Arquivo de dados na NOVRAM com System Manager

10

BRESIMAR (asaTek) v1.1

Pag. 1 de 13

13 Princpios bsicos de utilizao da NOVRAM

1 Introduo
Todos os sistemas BECKHOFF tem a capacidade de guardar e manter dados quando
ocorre uma falha de energia. Em muitas aplicaes de automao necessitamos que alguns
dados (ex. parmetros de maquina, etc.) no sejam perdidos quando ocorrem cortes de
energia e consequentemente a alimentao eltrica da CPU. Aps o reativar do sistema
esses dados sero recuperados. Esse armazenamento pode ser feito de diversas maneiras
dependendo dos dados que pretendemos armazenar, a sua quantidade e que tipo de sistema
BECKHOFF estamos a utilizar. Este tipo de memria, no voltil, designa-se por
NOVRAM e so utilizados em alguns dispositivos da BECKHOFF. Esta nota de aplicao
aborda e descreve esse tipo de armazenamento de dados em memria no voltil.
O acrnimo NOVRAM significa Non-Volatile Random Access Memory. O que
significa que um tipo de memria que pode guardar dados como uma memria ROM
(conserva os dados mesmo que haja um corte de energia) mas com a possibilidade,
ilimitada, de escrita de dados (ao contrario da ROM).
Os dados salvaguardados so escritos, numa primeira fase, em RAM pelo TwinCAT
e depois automaticamente copiados para a NOVRAM, em caso de corte da alimentao
eltrica. Um condensador integrado no sistema da NOVRAM permite a energia suficiente
para essa operao.
O sistema BECKHOFF, que este documento tcnico utilizou, foi o PC embedded
CX9010 com NOVRAM integrada. Foi utilizada, tambm, a livraria TxIoFunctions.lib
que dever ser instalada no seu editor de programa TwinCAT.

2 NOVRAM Memoria RAM no voltil


A memria NOVRAM, usada como backup de dados, uma memria que pode
armazenar dados com um nmero ilimitado de gravaes. Quando o cdigo executado o
PLC escreve ciclicamente na memria de trabalho RAM. Quando ocorre um corte de
energia ao sistema, estes dados so perdidos. Para podermos manter esses dados ou outros
teremos de escreve-los e copia-los para a NOVRAM. O sentido dos dados RAM versus
NOVRAM ser tanto de escrita como de leitura (cpia dos dados da NOVRAM para a
RAM). Esses ciclos de leitura e escrita podem ser controlados pelo PLC usando Funes
Bloco ou usando variveis ligadas no System Manager.
Quando utilizamos a Funo Bloco para arquivar os dados podemos despoletar a
ordem de escrita atravs de um evento digital ou atravs de eventos temporais cclicos.
de alertar que as tarefas de escrita roubam processamento a CPU. Para evitar e aligeirar
esse processamento recomendado no guardar grandes quantidades de dados de uma s
vez, dividi-los em blocos mais pequenos, espaar os eventos temporais de escrita e usar
diferentes instncias da Funo Bloco.
BRESIMAR (asaTek) v1.1

Pag. 2 de 13

13 Princpios bsicos de utilizao da NOVRAM

O Programa do PLC no guardado na NOVRAM, mas sim num ficheiro na placa


de memria (Flash Memory /TwinCAT/ Boot/) que possui o Sistema Operativo do CX.

3 Viso geral dos dispositivos com NOVRAM


A tabela, em baixo, mostra as diferentes memrias internas disponveis para os vrios
modelos CX, bem como a memria extra disponvel para os PCs Industriais da
BECKHOFF.
Sistemas BECKHOFF
PCe
CX80xx
CX90xx (CX9020 *)
CX10xx
CX50xx
CX20xx
PC
PCI Card Fieldbus

Mini PCI Card Fieldbus


( encomendado com
C692x,CP62xx,CP66xx)

Panel PC
CP67xx-0020
CP77xx-0020
CP62xx,CP64xx,CP65xx,
CP67xx,CP71xx,CP72xx,
CP77xx
Mini PCI Card Fieldbus
( encomendado com
CP72xx)

Descrio

Tamanho da NONRAM

No tem NOVRAM (UPS/1s)


CPU com NOVRAM integrada
NOVRAM separada (CX1100-000x **)
No tem NOVRAM (UPS/1s)
CPU com NOVRAM integrada

1 Mbyte
128 kbyte
8 kbyte
1 kbyte
128 kbyte

FC3101-002 Profibus DP
FC3102-002 Profibus DP
FC5101-002 CANopen
FC5102-002 CANopen
FC5201-002 DeviceNet
FC5202-002 DeviceNet
FC3151-002 Profibus DP
FC5151-002 CANopen
FC5251-002 DeviceNet
FC7551-002 Sercos

32 kbyte

C9900-R229
C9900-R229
C9900-R230
C9900-R231
C9900-R232
FC3151-002 Profibus DP
FC5151-002 CANopen
FC5251-002 DeviceNet
FC7551-002 Sercos

256 kbyte
256 kbyte
128 kbyte
256 kbyte
512 kbyte
128 kbyte

128 kbyte

Terminal
Terminal EtherCAT com NOVRAM
128 kbyte
EL6080
* Tem opo de UPS/1s) ** [CX1100-000x] = Fonte de Alimentao
1 kbyte = 1024 byte
Exemplo: 32 kbyte = 32768 byte => 16384 word (tamanho, 16 bits)

BRESIMAR (asaTek) v1.1

Pag. 3 de 13

13 Princpios bsicos de utilizao da NOVRAM

3.1 Vantagens e desvantagens da NOVRAM


Vantagens :
fcil de usar.
Existem Funes Bloco para o seu manuseamento.
No necessita de alimentao por bateria.
Desvantagens :
Tamanho limitado de memria.
Os dados no podem ser editados fora do programa do PLC o que uma
desvantagem na gesto de receitas.
A sobrecarga de processamento na CPU muito alta, se gravarmos
grandes quantidades de dados de uma s vez na NOVRAM. Neste caso a
melhor soluo usar diversas instncias da Funo Bloco, com eventos
separados.
Seguem-se dois exemplos de como podemos gravar dados na NOVRAM. No
primeiro exemplo usaremos uma Funo Bloco disponibilizada pela BECKHOFF e no
segundo caso iremos usar a ligao dos dados diretamente a variveis alocadas
NOVRAM, usando o System Manager.

4 Arquivo de dados na NOVRAM por FB


A biblioteca com as Funes Bloco de manuseamento da NOVRAM
(TcIoFunctions.lib) pertence as livrarias, sem custo, quando instalado o TwinCAT. As
Funes Bloco utilizadas dependem do sistema (CPU) BECKHOFF que est ou vai utilizar
na sua aplicao. Na tabela, em baixo, indicamos as Funes Bloco a utilizar em cada CPU.
Seleo da CPU
Cartas FCxxx
CX com Intel (x86)
CX com ARM
Cartas FCxxx
CX com Intel (x86)
CX com ARM

Funo Bloco a utilizar


FB_NovRAMReadWrite

Verso do TwinCAT
TwinCAT v2.8.0 Build > 722

FB_NovRAMReadWriteEx

TwinCAT v2.10.0 Build > 1231

O programa exemplo, em anexo, foi criado para um CX9010 com processador


ARM e o TwinCAT V2.10 ou seja a Funo Bloco usada deve ser a FB
NovRAMReadWriteEx .
Inicie um novo projeto, no editor TwinCAT Control. De seguida v para a pasta
Resources e instale na subpasta Library Manager a livraria TcIoFunctions.Lib.

BRESIMAR (asaTek) v1.1

Pag. 4 de 13

13 Princpios bsicos de utilizao da NOVRAM

Clique na pasta Library Manager. Clique na parte branca da janela em que aparece
a livraria Standard.lib. De seguida, com a tecla direita do rato, escolha o comando
Additional Library. Agora escolha a biblioteca TcIoFunctions.
Uma vez esta biblioteca adicionada ao seu projeto poder dar inicio a construo do
seu programa no TwinCAT PLC Control.

No programa exemplo o programa principal MAIN foi feito em ST Structured Text


e o programa NovramProg em FBD Function Block Diagram.
BRESIMAR (asaTek) v1.1

Pag. 5 de 13

13 Princpios bsicos de utilizao da NOVRAM

No programa NovRamProg adicione uma Box e selecione a instruo AND, que se


encontra dentro da Box, que colocou. De seguida clique na tecla funo F2. Surgira a janela
de Input Assistant que ir permitir escolher a Funo Bloco.

Selecione a Funo Bloco FB_NovRamReadWriteEx e clique de seguida em OK.

A instncia da Funo Bloco ir ser declarada com o nome NovRam_Re_Wr_EX .


Digite esse nome em cima da caixa da Funo Bloco e de seguida faa Enter. Declare a
varivel clicando em OK.
BRESIMAR (asaTek) v1.1

Pag. 6 de 13

13 Princpios bsicos de utilizao da NOVRAM

Agora, a Funo Bloco declarada, como mostra a figura em baixo.

De seguida inicie o configurador System Manager.


Faa uma ligao ao hardware existente (ex. CX9010) usando o System Manager.
Clique na pasta NOV/DP-RAM e de seguida na subpasta General. Verifique qual o Id que
foi atribudo a este Device (ex. 3). Este N vai ser utilizado na varivel de entrada nDevId
da Funo Bloco, utilizada no projeto do TwinCAT Control.

BRESIMAR (asaTek) v1.1

Pag. 7 de 13

13 Princpios bsicos de utilizao da NOVRAM

4.1 Descrio da Funo bloco FB_NovRamReadWriteEx

Descries das variveis de entrada da Funo Bloco FB_NovRamReadWriteEx:


VAR INPUT
nDevId
bRead
bWrite
cbSrcLen
cbDestLen
pSrcAddr

Tipo dado
UDINT
BOOL
BOOL
UDINT
UDINT
UDINT

pDestAddr

UDINT

nReadOffs
nWriteOffs
tTimeOut

UDINT
UDINT
TIME

Descrio
Device ID da NOVRAM, lido do System Manager
Ativa leitura da NOVRAM (flanco ascendente)
Ativa escrita na NOVRAN (flanco ascendente)
Quantidade de dados (byte) a ser escrito na NOVRAM
Quantidade de dados (byte) a ser lidos da NOVRAM
Endereo do POINTER que aponta o incio do buffer de dados a serem gravados
na NOVRAM. O endereo do ponteiro obtido com o comando ADRS().
Endereo do POINTER que aponta o incio do buffer de dados a serem lidos da
NOVRAM. O endereo do ponteiro obtido com o comando ADRS().
Offset da rea de memria de leitura da NOVRAM
Offset da rea de memria da escrita na NOVRAM
Tempo limite para execuo do FB

Descries das variveis de sada da Funo Bloco FB_NovRamReadWriteEx:


VAR INPUT
bBusy
bError
bErrId
cbRead
cbWrite

Tipo dado
BOOL
BOOL
UDINT
UDINT
UDINT

Descrio
Bit que indica que a FB est em execuo (leitura ou escrita)
Bit de indicao de erro
Cdigo do erro em caso do bit bError estar a TRUE (ADS_Return_Codes)
N de byte lidos corretamente
N de byte escritos corretamente

Voltando para o Editor de programa TwinCAT Control podemos de uma maneira


prtica colocar todos os dados, de e para a memoria NOVRAM, em uma estrutura de dados.
Sendo assim apenas um bloco de funo usado. Essa estrutura de dados ser constituda
por diversos tipos de dados e ser tratado como uma varivel. Poder parametrizar
individualmente cada uma das variveis dessa estrutura.
Para declarar essa estrutura de dados dever recorrer pasta Data Types e de seguida
clique com a tecla direita do rato e selecione Add Objects. De seguida d o nome, a essa
estrutura de dados, de DataToFromNovRam. Essa estrutura constituda por diversos tipos
de dados como a figura seguinte mostra:
BRESIMAR (asaTek) v1.1

Pag. 8 de 13

13 Princpios bsicos de utilizao da NOVRAM

O prximo passo a criao de uma instncia da estrutura, dando-lhe um nome, para


que ela possa ser utilizada na Funo Bloco.
Tambm se declaram as variveis de ordem, de leitura e escrita, como mostra o
exemplo seguinte :

A instruo SIZEOF calcula automaticamente o tamanho da estrutura de dados, em


n de byte. A alternativa indicar um nmero fixo do comprimento de dados a serem
enviados ou lidos.
BRESIMAR (asaTek) v1.1

Pag. 9 de 13

13 Princpios bsicos de utilizao da NOVRAM

A instruo ADR usada para indicar o endereo absoluto, na memria do programa,


onde a estrutura colocada (endereo do inicio da estrutura de dados). este endereo que
a Funo Bloco utiliza para ler ou escrever os dados da NOVRAM.
Podemos escrever os dados atravs eventos cclicos (colocando um bloco
temporizador cclico) ou por evento (atravs da transio ascendente da varivel
bVovramWrite).
A leitura de dados da NOVRAM dever ser feita por evento ou condio ligada
varivel de entrada da FB bRead. Na transio positiva desta varivel booleana os dados
sero lidos da NOVRAM para a estrutura de dados.
Caso queiramos, no arranque do sistema, inicializarmos o nosso automatismo com
parmetros anteriormente guardados na NOVRAM podemos utilizar um bit do sistema
(FirstCycle pertencente a estrutura de sistema SystemTaskInfoArr[1] ).
NOTA : Cada varivel booleana (1 bit), colocada na estrutura de dados, ocupa 1 byte de
memria.

5 Arquivo de dados na NOVRAM com System Manager


Abra o System Manager e ligue-se, atravs de um varrimento ao hardware, ao seu
equipamento ( ex. CX9010).
Selecione o Device3 que corresponde a memoria NOVRAM. Abra a subpasta
Generic DPRAM e ative a propriedade Auto Init linked PLC Outputs. Esta propriedade
vai permitir recuperar e atualizar, aps o corte de energia a CPU, as variveis do programa
do PLC e guardadas na NOVRAM.
No dever modificar os endereos e o tamanho indicado automaticamente pelo
System Manager.

BRESIMAR (asaTek) v1.1

Pag. 10 de 13

13 Princpios bsicos de utilizao da NOVRAM

Export Data to Disk: Arquiva o contedo atual dos dados guardados na NOVRAM em
ficheiro XML, no seu disco duro.
Import Data from Disk: L os dados, anteriormente guardados em ficheiro XML e
coloca-os na memria NOVRAM. Podemos utiliza-los como receitas, com parmetros
de maquina, e copia-los para diversos equipamentos iguais.
A exportao e importao destes ficheiros XML s possvel em Modo CONFIG
do System Manager.
No projeto editado no TwinCAT PLC Control, apresentado de seguida, iremos criar
uma nova estrutura seguindo os procedimentos, anteriormente explicados, deste
documento tcnico. Esta estrutura ir ser anexada memria NOVRAM:

A estrutura dever, obrigatoriamente, ser declarada com um endereo absoluto (AT


%Q*) para posteriormente podermos linkar , no System Manager, NOVRAM.

Abrindo o System Manager e na pasta PLC Configuration clique com a tecla direita
do rato. De seguida selecione o comando Append PLC project e escolha o ficheiro *.tpy
do seu projeto.

Este ficheiro (*.tpy) estar localizado na pasta onde arquivou o programa executado
no editor TwinCAT PLC Control. Ele ser criado depois da compilao (Rebuil All) do
programa.
BRESIMAR (asaTek) v1.1

Pag. 11 de 13

13 Princpios bsicos de utilizao da NOVRAM

De seguida iremos linkar, no System Manager, a estrutura a memoria NOVRAM.


Abra a pasta Device3 (NOV/DP-RAM) e selecione Outputs. Com a tecla direita do seu rato
selecione o comando Insert Variables.

Selecione a estrutura de dados DataToFromNovram

Caso queira linkar a estrutura de dados poder usar o comando Change Link.

BRESIMAR (asaTek) v1.1

Pag. 12 de 13

13 Princpios bsicos de utilizao da NOVRAM

Escolha a estrutura de dados criada no editor de programa TwinCAT PLC Control e


clique em OK.

Com este procedimento garante retentividade dos dados guardados na NOVRAM.


Estes dados so guardados ciclicamente na NOVRAM e sero recuperados, os ltimos
dados guardados, aps o download do projeto ou falha de energia. Em ambos os casos ser
usada a mesma estrutura de dados ToFromNovRam.

BRESIMAR (asaTek) v1.1

Pag. 13 de 13