Twincat Plc Tr

Post on 26-Dec-2015

144 Views

Category:

Documents

12 Downloads

Preview:

Click to see full reader

Transcript

TwinCAT 2 Teknik Eğitim

PC Tabanlı Otomasyon

TwinCAT 2

PC Tabanlı Otomasyon

1. PC Tabanlı Otomasyon

2. TwinCAT Mimari

3. TwinCAT Lisans Tipleri

4. TwinCAT HMI/Scada Çözümü

Gelişim

PC Tabanlı Otomasyon

Konvensiyonel Kontrol PC-Tabanlı Kontrol

CP

U

NC

I/O

IPC

Fieldbuses

IPC

Comm.

Prog.

Tool HMI

Hardware Software

Mechanic Electronic

Slots/CPUs Tasks

Parallel wiring Fieldbus

Communication Direct access

TwinCAT | PC üzerinde PLC ve Hareket Kontrol

TwinCAT – mühendislik ve run-time üzerinde tümleşik yapı:

Kontrol uygulamaları

Hareket kontrol

Teknoloji fonksiyonları

TwinCAT – tüm platformlar için tek ortam:

BC en düşük seviye

BX düşük seviye

CX orta seviye

PC yüksek performans

PC Tabanlı Otomasyon

4 Performans Seviyesi

PC Tabanlı Otomasyon

performans

BC Serisi

BX Serisi

CX Serisi

fiyat

IPC Serisi

PC Platformu üzerinde TwinCAT

PC Tabanlı Otomasyon

TwinCAT

Windows’u modifiye etmez

Özel bir donanım gerektirmez

Windows standartlarını gerçek zamanlı bir işletim

sistemine dönüştürür

OCX, DLL ve .NET ile Windows’un tüm imkanlarına

ulaşılabilir

TCP/IP ile uzaktan erişim yapılabilir

PC platformu

Standard donanım, en iyi performans

PC kaynaklarını kullanabilir

Windows işletim sisteminden faydanılabilir

Ofis/Çalışma Ağına kolayca entegre edilebilir

Açık fieldbus haberleşmesine imkan tanır. (PCI, PCI-ex)

PC Platformu

PC Tabanlı Otomasyon

Windows NT, 2000, XP

Fieldbus Card Drivers

ADS Router

I/O

Server

I/O Mapping

PLC

Server

I/O

NC

Server

other

e.g. CAM

System

Manager

ADS

PLC

Control

Diagnostic

e.g. Scope

User

HMI

User

HMI

ADS ADS TCP/IP

Ke

rne

l m

od

e

Use

r m

od

e

ADS ADS OCX/Dll OPC

ADS ADS ADS ADS

I/O I/O

TwinCAT system

Re

al-tim

e S

erv

er

PC Platformu

PC Tabanlı Otomasyon

80 % 20 %

40 % 60 %

80 % 20 %

80 % 20 %

80 % 20 %

60 % 40 %

Basetime Basetime Basetime

Max.

Real

TwinCAT RT

Windows

TwinCAT

on

NT

on

TwinCAT gerçek-zamanlı denetleyici (real-time)

50 µs’e kadar çevrim zamanları (TwinCAT 3.1 ile 12.5 µs)

latency times < 3 µs (Intel® CoreTM2 Duo)

Windows’un kullanacağı CPU yüzdesi limitlendirilebilir

Gecikme zamanı limiti aştığında mesaj verebilir

TwinCAT I/O Sistemi

PC Tabanlı Otomasyon

I O

Input Output

I O I O

TwinCAT process image

fieldbus 1 fieldbus 2 fieldbus 3

Mapping

Bilinen tüm haberleşme çeşitlerine uygun

PC donanım bileşenleri ile uyumlu

Kolay devreye alınabilir ve durum gözetimi yapılabilir

Fiziksel IO ile PLC tarafına basit bir ‘link’ mantığı ile çözüm Fipio

