Training SIMATIC - 07 - Data Blocks
Training SIMATIC - 07 - Data Blocks
SIMATIC STEP7
07 - DATA BLOCKS
PANDHU W
Local Data Stack Local data (L stack) adalah area untuk menyimpan:
- Data sementara dari operasi blok
- Alamat dari parameter yang digunakan FC
- Hasil operasi sementara dari sebuah program
Register CPU mempunyai dua register data block, yaitu register DB dan
DI. Oleh karena itu, user dapat menggunakan DB dan DI secara
bersamaan.
Overview Tipe data menentukan properti dari data, bagaimana isi dari
alamat DB digambarkan dan berapa batas jangkauan nilai yang
diijinkan.
Tipe data juga menentukan operasi yang bisa digunakan.
Elementary Data Types Tipe data dasar ditetapkan berdasarkan IEC 61131-3. Tipe dat
menentukan jumalah memory yang dinutuhkan. Contohnya, tipe
data word menggunakan 16 bit pada memory.
Tipe data dasar tidak pernah lebih dari 32 bit dan dapat diisikan
ke accumulator dari prosessor S7 dan dapat diproses dengan
instruksi dasar STEP 7.
Complex Data Types Tipe data complex hanya bisa digunakan dalam kombinasi
dengan variabel yang dideklarasikan di global data block. Tipe
data complex tidak bisa diisikan semuanya ke accumulator. User
dapat menggunakan block dari library untuk memproses tipe
data complex.
User-Defined Data Types User-defined data types (UDT) dapat digunakan untuk data
block atau data type.
User dapat membuat UDT menggunakan Data Block Editor.
Struktur dari UDT dapat berisi kumpulan dari tipe data dasar
dan/atau complex.
BOOL, BYTE, WORD, Variabel tipe BOOL teridi dari 1 bit. Variable tipe BYTE, WORD, dan
DWORD, CHAR DWORD secara beruturut-turut terdiri dari 8, 16, dan 32 bit.
Bentuk spesial dari tipe data ini adalah BCD dan nilai counter yang
digunakan pada fungsi counter. Tipe data CHAR menampilkan
karakter kode ASCII.
INT, DINT, REAL Variabel tipe ini menampilkan nomer yang dapat digunakan untuk
operasi matematika.
DATE Variabel DATE disimpan dalam bentuk integer 16 bit. Isi dari variabel
ini adalah jumlah hari sejak 01.01.1990 (D#2168-12-31 =
W#16#FF62).
Number, Length Jumlah DB yang tersedia tergantung pada CPU yang digunakan.
Besar maksimal block adalah 8Kbyte untuk S7-300 dan 64Kbyte
untuk S7-400.
Note Jika user mengakses DB yang tidak ada di CPU akan terjadi
System Fault. CPU akan berada pada mose Stop jika user tidak
membuat program pada error OB.
Traditional Access Biasanya (pada S5) untuk mengakses DB, DB harus dibuka
sebelum diakses. Hal ini bisa dilakukan dengan alamat absolut
atau simbolik (OPN DB 18 atau OPN Parts). Jika ada DB lain
terbuka, maka DB yang pertama dibuka secara otomatis ditutup.
Kemudian elemen data dapat diakses per bit (DBX), per byte
(DBB..), per word (DBW), atau double word (DBD) tanpa
harus menyebutkan identitas DB.
Kekurangan:
- Ketika mengakses elemen data, harus dipastikan membuka
DB yang benar.
- Hanya bisa mengakses alamat absolut.
- Akses absolut menghambat kemungkinan koreksi dan
membuat program sulit dibaca.
Complex Data Types Tipe data kompleks (array dan structure) terdiri dari kumpulan
tipe data dasar dan kompleks.
Mereka memungkinkan user untuk membuat tipe data yang
berisi struktur data dalam jumlah besar dan memprosesnya
secara simbolik.
Tipe data kompleks (lebih besar dati 32 bit), tidak dapat langsung
diproses dengan instruksi STEP 7. Hanya satu elemen yang bisa
diproses langsung.
Tipe DATE_AND_TIME panjangnya 64 bit. Panjang tipe data
ARRAY, STRUCT, dan STRING ditentukan oleh user.
Kompleks variabel hanya dapat dideklarasikan di global DB dan di
logic block sebagai parameter atau variabel lokal.
User-Defined Data Types UDT menggambarkan struktur yang didesain oleh user. Struktur
ini disimpan di blok UDT (UDT1 sampai UDT65535) dan dapat
digunakan sebagai template di tipe data variabel lain.
Contoh: User menginginkan 10 struktur yang sama dalam DB.
Pertama, buat UDT, tentukan strukturnya dan simpan (misal
UDT1). Buat global DB dan buat variabel yang tipenya
ARRAY[1..10]. Pada baris selanjutnya gunakan referensi UDT
yang telah dibuat.
Array Array berisi dari beberapa elemen dengan tipe data yang sama. Pada
gambar di atas dapat dilihat Measuring_point terdiri dari 10 elemen
data dengan tipe REAL.
Define Array in DB Keyword ARRAY[n..m]. Elemen pertama (n) dan elemen terakhir (m)
ditulis di dalam tanda kurung kotak. Contohnya, [1..10] berarti 10
elemen, dimana elemen pertama ada di index [1] dan elemen terakhir
adalah index [10]. [1..10] dan [0..9] sama-sama mempunyai 10 elemen.
Initial Values Sebuah nilai yang dimasukkan pada kolom initial value hanya
digunakan untuk elemen pertama. Untuk memberi nilai awal pada
semua elemen, digunakan koma (,) untuk memisahkan nilai awal tiap
elemen.
Data View Untuk memonitor nilai tiap elemen pilih View Data View.
Define Structure in DB Keyword yang digunakan STRUCT dan pada bagian akhir
diindikasikan dengan END_STRUCT.