Winplc7 4 Örnek(example) 1

ahmetbogus

Üye
Katılım
11 Kas 2006
Mesajlar
270
Puanları
1
MERHABA;
BIR ARKADASIM ICIN YAZDIGIM KODU EKLEDIM.TEMEL SEVIYE ICIN.

Dosya, Dosya Paylaşım Sitesinden Silindiği İçin Konu Çöpe Taşınmıştır.

KULLANDIKLARIM
4 ADET 8 DO MODUL ADRESLER 0-1-2-3 SEKLINDE
1 ADET 8 I MODUL ADRES 0

I0.0 START BUTONUDUR.
M100 CLOCK MEMORY BYTE OLARAK TANIMLAYIN.
DATABLOCK DB1 TIMER SURELERI
FC1 TIMER
VE OB35 ILE 20 ms DE INTERRUPT ILE OUTPUTLARA( VUMETER GIBI) SINYAL GONDERMEK


KISACA BASIT AMA BIR PLC PROGRAMI ICIN GEREKLI OLAN KISIMLARI ANLAMAK AÇISINDAN GUZEL BIR ORNEK.

not:aynı örneği export ederek s7 manager v5.5 ile de çalıştırdım. sadece sembol tablosunu ayrıyetten import etmem gerekti.
o örneği de siemens kısmında yayınladım isteyen oradan bakabilir.
 
Son düzenleme:
2. örnek çalışma süresi sayacı.
hours counter

çalışma süresi DB1 de tutuluyor.
M255 clock memory'dir
I 0.0 run sinyali
I 0.1 aux enable sinyalidir.

awl code ob1 için:

Kod:
//{{V2}}
ORGANIZATION_BLOCK OB1
TITLE= "Cyclic main program"


AUTHOR:ahmet
FAMILY:nb
NAME:nb
VERSION:1.0


VAR_TEMP
       OB1_EV_CLASS:BYTE //Bits 0-3 = 1 (Coming event), Bits 4-7 = 1 (Event class 1)
       OB1_SCAN_1:BYTE //1 (Cold restart scan 1 of OB 1), 3 (Scan 2-n of OB 1)
       OB1_PRIORITY:BYTE //1 (Priority of 1 is lowest)
       OB1_OB_NUMBR:BYTE //1 (Organization block 1, OB1)
       OB1_RESERVED_1:BYTE //Reserved for system
       OB1_RESERVED_2:BYTE //Reserved for system
       OB1_PREV_CYCLE:INT //Cycle time of previous OB1 scan (milliseconds)
       OB1_MIN_CYCLE:INT //Minimum cycle time of OB1 (milliseconds)
       OB1_MAX_CYCLE:INT //Maximum cycle time of OB1 (milliseconds)
       OB1_DATE_TIME:DATE_AND_TIME //Date and time OB1 started
END_VAR
BEGIN

NETWORK
TITLE= 
//{{k}}
////auxiliary command enabled

       A    I         0.1
       =    M       352.2

NETWORK
TITLE= 
//{{k}}
////machine running

       A    I         0.0
       =    M         8.0

NETWORK
TITLE= 
//{{k}}

       FP   M       255.5
       =    M         6.5

NETWORK
TITLE=HOURS COUNTER
//{{a}}
//HOURS COUNTER OK TEST

       A(
       A    M       352.2                //auxiliary command enabled
       A    M         8.0                //machine running
       )
       JCN  C002
       AN   M         6.5                //1 second tick positice edge
       JC   C002

       L    DB1.TOTAL                    //running time since
       L    1
       +D
       T    DB1.TOTAL

       L    3600
       /D
       T    DB1.HOUR                     //running time since - hours

       L    DB1.TOTAL
       L    3600
       MOD
       L    L#60
       /D
       T    DB1.MIN                      //running time since - minute

       L    DB1.TOTAL
       L    60
       MOD
       T    DB1.SEC                      //running time since - second
C002  :NOP  0
END_ORGANIZATION_BLOCK

db1 için awl code

Kod:
//{{V2}}
DATA_BLOCK DB1

AUTHOR:ahmet
FAMILY:nb
NAME:nb
VERSION:1.0


       STRUCT 
         TOTAL:DINT:=L#0  
         HOUR:DINT:=L#0  
         MIN:DINT:=L#0  
         SEC:DINT:=L#0  
       END_STRUCT 
BEGIN

       TOTAL:=L#0
       HOUR:=L#0
       MIN:=L#0
       SEC:=L#0
END_DATA_BLOCK



not: stl kodları S7 300-400 ile de kullanabilirsiniz.
 

Forum istatistikleri

Konular
128,163
Mesajlar
915,578
Kullanıcılar
449,922
Son üye
11akif

Yeni konular

Çevrimiçi üyeler

Geri
Üst