Siemens (6ES7241-1AA22-0XA0) SIMATIC S7-200 Bilgisayarlarda Kullanılan Haberleşme Ara Birim Cihazları
IN4’deki gibi adres parametreleri (&VB100), altprograma DWORD (işaretsiz double word) değeri olarak
aktarılır. Sabit parametrenin tipi, kullanıldığı programda değişkenin başına eklenen açıklayıcı yoluyla
belirtilmelidir. Örneğin, 12345 değerine sahip double word işaretsiz bir sabiti göstermek için DW#12345
yazılmalıdır. Eğer bu açıklayıcı girilmezse, sabitin başka bir veri tipinde olduğu varsayılabilir.
Giriş ve çıkış parametreleri için otomatik veri dönüşümü sözkonusu değildir. Örneğin, lokal değişken
tablosunda REEL olarak tanımlanan bir parametre için altprogramın çağrıldığı program parçasında
double word bir değer yazılırsa, altprogramdaki değer bir double word olacaktır.
Değerler altprograma aktarıldığında, altprogramın lokal değişken tablosuna yazılırlar. Tablonun en soldaki
sütunu, aktarılan parametrenin lokal adresini gösterir. Giriş parametre değerleri, altprogram çağrıldığında
lokal hafızaya kopyalanır. Altprogramın işletilmesi tamamlandığında, çıkış parametreleri lokal hafızadan
belirtilen adreslere kopyalanır.
Parametrelerin kodlanmasında veri boyut ve tipi göz önüne alınır. Parametre değerlerinim lokal hafızaya
atanması şu şekilde yapılır:
❑ Parametre değerleri, lokal hafızaya altprogram çağrısının yapıldığı sırayla, L0’dan başlayarak
atanırlar.
❑ Bir ila sekiz sıralı bit parametre değeri tek bir bayta atanırlar (Lx.0’den başlayıp Lx.7’ye kadar
devam ederek).
❑ Bayt, word ve double word değerleri lokal hafızaya uygun veri boyutunda atanırlar (LBx, LWx veya
LDx).
Parametre içeren Altprogram Çağır komutunda, parametreler şöyle düzenlenmelidir: Giriş parametreleri
önce, giriş/çıkış parametreleri sonra ve çıkış parametreleri en sonda olmalıdır.
Eğer STL’de programlıyorsanız, CALL komutunun formatı şöyledir:
CALL altprogram numarası, parametre 1, parametre 2, ... , parametre n
Örnek: Altprogram ve Altprogramdan Dönüş Komutlari
M Network 1 //İlk taramada, altprogram 0’ı çağır.
A LD SM0.1
I CALL SBR_0
N
S Network 1 //Eğer programınızın mantığı gerektiriyorsa,
B //son devreden önce koşulsuz dönüş komutu
R //kullanabilirsiniz.
0 LD M14.3
CRET
Network 2 //Eğer M14.3 varsa, bu devre atlanacaktır.
LD SM0.0
MOVB 10, VB0
205