S7 300 counter (sayıcı) problemi

kulfattt

Üye
Katılım
4 Ağu 2009
Mesajlar
21
Puanları
1
Yaş
43
Merhaba arkadaşlar. s7300 kullanmaya yeni başladım. s7200 bilgim var kursa gittim. ama s7 300 ir devre yapmam gerekiyor ama yapamıyorm. yarımlarınızı bekliyorum. yapacağım devre 1 sayıcı kullanıcam sayıcı daki değerler değiştikçe hangi sayıya gelince ona bağlı kontağın açmam gerekiyor. yani sayıcı 5 e geldiğinde 5 nolu kontak 6 ya geldiginde 6 -7 geldiginde 7 gibi. bu şekilde bir devre nasıl yapabilirim. örnekli bir açıklama yapabilirseniz çok daha iyi olur. şimdiden vereceğiniz bilgiler için teşekkürler...
 
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
KNX Standardı, küçük bir rezidansın içerisindeki aydınlatma, perde panjur, klima kontrolünden, Dünya’nın en büyük havalimanlarındaki aydınlatma otomasyonu gibi çözümler için tercih edilen bir Dünya standardıdır.
sayıcı birlikte karşılaştırma komutlarını kullan.aktif olmasını istediğin kontaklarıda bu karşılaştırma komutlarından sonra kullan.
 
merhaba;
sn. mef3000 in de bahsettiği gibi bir örnek aşağıdadır.

Sayıcı degeri MW 100
I 0.0 YUKARI SAY
I 0.2 AŞAGI SAY
I 0.3 SET (SET DEGERI 12)
I0.4 RESET
Output:
-Q0.1
-Q0.2
-Q0.3
-Q0.4

Kod:
//network1

A    I         0.0
       CU   C5
       A    I         0.2
       CD   C5
       A    I         0.3
       L    C#12
       S    C5
       A    I         0.4
       R    C5
       L    C5
       T    MW        102
       LC   C5
       T    MW        100
       A    C5
       =    Q         0.0
 
//////////////////////////////////////////
//network2  
A(
       L    1
       L    MW        100
       ==I
       )
       =    Q         0.1
////////////////////////////////////////////
//network3  
A(
       L    2
       L    MW        100
       ==I
       )
       =    Q         0.2
/////////////////////////////////////////////
//network4  
A(
       L    3
       L    MW        100
       ==I
       )
       =    Q         0.3
//////////////////////////////////////////////
//network5  
 A(
       L    4
       L    MW        100
       ==I
       )
       =    Q         0.4
////////////////////////////////////////


STL olarak yazdım buraya fakat FBD ile daha anlaşılır ve basittir.
Buradan copy paste yapıp FBD'ye çeviriniz.
iyi çalışmalar
 
merhaba;
sn. mef3000 in de bahsettiği gibi bir örnek aşağıdadır.

Sayıcı degeri MW 100
I 0.0 YUKARI SAY
I 0.2 AŞAGI SAY
I 0.3 SET (SET DEGERI 12)
I0.4 RESET
Output:
-Q0.1
-Q0.2
-Q0.3
-Q0.4

Kod:
//network1

A    I         0.0
       CU   C5
       A    I         0.2
       CD   C5
       A    I         0.3
       L    C#12
       S    C5
       A    I         0.4
       R    C5
       L    C5
       T    MW        102
       LC   C5
       T    MW        100
       A    C5
       =    Q         0.0
 
//////////////////////////////////////////
//network2  
A(
       L    1
       L    MW        100
       ==I
       )
       =    Q         0.1
////////////////////////////////////////////
//network3  
A(
       L    2
       L    MW        100
       ==I
       )
       =    Q         0.2
/////////////////////////////////////////////
//network4  
A(
       L    3
       L    MW        100
       ==I
       )
       =    Q         0.3
//////////////////////////////////////////////
//network5  
 A(
       L    4
       L    MW        100
       ==I
       )
       =    Q         0.4
////////////////////////////////////////