DALI

LON

EIB MP-Bus

TwinCAT PLC

PC Tabanlı Otomasyon

Modüler Yapı

Bir PC üzerinde maks. 4 PLCs

Timing

Bir PLC projesi üzerinde maks. 4 tasks

Mühendislik Avantajları

online program yükleme/değiştirme

full debugging özellikleri:

breakpoint, monitoring, powerflow

scope

Favori programlama dilinizi seçebilirsiniz:

tüm IEC 61131-3 dilleri (IL, ST, FBD, LD,

SFC)

TwinCAT NC PTP

PC Tabanlı Otomasyon

Kolay mühendislik

Standart PLC Open fonksiyon bloklarını kullanma imkanı

Tüm eksenleri çeşitlerini tek elden kontrol imkanı (Nc-Task)

servo

stepper

DC motor

switching axis

hidrolik axis

Bilinen tüm enkoder çeşitleri ile uyumlu çalışma

digital encoders: SERCOS, SSI

analog: ±10 V

Ekstra fonksiyonlar:

digital cam switch, flying saw, superposition

TwinCAT NC PTP

PC Tabanlı Otomasyon

Point-to-point hareket (MC_MoveAbsolute, MC_MoveVelocity)

Gearing (MC_GearIn, MC_GearOut)

Digital cam switch

Camming

Superposition

Flying saw

TwinCAT NCI

PC Tabanlı Otomasyon

3 eksen intorpole hareket, 5 yardımcı eksen ile toplamda

bir kanalda 8 eksen kontrol imkanı

DIN 66025 kod standardına göre G-Code çalıştırabilme

Teknolojik birçok özellik (kinematik çözümleri, özel

fonksiyonlar)

PTP Eksenlerine kolay erişim ve kullanım

Yardımcı kütüphaneler ile PLC tarafından kolaylıkla

yönetebilme ve mühendislik yapabilme imkanı

TwinCAT NCI – Kinematik Transformasyon

PC Tabanlı Otomasyon

TwinCAT Robot Kontrol entegrasyonunun sunacağı özellikler:

Robot Kontrolu için ekstra bir PC’ye ihtiyaç duymaz.

Parametre ayarlama, sistem konfigurasyonu, durum bilgileri vs. gibi herşeyi

TwinCAT üzerinde görüntülenebilir veya ayarlanabilir

Farklı CPU kullanılmadığı için ekstra bir PC’ler haberleşmesine ya da PLC ile

robot kontrolü arasında iletişime ihtiyaç duyulmaz

Yüksek CPU mevcudiyeti ile yüksek çözünürlük ve daha hızlı kontrol imkanı

TwinCAT NCI – Kinematik Transformasyon

PC Tabanlı Otomasyon

Cartesian Portal

Roll kinematic (H-Bot)

SCARA

Shear kinematic

Crane kinematic

2D Parallel kinematic

3D Delta

Hexapod 6 axes seriell kinematic

(in developement)

TwinCAT NCI – Uygulama Örnekleri

PC Tabanlı Otomasyon

TwinCAT CNC

PC Tabanlı Otomasyon

Path of tool centre

point

Path of

rotation point

of rotatory axis

X

Z

0

N00 #KIN ID [1]N10 #RTCP ON

N20 G01 G18 X0 Y0 Z0 B90 F500N30 X-4

N40 G02 X-20 I-40 B-90 F2000

N50 .................

........................

Komple CNC çözümü ve fonksiyonları

Bir kanalda maksimum 32 eksen interpole olarak

çalışabilir.

DIN66025 kod standardına göre G-Code çalıştırabilme

özelliği

40’dan fazla makine kinematiğini destekler.

Özel fonksiyonlar (distance control, edge cutting, fly cut,

lift function, lateral surface, drill & milling cycles)

HSC ve çeşitli Spline çözümleri

TwinCAT CNC - Transformation

PC Tabanlı Otomasyon

