Anda di halaman 1dari 12

2014

SIMATIC STEP7

07 - DATA BLOCKS
PANDHU W

PT. KRAKATAU STEEL


SIMATIC S7 07 - Data Blocks

Overview Sebagai tambahan untuk blok program, program buatan


user juga dapat berisi informasi tentang status proses,
sinyal, dan lain-lain. Data ini kemudian diproses menurut
instruksi yang ada dalam program buatan user.
Data yang disimpan dalam variabel, diidentifikasi sebagai:
- Storage location (PII, PIQ, bit memory, DB)
- Data type (tipe data dasar atau kompleks, parameter)
Berdasarkan aksesnya, data dibedakan menjadi:
- Global variabel, dideklarasikan di symbol table
- Local variabel, dideklarasikan di dalam OB, FB, atau FC

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

Data Block Data block digunakan untuk menyimpan nilai. Perbedaan


dengan L stack adalah data di data block tidak ditulis ulang
saat eksekusi sebuah perintah selesai atau ketika DB selesai
digunakan.

pandhu.wicaksono@krakatausteel.com Hal. 1 dari 11


SIMATIC S7 07 - Data Blocks

Overview Data block digunakan untuk menyimpan data. Seperti logic


block, data block menggunakan memory yang tersedia. User
dapat mengakses data block menggunakan operasi bit, byte,
word, atau double word. Symbolic address dapat juga digunakan.

Uses User dapat menggunakan data block dalam beberapa cara,


tergantung isinya. User dapat membedakannya menjadi:
- Global data block: berisi informasi yang bisa diakses semua
logic block yang ada di program.
- Instance data block: data block ini khusus digunakan oleh
FB. Data dalam DB hanya digunakan oleh FB yang
memanggilnya.

Creating DB User dapat membual global DB denga program editor atau


dengan user-defined data type (UDT) yang telah dibuat
sebelumnya.
Instance data block dibuat ketika sebuah FB digunakan.

Register CPU mempunyai dua register data block, yaitu register DB dan
DI. Oleh karena itu, user dapat menggunakan DB dan DI secara
bersamaan.

pandhu.wicaksono@krakatausteel.com Hal. 2 dari 11


SIMATIC S7 07 - Data Blocks

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.

pandhu.wicaksono@krakatausteel.com Hal. 3 dari 11


SIMATIC S7 07 - Data Blocks

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.

S5TIME Variabel S5TIME diperlukan untuk penggunaan nilai waktu pada


fungsi timer. Format yang digunakan S5T#, diikuti waktu. User dapat
menentukan waktu dalam jam, menit, detik, atau milidetik. Format
waktu yang digunakan bisa memakai garis bawah (1h_4m) atau
tanpa garis bawah (1h4m). FC33 dan FC40 mengkonversi format
S5TIME ke TIME dan TIME ke S5TIME.

INT, DINT, REAL Variabel tipe ini menampilkan nomer yang dapat digunakan untuk
operasi matematika.

TIME Variabel TIME menggunakan memory sama dengan DWORD.


Variabel ini digunakan untuk nilai waktu di timer IEC. Isi dari variabel
ini ditampilkan sebagai DINT dalam milidetik (T#1s = L#1000).

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).

TIME_OF_DAY Variabel TIME_OF_DAY menggunakan memory 32 bit. Variabel ini


