View
145
Download
12
Category
Preview:
Citation preview
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
Recommended