03.10.2019 Views

BRESIMAR(asaTek)-Beckhoff-Livro Formação Técnica TwinCAT 2

BECKHOFF - TwinCAT 2 Livro de Formação Técnica v1.2/2009 BRESIMAR AUTOMAÇÃO / asaTek Autoria : Jorge Andril

BECKHOFF - TwinCAT 2
Livro de Formação Técnica v1.2/2009
BRESIMAR AUTOMAÇÃO / asaTek
Autoria : Jorge Andril

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

TWINCAT PLC - Lista de Instruções<br />

BECKHOFF New Automation Technology<br />

8 - INSTRUÇÕES VÁRIAS<br />

INDEXOF<br />

Calcula o índex (posição de memória) interno do POU (“Program Organization Unit”) .<br />

Exemplo em ST:<br />

Var1:= TRUNC (POU2);<br />

Exemplo em IL:<br />

Var1:DINT;<br />

LD POU2 (* Nome da programa , função ou bloco funcional *)<br />

INDEXOF<br />

ST Var1<br />

SIZEOF<br />

Calcula o numero de “bytes” requerido para um dado tipo de dados .<br />

Exemplo em ST:<br />

arr1:ARRAY [0..5] OF INT;<br />

Var1:INT;<br />

Var1:= TRUNC (arr1); (* O resultado é 12 *)<br />

Exemplo em IL:<br />

arr1:ARRAY [0..6] OF INT;<br />

Var1:INT;<br />

LD arr1<br />

SIZEOF<br />

ST Var1 (* O resultado é 14 *)<br />

ADR<br />

Calcula o endereço absoluto de uma variável em DWORLD . Esta função é utilizada para ser tratada<br />

pelos PONTEIROS .<br />

Exemplo em IL:<br />

LD var1<br />

ADR<br />

ST var2<br />

^<br />

Esta identificação referência um PONTEIRO .<br />

Exemplo em ST:<br />

pt:POINTER TO INT<br />

var_int1:INT;<br />

var_int2:INT;<br />

pt:=ADR(var_int1);<br />

var_int2:=pt^;<br />

BITADR<br />

Retorna com o endereço do bit d a variável indicada .<br />

Exemplo em IL:<br />

var1: AT %IX1.0 : BOOL<br />

out : BYTE<br />

LD var1<br />

BITADR<br />

ST out (*Retorna com 08)<br />

Exemplo em ST<br />

bOFF AT %QX10.1 : BOOL<br />

iBitAdr : BYTE<br />

iBit := BITADR (bOFF) ; (*Retorna com 81)<br />

<strong>BRESIMAR</strong> Cap. II – 19 de 20

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!