TwinCAT CNC ayrıca kinematik transformasyon özelliğine sahiptir.

Standart kütüphanede 70’ten fazla mevcut model bulunmaktadır.

Esnek ve genişletilebilir.

Robot Kontrol Uygulamaları

Arm roboter

with 6 axes

Tripod

Parallel kinematic

standard

5 - axis - head

TwinCAT CNC Uygulama Örnekleri

PC Tabanlı Kontrol

HMI/Scada Çözümü

PC Tabanlı Otomasyon

Internet

ADS Router

ADS Dll TwinCAT OPC Server

VB C#,

VB.Net

Delphi

C++

XML

VB, C#

Delphi/C++

ASP OCX .Net

Third party

Wrapper

TwinCAT HMI Çözümü

Beckhoff ADS arayüzü ile

Kolay, açık, ücretsiz bir çözüm

Birçok SCADA üreticisi ile uyumlu

Standart OPC arayüzü

Desteklenen standartlar: DA/AE/XML

Explorer

Third party Third party

Neler Gerekli?

TwinCAT 2 Kurulum

• TwinCAT 2 sadece Windows tabanlı

işletim sistemlerinde çalıştırabilir!

• 32 bit PC üzerinde TwinCAT Run-Time

olarak çalışabilir. 64 bit PC üzerinde

sadece mühendislik yapılabilir.

• TwinCAT mühendislik yapılacak PC

için lisansa gerek duyulmaz. 30 günlük

demo versiyonu indirilir ve 30 gün

sonunda tekrar aynı PC’ye kurulum

yapılabilir.

• Kurulum dosyasına erişmek için:

http://www.beckhoff.com/tcatweb/twi

ncat_download_e.aspx

İndirme Sayfası

TwinCAT 2 Kurulum

• Formdaki ilgili alanlar doldurulur.

• TwinCAT versiyonu seçilir.

• ‘Registration’ butonuna basılır. Girilen

email adresine bir indirme linki gönderilir

ve bu link aracılığıyla TwinCAT 2

bilgisayara indirilir.

Kurulum Başlatılır

TwinCAT 2 Kurulum

Lisans Sözleşmesi Kabul Edilir

TwinCAT 2 Kurulum

Kullanıcı Adı, Şirket Bilgileri Girilir

TwinCAT 2 Kurulum

TwinCAT Lisans Tipi Seçilir

TwinCAT 2 Kurulum

30 günlük demo versiyonu seçilir

TwinCAT 2 Kurulum

TwinCAT fonksiyonları seçilir

TwinCAT 2 Kurulum

Kurulumun yapılacağı fiziksel yol belirlenir

TwinCAT 2 Kurulum

Program Klasör İsmi Belirlenir

TwinCAT 2 Kurulum

Kurulum Bittikten sonra PC Restart Edilir

TwinCAT 2 Kurulum

Kurulum Sonrası Programa Genel Bakış

TwinCAT 2 Kurulum

• TwinCAT sisteme kurulduktan sonra

sistem çubuğunda TwinCAT ikonu

belirir.

• TwinCAT yüklü olduğu her PC’yi bir

Hareket Kontrol ya da PLC kontrol

cihazına dönüştürerek, işletim

sisteminin gerçek zamanlı çalışmasını

sağlar.

• TwinCAT i başlatmak, durdurmak ya da

config mode almak için System

sekmesindeki seçenekler kullanılabilir.

• TwinCAT iki ana başlıkta incelenebilir:

• Donanım konfigrasyonunun

yapılandırıldığı System Manager

• Mantıksal Kontrol kısmının ve

görselliğin kazandırıldığı PLC Control.

Lisans Bilgileri

TwinCAT Lisans bilgileri

TwinCAT/Properties/Registration

sekmesi altında görülebilir.

TwinCAT Lisansları System ID bilgisine

göre verilir.

Eğer Demo kurulum yapıldıysa Demo

