Siemens (6ES7241-1AA22-0XA0) SIMATIC S7-200 Bilgisayarlarda Kullanılan Haberleşme Ara Birim Cihazları
Örnek: Dizi İçinde Dizi Bul
Aşağıdaki örnek, VB0’da yer alan bir karakter dizisinin pompayı açmak (on) veya kapamak (off) için komut olarak
kullanımını göstermektedir. VB20’de ’On’ dizisi ve VB30’da ’Off’ dizisi saklanmıştır. Dizi İçinde Dizi Bul komutunun
sonucu AC0’da (OUT parametresi) saklanmaktadır. Eğer sonuç 0 değilse, ’On’ dizisi aranan alanda bulunmuş
demektir.
Network 1//1. AC0’ı 1 yap.
// (AC0, OUT parametresi olarak kullanılmaktadır.)
//2. VB0 ile başlayan dizide VB20 dizisini (‘On’) ara.
// Arama birinci karakterden başlasın (AC0=1).
LD I0.0
MOVB 1, AC0
SFND VB0, VB20, AC0
VB0 VB12
12 'T' 'u' 'r' 'n' ' ' 'P' 'u' 'm' 'p' ' ' 'O' 'n'
VB20 VB22 VB30 VB33
2 'O' 'n' 3 'O' 'f' 'f'
VB20 dizisi AC0 VB20 dizisi AC0
bulunursa: 11 bulunmazsa: 0
Örnek: Dizi İçinde İlk Karakteri Bul
Aşağıdaki örnekte, VB0’dan başlayan dizide sıcaklık değeri yer almaktadır. VB20 ile başlayan alanda numerik
değerler (ve + ile -) bulunmaktadır. Örnek program, VB0’dan başlayan alanda bulunan ve yeri tam olarak bilinmeyen
sıcaklık değerini bulup çıkarmakta ve reel sayı olarak VD200’e yazmaktadır.
Network 1 //1. ACO’ı 1 yap.
// (AC0, OUT parametresidir ve aramanın
// dizinin ilk karakterinden başlayacağını gösterir.)
//2. VB0 alanında yer alan dizinin içinden
// nümerik değeri bul.
//3. ASCII nümerik değeri reel sayıya çevir.
LD I0.0
MOVB 1, AC0
CFND VB0, VB20, AC0
STR VB0, AC0, VD200
VB0 VB11
11 'T' 'e' 'm' 'p' ' ' ' ' '9' '8' '.' '6' 'F'
VB20 VB32
12 '1' '2' '3' '4' '5' '6' '7' '8' '9' '0' '+' '-'
VB0’da bulunan sıcaklığın Sıcaklığın reel sayı
başlangıçadresi karşılığı
AC0 VD200
7 98.6
188