BÖLÜM 21 BÖLÜM 21 BÖLÜM 21 BÖLÜM 21
PALS ÜRETME FONKSĐYONLARI21.1 - PTO foknksiyonu : Belirli bir darbe sayısı ve çevrim süresi için kare dalga (%50 kapalı, % 50 açık) oluşturur. Darbe sayısı 1 ile 4.294.967.295 arasında tanım- lanabilir. Çevrim süresi ya mikrosaniye ( 50 - 65535 mikrosaniye), ya da milisaniye ( 2 - 65535 milisaniye) olarak girilebilir. Çevrim süresinin tek sayı girilmesi distorsiyona (darbe şekillerinin bozulmasına) yol açacağından tek sayı girilmemelidir. Örneğin, 151 mili saniye gibi bir değer girilirse 151 /2 = 75,5 milisaniye olur. Ondalıklı değer pals süresinin hatalı çalışmasına neden olabilir ya da dalga şeklinde bir miktar bozulmaya neden olabilir.
Dolayısıyla çevrim süresi çift rakam girilmelidir.
21.2 - PWM fonksiyonu (Darbe genişliği süresi ): Sabit bir çevrim süresi içinde % 0 ile % 100 arası ayarlanabilir bir darbe çıkışı oluşturur. Çevrim zamanı ya mikrosaniye ( 50 - 65535 mikrosaniye), ya da milisaniye ( 2 - 65535 milisaniye) olarak girilebilir. 2' den küçük girilen çevrim zamanı değeri 2 olarak varsayılır.
Darbe genişliği zamanı, 0 ile 65535 mikrosaniye ya da 0 ile 65535 milisaniye olarak ayarlanabilir. Darbe genişliği, çevrim zamanına eşitse % 100' lük (sürekli açık), sıfıra eşitse % 0'lık (sürekli kapalı) bir darbe çıkışı söz konusudur.
PTO ve PWM fonksiyonlarında açmadan kapamaya ve kapamadan açmaya olan gecikme, birbirinin aynı değildir. Bu da bir miktar distorsiyona (darbe şekillerinin bozulmasına) neden olur. Bu nedenle bağlı olan minimum yükün, anma yükünün % 10' undan küçük olmaması gerekir.
21.3 - PTO/PWM işleminin başlatılması : Her PTO/PWM üretecinin bir kontrol bayt' ı bir durum bayt' ı, işaretli 32 bitlik birer sayma değeriyle darbe genişliği değeri, işaretsiz 32 bit'lik bir darbe genişliği değeri bulunmaktadır. (bunlardan bazıları PTO ya da PWM seçimine göre işlevsiz yani geçersiz' dir). Örneğin, darbe genişliği değerinin PTO için anlamı yoktur. Bu değerler girildikten sonra işlem PLS komutunun çalıştırılmasıyla başlatılabilir. PLS komutu ile CPU, ilgili ayar değerlerini özel hafıza bölgesinden alır ve PTO/PWM çıkışının programlanması amacıyla kullanır.
Pals üretme işlemi, sadece Q0.0 veya Q0.1 çıkışında yapılabilir. programlanması
kullanır.
% 50 açık % 50 kapalı
PWM
1 Periyot (çevrim süresi)
% .. açık > % .. kapalı
PWM
1 periyot
353
3 periyot
Darbe genişliği süresi
Darbe genişliği süresi
%50 açık
%50 kapalı
% .. açık < % .. kapalı
21.4 - PTO ve PWM çıkışlar için özel hafıza bölgeleri :
Q0.0 Q0.1 Darbe çıkışları için Kontrol bitleri
SM66.4 SM76.4 Delta hesaplama hatası
0 = Hesaplama hatası yok 1 = Hesaplama hatası var SM66.5 SM76.5 Q0.0 ve Q0.1 için ortak kullanım
hatası
0= ortak kullanım hatası yok 1= ortak kullanım hatası var
SM66.6 SM76.6
Aralık değerleri hatalı girildiğinde aktif olur. Örneğin (50....65535) aralığında 50' den küçük değer girilemez. 20 girilirse hatalı olur.
0 = Aralık hatası yok 1 = Aralık hatası var
SM66.7 SM76.7 PTO ve PWM için pals üretme bilgisi
0 = PTO' da pals üretiliyor 1 = PTO dışında (PWM gibi) pals üretiliyor.
Q0.0 Q0.1 Darbe çıkışları için Kontrol bitleri
SM 67.0 SM 77.0 PTO/PWM çevrim süresini
güncelle 0= güncelleme 1 = güncelle
SM 67.1 SM 77.1 PWM darbe genişliği zamanını
güncelle 0 = güncelleme 1 = güncelle
SM 67.2 SM 77.2 PTO darbe sayısını güncelle 0 = güncelleme 1 = güncelle
SM 67.3 SM 77.3 PTO/PWM zaman birimi seçimi 0 = mikrosn. 1 = milisn.
SM 67.4 SM 77.4 PWM güncelleştirme metodu 0 = Asenkron 1 = Senkron
SM 67.5 SM 77.5 PTO operasyon 0=Tekli operasyon
(tek bölge)
1 = Çoklu operas- yon ( çok bölge)
SM 67.6 SM 77.6 PTO /PWM modu şeçimi 0 = PTO' yu seçer 1 = PWM'yi seçer
SM 67.7 SM 77.7 PTO /PWM izni 0= PTO/PWM
çalışmaz
1=PTO/PWM' ye izin verir.
PWM 1 periyot
3 periyot
354
Darbe genişliği süresi
PTO/PWM için çevrim süresi değerleri ( Aralık 2 - 65535)
Q0.0 Q0.1 Darbe çıkışları için Kontrol word'leri
SMW 68 SMW 78 PTO/PWM çevrim zamanı değerinin sol bayt' ı ( 2 - 65535)
SMW 69 SMW 79 PTO/PWM çevrim zamanı değerinin sağ bayt' ı
PWM için darbe genişliği değerleri (Aralık 0 - 65535)
Q0.0 Q0.1 Darbe çıkışları için Kontrol Word'leri
SMW 70 SMW 80 PWM darbe genişliği değerinin sol bayt' ı
SMW 71 SMW 81 PWM darbe genişliği değerinin sağ bayt' ı
PTO için darbe sayısı değerleri (Aralık 1 - 4.294.967.295)
Q0.0 Q0.1 Darbe çıkışları için Kontrol Word'leri
SMD 72 SMD 82 PTO darbe sayısı değerinin 1. (en sol,en büyük) bayt' ı (1 - 4.294.967.295)
SMW 73 SMW 83 PTO darbe sayısı değerinin 2. bayt' ı
SMW 74 SMW 84 PTO darbe sayısı değerinin 3. bayt' ı
SMW 75 SMW 85 PTO darbe sayısı değerinin 4.(en sağ, en küçük) bayt' ı
SMB 166 SMB176
Kullanımdaki segment numarası ( Sadece çok seg- mentli operasyonlu PTO operasyonlarında kullanılır)
SMB 168 SMB 178
PTO operasyonu için Vo bitinden başlayan Profil tablosunun başlama yeri (çoklu segment).
PLS komutu, belirli SM alanında yazılı bilgileri okur ve PTO/PWM üreteçlerini buna göre programlar. SMB 67, PTO 0' a veya PWM 0' a ve SMB77, PTO 1' e veya PWM 1' e kumanda eder.
PTO ve PWM işlemlerini, SM 67.7 veya SM 77.7 bitine sıfır (0) yazıp PLS komutunu işleterek devre dışı bırakabilirsiniz. Darbe sayısı (PTO) SMD 72 veya SMD82, darbe genişliği (PWM) SMW70 veya SMW 80 ile belirlenir. Çevrim süresi ise SMW68 veya SMW78 ile belirlenmelidir.
355
21.5 - PTO/PWM Kontrol Bit'leri Tablosu
21.6 - PALS ÜRETME ÇEŞĐTLERĐ
1- PTO (Pulse Train Output)
Tek Bölge (Tekli operasyon) Çok Bölge (Çoklu operasyon)
Pals süresi • Pals süresi
Pals sayısı • Bölge sayısı
16#81 Evet PTO Tek bölge 1 mikro sn. Yükle
0,002
T = 2mili sn ise F = = = 500 Hz
T =50mikrosn ise F = = = 20 KHz PTO' da üretilen pals sinyali kare dalgadır. Yani
% 50 açık, % 50 kapalı sinyaldir.
T 1 Kontrol Listesi (Heksadesi- mal)
Đzin Mod PTO PWM metodu Zaman Pals Pals Döngü verme Seçimi bölümü güncelleştirme birimi Sayma genişliği zamanı operasyonu
16#84 Evet PTO Tek bölge 1 mikro sn. Yükle 16#85 Evet PTO Tek bölge 1 mikro sn. Yükle Yükle
16#89 Evet PTO Tek bölge 1 mili sn. Yükle 16#8C Evet PTO Tek bölge 1 mili sn. Yükle 16#8D Evet PTO Tek bölge 1 mili sn. Yükle Yükle 16#A0 Evet PTO Çok bölge 1 mikro sn.
16#A8 Evet PTO Çok bölge 1 mili sn.
16#D1 Evet PWM Senkron 1 mikro sn. Yükle 16#D2 Evet PWM Senkron 1 mikro sn. Yükle 16#D3 Evet PWM Senkron 1 mikro sn. Yükle Yükle
16#D9 Evet PWM Senkron 1 mili sn. Yükle
16#DA Evet PWM Senkron 1 mili sn. Yükle 16#DB Evet PWM Senkron 1 mili sn. Yükle Yükle
PLS komutunun çalışma sonuçları
1 periyot T
1 2 3 4 5 6 7
60 Hz 100 Hz 500 Hz
t
1000 Hz
Yukarıda verilen frekans değerleri bir örnektir. Şekilde 7 bölge görülmektedir. Örneğin 1. bölgede frekans, belirli bir sürede 100 Hz' den 500 Hz' e çıkmaktadır. Örneğin 5.
bölgede frekans, belirli bir süre içersinde 60 Hz' den 1000 Hz' e çıkmaktadır.
1
T
1 1
50 x 10-6
356
T/2
2 ... 65535 msn.
50 ....65535 µ sn.
a) PTO Tek bölge pals üretme : Örnek 4sn.lik bir pals için, pals sayısı = 4 olsun.
b) PWM (Pulse Width Modulacion ) :
Periyot süresi ( T = 2...65535 msn. , T = 50 ...65535µ sn.)
Đletim zamanı (Duty cycle - Görev saykılı) ( 1...65535 msn. , 1 ...65535 µ sn.)
5 sn açık 5 sn kapalı :
9 sn açık 1 sn kapalı :
2 sn açık, 8 sn kapalı :
2000 msn
4000 msn.
% 50 açık % 50 kapalı
4 periyot
5000 msn
% 50 açık % 50 kapalı
% .. açık> % .. kapalı
9000 msn
1 periyot = 10.000 msn.
3 periyot 1 periyot = 10.000 msn
1000 msn
% .. açık< % .. kapalı
1 periyot = 10.000 msn
4 periyot
2000 msn
8000 msn
357
5000 msn
PTO pals üretiminde kontrol bitlerinin durumu :
1 0 0 0 1 0 0 1 1 0 0 0 1 1 0 1
SM67.7 SM67.6 SM67.5 SM67.4 SM67.3 SM67.2 SM67.1 SM67.0
1 0 0 0 1 1 0 1
0 = periyot süresi değiştirilemez (yenilenemez) 1 = periyot süresi değiştirilebilir (yenilenebilir)
0 = PWM (iletim zamanı) değiştirilemez (yenilenemez) 1 = PWM (iletim zamanı) değiştirilebilir (yenilenebilir)
0 = PTO üretilecek pals sayısı değiştirilemez (yenilenemez) 1 = PTO üretilecek pals sayısı değiştirilebilir (yenilenebilir)
0 = PTO/PWM zaman birimi µ sn 1 = PTO/PWM zaman birimi m sn
0 = PWM, asenkron modda pals üretir (msn' den µ sn' ye geçiş gibi)
1 = PWM, senkron modda pals üretir (sadece msn gibi)
0 = PTO Tek bölge (single segment) 1 = PTO Çok bölge (multiple segment)
0 = PTO Mod seçimi 1 = PWM Mod seçimi
0 = Pals üretme işlemi pasif (devre dışı) 1 = Pals üretme işlemi aktif
SM67.7 SM67.6 SM67.5 SM67.4 SM67.3 SM67.2 SM67.1 SM67.0
8 D 16# 8D
SM67.7 SM67.6 SM67.5 SM67.4 SM67.3 SM67.2 SM67.1 SM67.0
8 9 16# 89
SM77.7 SM77.6 SM77.5 SM77.4 SM77.3 SM77.2 SM77.1 SM77.0
1 0 1 0 1 0 0 0
A 8 16# A8
358
8 4 2 1 8 4 2 1
SMB67
SMB67
SMB77
8 4 2 1 8 4 2 1
8 4 2 1 8 4 2 1
SMB67 Q0.0 için
Örnek 1 : PLC' nin Q0.0 çıkışında 1 periyotluk süresi 8sn (4 sn açık, 4 sn kapalı) olan bir sinyal üretimi için PLC programı yazalım.
I0.0
Network 1 : I0.0 aktif olduğunda 16# 8D bilgisi SMB 67 byte' na atansın, 8000 msn bilgisi SMW 68 alanına atansın, 4 bilgisi (periyot sayısı) SMD72 Double word'e atansın. Pals sayısı bilgisi SMD olarak girilmelidir. Bu bilgilere göre, PLC' nin Q0.0 çıkışı çalışsın.
OUT EN
SMB67 16# 8D
MOV_B ENO
IN P
OUT EN
SMW68 8000
MOV_W ENO
IN
OUT EN
SMD72 4
MOV_DW ENO
IN
EN
0
PLS ENO
Q0.X
Network 2 :. Pals sayma işlemi herhangi bir anda durdurulabilsin
OUT EN
SMB67 16# 00
MOV_B ENO
IN P
EN
0
ENO I0.1
PLS
8 sn
4 periyot
359
4 sn
Q0.X
8 D
16# 8D
1 0 0 0 1 1 0 1
SM67.7 SM67.6 SM67.5 SM67.4 SM77.3 SM67.2 SM77.1 SM67.0
8 4 2 1 8 4 2 1
SMB67
Q0.0
Şekil 21.1 : Örnek 1' in LADDER devresi
(1 periyotluk süre )
(Periyot sayısı)
Örnek 2 : PLC' nin Q0.1 çıkışı 1 periyotluk sürede (3 saniyelik) açık ve kapalı süreleri eşit (1,5 saniye açık, 1,5 saniye kapalı). olan 4 adet sinyal üretsin. 4. sinyal bitiminde bu kez 1 periyotluk süresi 2 saniye olan (1 saniye açık, 1 saniye kapalı) sinyallerden 9 adet üretsin ve dursun.
OB1 (MAIN1)
Network 1 I0.0 sensörü aktif olduğunda Q0.1 çıkış rölesi reset edilsin( Reset işlemi tedbir içindir).
PLC' nin döngü işlemi SUBROUTINE 0 (SBR0) sayfasına yönlensin. Bu sayfadaki bilgiler bir defaya mahsus alınır ve döngü ana sayfada(OB1) devam eder. Diğer döngülerde bu sayfaya yönlendirilmedikçe SUBROUTINE 0 sayfasına uğramaz.
R Q0.1
1 I0.0
EN SBR0
EVNT MOV_DW
ATCH
ENI
OUT SMB77
16# 8D
MOV_B ENO IN
EN
OUT SMW78
4000
MOV_W ENO IN
EN
OUT SMD82
4
ENO IN
EN
EN INT 2 20 SM0.0
ENO
8 D
16# 8D
SBR0 (SUBROUTINE 0)
Network 1 8D bilgisi SMB77 alanına atansın. SMW78 alanına 4 saniye bilgisi yüklensin. Pals sayısı (4) SMD82 alanına yüklensin. Q0.1 çıkışında 4 pals üretsin. 4 pals bittiğinde döngü,INTERRUPT2 sayfasına yönlensin. INTERRUPT2 sayfasındaki bilgileri alıp ana sayfaya yönlensin. 20, Q0.1 çıkışının pals ile ilgili bilgisidir Bu sayı Q0.0 için 19 dur. Bu kez 89 bilgisi SMB77 alanına (heksa desimal olarak) yüklensin.ENI, Interrupt 2 ' yi etkin hale getirir.
PLS EN
1 Q0.x
ENO
SMB77 16# 89
MOV_B ENO
IN EN
OUT
1 0 0 0 1 1 0 1
SM77.7 SM77.6 SM77.5 SM77.4 SM77.3 SM77.2 SM77.1 SM77.0
8 4 2 1 8 4 2 1
SMB77
360
16# 89
1 0 0 0 1 0 0 1
SM77.7 SM77.6 SM77.5 SM77.4 SM77.3 SM77.2 SM77.1 SM77.0
8 4 2 1 8 4 2 1
SMB77
8 9
P I0.1
EN MOW_B
Network 2 Sistem, herhangi bir anda durdurulabilsin
IN OUT SMB77
16# 00
ENO
ENO EN PLS
Q0.X 1
P
1 periyotluk süre
(Periyot sayısı)
Đnterrupt 2' ye yönlendir.
Đnterrupt 2' yi etkinleştir
Q0.1 için
Pals işlemini çalıştır
INT2 (INTERRUPT2) Bu sayfayı Edit menüsünden >ınsert> interupt ile açmalısınız.
0 0 0 0 0 0 0 0
SM77.7 SM77.6 SM77.5 SM77.4 SM77.3 SM77.2 SM77.1 SM77.0
8 4 2 1 8 4 2 1
SMB77 EN
==I SMW78
4000
SMW78
RETI 2000 OUT
MOV_ W
IN EN
PLS
1 Q0.x
ENO
OUT SMB77
16# 8C
MOV_B ENO IN
EN
ENO
Network 2 SMD82 alanındaki bilgi, 4' e eşit olduğunda (4, pals sayısıdır) 5 sayısı (pals sayısı) SMD82 alanına yüklensin. Q0.1 çıkışı 2 sn'lik pals'lerden 4+5 = 9 pals' i üretmeye başlasın. PLC, RETI komutunu gördüğünde Network 3' e geçmez OB1 (ana sayfa) sayfasına döner.
PLS
==D SMD82
4
RETI
OUT SMD82
5
MOV_DW ENO IN
EN
EN
1 Q0.x
ENO
Network 3 SMD82 alanı içersindeki bilgi 5' e eşit olduğunda (2 sn' lik 9(4+5) pals üretiminin sonunda) SMB77 alanı içersindeki bilgiler sıfırlansın yani pals üretme işlemi dursun.
Network 1 SMW78 alanı içersindeki bilgi 4000 ' e ( 4 saniye' ye) eşit olduğunda 2 saniye (2000) bilgisi SMW78 alanına yüklensin. Ayrıca 8C bilgisi (heksadesimal olarak) SMB77 alanına yüklensin. PLC, RETI komutunu gördüğünde Network 2' ye geçmez ve ana sayfaya (MAIN1) döner.
8 C
16# 8C
1 0 0 0 1 1 0 0
SM77.7 SM77.6 SM77.5 SM77.4 SM77.3 SM77.2 SM77.1 SM77.0
8 4 2 1 8 4 2 1
SMB77
361
0 0
16# 00
==D SMD82
5
OUT SMB77
16#00
MOV_B ENO IN
EN
PLS EN
1 Q0.x
ENO
Şekil 21.2 : Örnek 2' nin LADDER devresi
Đnterrupt 2' den ana sayfaya dön
Şekil 21.2' deki çalışmaya göre Q0.1 çıkışı sinyal akış diyagramı :
Örnek 3 : PLC' nin Q0.0 çıkışında 1saniyelik (0.5 saniye açık, 0.5 saniye kapalı) 4 adet sinyal üretildikten sonra, 2 saniyelik (1 saniye açık, 1 saniye kapalı) 4 adet yeni bir sinyal üretilsin ve yeniden 1 saniyelik sinyal üretilmeye devam etsin. Sistem durduruluncaya kadar periyodik çalışsın.
OB1 (MAIN1)
Network 1 I0.0 sensörü aktif olduğunda Q0.0 çıkış rölesi reset edilsin( Reset işlemi tedbir içindir).
PLC' nin döngü işlemi SUBROUTINE 0 (SBR0) sayfasına yönlensin. Bu sayfadaki bilgiler bir defaya mahsus alınır ve döngü ana sayfada(OB1) devam eder. Diğer döngülerde (bilgi taramasında) SUBROUTINE 0 sayfasına uğramaz.
2 sn 4 periyot
4 sn Q0.1
2 sn 1sn
9 (4 + 5) periyot
R Q0.0
1 I0.0
EN SBR0
362
MOV_B
Network 2 I0.1 sensörü aktif olduğunda sistemin çalışması dursun.
IN OUT SMB67
16# 00
ENO
ENO EN PLS
Q0.X 0
P EN I0.1
P
0 0 0 0 0 0 0 0
SM67.7 SM67.6 SM67.5 SM67.4 SM67.3 SM67.2 SM67.1 SM67.0
8 4 2 1 8 4 2 1
SMB67
0 0
16# 00
PLS EN
0 Q0.X
ENO
SMB67 16# 89
MOV_B EN ENO
OUT
16# 89
1 0 0 0 1 0 0 1
SM67.7 SM67.6 SM67.5 SM67.4 SM67.3 SM67.2 SM67.1 SM67.0
8 4 2 1 8 4 2 1
SMB67
8 9
EVNT MOV_DW
ATCH
ENI
OUT SMB67
16# 8D
MOV_B ENO IN
EN
OUT SMW68
1000
MOV_W ENO IN
EN
OUT SMD72
4
ENO IN
EN
EN INT 2 19 SM0.0
ENO
8 D
16# 8D
SBR0 (SUBROUTINE 0)
Network 1 8D bilgisi, SMB67 alanına atansın. 1 saniye bilgisi, SMW 68 alanına yüklensin. Pals sayısı (4) SMD72 alanına yüklensin. Q0.0 çıkışında 4 pals üretilsin. 4 pals bittiğinde döngü,INTERRUPT2 sayfasına yönlensin. INTERRUPT2 sayfasındaki bilgileri alıp ana sayfaya yönlensin. 19, Q0.0 çıkışının pals ile ilgili bilgisidir Bu sayı Q0.1 için 20 dir. Bu kez 89 bilgisi SMB67 alanına (heksa desimal olarak) yüklensin.ENI, Interrupt 2 ' yi etkin hale getirir.
1 0 0 0 1 1 0 1
SM67.7 SM67.6 SM67.5 SM67.4 SM67.3 SM67.2 SM67.1 SM67.0
8 4 2 1 8 4 2 1
SMB67
363
1 periyotluk süre
(Periyot sayısı)
Đnterrupt 2' ye yönlendir.
Đnterrupt 2' yi etkinleştir
Q0.0 için Pals işlemini çalıştır
A INT2 (INTERRUPT2) Bu sayfayı Edit menüsünden >ınsert> interrupt ile açmalısınız.
Şekil 21.3' deki çalışmaya göre Q0.0 çıkışındaki sinyal akış diyagramı :
IN
EN
==I SMW68
1000
SMW68
RETI 2000 OUT
MOV_ W
IN EN
PLS
0 Q0.x
ENO
Network 2 SMW68 alanındaki bilgi, 2000' e eşit olduğunda Q0.0 çıkışı yeniden 1 saniyelik pals üretmeye başlasın. Döngü işlemi yeniden OB1 (ana sayfa) sayfasına döner.
PLS
==I SMW68
2000
OUT SMW68
1000
MOV_W ENO IN
EN
EN
0 Q0.x
ENO
Network 1 SMW68 alanı içersindeki bilgi 1000 ' e ( 1 saniye' ye) eşit olduğunda 2 saniye (2000) bilgisi SMW68 alanına yüklensin. PLC, RETI komutunu gördüğünde Network 2' ye geçmez ve ana sayfaya OB1' e (MAIN1) döner.
364
ENO
Şekil 21.3 : Örnek 3' ün LADDER devresi
Q0.0
4 periyot 4 periyot
1 sn
Interrupt 2' nin
oluşumu Interrupt 2' nin
oluşumu
2 sn
2 - PWM Pals üretme
Periyot süresi
Pals genişliği ( iletim zamanı) - (Pulse width)
PWM pals üretme işlemlerinde % 50 açık , % 50 kapalı pals üretme ' de yapılabilir.
PWM pals üretiminde kontrol bitlerinin durumu :
% .. açık< % .. kapalı
PWM
1 periyot
3 periyot
% .. açık> % .. kapalı
PWM 1 periyot
3 periyot
SM77.7 SM77.6 SM77.5 SM77.4 SM77.3 SM77.2 SM77.1 SM77.0
1 1 0 1 1 0 1 1
0 = periyot süresi değiştirilemez (yenilenemez) 1 = periyot süresi değiştirilebilir (yenilenebilir)
0 = PWM (iletim zamanı) değiştirilemez (yenilenemez) 1 = PWM (iletim zamanı) değiştirilebilir (yenilenebilir)
0 = PTO üretilecek pals sayısı değiştirilemez (yenilenemez) 1 = PTO üretilecek pals sayısı değiştirilebilir (yenilenebilir)
0 = PTO/PWM zaman birimi µ sn 1 = PTO/PWM zaman birimi m sn
0 = PWM, asenkron modda pals üretir (msn' den µ sn' ye geçiş gibi)
1 = PWM, senkron modda pals üretir (sadece msn gibi)
0 = PTO Tek bölge (single segment) 1 = PTO Çok bölge (multiple segment)
0 = PTO Mod seçimi 1 = PWM Mod seçimi
0 = Pals üretme işlemi pasif (devre dışı) 1 = Pals üretme işlemi aktif
365
SMB77 Q0.1 için
DB seçeneğinde:
SM77.0 = Projede 1 periyot süresi değiştirilebilmelidir. Dolayısıyla SM77.0 bit'i "1"
alınmıştır. Bu bit, "0" alınırsa periyot süresini değiştirmek mümkün olmaz.
SM77.1 = Projede iletim (PWM) zamanı değiştirilebilmelidir. Bu nedenle SM77.1 biti "1"
alınmıştır. Bu bit "0" alınırsa iletim zamanı değiştirilemez.
SM77.3 = Projede palslerin zaman birimi milisaniye olarak tercih edildiğinden SMB77.3 bit' i
"1" alınmıştır. Bu bit "0" alınsaydı palslerin zaman birimi mikrosaniye olurdu.
SM77.4 = Pals sisteminde genelde çalışma modunun senkron olması arzu edilir. Bu nedenle bu bir "1" alınmalıdır. Bu bit "0" alınırsa çalışma modu asenkron olur.
SM77.6 = Projede PWM olarak işlem yapılacağına göre bu bit "1" seçilmelidir. PTO' da bu bit "0" dır.
SM77.7 = Projede pals üretme işlemi yapılacağına göre SM77.7 biti "1" olmalıdır. Bu bit "0"
olursa pals üretme işlemi gerçekleşmez.
D3 seçeneğinde :
SM77.0 = Projede 1periyot süresi değiştirilebilmelidir. Dolayısıyla SM77.0 bit'i "1"
alınmıştır. Bu bit, "0" alınırsa periyot süresini değiştirmek mümkün olmaz.
SM77.1 = Projede iletim (PWM) zamanı değiştirilebilmelidir. Bu nedenle SM77.1 biti "1"
alınmıştır. Bu bit "0" alınırsa iletim (PWM) zamanı değiştirilemez.
SM77.3 = Bu bit 0 alınarak palslerin zaman birimi mikrosaniye seçilmiştir.
SM77.4 = Pals sisteminde genelde çalışma modunun senkron olması arzu edilir. Bu nedenle bu bir "1" alınmalıdır. Bu bit "0" alınırsa çalışma modu asenkron olur.
SM77.6 = Projede PWM olarak işlem yapılacağına göre bu bit "1" seçilmelidir. PTO' da bu bit "0" dır.
SM77.7 = Projede pals üretme işlemi yapılacağına göre SM77.7 biti "1" olmalıdır. Bu bit "0"
olursa pals üretme işlemi gerçekleşmez.
D B 16# DB = 10# 219
SMB77 1 1 0 1 1 0 1 1
SM77.5 SM77.3
SM77.7 SM77.6 SM77.4 SM77.2 SM77.1 SM77.0
8 4 2 1 8 4 2 1
D 3 16# D3
SMB77 1 1 0 1 0 0 1 1
SM77.5 SM77.3
SM77.7 SM77.6 SM77.4 SM77.2 SM77.1 SM77.0
8 4 2 1 8 4 2 1
366
Örnek 1 : PLC' nin Q0.1 çıkışı 4 saniyelik 1 periyot süre içersinde 1 saniye açık, ( aktif) 3 saniye kapalı (pasif) olsun.
UYARI : Pals sinyalinin açık ve kapalı sürelerini farklı zamanlı olarak belirlediğinizde pals sayısını sınırlayamazsınız. Örneğin 10 pals sonra dur komutu veremezsiniz. ,
I0.0
Network 1 : I0.0 aktif olduğunda 16# DB bilgisi SMB77 byte' na atansın, 1 periyotluk (4 saniye- lik) süre SMW78 alanına atansın, Aktif (açık) olacak süre (1 saniye) SMW80 alanına atansın. Bu bilgilere göre PLC' nin Q0.1 çıkışı çalışsın.
OUT EN
SMB77 16# DB
MOV_B ENO
IN P
OUT EN
SMW78 4000
MOV_W ENO
IN
OUT EN
SMW80 1000
MOV_W ENO
IN
EN
1
PLS ENO
Q0.X
Network 2 :. Pals sayma işlemi herhangi bir anda durdurulabilsin
OUT EN
SMB77 16# 00
MOV_B ENO
IN P
EN
1
ENO I0.1
PLS
4 sn
367
3 sn
Q0.X
D B
16# DB
1 1 0 1 1 0 1 1
SM77.7 SM77.6 SM77.5 SM77.4 SM77.3 SM77.2 SM77.1 SM77.0
8 4 2 1 8 4 2 1
SMB77
Q0.1
0 0
16# 00
0 0 0 0 0 0 0 0
SM77.7 SM77.6 SM77.5 SM77.4 SM77.3 SM77.2 SM77.1 SM77.0
8 4 2 1 8 4 2 1
SMB77
Şekil 21.4 : Örnek 1' in LADDER devresi
Pals üretme işlemi, durdurma Đşlemine kadar devam eder.
1 sn
Örnek 2 : Bir sistemde 1. sensör aktif olduğunda PLC' nin Q0.0 çıkışı 7 saniyelik (2 saniye açık, 5 saniye kapalı) bir sinyal üretecektir. 2. sensör aktif olduğunda ise bu kez 5 saniyelik pals sinyalleri üretilecek ancak 4 saniye açık, 1 saniye kapalı sinyal olacaktır.
3.sensör ise sistemi herhangi bir anda durdurabilecektir.
OB1 (MAIN1)
Network 1 I0.0 sensörü aktif olduğunda Q0.0 çıkış rölesi reset edilsin( Reset işlemi tedbir içindir).
PLC' nin döngü işlemi SUBROUTINE 0 (SBR0) sayfasına yönlensin. Bu sayfadaki bilgiler bir defaya mahsus alınır ve döngü ana sayfada(OB1) devam eder. Diğer döngü- lerde (bilgi taramasında), yönlendirilmedikçe SUBROUTINE 0 sayfasına uğramaz.
R Q0.0
1 I0.0
EN SBR0
368
MOV_B
Network 3 I0.2 sensörü aktif olduğunda sistemin çalışması dursun.
IN OUT SMB67
16# 00
ENO
EN PLS
Q0.X 0
P EN I0.2
P
0 0 0 0 0 0 0 0
SM67.7 SM67.6 SM67.5 SM67.4 SM67.3 SM67.2 SM67.1 SM67.0
8 4 2 1 8 4 2 1
SMB67
0 0
16# 00
Network 2 I0.1 sensörü aktif olduğunda PLC' nin döngü işlemi SUBROUTINE 1 (SBR1) sayfasına yönlensin. Bu sayfadaki bilgiler bir defaya mahsus alınır ve döngü ana sayfada (OB1) devam eder. Diğer döngülerde (bilgi taramasında), yönlendirilmedikçe SUBROUTINE 1 sayfasına uğramaz.
I0.1
EN SBR1 P
ENO
SBR0 (SUBROUTINE 0)
Network 1 16#DB bilgisi SMB67 alanına yüklensin. 7 saniye (periyot süresi) SMB68 alanına yüklensin. PWM süresi (palsin açık olan süresi) 2 saniye olarak SMW70 alanına yüklensin. Bu bilgilere göre PLC' nin Q0.0 çıkışı çalışsın. Periyot süresinin değiştirilmesine ihtiyaç olmadığından SM67.0 bit' i "0" yapılarak 16#DA bilgisi SMB67 alanına yüklensin.
SM0.0
OUT EN
SMB67 16# DB
MOV_B ENO
IN P
OUT EN
SMW68 7000
MOV_W ENO
IN
OUT EN
SMW70 2000
MOV_W ENO
IN
EN
0
PLS
Q0.X ENO
OUT EN
SMB67 16#DA
MOV_B ENO
IN
D B
16# DB
1 1 0 1 1 0 1 1
SM67.7 SM67.6 SM67.5 SM67.4 SM67.3 SM67.2 SM67.1 SM67.0
8 4 2 1 8 4 2 1
SMB67
D A
16# DA
1 1 0 1 1 0 1 0
SM67.7 SM67.6 SM67.5 SM67.4 SM67.3 SM67.2 SM67.1 SM67.0
8 4 2 1 8 4 2 1
SMB67
369
SBR1 (SUBROUTINE 1)Bu sayfayı Edit menüsünden >ınsert> interrupt ile açmalısınız.
Örnek 2' deki devreye göre Q0.0 çıkılının sinyal akışı :
Şekil 21.5 : PWM, örnek 2' nin LADDER devresi
Network 1 16#DB bilgisi SMB67 alanına yüklensin. 5 saniye (periyot süresi) SMB68 alanına yüklensin. PWM süresi (palsin açık olan süresi) 4 saniye olarak SMW70 alanına yüklensin. Bu bilgilere göre PLC' nin Q0.0 çıkışı çalışsın. Periyot süresinin değiştirilmesine ihtiyaç olmadığından SM67.0 bit' i "0" yapılarak 16#DA bilgisi SMB67 alanına yüklensin.
OUT EN
SMB67 16# DB
MOV_B ENO
IN
OUT EN
SMW68 5000
MOV_W ENO
IN
OUT EN
SMW70 4000
MOV_W ENO
IN
EN
0
PLS
Q0.X ENO
OUT EN
SMB67 16#DA
MOV_B ENO
IN
D B
16# DB
1 1 0 1 1 0 1 1
SM67.7 SM67.6 SM67.5 SM67.4 SM67.3 SM67.2 SM67.1 SM67.0
8 4 2 1 8 4 2 1
SMB67
D A
16# DA
1 1 0 1 1 0 1 0
SM67.7 SM67.6 SM67.5 SM67.4 SM67.3 SM67.2 SM67.1 SM67.0
8 4 2 1 8 4 2 1
SMB67 SM0.0
370
7 sn 2 sn
Q0.1 I0.0
I0.1
4 sn
5 sn
2 sn
c) PTO çok bölgeli pals üretme :
Bu yöntem, daha çok otomasyon sistemlerde adım (step ) motoruna veya servo motora değişik zaman aralıkları ile değişik frekansları uygulayarak motorun devir sayısının istenilen zamanda istenilen sayıda olması sağlanabilir.
Örneğin aşağıdaki grafikte de görüldüğü gibi adım motoru için 1 KHz' den başlayarak (0' dan da başlayabilirsiniz) 5 ayrı devirde ve 5 ayrı zamanda bir çalışma ortamı oluşturalım.
Adım motoruna uygulanacak frekanslar ve pals sayısı aşağıdaki gibi olsun:
Pals sayısı Frekans Bir periyotluk zaman (msn) Bir periyotluk zaman (µµµµsn) 100 500 Hz T= 1/500 = 0.002 sn = 2 msn 2000 µsn
500 1 KHz T= 1/1000 = 0.001 sn = 1 msn 1000 µsn 20 5 KHz T= 1/5000 = 0.0002 sn = 0.2 msn 200 µsn 2000 10 KHz T= 1/10000 = 0.0001 sn = 0.1 msn 100 µsn
Buradaki değerler sadece bir örnektir. Adım motoru ile yapılacak işin özelliğine göre her bölge için pals sayısını ve frekansı değiştirmek gerekir. Burada dikkat edilmesi gereken her pals sinyalinde adım motorunun kaç derece açı ile döndüğüdür ( 900-450-22.50-150- 7.50- 3.750-1.80-10-0.50 gibi). Örneğin dönme açısı 1.80 olan bir motora 20 pals sinyali uygulandığında 20 x 1.8 = 360 dönmüş olur.
a
UYARI ! : Pals işlemlerinde Q0.0 veya Q0.1' in kontağını kullanarak başka bir elemanı çalıştıramazsınız. Örneğin bir zaman rölesini, sayıcıyı, çıkış rölelerini (Q0.5 gibi), dahili röleleri (M0.0 gibi) çalıştıramazsınız.
Q0.0 C0
CTU R
PV
Q0.0 M0.0
100 µsn (10KHz)
200 µsn (5KHz)
1000 µsn (1KHz)
2000 µsn (500Hz)
1 Bölge 2. Bölge 3. Bölge 4. Bölge 5. Bölge
Örnek : 100
Pals olsun 500 Pals olsun
20 Pals olsun
2000 Pals olsun
190 Pals olsun
371 F
t
PLC programında ivme değerlerinin girilebilmesi bakımından her bölge için ayrı ayrı hesaplama yapılması gerekmektedir.
5 bölge bulunduğuna göre 5 bölge ile ilgili bilgileri yükleme işlemine VB599' dan başlaya- lım. Örneğin siz de VB299' dan başlayabilirsiniz.
1. Bölge :
VW 600 : 1000 ( periyot başlangıç değeri µsn) VW 602 : - 8
VDW 604 : 100 (pals sayısı) VDW 604 = VW 604 ve VW 606' yı kullanır.
2. Bölge :
VW 608 : 200 ( periyot başlangıç değeri µsn) VW 610 : 0
VDW 612 : 500 (pals sayısı) VDW 612 = VW 612 ve VW 614' ü kullanır.
3. Bölge :
VW 616 : 200 ( periyot başlangıç değeri µsn) VW 618 : - 5
VDW 620 : 20 (pals sayısı) VDW 620 = VW 620 ve VW 622' yi kullanır.
4. Bölge :
VW 624 : 100 ( periyot başlangıç değeri µsn) VW 626 : 0
VDW 628 : 2000 (pals sayısı) VDW 628 = VW 628 ve VW 630' u kullanır.
Đvme değeri ∆∆∆∆1 =
Periyodun bitiş değeri (msn veya µsn olarak) Periyodun başlangıç değeri (msn veya µsn olarak)
Pals sayısı
Đvme değeri ∆∆∆∆1 = = - 8 200 - 1000
100
Uyarı ! : Bu sayı tam sayı olmalıdır.
Đvme değeri ∆∆∆∆2 = = 0 200 - 200
500
Uyarı ! : Bu sayı tam sayı olmalıdır.
372 Đvme değeri ∆∆∆∆3 = = - 5
100 - 200 20
Uyarı ! : Bu sayı tam sayı olmalıdır.
Đvme değeri ∆∆∆∆4 = = 0 100 - 100
2000
Uyarı ! : Bu sayı tam sayı olmalıdır.
5. Bölge :
VW 632 : 100 ( periyot başlangıç değeri µsn) VW 634 : 10
VDW 636 : 190 (pals sayısı) VDW 636 = VW 636 ve VW 638' i kullanır.
NOT : Grafiğe dikkat edilecek olursa 5. bölge sonunda periyot bitiş değeri, 0 alınmamıştır.
Eğer 0 alınmış olsaydı işlem:
PTO çok bölge pals üretmenin PLC' de programlanması :
OB1 (MAIN1)
Network 1 I0.0 sensörü aktif olduğunda Q0.1 çıkış rölesi reset edilsin( Reset işlemi tedbir içindir).
PLC' nin döngü işlemi SUBROUTINE 0 (SBR0) sayfasına yönlensin. Bu sayfadaki bilgiler bir defaya mahsus alınır ve döngü ana sayfada(OB1) devam eder. Diğer döngülerde (bilgi taramasında), yönlendirilmedikçe SUBROUTINE 0 sayfasına uğramaz.
Đvme değeri ∆∆∆∆5= = 10 2000 - 100
190
Uyarı ! : Bu sayı tam sayı olmalıdır.
Đvme değeri ∆∆∆∆5= = - 1.9 0 - 100
190 olacaktı. Yani tam sayı olmayacaktı Aynı zaman- da yukarıdaki hesaplamalara dikkat edilirse - ∆∆ ∆∆değerli olan bölgelerde (1. ve 3. bölgeler) ivme yukarı doğrudur. 5. bölgede ∆∆∆∆5 değeri eksi çıkarsa sanki ivme yukarı olacak gibi bir durum ortaya çıkar. Bu durum PLC için hata demektir. Bu nedenle bu değer "0" dan farklı ve periyodun başlangıç değerinden büyük olmalıdır. Yani sonuç - (eksi) çıkmamalıdır.
R Q0.1
1 I0.0
EN SBR0 P
Network 2 M0.0 iç rölesi aktif olduğunda sistemin çalışma amacına uygun olarak değişik işlemler yaptırılabilir. I0.1, yaptırılan değişik işlemlerin durdurulması amacı ile kullanılmıştır.
M0.0 I0.1
Değişik işlemler yaptırılabilir.
373
SM0.1
SBR 0 (SUBROUTINE 0)
Network 1 16# A0 bilgisi SMB77 alanına yüklensin. Daha önce açıklandığı gibi 5 bölge ile ilgili bilgiler, VB599 alanına yükleneceğini kabul etmiştik dolayısıyla 5 bölge ile bilgiler VB599 alanı içersine yüklensin. VB599 içindeki bilgiler de SMW178 alanına atansın. 1. ...5. bölgelerin bilgileri VW600' den başlayan adreslere (VW638' e kadar VW638 dahil) yüklensin. Interrupt 2 sayfasına geçiş şartı oluştuğunda Đnterrupt 2' ye geç.
16# A0 SMB77
MOV_B
EN ENO
IN OUT
5 VB599
MOV_B
EN ENO
IN OUT
599 SMW178
MOV_W
EN ENO
IN OUT
1000 VW600
MOV_W
EN ENO
IN OUT
- 8 VW602
MOV_W
EN ENO
IN OUT
100 VD604
MOV_DW
EN ENO
IN OUT
200 VW608
MOV_W
EN ENO
IN OUT
0 VW610
MOV_W
EN ENO
IN OUT
500 VD612
MOV_DW
EN ENO
IN OUT
200 VW616
MOV_W
EN ENO
IN OUT
- 5 VW618
MOV_W
EN ENO
IN OUT
1 0 1 0 0 0 0 0
SM77.7 SM77.6 SM77.5 SM77.4 SM77.3 SM77.2 SM77.1 SM77.0
8 4 2 1 8 4 2 1
SMB77
A 0
16# A0
20 VD620
MOV_DW
EN ENO
IN OUT
100 VW624
MOV_W
EN ENO
IN OUT
0 VW626
MOV_W
EN ENO
IN OUT
2000 VD628
MOV_DW
EN ENO
IN OUT
100 VW632
MOV_W
EN ENO
IN OUT
10 VW634
MOV_W
EN ENO
IN OUT
190 VD636
MOV_DW
EN ENO
IN OUT
ATCH
EVNT
PLS EN
Q0.X 1
INT
ENI 2 20
ENO
EN ENO
374
SM0.0