Süresinin bitiş tarihi ve zamanı da

buradan görülebilir.

TwinCAT 2 Kurulum

AMS Net Id

Tüm PC’ler network’de bir IP Adresi ile

adreslendirilir ve tanımlanırlar. Böylece

TCP-IP haberleşmesi yapabilir ve

birbirleri ile etkileşim halinde olabilirler.

(192.168.1.9)

Her TwinCAT yüklü PC ise bir AMS Net

Id ile tanımlanır ve TwinCAT servisleri

arasında ya da iki farklı PC kendi

arasında TwinCAT vasıtasıyla (ADS

protokolü) bu adres ile tanımlanırlar.

(192.168.1.9.1.1)

Son iki rakam istenilen gibi belirlenebilir

ama otomatik olarak 1.1 değerlerini alır.

TwinCAT 2 Kurulum

TwinCAT Durum Bilgisi

TwinCAT 2 Kurulum

Config Mode Run Mode Stop Mode Durum Değişimi

Sistem

Çubuğu

Anlamı

Donanım

değişikliklerini

taramak için

gereklidir.

PLC

programını

çalıştırabilmek

için gereklidir.

Herhangi bir

geliştirme ve

çalıştırma

yapılamaz

Durum

değişimi

sırasında bu

ikon belirir.

IP adresi ayarlamak

TwinCAT System Manager

Yeni Dosya Açmak

TwinCAT System Manager

New File

System Manager Lokal PC

üzerinde çalışıyor ve Config

Mode’da!

PC – CX Bağlantısı

TwinCAT System Manager

CX üzerinde proje geliştireceğiz. Bu

yüzden Target System’i bulmamız

gerekiyor!

PC – CX Bağlantısı

TwinCAT System Manager

Broadcast Search ile CX bulunur. PC’yi

listeye ekleyebilmek için Add Route

butonuna basılır.

Eğer Target PC’nin işletim sistemi

WindowsXP/XPE/7 ise Şifre

kısmına ‘1’ yazılır. Eğer Windows

CE ise şifre kısmı ‘boş’ bırakılır.

PC – CX Bağlantısı

TwinCAT System Manager

İşlem başarılı

olduğunda ‘X’

işareti gözükür!

PC nin IP adresi,

TwincAT versiyonu,

İşletim Sistemi gibi

bilgileri bu ekranda

bulabiliriz.

Daha sonra bu

pencere kapatılır.

PC – CX Bağlantısı

TwinCAT System Manager

Target System ‘CX’ olarak belirir.

TwinCAT Config Mode

TwinCAT System Manager

TwinCAT Run mode’da iken IO

buldurmamız veya yapılandırmamız

mümkün değil! Config Mode’a Geçiş

Scan Devices

TwinCAT System Manager

Free Run

TwinCAT System Manager

TwinCAT Freen Run ile IO testi

gerçekleştirilebilir. PLC programına

ihtiyaç duymadan fiziksel giriş/çıkış

okunulabilir/yazılabilir.

Online Değer Değişimi

TwinCAT System Manager

Online sekmesi altında IO’ların fiziksel durum bilgisi

gözlenebilir.

Değer değişimi

yapılabilir

EtherCAT Online Durum

TwinCAT System Manager

EtherCAT Online sekmesi ile Terminallerin EtherCAT Durum bilgileri

izlenebilir. Ayrıca EtherCAT hattında bir sorun olup olmadığı da buradaki

değerler ile anlaşılabilir

Emergency Scan

TwinCAT System Manager

Emergency Scan

TwinCAT System Manager

Terminal Ayarları – CoE Online

TwinCAT System Manager

Toolbar

TwinCAT System Manager

Sistem

üzerindeki

.tsm

dosyasını

açar System

Manager

dosyasını

kaydeder.

*.tsm

uzantılı.

System

Manager

dosyası

target

üzerinde

aktif hale

getirir.

TwinCAT’i

Run Mode

