Terdapat tujuh instruksi dasar yang dapat digunakan untik mengontrol status bit secara individual, yaitu OUTPUT, OUTPUT NOT, SET, RESET, DIFFERENTIATE UP (DIFU), DIFFERENTIATE DOWN (DIFD) dan KEEP. Semua instruksi ini dituliskan di sisi paling kanan diagram tangga dan membutuhkan sebuah alamat bit sebagai operan. Selain instruksi-instruksi ini digunakan untuk membuat bit-bit keluaran ON atau OFF dalam area IR (ke piranti eksternal) mereka juga digunakan untuk mengontrol bit-bit lainnya.
A. SET dan RESET
Instruksi
SET dan RESET hampir sama dengan instruksi OUTPUT dan OUTPUT NOT. Hanya
saja, instruksi SET dan RESET ini mengubah kondisi status bit operan
saat kondisi eksekusinya ON. Kedua instruksi ini tidak akan mengubah
kondisi status bit jika kondisinya OFF.
Instruksi SET akan meng-ON-kan bit operan saat kondisi eksekusinya ON. Tetapi tidak seperti instruksi OUT, SET tidak akan meng-OFF-kan bit operan walaupun kondisi eksekusinya menjadi OFF (setelah ON). Sedangkan instruksi RESET akan meng-OFF-kan bit operan saat kondisi eksekusinya ON. Tetapi tidak seperti instruksi OUT NOT, RESET tidak akan meng-ON-kan bit operan walaupun kondisi eksekusinya OFF (setelah ON).
Contoh penggunaan
kedua instruksi ini ditunjukkan pada gambar di bawah ini. Pada diagram
tersebut, IR200.00 akan ON jika kondisi IR001.00 ON dan akan terus ON
tidak peduli kondisi IR001.00 selanjutnya hingga kondisi IR001.01
menjadi ON sehingga mereset IR200.00 (menjadi OFF).
B. DIFFERENTIATE UP dan DIFFERENTIATE DOWN
Instruksi
DIFFERENTIATE UP (DIFU) dan DIFFERENTIATE DOWN (DIFD) digunakan untuk
meng-ON-kan bit operan hanya satu siklus saja atau dengan kata lain
hanya sesaat saja. Instruksi DIFU digunakan untuk meng-ON-kan bit operan
sesaat saja (hanya satu siklus) saat terjadi transisi kondisi eksekusi
dari OFF ke ON. Sedangkan instruksi DIFD digunakan untuk tujuan yang
sama dengan DIFU. Hanya saja saat terjadi transisi kondisi eksekuso dari
ON ke OFF (kebalikan transisinya DIFU).
Pada gambar di bawah ini ditunjukkan diagram tangga sederhana yang menggunakan kedua instruksi ini. Pada diagram tersebut, IR200.01 akan ON untuk satu siklus saja, jika terjadi transisi perubahan kondisi eksekusi pada IR000.00 dari OFF menjadi ON. Saat DIFU(13) 200.01 dikerjakan lagi untuk siklus berikutnya. IR200.01 tetap akan OFF tidak peduli status IR000.00. Sedangkan IR200.02 akan ON untuk satu siklus saja, jika terjadi transisi perubahan kondisi eksekusi pada IR000.01 dari ON menjadi OFF. Saat DIFD(14) 200.02 dikerjakan lagi untuk siklus berikutnya, IR200.02 akan tetap OFF tidak peduli status IR000.01.
C. Instruksi KEEP
Instruksi
KEEP digunakan untuk menyimpan status bit operan berbasis pada dua
kondisi eksekusi. Untuk keperluan ini, instruksi KEEP dihubungkan ke dua
garis instruksi. Garis instruksi pertama digunakan untuk meng-ON-kan
bit operan, sedangkan garis instruksi kedua digunakan untuk meng-OFF-kan
bit operan. Hal tersebut akan terjadi jika kondisi eksekusi pada garis
instruksi yang terkait ON. Bit operan instruksi KEEP akan dijaga ON atau
OFF walaupun ada di dalam bagian diagram yang mengandung INTERLOCK.
Pada gambar dibawah ini ditunjukkan contoh diagram tangga yang menggunakan instruksi KEEP ini. Pada diagram tangga tersebut, HR00.00 akam ON saat IR000.02 dalam kondisi ON dan IR000.03 dalam kondisi OFF, HR00.00 akan tetap ON hingga IR000.04 atau IR000.05 dalam kondisi ON. Karena instruksi ini memerlukan lebih dari satu garis instruksi, maka garis-garis instruksi dikodekan terlebih dahulu (alamat 00000 hingga 00003) sebelum menuliskan instruksi KEEP-nya (alamat 00004).
D. Bit-bit Penyimpan (Self-maintained)
Walaupun
instruksi KEEP dapat digunakan untuk membuat bit-bit yang bisa menahan
sendiri, kadangkala dibutuhkan membuat bit-bit yang bisa menahan sendiri
dengan cara yang lain. Sehingga bit-bit tersebut bisa di OFF-kan pada
bagian program yang mengandung INTERLOCK.
Untuk membuat bit-bit
tersebut, bit operan suatu instruksi OUT digunakan sebagai suatu kondisi
untuk OUT yang sama dalam suatu bentuk penggabungan OR. Sehingga bit
operan OUT akan tetap ON atau OFF hingga muncul perubahan kondisi pada
bit-bit yang lain.
Sebagai contoh, kita bisa mengubah diagram tangga yang telah ditunjukkan sebelumnya pada gambar di atas yaitu dengan instruksi KEEP dengan menghilangkan instruksi KEEP tersebut dan meletakkan bit operan OUT ke suatu garis instruksi tersendiri yang kemudian digabung dengan OR. Hasilnya ditunjukkan pada gambar di bawah ini.
Pada diagram tangga di atas, bit operan HR00.00 digunakan
sebagai kondisi yang di-OR-kan dengan gabungan IR000.02 dan IR000.03
(alamat 00000 hingga 00002). Kemudian digabungan dengan IR000.04 dan
IR000.05 (alamat 00003 hingga 00005), dengan mengubah syarat kondisi
IR000.04 dan IR000.05 menjadi aktif OFF (bukan aktif ON pada diagram
tangga sebelumnya). Sehingga hasil kerjanya juga sama dengan diagram
tangga sebelumnya.
No comments:
Post a Comment