S7-1200 etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
S7-1200 etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

6 Kasım 2017 Pazartesi

Tia Portal S7-1200 Ladder ve SCL örnek Yürüyen Işık Örneği

Tia Portal SCL Kullanımı Örnek Uygulama:


Örnekte Yürüyen ışık programını Tia Portal da SCL ile deneme yaptım.
Programda deneme olarak sadece 3 adet çıkış ile bu projeyi yaptım.
Program çıkışları sırasıyla 1-2-3 aktif eder 3-2-1 sırasıyla pasif eder.

(Proje Dosyası En altta)



Projeyi açınca Main dışında FC (Ladder) ve FB (SCL yazım dili) açtım
FC de yardımcı kontakları çıkışlara verdim.



FB de SCL ile programı yazdım
Main de yazdığım FC ve FB’yi çağırdım.
Mainde genel ayarlamaları yaptım (Timer süreleri ayarı gibi.)

Burada da Sadece iki çıkışı kullanarak deneme yaptım daha sonra SCL kodlarına geçtim




SCL kodları bu şekilde açıklama yazdım.
Timer sürekli döngüde olması için kendimce yardımcı bitlerle bir tarama boyunca Timer girişini pasif ettim.

PLC çıkışlarını da yardımcı bitlerle kontrol ediyorum bu şekilde istediğim kadar kullanabiliyorum.
Direk çıkışları bir kez kullanabiliyoruz.


Program Kodları:


IF "yardımcı_2"=0 THEN //*** *** *** *** Adım 1 *** *** ***
    "döngü_başla":=1;   // *** *** ileri giden döngü
END_IF;

"led_soft_1":=1;"Led_1":="led_soft_1";//*** *** led1 yan