geçirir

TwinCAT’i

Config

Mode’a

geçirir

TwinCAT

FreeRun

Mode

Activate Configuration

System Manager dosyası Target PC üzerine activate butonu ile yüklenir ve

aktif hale getirilir.

Ancak EtherCAT Master ve Terminallerin ‘OP’ mode’a geçebilmesi için mutlaka bir

cyclic task’a ihtiyaç duyar. Bu yüzden bir PLC Task’ına bağlı bir IO link’i ya da bir

NC Task’ına bağlı bir eksen’e ihtiyaç duyar.

Aksi halde TwinCAT Run mode’da olmasına rağmen terminal ve EtherCAT master

‘PREOP’ mode’da kalabilir.

TwinCAT System Manager

EtherCAT master uyarısı TwinCAT Run Mode’da olmasına rağmen!

EtherCAT master PREOP’da kalır

Additional Task

TwinCAT System Manager

Additional Task

TwinCAT System Manager

Link IO

TwinCAT System Manager

Activate Configuration

TwinCAT System Manager

Activate Butonu sistem target PC’ye yüklenir

EtherCAT Master ‘OP’ mode’a geçer! Çünkü

herhangi bir IO’ya task’ta oluşturulan

değişken link yapıldı

Bus Coupler Tipleri

TwinCAT System Manager

11 – EtherCAT

2x – Lightbus

3x – PROFIBUS

4x – Interbus

51 – CANopen

52 – DeviceNet

70 – ControlNet

71 – CC-Link

73 – Modbus

74 – Fipio

75 – SERCOS

80 – RS485

81 – RS232

90, 91 – Ethernet TCP/IP

95 – USB

BC – onboard işlemcisi var,

PLC fonksiyonu görebilir.

BK – onboard işlemcisi

yoktur, bir PC’ye ihtiyaç

duyar.

BX – ekstra iletişim portları

ve onboard işlemcisi vardır.

PLC fonksiyonu görebilir.

LC – düşük fiyatlı

kontrolörlerdir.

Bus Terminal Tipleri

TwinCAT System Manager

(XX1xxx) – Digital Input

(XX2xxx) – Digital Output

(XX3xxx) – Analog Input

(XX4xxx) – Analog Output

(XX5xxx) – Sensor

(XX6xxx) – Communication

(XX7xxx) – Power Terminal

(XX9xxx) – Power Terminal

KLxxxx (standard) Bus

Terminaller için K-Bus’a

sahip terminallerdir.

ELxxxx (ultra high-speed)

EtherCat Bus Terminals. E-

Bus’a sahip yüksek hızlı

terminallerdir.

PLC Projesi Açmak

TwinCAT PLC Control

Target PC Tipi

TwinCAT PLC Control

PLC Programlama Dili Seçimi

TwinCAT PLC Control

IL: Instruction List

LD: Ladder Diagram

FBD: Function Block Diagram

SFC: Sequential Function Chart

ST: Structured Text

CFC: Continuous function chart

TwinCAT PLC Control Genel Bakış

TwinCAT PLC Control

Program,

Fonksiyon Blok,

Fonksiyon

Data Tipleri ve

Enümerik Değer

Tanımlama

Visualization

tanımlama

Global Değişken,

Kütüphane, Task

vb. Tanımlama

TwinCAT PLC Control Genel Bakış

TwinCAT PLC Control

Yerel Tanımlama Penceresi

Programlama Ekranı

Global Tanımlama Penceresi

TwinCAT PLC Control Genel Bakış

TwinCAT PLC Control

TwinCAT PLC Control Genel Bakış

TwinCAT PLC Control

Alternatif yöntem olarak; ‘MAIN’ Programında çağırmak

Standart olarak 10ms’lik bir task açılır ve MAIN burada çağırılır.

TwinCAT PLC Control Genel Bakış

TwinCAT PLC Control

Task adı bu bölümde yazılır. Bir PLC projesi maksimum 4 task çalıştırabilir.

