Top Banner
TwinCAT 2 Teknik Eğitim PC Tabanlı Otomasyon
106

Twincat Plc Tr

Dec 26, 2015

Download

Documents

Ersin Celebi
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Twincat Plc Tr

TwinCAT 2 Teknik Eğitim

PC Tabanlı Otomasyon

Page 2: Twincat Plc Tr

TwinCAT 2

PC Tabanlı Otomasyon

1. PC Tabanlı Otomasyon

2. TwinCAT Mimari

3. TwinCAT Lisans Tipleri

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

Page 3: Twincat Plc Tr

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

Page 4: Twincat Plc Tr

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

Page 5: Twincat Plc Tr

4 Performans Seviyesi

PC Tabanlı Otomasyon

performans

BC Serisi

BX Serisi

CX Serisi

fiyat

IPC Serisi

Page 6: Twincat Plc Tr

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)

Page 7: Twincat Plc Tr

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

Page 8: Twincat Plc Tr

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

Page 9: Twincat Plc Tr

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

Page 10: Twincat Plc Tr

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)

Page 11: Twincat Plc Tr

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

Page 12: Twincat Plc Tr

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

Page 13: Twincat Plc Tr

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ı

Page 14: Twincat Plc Tr

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ı

Page 15: Twincat Plc Tr

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)

Page 16: Twincat Plc Tr

TwinCAT NCI – Uygulama Örnekleri

PC Tabanlı Otomasyon

Page 17: Twincat Plc Tr

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

Page 18: Twincat Plc Tr

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

Page 19: Twincat Plc Tr

TwinCAT CNC Uygulama Örnekleri

PC Tabanlı Kontrol

Page 20: Twincat Plc Tr

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

Page 21: Twincat Plc Tr

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

Page 22: Twincat Plc Tr

İ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.

Page 23: Twincat Plc Tr

Kurulum Başlatılır

TwinCAT 2 Kurulum

Page 24: Twincat Plc Tr

Lisans Sözleşmesi Kabul Edilir

TwinCAT 2 Kurulum

Page 25: Twincat Plc Tr

Kullanıcı Adı, Şirket Bilgileri Girilir

TwinCAT 2 Kurulum

Page 26: Twincat Plc Tr

TwinCAT Lisans Tipi Seçilir

TwinCAT 2 Kurulum

Page 27: Twincat Plc Tr

30 günlük demo versiyonu seçilir

TwinCAT 2 Kurulum

Page 28: Twincat Plc Tr

TwinCAT fonksiyonları seçilir

TwinCAT 2 Kurulum

Page 29: Twincat Plc Tr

Kurulumun yapılacağı fiziksel yol belirlenir

TwinCAT 2 Kurulum

Page 30: Twincat Plc Tr

Program Klasör İsmi Belirlenir

TwinCAT 2 Kurulum

Page 31: Twincat Plc Tr

Kurulum Bittikten sonra PC Restart Edilir

TwinCAT 2 Kurulum

Page 32: Twincat Plc Tr

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.

Page 33: Twincat Plc Tr

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

Page 34: Twincat Plc Tr

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

Page 35: Twincat Plc Tr

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.

Page 36: Twincat Plc Tr

IP adresi ayarlamak

TwinCAT System Manager

Page 37: Twincat Plc Tr

Yeni Dosya Açmak

TwinCAT System Manager

New File

System Manager Lokal PC

üzerinde çalışıyor ve Config

Mode’da!

Page 38: Twincat Plc Tr

PC – CX Bağlantısı

TwinCAT System Manager

CX üzerinde proje geliştireceğiz. Bu

yüzden Target System’i bulmamız

gerekiyor!

Page 39: Twincat Plc Tr

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.

Page 40: Twincat Plc Tr

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.

Page 41: Twincat Plc Tr

PC – CX Bağlantısı

TwinCAT System Manager

Target System ‘CX’ olarak belirir.

Page 42: Twincat Plc Tr

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ş

Page 43: Twincat Plc Tr

Scan Devices

TwinCAT System Manager

Page 44: Twincat Plc Tr

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.

Page 45: Twincat Plc Tr

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

Page 46: Twincat Plc Tr

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

Page 47: Twincat Plc Tr

Emergency Scan

TwinCAT System Manager

Page 48: Twincat Plc Tr

Emergency Scan

TwinCAT System Manager

Page 49: Twincat Plc Tr

Terminal Ayarları – CoE Online

TwinCAT System Manager

Page 50: Twincat Plc Tr

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

Page 51: Twincat Plc Tr

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

Page 52: Twincat Plc Tr