STL olarak yazdım buraya fakat FBD ile daha anlaşılır ve basittir.
Buradan copy paste yapıp FBD'ye çeviriniz.
iyi çalışmalar


çok teşekkürler verdiğiniz örnek işime yaradı. birkaç şey daha sormak istiyorum. PV konumuda c#5 yazdık bunun nedeni nedir. 5 değilde başka bir değer girilebilirmi. bir diğer sorumda CV ve CV_BCD konumuda yazdığımız değerler movi komutu için bildiğim kdarıyla. peki bu kullandığımız değerin dışında başka değerde girebilirmiz şimdiden şekler...
 
Ahmet bey takıldığım yerlerde size danışmak isterim. rica etsem mail adresinizi paylaşırmısınız benimle. şimdiden tşkler...
 
merhaba;

1.Counterlar 0 -511 adet tanımlanabilir c5 sadece örnektir başka bir degerle değiştirebilirsin bu donanımla alakalıdır.
benim aşagıdayazdıgım s7 cpu 315 içindir.

Process image (input) 16384 (Bit) I0.0 I2047.7
Process image (output) 16384 (Bit) Q0.0 Q2047.7
Bit memory 32768 (Bit) M0.0 M4095.7
Timers 512 T0 T511
Counters 512 C0 C511
Local data 1024 (Byte)

2.C#12 örnek olarak verdim sadece belli durumlarda outu 12 degerine SET etmek isteyebilirsin bu 12 degeri sizin belirlediğiniz bir degerdir burada özel bir anlamı yoktur.
yani belli bir durum karşısında Resetleyebilecegin gibi belirli bir sayıya SET de edebilirsiniz.
acil durumda siren yada flaşör için gereken outputlara mesela .

3.Forumda e-mail paylaşımı yasaktır ki bu doğrudur zaten umumun faydasına olacak konuları burada yazarak başkalarına da faydalı olmak daha önemlidir.

iyi çalışmalar.
 
Kod:
//network1

A    I         0.0
       CU   C5
       A    I         0.2
       CD   C5
       A    I         0.3
       L    C#12
       S    C5
       A    I         0.4
       R    C5
       L    C5
       T    MW        102
       LC   C5
       T    MW        100
       A    C5
       =    Q         0.0

bı kısmı lad yada fbd ye çevrilmedi nedendir
 
Moderatör tarafında düzenlendi:
teşekkürler Ahmet bey verdiğiniz cevaplar için. Ahmet bey birde timer ve karşılaştırmakomutlarıyla ilgili bir problemim var. aşağıda açtığım konudaki sorun yazıyor. yine bir örnekle bilginizi paylaşırsanız senirim şimdiden çok tşkler...


(merhaba arkadaşlar. projemde yaklaşık 60 tane çıkış kullanacağım. her çıkışın kendine göre açılma ve kapanma süreleri olacak misal zaman rölesi 1000 ms yapıcam ve 1 çıkış 25 ms açılacak 60 ms kapanacak. 2.cıkış 40 ta açılacak 50 de kapaacak. yada 5. çıkış 120 ms açılacak 300 de kapanacak. bunu tek zaman rölesi kullanarak s7 200 de karşılaştırma komutlarıyla yapabiliyorum ama 300 yapamadım. bu konuda bana yardımcı olabilirmisiniz örnek verebileceğiniz bir dosyayla olursa çok sevinirim. vereceğiniz bilgiler için şimdiden çok teşekkürler... )
 
Toplama işlemi kullanarak daha fazla saydırma işlemi yapılabilir biliyorsunuzki normal counter sayıcı kullanıldığında 999 kadar sayar daha fazlası için ise toplama kulalnılarak ınt tipinde 65535 kadar dint ise 428525602 gibi milyar kusur a kadar saydırılabilir.
 

Forum istatistikleri

Konular
128,316
Mesajlar
916,655
Kullanıcılar
450,150
Son üye
Sqnax

Yeni konular

Geri
Üst