Task önceliği 0-3 arasında değişen bir değer

alır. Task’ın önemini ve önceliğini belirtir.

Zaman aralığı. PLC programı burada yazılan

değer süresinde işletilmeye çalışılır.

PLC Projesi Karşılaştırma

TwinCAT PLC Control

PLC Projesi Karşılaştırma

TwinCAT PLC Control

Farklar

PLC Projesinin yükleneceği hedef PC

TwinCAT PLC Control

TwinCAT PLC Control: Choose runtime system

Program Yükleme, Çalıştırma ve Test

TwinCAT PLC Control

Create Boot Project

TwinCAT PLC Control

TwinCAT PLC Control TwinCAT System Manager 1 2 3

Source Code Download

TwinCAT PLC Control

TwinCAT PLC Control settings for sourcecode download TwinCAT PLC Control

More settings see following page

Automatic!

Source Code Download

TwinCAT PLC Control

SourceCode Download TwinCAT PLC Control

Değişken Tanımlama

TwinCAT PLC Control

b – Boolean

r – Real

s - String

ST_ - Declaration of structures

st - Initialisation of structures

FB_ - Declaration of function blocks

fb – Initialisation of function blocks

M_ - Declaration of methods

bEndschalterLinks

rSollPosition

sRxDaten

ST_MotorDaten (declaration)

stM1Parameter (instance)

FB_Ueberlast (declaration)

fbM1Ueberlast (instance)

«Hungarian Notation» İlk harf küçük olur ve değişken tipini belirtir, diger kelimelerin

her ilk harfi büyük başlar.

Değişken tanımlamada kullanılan ön ekler ve ilk harfler program yazmada iş

kolaylaştırır. İşte birkaç ipucu

Değişken Tanımlama

TwinCAT PLC Control

İsim kısıtlamaları

1. Özel karakter yok

2. Boşluk yok

3. Orta çizgi yok

4. ü-ö gibi üslü harf

yok

a

b

c

Lamp AT %Q* : BOOL;

Switch AT %I* : BOOL;

AnalogValue AT %I*:INT;

Temperature AT %I* :INT;

Counter AT %I* : UINT;

PWM_Output AT %Q* :INT;

Değişken Tanımlama

TwinCAT PLC Control

Değişken Tanımlama

TwinCAT PLC Control

Tür Alt Limit Üst Limit Hafıza Alanı

BYTE 0 255 8 bit

WORD 0 65535 16 bit

DWORD 0 4294967295 32 bit

SINT - 128 127 8 bit

USINT 0 255 8 bit

INT - 32768 32767 16 bit

UINT 0 65535 16 bit

DINT - 2147483648 2147483647 32 bit

UDINT 0 4294967295 32 bit

Değişken Tanımlama

TwinCAT PLC Control

STRING Tanımlarken

parantez içindeki sayı

string değişkenin kaç

karakter olacağını

belirtir.

Default olarak

tanımlanan değişken

80 karakterdir.

Bir karakter bir byte

büyüklüğüne karşılık

gelir.

Tüm STRING değişkenler

aslında +1 byte

büyüklüğündedir. Çünkü

hepsinin End of Text karakteri

bulunmaktadır.

VAR

strVar :STRING(3);

lenVar: INT;

sizeVar: INT;

END_VAR

Değişken Tanımlama

TwinCAT PLC Control

characters

PLC Hafızası VAR

strVar :STRING(5);

lenVar: INT;

sizeVar: INT;

END_VAR

Değişken Tanımlama

TwinCAT PLC Control

Karakter Açıklama

$$ dollar signs

$‘ Single

quotation mark

$L or $l Line feed

$N or $n New line

$P or $p Page feed

$R or $r Line break

$T or $t Tab

Özel Karakterler

Değişken Tanımlama

TwinCAT PLC Control

bStellerUntenLinks :BOOL:=TRUE;

