Kullanım Kılavuzları
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