Siemens Simatic S7 SCL Programlama Dili

SCL dili gerçekten kullanım açısından hem rahat hem de daha esnek
 
Ekli dosyayı görüntüle 10728
bu diyagramı SCL de nasıl yazarız ?
teşekkürler
sco
FC kodları aşağıdadır. Yalnız hazırladığınız devrenin zamanlayıcı resetinde bir sorun var gibi bu yüzden aşağıdaki devrede zamanlayıcı reseti yerine m0.0 yazarsanız devre çalışacaktır.




Kod:
FUNCTION FC1 :void

VAR_INPUT
    sensor:BOOL;
    mytime : TIMER; 
    initialvalue      : S5TIME ;
  END_VAR

VAR_OUTPUT
   motor_start:BOOL; 
END_VAR
    
 VAR 
 PE:BOOL;             //kenar kontrolu için kullanıcaz
 basla       : BOOL ; 
 reset       : BOOL ; 
 bcdvalue           : s5time;
 binvalue           : WORD ; 
 END_VAR   
    
  BEGIN 

  bcdvalue           := S_PEXT (T_NO := mytime,
                       S  := basla ,
                       TV := initialvalue ,
                       R  := not motor_start ,
                       BI := binvalue ,
                       Q  := motor_start) ; 
    
    IF sensor=1 AND PE=0   THEN
        PE:=1;  
       END_IF;

   IF sensor=true AND PE=true THEN
    basla:=1;
    PE:=0;        
END_IF;

IF motor_start=true  THEN
   basla:=false;            
    END_IF;
END_FUNCTION
 
Moderatör tarafında düzenlendi:
Yukarıdaki devrenin reset şartı ve kenar tetiklemesinin düzenlenmiş şekli aşağıdadır.

Kod:
FUNCTION FC1 :void
 
VAR_INPUT
    sensor:BOOL;
    mytime : TIMER; 
    initialvalue      : S5TIME ;
    END_VAR


VAR_OUTPUT
   motor_start:BOOL; 
END_VAR
    
 VAR 
 PE:BOOL;             //kenar kontrolu için kullanıcaz
 basla       : BOOL ; 
 reset       : BOOL ; 
 bcdvalue           : s5time;
 binvalue           : WORD ; 
 END_VAR   
    
  BEGIN 
  
  bcdvalue           := S_PEXT (T_NO := mytime,
                       S  := basla ,
                       TV := initialvalue ,
                       R  := NOT sensor AND NOT motor_start ,
                       BI := binvalue ,
                       Q  := motor_start); 
    
    IF sensor=true AND PE=false   THEN
        PE:=true;        
    END_IF;


   IF sensor=true AND PE=true THEN
    basla:=true;
    PE:=false;   
ELSE
    basla:=false;     
   END_IF;
     
    END_FUNCTION
 
Moderatör tarafında düzenlendi:
scl dilinde "goto" komutunu kullanmak için bir "etiket"(label) tanımlamak gerekiyo. örnek programlarda BEGIN diye etiketler tanımlanmış. bu etiketi nasıl tanımlıyoruz?
sadece begin diye yazdığımızda kabul etmiyo.

label
etiket;
end_label

şeklindede tanımlayamadım.

bu konuda yardımcı olurmusunuz.
 
Kod:
LABEL
    Write_register;
END_LABEL

IF in_Write AND NOT EMWrite
    THEN EMWrite := in_Write; GOTO Write_register;
    ELSE EMWrite := in_Write;
END_IF;

RETURN;

[B]
Write_register:[/B]
   
 DB3.Data[4]:= DB3.Data[3];  
 DB3.Data[3]:= DB3.Data[2];
 DB3.Data[2]:= DB3.Data[1];
 DB3.Data[1]:= in_new_DATA;
 in_Write   :=FALSE;

RETURN;
 
ilginiz için çok teşekkür ederim.
yukarıdaki programı kopyalayarak Tia portalda fonksiyonun içine yapıştırıyorum hata veriyor.
aynı şekilde S7 300 de scl source un içine kopyaladığımda hata verimiyor.
 
ileride sağlam bır otomasyoncu olmak ıcın calısmalara nerden baslamalı bı ınsan. en 0 nokta ve gelısme basamaklarını hangı dallara bakabılıcegımızı acaba yazarmısınız abilerim
 
ileride sağlam bır otomasyoncu olmak ıcın calısmalara nerden baslamalı bı ınsan. en 0 nokta ve gelısme basamaklarını hangı dallara bakabılıcegımızı acaba yazarmısınız abilerim
 
ileride sağlam bır otomasyoncu olmak ıcın calısmalara nerden baslamalı bı ınsan. en 0 nokta ve gelısme basamaklarını hangı dallara bakabılıcegımızı acaba yazarmısınız abilerim

Sayın DropBa

Form içinde bir kaç sefer paylaşmıştım PLC'ye başlamanın (kişisel düşüncem) en temel basamaklarını madde halinde verdim.İncelmenizi tavsiye ederim.
https://www.kontrolkalemi.com/forum/konu/plc-programlamaya-nereden-başlamalı.63573/

Saygılarımla
 
güzel bir plc kitabı al incele ve incelemeler sonucu eksik gördüğün konular üzerine git, bol bol örnek programlar tasarla ve inceler..
 

Forum istatistikleri

Konular
130,148
Mesajlar
933,630
Kullanıcılar
453,237
Son üye
Muho1234

Yeni konular

Geri
Üst