Değişken Data Tipi İlk Değer

AccelerationTime : TIME := T#3s200ms;

Değişken Tanımlama

TwinCAT PLC Control

Identifier AT Address : Data type ;

TwinCAT içerisinde giriş/çıkış değişkeni tanımlanırken, adres atamasına gerek yoktur.

TwinCAT System Manager’daki link mantığı ile otomatik adreslendirme yapılır

bStellerUntenLinks AT%I*:BOOL;

Identifier

%M

%Q

%I AT X

B

W

D

Byte Data type

Byte

Bit .

Değişken Tanımlama

TwinCAT PLC Control

VAR_GLOBAL CONSTANT

pi :REAL:=3.141592654;

END_VAR

PROGRAM A

VAR CONSTANT

END_VAR

VAR_GLOBAL CONSTANT

END_VAR

Değişken Tanımlama

TwinCAT PLC Control

Function’lar değer döndürebilir

Fonksiyon İsmi

Fonksiyonun İşlem

Sonucu Döndüreceği

Değer Girişler

Lokal Değişkenler

Değişken Tanımlama – Enumaration Olmadan

TwinCAT PLC Control

Enum olmadan sadece

sayılarla çalışılır. Anlam

karmaşası doğurabilir

Değişken Tanımlama – Enumaration

TwinCAT PLC Control

Enum

Değişken Tanımlama – Structure

TwinCAT PLC Control

Pers_Data

Name: Firstname:

Age: Address:

form

TYPE Pers_Data :

STRUCT

Name: STRING(25);

Firstname: STRING(25);

Age:USINT;

Address: STRING(55);

END_STRUCT

END_TYPE

Yeni Data Tipi

P1 : Pers_Data

P1.Name := ‘Matthias’;

P1.Firstname := ‘Hölger’;

P1.Age := 27;

P1.Address := ‘Istanbul, Turkey’;

Değişken Tanımlama – Array

TwinCAT PLC Control

DBZeiten :ARRAY [0..6] OF TIME:= T#1s, T#2s, T#1s, 4(T#0s);

Identifier Field Data type Initial value

0 1 2 3 4 5 6

T#1s T#2s T#1s T#0s T#0s T#0s T#0s

Access: VAR

WertAusArray : TIME;

END_VAR

WertAusArray := DBZeiten[1];

Değişken Tanımlama – Array

TwinCAT PLC Control

Bir dizi farklı yapı tiplerinden oluşabilir:

Structure:

TYPE DrillPos : STRUCT XPos: LREAL; FeedrateX: LREAL; AccelerationX: LREAL; DeccelerationX: LREAL; JerkX: LREAL; YPos: LREAL; FeedrateY: LREAL; AcceleartionY: LREAL; DeccelerationY: LREAL; JerkY: LREAL; FeedDrill: LREAL; Kuehlen: BOOL; END_STRUCT END_TYPE Declaration of the arrays :

Positions :ARRAY[0..100] OF DrillPos;

Operands

TwinCAT PLC Control

Operation

Put in parentheses Function call Exponentiation Negate Build. complements Multiply Divide Modulo Add Substract Compare Equal to Not Equal to Bool AND Bool XOR Bool OR

Symbol

(expression) Function name (parameter list) EXPT - NOT * / MOD + - <,>,<=,>= = <> AND XOR OR

Operands

TwinCAT PLC Control

Instruction

Assignment :=

Callin a function block

RETURN

IF

CASE

FOR

WHILE

REPEAT

EXIT

Empty instruction

Example

PosWert := 10;

Ton1(IN:=Start, PT:=T2s); Output:= Ton1.Q;

RETURN;

See the following pages

;

IF

TwinCAT PLC Control

Instruction block

Condition

Yes

No

IF Condition THEN

Instruction block;

END_IF

IF

TwinCAT PLC Control

IF a>b THEN

Instruction block A;

ELSE

Instruction block B;