berisi jumlah milidetik dari awal hari (jam 0:00). (TOD#23:59:59.999
= DW#16#05265B77).

pandhu.wicaksono@krakatausteel.com Hal. 4 dari 11


SIMATIC S7 07 - Data Blocks

Creating a DB User dapat memasukkan data block baru melalui SIMATIC


Manager dengan memilih folder Blocks kemudian diikuti dengan
memilih menu yang muncul.

Shared DB Shared DB digunakan untuk menyimpan global data. Yaitu untuk


menyimpan dat umum yang bisa diakses oleh setiap block logic
(OB, FC, FB).
User harus mempersiapkan global DB sendiri dengan
mendeklarasikan variabel yang diperlukan yang akan disimpan
pada DB.

Instance DB Instance DB digunakan sebagai area memori privat. Atau


sebagai memori dari sebuah FB. Parameter dan variabel FB
diatur pada instance DB.
Instance DB pada umumnya tidak dipersiapkan oleh user
melainkan dihasilkan oleh Editor.

DB of Type DB dapat juga dibuat berdasarkan User-defined Data Type (UDT)


oleh Editor. UDT, yang dipersiapkan terlebih dahulu oleh user
seperti DB, digunakan sebagai template. UDT dapat pula
digunakan sebagai template untuk membuat DB tambahan
dan/atau mendeklarasikan variabel dan parameter.

pandhu.wicaksono@krakatausteel.com Hal. 5 dari 11


SIMATIC S7 07 - Data Blocks

Declaration View DB dipersiapkan di declaration view. User mendeklarasikan


variabel yang diperlukan untuk menyimpan data di sini. Variabel
dibuat pada tabel dan diatur dalam baris dan kolom.

Columns Kolom mempunyai arti:


- Address dibuat oleh Program Editor. Ini adalah
alamat byte pertama yang digunakan variabel
- Name nama simbolik dari variabel
- Type tipe data (INT, REAL, )
- Initial value digunakan untuk menentukan nilai awal
variabel. Jika tidak diisi akan dibuat 0 oleh
Editor
- Comment untuk mendokumentasikan variabel

Menyimpan DB ke hard disk menggunakan icon disket


Save
DB harus didownload ke CPU, seperti block logic.
Download
User dapat mengamati nilai variabel dalam DB. Untuk
Data View
melakukannya, klik menu View dan pilih Data View.
Kemudian diaktifkan menggunakan icon Kaca mata.

Initialize DB Ketika melakukan inisialisasi, nilai variabel ditulis ulang dan


diganti nilai awal. Hal ini diperlukan jika nilai awal diganti.
View Data View Edit Initialize Data Block

pandhu.wicaksono@krakatausteel.com Hal. 6 dari 11


SIMATIC S7 07 - Data Blocks

General Pengalamatan data pada DB dilakukan byte per byte, seperti


yang dilakukan pada bit memori.
User dapat mengisi atau memindah data per byte, word, atau
double word. Ketika menggunakan data word, alamat awal harus
ditentukan (seperti L DBW 2) pada operasi dan 2 byte diisikan ke
accumulator dimulai dengan byte alamat ini.
Pada double word, 4 byte diisikan ke accumulator dimulai dari
byte awal alamat yang digunakan pada operasi.

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.

pandhu.wicaksono@krakatausteel.com Hal. 7 dari 11


SIMATIC S7 07 - Data Blocks

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.

Fully-qualified Access Fully-qualified access adalah membuka sebuah DB dan


menutup semua DB yang sebelumnya terbuka. Akses ini dapat
dilakukan menggunakan alamat absolut maupun simbolik.

absolute Akses absolut dilakukan dengan membuka DB dan mengakses


elemen data dalam kombinasi dengan instruksi. Kekurangannya
sama dengan akses secara tradisional.

symbolic Akses secara simbolik hanya bisa dilakukan jika DB dan


elemennya dapat diakses secara simbolik. Editor mengijinkan
campuran alamat absolut dan simbolik selama proses
pembuatan, namun setelah konfirmasi semua diganti menjadi
alamat simbolik.

pandhu.wicaksono@krakatausteel.com Hal. 8 dari 11


SIMATIC S7 07 - Data Blocks

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.

Hal ini sama dengan membuat 10 range data di satu DB.

pandhu.wicaksono@krakatausteel.com Hal. 9 dari 11


SIMATIC S7 07 - Data Blocks

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.

pandhu.wicaksono@krakatausteel.com Hal. 10 dari 11


SIMATIC S7 07 - Data Blocks

Structure Gambar di atas memberikan contoh sebuah struktur dengan


nama Motor_data. Structure terdiri dari beberapa elemen
dengan tipe data berbeda. Elemen dari struktur bisa tipe data
dasar atau kompleks.
Untuk mengakses elemen dari structure harus ada nama
structure-nya. Hal ini untuk memudahkan pembacaan program.
Untuk mengakses secara simbolik maka DB harus diberi nama
simbol, contohnya Drive_1.
L Drive_1.Motor_data.rated_current
L Drive_1.Motor_data.speed
Nama simbolik blok (Drive_1) menggunakan tanda petik
mengindikasikan nama yang digunakan berasal dari symbol
global.

Define Structure in DB Keyword yang digunakan STRUCT dan pada bagian akhir
diindikasikan dengan END_STRUCT.

pandhu.wicaksono@krakatausteel.com Hal. 11 dari 11

Anda mungkin juga menyukai