PC Tabanlı Otomasyon
TwinCAT 2 Teknik Eğitim
PC Tabanlı Otomasyon
TwinCAT 2
1. PC Tabanlı Otomasyon 2. TwinCAT Mimari 3. TwinCAT Lisans Tipleri 4. TwinCAT HMI/Scada Çözümü
PC Tabanlı Otomasyon
Gelişim Konvensiyonel Kontrol PC-Tabanlı Kontrol
Hardware
IPC Prog. Tool
HMI
IPC
NC
I/O
CPU
Comm.
Mechanic Slots/CPUs Parallel wiring Communication
Software Electronic Tasks Fieldbus Direct access
Fieldbuses
PC Tabanlı Otomasyon
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 performans
IPC Serisi CX Serisi BX Serisi
BC Serisi
fiyat
PC Tabanlı Otomasyon
PC Platformu üzerinde TwinCAT 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 Tabanlı Otomasyon
PC Platformu
Diagnostic e.g. Scope
System Manager
PLC Control
User HMI
User HMI
ADS
ADS
ADS
OCX/Dll
OPC
ADS
ADS
User mode
TwinCAT system
TCP/IP
ADS Router
ADS
I/O Server
ADS
ADS
ADS
PLC Server
NC Server
other e.g. CAM
I/O
I/O
I/O
I/O Mapping Fieldbus Card Drivers
Kernel mode
Real-time Server
Windows NT, 2000, XP
PC Tabanlı Otomasyon
PC Platformu 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
Basetime
Max. Real TwinCAT on
80 % 40 % NT on
Basetime 20 %
60 %
Basetime
80 %
20 %
80 %
20 %
80 % 60 %
20 %
40 % TwinCAT RT Windows
PC Tabanlı Otomasyon
TwinCAT I/O Sistemi 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
TwinCAT process image Input
Output Mapping
MP-Bus
EIB LON DALI
I
O
fieldbus 1
I
O
fieldbus 2
I
O
fieldbus 3
PC Tabanlı Otomasyon
TwinCAT PLC 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)
PC Tabanlı Otomasyon
TwinCAT NC PTP 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
PC Tabanlı Otomasyon
TwinCAT NC PTP Point-to-point hareket (MC_MoveAbsolute, MC_MoveVelocity)
Gearing (MC_GearIn, MC_GearOut)
Digital cam switch
Camming
Superposition
Flying saw
PC Tabanlı Otomasyon
TwinCAT NCI 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ı
PC Tabanlı Otomasyon
TwinCAT NCI – Kinematik Transformasyon 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ı
PC Tabanlı Otomasyon
TwinCAT NCI – Kinematik Transformasyon
Cartesian Portal
Shear kinematic
2D Parallel kinematic Roll kinematic (H-Bot)
Crane kinematic
SCARA 3D Delta
Hexapod 6 axes seriell kinematic (in developement)
PC Tabanlı Otomasyon
TwinCAT NCI – Uygulama Örnekleri
PC Tabanlı Otomasyon
TwinCAT CNC Komple CNC çözümü ve fonksiyonları Bir kanalda maksimum 32 eksen interpole olarak çalışabilir.
N00 #KIN ID [1] N10 #RTCP ON N20 G01 G18 X0 Y0 Z0 B90 F500 N30 X-4 N40 G02 X-20 I-40 B-90 F2000 N50 ................. ........................
DIN66025 kod standardına göre G-Code çalıştırabilme özelliği
Path of rotation point of rotatory axis
40’dan fazla makine kinematiğini destekler. Z
Özel fonksiyonlar (distance control, edge cutting, fly cut, lift function, lateral surface, drill & milling cycles) HSC ve çeşitli Spline çözümleri
Path of tool centre point
X 0
PC Tabanlı Otomasyon
TwinCAT CNC - Transformation 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
PC Tabanlı Kontrol
TwinCAT CNC Uygulama Örnekleri
PC Tabanlı Otomasyon
HMI/Scada Çözümü 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 VB
C#, VB.Net
Delphi Third party C++
Explorer Third party
Third party
VB, C# Delphi/C++
Internet
OCX
.Net
ASP
XML
Wrapper
TwinCAT OPC Server
ADS Dll ADS Router
TwinCAT 2 Kurulum
Neler Gerekli? • 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
TwinCAT 2 Kurulum
İndirme Sayfası • 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.
TwinCAT 2 Kurulum
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 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.
TwinCAT 2 Kurulum
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
Config Mode
Run Mode
Stop Mode
Durum Değişimi
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.
Sistem Çubuğu
Anlamı
TwinCAT System Manager
IP adresi ayarlamak
TwinCAT System Manager
Yeni Dosya Açmak New File
System Manager Lokal PC üzerinde çalışıyor ve Config Mode’da!
TwinCAT System Manager
PC – CX Bağlantısı
CX üzerinde proje geliştireceğiz. Bu yüzden Target System’i bulmamız gerekiyor!
TwinCAT System Manager
PC – CX Bağlantısı
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. Broadcast Search ile CX bulunur. PC’yi listeye ekleyebilmek için Add Route butonuna basılır.
TwinCAT System Manager
PC – CX Bağlantısı İş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.
TwinCAT System Manager
PC – CX Bağlantısı
Target System ‘CX’ olarak belirir.
TwinCAT System Manager
TwinCAT Config Mode TwinCAT Run mode’da iken IO buldurmamız veya yapılandırmamız mümkün değil! Config Mode’a Geçiş
TwinCAT System Manager
Scan Devices
TwinCAT System Manager
Free Run TwinCAT Freen Run ile IO testi gerçekleştirilebilir. PLC programına ihtiyaç duymadan fiziksel giriş/çıkış okunulabilir/yazılabilir.
TwinCAT System Manager
Online Değer Değişimi
Değer değişimi yapılabilir
Online sekmesi altında IO’ların fiziksel durum bilgisi gözlenebilir.
TwinCAT System Manager
EtherCAT Online Durum
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
TwinCAT System Manager
Emergency Scan
TwinCAT System Manager
Emergency Scan
TwinCAT System Manager
Terminal Ayarları – CoE Online
TwinCAT System Manager
Toolbar
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
TwinCAT System Manager
Activate Configuration System Manager dosyası Target PC üzerine activate aktif hale getirilir.
butonu ile yüklenir ve
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.
EtherCAT master uyarısı
TwinCAT Run Mode’da olmasına rağmen! EtherCAT master PREOP’da kalır
TwinCAT System Manager
Additional Task
TwinCAT System Manager
Additional Task
TwinCAT System Manager
Link IO
TwinCAT System Manager
Activate Configuration 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ı
TwinCAT System Manager
Bus Coupler Tipleri 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.
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
TwinCAT System Manager
Bus Terminal Tipleri KLxxxx (standard) Bus Terminaller için K-Bus’a sahip terminallerdir. ELxxxx (ultra high-speed) EtherCat Bus Terminals. EBus’a sahip yüksek hızlı terminallerdir.
(XX1xxx) – Digital Input
(XX2xxx) – Digital Output
(XX3xxx) – Analog Input
(XX4xxx) – Analog Output
(XX5xxx) – Sensor
(XX6xxx) – Communication
(XX7xxx) – Power Terminal
(XX9xxx) – Power Terminal
TwinCAT PLC Control
PLC Projesi Açmak
TwinCAT PLC Control
Target PC Tipi
TwinCAT PLC Control
PLC Programlama Dili Seçimi
IL: LD: FBD: SFC: ST: CFC:
Instruction List Ladder Diagram Function Block Diagram Sequential Function Chart Structured Text Continuous function chart
TwinCAT PLC Control
TwinCAT PLC Control Genel Bakış
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
TwinCAT PLC Control Genel Bakış Yerel Tanımlama Penceresi
Programlama Ekranı
Global Tanımlama Penceresi
TwinCAT PLC Control
TwinCAT PLC Control Genel Bakış
TwinCAT PLC Control
TwinCAT PLC Control Genel Bakış 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
TwinCAT PLC Control Genel Bakış 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.
Task adı bu bölümde yazılır.
TwinCAT PLC Control
PLC Projesi Karşılaştırma
TwinCAT PLC Control
PLC Projesi Karşılaştırma
Farklar
TwinCAT PLC Control
PLC Projesinin yükleneceği hedef PC TwinCAT PLC Control: Choose runtime system
TwinCAT PLC Control
Program Yükleme, Çalıştırma ve Test
TwinCAT PLC Control
Create Boot Project TwinCAT PLC Control
1
2
TwinCAT System Manager
3
TwinCAT PLC Control
Source Code Download TwinCAT PLC Control
TwinCAT PLC Control settings for sourcecode download
More settings see following page
Automatic!
TwinCAT PLC Control
Source Code Download TwinCAT PLC Control
SourceCode Download
TwinCAT PLC Control
Değişken Tanımlama
Değişken tanımlamada kullanılan ön ekler ve ilk harfler program yazmada iş kolaylaştırır. İşte birkaç ipucu
«Hungarian Notation» İlk harf küçük olur ve değişken tipini belirtir, diger kelimelerin her ilk harfi büyük başlar.
b r s ST_ st FB_ fb M_
– Boolean – Real - String - Declaration of structures - Initialisation of structures - Declaration of function blocks – Initialisation of function blocks - Declaration of methods
bEndschalterLinks rSollPosition sRxDaten ST_MotorDaten stM1Parameter FB_Ueberlast fbM1Ueberlast
(declaration) (instance) (declaration) (instance)
TwinCAT PLC Control
Değişken Tanımlama İsim kısıtlamaları
Lamp AT %Q* : BOOL; Switch AT %I* : BOOL;
AnalogValue AT %I*:INT;
1. Özel karakter yok
2. Boşluk yok
Temperature AT %I* :INT; 3. Orta çizgi yok a
Counter AT %I* : UINT;
b c
PWM_Output AT %Q* :INT;
4. ü-ö gibi üslü harf yok
TwinCAT PLC Control
Değişken Tanımlama
TwinCAT PLC Control
Değişken Tanımlama 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
TwinCAT PLC Control
Değişken Tanımlama 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.
VAR strVar :STRING(3); lenVar: INT; sizeVar: INT; END_VAR
Tüm STRING değişkenler aslında +1 byte büyüklüğündedir. Çünkü hepsinin End of Text karakteri bulunmaktadır.
TwinCAT PLC Control
Değişken Tanımlama PLC Hafızası
VAR strVar :STRING(5); lenVar: INT; sizeVar: INT; END_VAR
characters
TwinCAT PLC Control
Değişken Tanımlama
Özel Karakterler
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
TwinCAT PLC Control
Değişken Tanımlama
Değişken
Data Tipi
İlk Değer
bStellerUntenLinks :BOOL:=TRUE; AccelerationTime : TIME := T#3s200ms;
TwinCAT PLC Control
Değişken Tanımlama
Identifier AT Identifier
Address AT
: %I
X
%Q
B
%M
W
Byte
Data type ; .
Bit
Data type
Byte
D
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;
TwinCAT PLC Control
Değişken Tanımlama
VAR_GLOBAL CONSTANT END_VAR
PROGRAM A VAR CONSTANT END_VAR
VAR_GLOBAL CONSTANT pi :REAL:=3.141592654; END_VAR
TwinCAT PLC Control
Değişken Tanımlama
Function’lar değer döndürebilir
Fonksiyon İsmi Girişler
Lokal Değişkenler
Fonksiyonun İşlem Sonucu Döndüreceği Değer
TwinCAT PLC Control
Değişken Tanımlama – Enumaration Olmadan
Enum olmadan sadece sayılarla çalışılır. Anlam karmaşası doğurabilir
TwinCAT PLC Control
Değişken Tanımlama – Enumaration
Enum
TwinCAT PLC Control
Değişken Tanımlama – Structure form
P1 : Pers_Data
Pers_Data
Name: Age:
Firstname: Address:
TYPE Pers_Data : STRUCT Name: STRING(25); Firstname: STRING(25); Age:USINT; Address: STRING(55); END_STRUCT END_TYPE
P1.Name := ‘Matthias’; P1.Firstname := ‘Hölger’; P1.Age := 27; P1.Address := ‘Istanbul, Turkey’;
Yeni Data Tipi
TwinCAT PLC Control
Değişken Tanımlama – Array
Identifier
Field
Data type
Initial value
DBZeiten :ARRAY [0..6] OF TIME:= T#1s, T#2s, T#1s, 4(T#0s);
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];
TwinCAT PLC Control
Değişken Tanımlama – Array Bir dizi farklı yapı tiplerinden oluşabilir: Structure: TYPE DrillPos : STRUCTXPos: FeedrateX: AccelerationX: DeccelerationX: JerkX: YPos: FeedrateY: AcceleartionY: DeccelerationY: JerkY: FeedDrill: Kuehlen: END_STRUCT END_TYPE
LREAL; LREAL; LREAL; LREAL; LREAL; LREAL; LREAL; LREAL; LREAL; LREAL; LREAL; BOOL;
Declaration of the arrays : Positions :ARRAY[0..100] OF DrillPos;
TwinCAT PLC Control
Operands
Operation
Symbol
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
(expression) Function name (parameter list) EXPT NOT * / MOD + <,>,<=,>= = <> AND XOR OR
TwinCAT PLC Control
Operands Instruction
Example
Assignment :=
PosWert := 10;
Callin a function block
Ton1(IN:=Start, PT:=T2s); Output:= Ton1.Q;
RETURN
RETURN;
IF
See the following pages
CASE FOR WHILE
REPEAT EXIT Empty instruction
;
TwinCAT PLC Control
IF
Condition IF Condition THEN Instruction block; END_IF
Yes
Instruction block
No
TwinCAT PLC Control
IF
Condition IF a>b THEN Instruction block A; ELSE Instruction block B; END_IF
No
Yes
Instruction block A
Instruction block B
TwinCAT PLC Control
IF
IF Condition1 THEN Instruction block A; ELSIF Condition2 THEN Instruction block B; ELSIF Condition3 THEN Instruction block C; ELSE Instruction block D; END_IF
Condition 1 Yes
No Condition 2
No
Yes Condition 3 Yes Instruction block A
Instruction block B
Instruction block C
No Instruction block D
TwinCAT PLC Control
IF «Koşul Değişkeni» neler olabilir?
Conditions :
•BOOLEAN Variable •Comparison •Function calls •Call FB Instances •NO FB call!
IF bVar THEN . IF a>b THEN . IF LEFT(STR:= strVar, SIZE:=7) = 'TwinCAT' . IF Ton1.Q THEN . IF Ton1(IN:=bVar, PT:=T#1s ) THEN
THEN
TwinCAT PLC Control
CASE
CASE State OF 0:
Actions
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
Transitions
TwinCAT PLC Control
FOR cycle n
Start i:=Start value
i >End value
No Instruction block
I:= i+ Step width
FOR i:=1 TO 12 BY 2 DO Field[i]:=i*2;(*instruction*) END_FOR cycle n
Yes
TwinCAT PLC Control
WHILE cycle n
Boolean Expression Yes
i:=0; WHILE i<100 DO Field[i]:=i*2;(*instruction*) i:=i+1; END_WHILE
Instruction block I:= i+ Step width
cycle n
No
TwinCAT PLC Control
REPEAT Cycle n
Instruction block I:= i+ Step width
i:=0; REPEAT Field[i]:=i*2;(*Instruction*) i:=i+1; UNTIL i>100 END_REPEAT
Yes
Boolean expression
cycle n
No
TwinCAT PLC Control
Funciton Block Calls VAR TON1:TON; END_VAR
TON1 (IN:= NOT TON1.Q , PT:=T#1s ); Q0:= TON1.Q;
TON1(IN:= NOT TON1.Q, PT:=T#1s , Q=>Q0 );
TwinCAT PLC Control
Function Calls 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
);
TwinCAT PLC Control
Logical Operator
FUP / CFC
ST
TwinCAT PLC Control
Numerical Operator FUP / CFC
ST
- * /
TwinCAT PLC Control
Conversion Operator
ST
TwinCAT PLC Control
R_TRIG / F_TRIG FUP / CFC
CLK Q
R_TRI G
CLK Q
F_TRI G
ST
CLK
BOOL
Triggerinput
Q
BOOL
Output 1 PLC cy´cle
R_TRIG: Rising Edge, F_TRIG: Falling Edge
TwinCAT PLC Control
TON FUP / CFC
IN Q ET
ST
IN
BOOL Start
PT
TIME
Q
BOOL Output
ET
TIME
Preset Time Elapsed Time,
TwinCAT PLC Control
COUNTER FUP / CFC ST
CU
BOOL
Count Up
RESET BOOL
reset
PV
UINT
Preset Value
Q
BOOL
Counter is „PV“
CV
WORD
Countervalue