END_IF Instruction block A

Condition

Yes

No

Instruction block B

IF

TwinCAT PLC Control

IF Condition1 THEN

Instruction block A;

ELSIF Condition2 THEN

Instruction block B;

ELSIF Condition3 THEN

Instruction block C;

ELSE

Instruction block D;

END_IF

Instruction block A

Condition 1

Yes No

Instruction block B

Condition 2

Yes No

Condition 3

Yes No

Instruction block C Instruction block D

IF

TwinCAT PLC Control

IF bVar THEN

.

IF a>b THEN

.

IF LEFT(STR:= strVar, SIZE:=7) = 'TwinCAT' THEN

.

IF Ton1.Q THEN

.

IF Ton1(IN:=bVar, PT:=T#1s ) THEN

Conditions :

•BOOLEAN Variable

•Comparison

•Function calls

•Call FB Instances

•NO FB call!

«Koşul Değişkeni» neler olabilir?

CASE

TwinCAT PLC Control

CASE State OF

0: Q0:=TRUE;

IF Transition THEN state := 1; END_IF

1: Q1:=TRUE;

IF Transition THEN state := 2; END_IF

2: Q2:=TRUE;

IF Transition THEN state := 3; END_IF

3: Q3:=TRUE;

IF Transition THEN state := 0; END_IF

END_CASE

Actions

Transitions

FOR

TwinCAT PLC Control

FOR i:=1 TO 12 BY 2 DO

Field[i]:=i*2;(*instruction*)

END_FOR

cycle n Start i:=Start value

Instruction block

cycle n

i

>End value

Yes

No

I:= i+ Step width

WHILE

TwinCAT PLC Control

i:=0;

WHILE i<100 DO

Field[i]:=i*2;(*instruction*)

i:=i+1;

END_WHILE

Boolean

Expression

Instruction block

I:= i+ Step width

cycle n

cycle n

Yes

No

REPEAT

TwinCAT PLC Control

i:=0;

REPEAT

Field[i]:=i*2;(*Instruction*)

i:=i+1;

UNTIL i>100

END_REPEAT

Boolean

expression

Instruction block

I:= i+ Step width

cycle n

Cycle n

Yes No

Funciton Block Calls

TwinCAT PLC Control

TON1 (IN:= NOT TON1.Q , PT:=T#1s );

Q0:= TON1.Q;

VAR

TON1:TON;

END_VAR

TON1(IN:= NOT TON1.Q, PT:=T#1s , Q=>Q0 );

Function Calls

TwinCAT PLC Control

Result:=Scale (x:=input, xug:=0.0, xog:=32767.0, yug:=0.0,yog:=100.0);

(* Eşit:*) Result:=Scale (input, 0.0, 32767.0, 0.0, 100.0);

(* Eşit:*)

Result:=Scale (

x:= input,

xug:= 0.0,

xog:= 32767.0,

yug:= 0.0,

yog:= 100.0

);

Logical Operator

TwinCAT PLC Control

ST FUP / CFC

Numerical Operator

TwinCAT PLC Control

FUP / CFC ST

- * /

Conversion

TwinCAT PLC Control

ST Operator

R_TRIG / F_TRIG

TwinCAT PLC Control

CLK BOOL Triggerinput R_TRIG: Rising Edge,

F_TRIG: Falling Edge Q BOOL Output 1 PLC cy´cle F

UP

/ CF

C

ST

CLK

Q

CLK

Q

R_TRI

G

F_TRI

G

TON

TwinCAT PLC Control

IN

Q

ET

IN BOOL Start

PT TIME Preset Time

Q BOOL Output

ET TIME Elapsed Time,

FU

P / C

FC

S

T

COUNTER

TwinCAT PLC Control

ST

FU

P / C

FC

CU BOOL Count Up

RESET BOOL reset

PV UINT Preset Value

Q BOOL Counter is „PV“

CV WORD Countervalue

top related