Additional Task

TwinCAT System Manager

Page 53: Twincat Plc Tr

Additional Task

TwinCAT System Manager

Page 54: Twincat Plc Tr

Link IO

TwinCAT System Manager

Page 55: Twincat Plc Tr

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ı

Page 56: Twincat Plc Tr

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.

Page 57: Twincat Plc Tr

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.

Page 58: Twincat Plc Tr

PLC Projesi Açmak

TwinCAT PLC Control

Page 59: Twincat Plc Tr

Target PC Tipi

TwinCAT PLC Control

Page 60: Twincat Plc Tr

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

Page 61: Twincat Plc Tr

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

Page 62: Twincat Plc Tr

TwinCAT PLC Control Genel Bakış

TwinCAT PLC Control

Yerel Tanımlama Penceresi

Programlama Ekranı

Global Tanımlama Penceresi

Page 63: Twincat Plc Tr

TwinCAT PLC Control Genel Bakış

TwinCAT PLC Control

Page 64: Twincat Plc Tr

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.

Page 65: Twincat Plc Tr

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.

Page 66: Twincat Plc Tr

PLC Projesi Karşılaştırma

TwinCAT PLC Control

Page 67: Twincat Plc Tr

PLC Projesi Karşılaştırma

TwinCAT PLC Control

Farklar

Page 68: Twincat Plc Tr

PLC Projesinin yükleneceği hedef PC

TwinCAT PLC Control

TwinCAT PLC Control: Choose runtime system

Page 69: Twincat Plc Tr

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

TwinCAT PLC Control

Page 70: Twincat Plc Tr

Create Boot Project

TwinCAT PLC Control

TwinCAT PLC Control TwinCAT System Manager 1 2 3

Page 71: Twincat Plc Tr

Source Code Download

TwinCAT PLC Control

TwinCAT PLC Control settings for sourcecode download TwinCAT PLC Control

More settings see following page

Automatic!

Page 72: Twincat Plc Tr

Source Code Download

TwinCAT PLC Control

SourceCode Download TwinCAT PLC Control

Page 73: Twincat Plc Tr

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

Page 74: Twincat Plc Tr

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;

Page 75: Twincat Plc Tr

Değişken Tanımlama

TwinCAT PLC Control

Page 76: Twincat Plc Tr

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

Page 77: Twincat Plc Tr

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

Page 78: Twincat Plc Tr

Değişken Tanımlama

TwinCAT PLC Control

characters

PLC Hafızası VAR

strVar :STRING(5);

lenVar: INT;

sizeVar: INT;

END_VAR

Page 79: Twincat Plc Tr

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

Page 80: Twincat Plc Tr

Değişken Tanımlama

TwinCAT PLC Control

bStellerUntenLinks :BOOL:=TRUE;

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

AccelerationTime : TIME := T#3s200ms;

Page 81: Twincat Plc Tr

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 .

Page 82: Twincat Plc Tr

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

Page 83: Twincat Plc Tr

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

Page 84: Twincat Plc Tr

Değişken Tanımlama – Enumaration Olmadan

TwinCAT PLC Control

Enum olmadan sadece

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

karmaşası doğurabilir

Page 85: Twincat Plc Tr

Değişken Tanımlama – Enumaration

TwinCAT PLC Control

Enum

Page 86: Twincat Plc Tr

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’;

Page 87: Twincat Plc Tr

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];

Page 88: Twincat Plc Tr

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;

Page 89: Twincat Plc Tr

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

Page 90: Twincat Plc Tr

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

;

Page 91: Twincat Plc Tr

IF

TwinCAT PLC Control

Instruction block

Condition

Yes

No

IF Condition THEN

Instruction block;

END_IF

Page 92: Twincat Plc Tr

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

Page 93: Twincat Plc Tr

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

Page 94: Twincat Plc Tr

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?

Page 95: Twincat Plc Tr

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

Page 96: Twincat Plc Tr

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

Page 97: Twincat Plc Tr

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

Page 98: Twincat Plc Tr

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

Page 99: Twincat Plc Tr

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 );

Page 100: Twincat Plc Tr

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

);

Page 101: Twincat Plc Tr

Logical Operator

TwinCAT PLC Control

ST FUP / CFC

Page 102: Twincat Plc Tr

Numerical Operator

TwinCAT PLC Control

FUP / CFC ST

- * /

Page 103: Twincat Plc Tr

Conversion

TwinCAT PLC Control

ST Operator

Page 104: Twincat Plc Tr

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

Page 105: Twincat Plc Tr

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

Page 106: Twincat Plc Tr

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