"IEC_Timer_0_DB_5".TON(IN:="döngü_başla",   //*** *** led1 yanma süresi
     PT:=T#800mS, Q=>"led_soft_2",ET=>"timer_geçen süre_1");

"Led_2":="led_soft_2";//*** *** led2 yan

"IEC_Timer_0_DB_7".TON(IN:="led_soft_2",    //*** *** led2 yanma süresi
      PT:=T#800ms, Q=>"led_soft_3",ET=>"timer_geçen süre_2");

"Led_3":="led_soft_3";//*** *** led3 yan

"IEC_Timer_0_DB_2".TON(IN:="led_soft_3",    //*** *** led3 yanma süresi
      PT:=T#800ms, Q=>"led_sön_3",ET=>"timer_geçen süre_3");

//*** *** *** *** Adım 2 *** *** *** *** *** Geri Giden döngü

IF "led_sön_3"=1 THEN
    "led_soft_3":=0;    "Led_3":=0;    "led_sön_3":=1;
END_IF;

"IEC_Timer_0_DB_8".TON(IN:="led_sön_3",//*** *** *** ***led3 sön süre
      PT:=T#800ms,Q=>"led_sön_2",ET=>"timer?led?sön_geçen_süre_3");

IF "led_sön_2"=1 THEN
    "led_soft_2":=0;    "Led_2":=0;    "led_sön_2":=1;
END_IF;

"IEC_Timer_0_DB_9".TON(IN:="led_sön_2",//*** *** *** ***led2 sön süre
      PT:=T#800ms,Q=>"led_sön_1",ET=>"timer?led?sön_geçen_süre_2");

IF "led_sön_1"=1 THEN
    "led_soft_1":=0;    "Led_1":=0;    "led_sön_1":=1;
    "led sönük bekle":=1;
END_IF;

"IEC_Timer_0_DB_11".TON(IN:="led sönük bekle", //*** *** *** ***led1 sön süre
       PT:=T#800ms,Q=>"yardımcı_3", ET=>"timer?led?sön_geçen_süre_1");


"R_TRIG_DB"(CLK:="IEC_Timer_0_DB_11".Q, Q=>"yardımcı_2"); /// yükselen kenar
                                                          // bir döngü boyunca "Yardımcı_2" pasif et
IF "yardımcı_2"=1 THEN
    "döngü_başla":=0;
    "led sönük bekle":=0;
END_IF;




Program işleyişi:

Yardımcı_2 yoksa döngü başlat aktif olur.
Led_soft_1 aktif olur ardından timer_1 saymaya başlar. Süre bitiminde
Led_soft_2 aktif olur. timer_2 saymaya başlar. Süre bitiminde
Led_soft_3 aktif olur. timer_3 saymaya başlar. Süre bitiminde Led_sön aktif olur.
Timer_4  aktif olur süre sonunda Led_3 pasif olur
Timer_5 aktif olur süre sonunda Led_2 pasif olur
Timer_6 aktif olur süre sonunda Led_1 pasif olur Led_1 Sönük_bekle aktif olur
Timer_7 aktif olur süre sonunda timer_7 çıkışı aktif olduğunda yükselen kenar yardımcı_2 aktif olur
1 döngü boyunca da döngü başka pasif olur.
Bir döngü bittiğinde yardımcı_2 pasif olur ve program başında yazdığım IF komutu içinde yardımcı_2 pasif olduğu için döngü_başla aktif olur tekrardan timer döngüsü başlar.


SCL Timer kullanımı:


"IEC_Timer_0_DB".TON(IN:=_bool_in_,
                     PT:=_time_in_,
                     Q=>_bool_out_,
                     ET=>_time_out_);

ET=> timer geçen süreyi bir data alanına yazmamız gerekiyor, boş bırakmamıza izin vermiyor.
Q=> timer süresi dolduğunda verdiği çıkış
PT=> Sayacağı süreyi giriyoruz. Dword girmezsek T#2s şeklinde girmemiz gerekiyor bunun dışındakileri kabul etmiyor.

TON Timer Çalışma Grafiği:




SCL Yükselen Kenar ve Düşen Kenar Kullanımı:





"R_TRIG_DB"(CLK:=false,
            Q=>_bool_out_);

CLK=> girdiğimiz bit aktif olduğunda Q çıkışındaki bit bir döngü boyunca aktif olur.

"F_TRIG_DB"(CLK:=false,
            Q=>_bool_out_);

CLK=> girdiğimiz bit aktif olup pasif konuma geçtiğinde (yani düşen kenarı olduğunda) Q çıkışındaki bit bir döngü boyunca aktif olur.




Proje Dosyasını

Buradan İndirebilirsiniz


Diğer yazılarım:

Sinamics V20 Modbus RTU Modbus RTU ile kontrol edilmesi ile ilgili paylaşımımda da PLC den Modbus kontrolü ile sürücünün açıp kapama, frekans değişimini anlatıyorum.

Dop-B HMI ile S7-1200 plc Modbus RTU Kontrolü, HMI master PLC slave olarak örnek uygulama yapıyorum.

HMI kullanarak RS485 alt yapısını üzerinden plc kontrol edilmesi uygulamasını anlattım.

S7-1200 PLC ve Delta DVP14ss2 PLC iki plcyi Modbus RTU üzerinden haberleştirdim.

Arduino MPU6050 Gyroscope ve Accelerometer kullanımı ve örnek kodlar bulunuyor.

Delta DVP14ss2 PLC ve Dop-B HMI Modbus ASCII üzerinden iki kablo ile haberleşmesi örneği
Anlattım.

Delta PLC DVP14ss2 plc Step motor kontrol ve sürümü işlemini anlattım.
(Leadshine Microstep Driver M542 Modelli sürücü ile)

Delta PLC DVP14ss2 PLC bağlantı şeması Bağlantı kablolarını anlattım.

S7-1200 Encoder Kullanımı







4 Kasım 2017 Cumartesi

S7-1200 PLC Bağlantı Şeması Bağlantı Kabloları

Bağlantı Şeması


Bu model PLC’de 8 adet dijital giriş 2 adet Analog giriş bulunuyor
6 adet de dijital çıkış bulunuyor.

Bu model AC/DC/Relay yani AC beslemeli DC kullanımlı ve Röle Girişli/çıkışlı PLC olduğunu anlıyoruz

Röle çıkışlı modellerde yüksek frekanslı aç kapa yapamıyoruz.
Step motor, Servo motor Pals ile sürme yöntemleri ile süremiyoruz.
Yüksek frekanslı çıkışlar vermiyor bize.

Giriş terminalinde L1 220AC Faz  N ucuna Nötr bağlıyoruz.
L+’ dan +24V    M’den 0V veriyor.

Çıkış terminalinde 1L girişine 220AC fazını verip DQ1-2-3 çıkışlarında yük bağlayıp diğer ucuna nötr verince de 220AC ile çıkışları kontrol edebiliyoruz.



S7-1200 Temel özellikleri:

Orta segmentteki uygulamalar için kullanılır.
Bilgisayara Ethernet kablosu ile bağlanır
Profinet üzerinden bilgisayar ile haberleşir.
Tia portal programı ile program yüklüyoruz.
S7-1500, s7-1200, s7-300, s7-400,ET-200 CPU’lar programlanabiliyor.



PLC

Profinet haberleşmesini
Ek modüllerle TCP/IP, Modbus, RS232 RS485 seri  haberleşme yapabilir

Web Server özelliği bulunuyor.
PLC içine HTML kodlarını gömerek PLC’yi sunucu olarak kullanabiliyoruz.
Aynı ağ içindeki bütün cihazlardan ulaşabiliriz.

PLC ağa bağlı oldukça PLC’nin IP girerek her türlü cihazdan, PLC içindeki HTML kodlarıyla oluşturduğumuz Web sitesine ulaşabiliriz.

Örnek olarak Üniversite bitirme projemde fabrika içinde PLC kontrol edebileceğimiz proje yapmıştım.

Projede PLC içindeki HTML kodlarını çalıştırarak web sitesi oluşturduk ve aynı ağda web sitesine bilgisayar ve telefonumdan da PLC’ye ulaşım sağladım.

PLC programlarken FB, FC, Db kullanımı işlerimizi daha da kolaylaştırıyor.
Birçok Teknoloji objesi kullanımı kolaylaşmış durumda her şey kompak bir yapıda kullanılıyor.


Diğer yazılarım:

Siemens Sinamics V20 AC motor sürücünün Modbus RTU ile sürülmesi ile ilgili yazımda da PLC den Modbus haberleşmesi ile sürücüyü kontrol edilmesini anlatıyorum.

S7-1200 plc ile Dop-B HMI panelin Modbus RTU haberleşmesi, HMI madster PLC slave olarak kullandım.

HMI üzerinden RS485 alt yapısını kullanarak plc kontrol edilmesi örnekğini anlattım.

S7-1200 PLC ve Delta DVP14ss2 PLC iki plcyi Modbus üzerinden haberleştirdim.

Arduino MPU6050 Gyroscope ve Accelerometer kullanımı ve örnek kodlar bulunuyor.

Delta DVP14ss2 PLC ve Dop-B HMI Modbus ASCII üzerinden iki kablo ile haberleşmesi örneği
anlattım.

Delta PLC DVP14ss2 plc Step motor sürme işlemini anlattım.
(Leadshine Microstep Driver M542 Modelli sürücü ile)

Delta PLC DVP14ss2 PLC bağlantı şeması Bağlantı kablolarını anlattım.

S7-1200 Tia Portal Encoder kullanımını anlattım.

Sayısal sistemler dersi. Mantık devreleri dersi örnek sorular

S7-1200SCL örnek uygulama projesi Yürüyen Işık denemesi

3 Kasım 2017 Cuma

S7-1200 Encoder Kullanımı Örnek Uygulama

S7-1200 PLC İle Tek Faz Encoder Değeri Okuma Örneği
Siemens S7-1200 1212c modeli:

                                      Yüksek Hızlı sayıcı örneği, Encoder kullanımı örnek uygulaması

Yüksek hızlı sayıcı özelliği



Bağlantı Şeması

Encoder için üstünde kablo bağlantıları gösterilmiş.
Tek faz okuyacağım için sadece OUT A kablosunu Q0.0 pinine bağlıyorum.
TIA Portal v13 de yazdığım Ladder diyagramı ve PLC’nin donanımsal ayarları:
PLC modeli seçimi yapıyorum.



Soldaki Devices penceresinden PLC_1 sekmesine sağ tıklıyorum Properties’e giriyorum.
High Speed Counterde aşağıdaki ayarları yapıyorum.





Sağdan, teknolojiden CTRL_HSC seçilir










Program download simgesine tıklayıp programı yüklüyorum.
Type of the PG/PC interface den PIN/IE seçilir
PG/PC interface den Realtek PCIE seçilir start search seçilir PLC bulunur.
 İlk önce PLC device configuration penceresindeyken yükleme yapılır sonra Ladder programı yüklenir.





Encoder (Sinyal üretici) içyapısı:

Milin dönmesiyle ve ya ötelemesiyle bize sinyal üretir bu sinyalleri okuyarak biz de sistem hakkında bilgi sahibi oluruz.
Hassas olarak bize sinyal verirler ve enkoderin kendisi de çok hassastır darbelere, titreşimlere, manyetik alanlara karşı korumak gerekir.
Sinyaller kare ya da SinCos şeklinde de olabilir.

Rotary (Döner) ve Lineer (Doğrusal) tipleri vardır.
Milli (Shaft) ve Delik milli tip olarak bulunuyor

Algılama şekline göre de Optik algılayıcılı ve Manyetik algılayıcılı olarak tipleri vardır.

Gerçek pozisyonlarına göre de Artımsal (Incremental) ve Mutlak (Absolute) ikiye ayrılır.

Ürettiği dalga tipine göre Kare dalga üreten ve SinCos dalga üreticili tipleri vardır

Enkoderde Pulse sayısı çok önemlidir.
Örnek olarak 1 turda verdiği pulse sayısı bizim için belirleyicidir.
Dönmedeki pulse/ tur, PPR olarak belirlenmiş.

Enkoderin çıkış tipleri de değişiklik gösteriyor. Line Driver, Push Pull, Totem Pole tipleri vardır.7

Bazı enkoderlerde Alarm, Sensör çıkışları da vardır.

Bazı enkoderler haberleşme Protokollerine sahiptir.
Örnek olarak Seri haberleşme, Profibus, CANbus.

Enkoder alırken de Koruma sınıfına dikkat etmeliyiz.

Optik Encoder:

Bir ışık ile dönel plakadaki açılmış yarıklardan geçen ışığın algılanarak sinyal üretilen Encoder tipidir

Artımlı (Incremental) Encoder:

Bir turda yani 360 derece dönüşte bir reset palsi üretir.
Enerji kesilip geldiğinde açı, konum bilgisini öğrenemeyiz. Enerji geldiği anda o konumu 0 konumu gibi algılar.
Anlık olarak açı değerini öğrenmek istersek de bir tur döndürüp reset palsinden sonra öğrenebiliriz.

Mutlak (Absolute) Encoder:

Encoder GRAY kodu ile kodlanmış olarak çalışır. İstenilen her an Enkoderin açı değeri okunabilir.
Enerji kesilip geldiği anda da konumunu, açısını öğrenebiliriz.
Mildeki döner plakada özel bir desen çizilmiştir bu desene göre bize sinyal verir.





Diğer yazılarım:

Sinamics V20 Modbus RTU Modbus RTU ile kontrol edilmesi ile ilgili paylaşımımda da PLC den Modbus kontrolü ile sürücünün açıp kapama, frekans değişimini anlatıyorum.

Dop-B HMI ile S7-1200 plc Modbus RTU Kontrolü, HMI master PLC slave olarak örnek uygulama yapıyorum.

HMI kullanarak RS485 alt yapısını üzerinden plc kontrol edilmesi uygulamasını anlattım.

S7-1200 PLC ve Delta DVP14ss2 PLC iki plcyi Modbus RTU üzerinden haberleştirdim.

Arduino MPU6050 Gyroscope ve Accelerometer kullanımı ve örnek kodlar bulunuyor.

Delta DVP14ss2 PLC ve Dop-B HMI Modbus ASCII üzerinden iki kablo ile haberleşmesi örneği
Anlattım.

Delta PLC DVP14ss2 plc Step motor kontrol ve sürümü işlemini anlattım.
(Leadshine Microstep Driver M542 Modelli sürücü ile)

Delta PLC DVP14ss2 PLC bağlantı şeması Bağlantı kablolarını anlattım.

S7-1200 Encoder Kullanımı





21 Haziran 2016 Salı

Sinamics V20 ile HMI Modbus RTU RS485 Haberleşmesi, Hz Değerinin kontrolü

Sinamics V20 ile HMI Modbus RTU RS485 Haberleşmesi, Hz Değerinin kontrolü:
Sinamics V20 ile HMI Modbus RTU RS485 connection
Sinamics V20 ile HMI Modbus RTU RS485



Sinamics V20 ile HMI Modbus RTU RS485 connection
Sinamics V20 ile HMI Modbus RTU RS485
Sinamics V20 ile HMI Modbus RTU RS485







Sürücüyü fabrika ayarlarına getiriyorum sonra CN11 seçimini yaptım.

Sinamics V20 ile HMI Modbus RTU RS485
Sinamics V20 ile HMI Modbus RTU RS485

Sinamics V20 ile HMI Modbus RTU RS485
Sinamics V20 ile HMI Modbus RTU RS485

 P2014 değerini 0 yapıyoruz.

Kablo bağlantısını aşağıdaki gibi olacak.

S7-1200 Modbus RTU Rs485 pin connection
s7-1200 Modbus pin connection




AC sürücünün Manuelinden Mobus adreslerine bakıyorum.

Sinamics V20 ile HMI Modbus RTU RS485
Sinamics V20 ile HMI Modbus RTU RS485

Sinamics V20 ile HMI Modbus RTU RS485
Sinamics V20 ile HMI Modbus RTU RS485

Sinamics V20 ile HMI Modbus RTU RS485
Sinamics V20 ile HMI Modbus RTU RS485

Sinamics V20 ile HMI Modbus RTU RS485
Sinamics V20 ile HMI Modbus RTU RS485

Buradaki adreslere bakıyorum

Sinamics V20 ile HMI Modbus RTU RS485
Sinamics V20 ile HMI Modbus RTU RS485

STW bitlerini ayrı ayrı kontrol edecem.
Sinamics V20 ile HMI Modbus RTU RS485
Sinamics V20 ile HMI Modbus RTU RS485


Sinamics V20 ile HMI Modbus RTU RS485
Sinamics V20 ile HMI Modbus RTU RS485

Sinamics V20 ile HMI Modbus RTU RS485
Sinamics V20 ile HMI Modbus RTU RS485


STW giriş alanına 47E değerini gönderiyorum.
Sonra HSW giriş alanına istediğimiz değeri 0-16000 skalasında giriyorum
STW alanına 47F değerini girdiğimde sürücü verdiğim değerde çalışmaya başlıyor. 


Burada da Siemens' yayınladığı bir videodan fotoğraf.

Sinamics V20 ile HMI Modbus RTU RS485
Sinamics V20 ile HMI Modbus RTU RS485

Videoda daha ayrıntılı anlattım 

Bölüm 1:





Bölüm 2:



Herhangi sorunuz olduğunda yorum yapım mail atın.


18 Haziran 2016 Cumartesi

Siemens S7-1200 HMI Modbus RTU Haberleşme Örneği

s7-1200 Modbus RTU

Siemens S7-1200 HMI Modbus RTU Haberleşme Örneği:
S7-1200 Slave -HMI Master

Delta HMI ile Siemens S7-1200 Modbus haberleşmesi PLC burada Slave olarak ayarladım.
  (1212C AC/DC/RLY modeli, Haberleşme modülü CM1241 RS485/422, HMI DOP-B03S211 )


s7-1200 Modbus RTU
s7-1200 Modbus RTU

Programımı yazarken bazı önemli noktalar var:


s7-1200 Modbus RTU


TIA portal da data blok açıtğımızda data blok
 özelliklerinden Attrbutes sekmesinden "optimized block access" bilgisini pasif yapıyoruz.

HMI haberleşme ayarında Haberleşme gecikme zamanını 200Ms yapıyorum. 200ms de bir haberleşme kesmesine gidiyor.

s7-1200 Modbus RTU

S7-1200 Manuelinden Modbus adreslerinin okunması.

s7-1200 Modbus HMI Haberleşme

Çıkış bitlerini okumak için. sağ sütundaki Modbus adreslerine bakıyoruz
Q0.0 çıkışının adresi 1 olarak kullanılıyor ve çıkış adresleri sıralı olarak  devam ediyor.

Çıkış Bitleri:
Q0.0,  Q0.1,  Q0.2...  Q1192  çıkışı en son ,
1,        2,        3,  ......  9999     en son adres

Giriş bitini okurken de aynı şekilde:
I0.0,      I0.1,      I0.2.......  I1992   girişi en son
10001,  10002    10003      19999   adresi en son.

Dokunmatik panelimden değer giriyorum ve tia portal da online modda hemen gelen değeri görebiliyorum.


Yaptığım işlemleri tek tek anlatıyorum bu videoda:




TIA portal örneğini ve Dopsoft Programını diğer Plc manuelini en alltta paylaşıyorum.

Herhangi bir soru da , takıldığınız yerde yorum yazın mail atın.

15 Haziran 2016 Çarşamba

Siemens S7-1200 ve Delta 14SS2 Modbus haberleşme Örneği

S7-1200 PLC ile Delta 14SS2 Modbus haberleşmesi örneği 

S7-1200 Master, Delta 14SS2 slave olarak kullanıldı.
Aynı zamanda HMI ile Delta 14SS2 RS232 üzerinden haberleştirme ve Online olarak değerleri görme işlemi.

Modbus'ın genel tanımı ve kullanım alanı yeri şekli bu video da çok güzel anlatılmış.





Delta plc wplsoft programını kullanıyorum

 Wplsoft içinde Haberleşme programı var burayı kullanarak
kolayca ayarlarımı yapıyorum

Modbus haberleşme örnek



TIA portalda,
Data blok açtığımızda blok ayarlarından Attirbutes sekmesinden "optimized block access" bilgisini pasif yapıyoruz. Yapmadığımız zamanda haberleşme modülünün haberleşme ışıkları hiç yanmıyor.


Modbus PLC örnek


Deltanın progranmında:
M1002 biti: M1002 RUN dan sonra 1 Tarama boyunca ON oluyor  bunun dışında OFF
M1013 biti: 1 saniyede pulse veren bit.

Buradada videoda S7-1200 ve Delta 14SS2 PLc Modbus haberleşmesini ayrıntılı olarak anlattım :


Birinci bölüm:



İkincibölüm:



Herhangi bir sorunuz, takıldığınız olursa yorum yazın, mail atın cevap vermeye çalışırım.