Sepuluh Macam Instruksi
Fungsi
1.
MODE
CONTROL – INI(61)
INI(61)
dapat digunakan dengan fungsi yang tercantum dalam tabel berikut :
|
Unit
|
Fungsi
|
|
CPU
Unit
|
Counter
0 kecepatan tinggi (IR 00004 ke IR 00006)
|
|
unit
output transistor
|
Output
pulsa
|
|
Papan
pulsa I/O
|
High
Speed counters 1 dan 2
Pulse
output 1 dan 2
|
|
Absolute
Encoder Interface Board
|
Absolute
High-speed counter 1 dan 2
|
|
High
speed counter board
|
High
speed counters 1 sampai 4
|
Ketika
kondisi eksekusi OFF, INI(61) tidak dieksekusi. Ketika eksekusi kondisi ON,
INI(61) digunakan untuk mengontrol operasi high-speed counter dan menghentikan
produksi pulsa. Spesifikasi port (P) menentukan high speed counter atau output
pulsa yang akan dikontrol.
|
Unit
|
Fungsi
|
Spesifikasi
Port (P)
|
|
CPU
Unit
|
High
speed counter 0
|
000
|
|
Transistor
Output Unit
|
Output
pulsa
|
000
|
|
Bagian dalam papan
|
Fungsi
|
Spesifikasi port (P)
|
|
|
Slot 1
|
Slot 2
|
||
|
Papan pulsa I/O
|
High-speed
counter 1 atau output pulsa 1
|
---
|
001
|
|
High-speed
counter 2 atau output pulsa 2
|
---
|
002
|
|
|
Absolute Encoder Interface
Board
|
Mutlak
high speed counter 1
|
---
|
001
|
|
Mutlak
high speed counter 2
|
---
|
002
|
|
|
Papan high speed counter
|
High
speed counter 1
|
101
|
001
|
|
High
speed counter 2
|
102
|
002
|
|
|
High
speed counter 3
|
103
|
003
|
|
|
High
speed counter 4
|
104
|
004
|
|
Fungsi
INI(61) ditentukan oleh data kontrol, C. (P1 dan P1+1 berisi counter PV
kecepatan tinggi ketika mengubah PV)
|
C
|
P1
|
Fungsi INI(61)
|
|
000
|
000
|
Memulai
CTBL(63) membandingkan tabel
|
|
001
|
000
|
Menghentikan
CTBL(63) membandingkan tabel
|
|
002
|
New
High speed counter PV
|
Merubah
high speed counter PV
|
|
003
|
000
|
Menghentikan
pulsa output
|
Tabel
berikut dimana nilai-nilai dari C dapat dibunakan dengan fungsi masing-masing
|
Papan / unit
|
Fungsi
|
Nilai C
|
|||
|
000
|
001
|
002
|
003
|
||
|
Unit
CPU
|
High
speed counter 0
|
YA
|
YA
|
YA
|
---
|
|
Unit
keluaran output
|
Output
pulsa
|
---
|
---
|
---
|
YA
|
|
Papan
pulsa I/O
|
High
speed counter 1 dan 2
|
YA
|
YA
|
YA
|
---
|
|
Output
pulsa 1 dan 2
|
---
|
---
|
---
|
YA
|
|
|
Absolute
encoder interface board
|
Absolute
high speed counter 1 dan 2
|
YA
|
YA
|
---
|
---
|
|
Papan
High speed counter
|
High
speed counter 1 sampai 4
|
YA
|
YA
|
YA
|
---
|
2.
INTERUPT
CONTROL – INT(89)
Ketika
kondisi eksekusi OFF, INT(89) tidak dieksekusi. Ketika eksekusi kondisi ON,
INT(89) digunakan untuk mengontrol interupsi dan melakukan salah satu enam
fungsi yang terlihat pada tabel berikut tergantung pada nilai CC.
|
Fungsi INT
(89)
|
CC
|
|
Mask/unmask
input interrupt
|
000
|
|
Clear
input interupts
|
001
|
|
Read
current mask status
|
002
|
|
Renew
counter SV
|
003
|
|
Mask
all interrupts
|
100
|
|
Unmask
all interupts
|
200
|
Mask/unmask
input interupt (CC=000)
Fungsi ini digunakan untuk mask/unmask masukan
interupt I/O 00000-00003. Masukan mask dicatat, tetapi diabaikan. Ketika input
disembunyikan, interupt program itu akan dijalankan secepat bit di unmask
(kecuali jika dibersihkan terlebih dahulu dengan menjalankan INT(89) dengan
CC-001).
Atur bit yang sesuai di D ke 0 atau 1 ke unmask/mask
pada masukan interupt I/O. Bit 00-03 sesuai dengan 00000-00003. Bit 04-15 harus
di set ke 0.
Clear
I/O interrupts (CC=001)
Fungsi ini digunakan untuk membersihkan masukan interupsi
I/O 00000-00003. Karena interupsi masukan disatat, interupsi mask akan dilayani
setelah mask dihapus kecuali mereka dibersihkan terlebih dahulu.
Atur bit yang sesuai di D ke 1 untuk menghapus
masukan interupsi I/O. Bit 00-03 sesuai dengan 00000-00003. Bit 4-15 harus di
set ke 0.
Read
Current Mask Status (CC=002)
Fungsi ini digunakan untuk menulis status arus mask
untuk masukan interupt I/O 00000-00003 ke huruf D. Bit yang sesuai akan ON
apabila masukan adalah mask. (bit 00-03 sesuai dengan 00000-00003).
Renew
Counter SV (CC=003)
Fungsi ini digunakan untuk memperbaharui counter SV
untuk masukan input I/O 00000-00003 ke huruf D. Atur bit yang sesuai di D ke 1
agar memperbaharui input counter SV.
Mask/unmask
All Interupt (CC=100/200)
Fungsi ini digunakan untuk mask/unmask semua proses
interupt. Masukan mask dicatat tetapi diabaikan. Control data, D, tidak
digunakan untuk fungsi ini. Atur D ke #0000.
3.
DIGITAL SWITCH
INPUT – DSW(87)
DSW (87) digunakan untuk membaca nilai yang diatur pada suatu saklar digital yang terhubung dengan Unit I / O. Ketika kondisi
eksekusi OFF, DSW
(87) tidak dieksekusi.
Kemudian ketika
kondisi eksekusinya ON, DSW (87) membaca nilai (baik 4 atau
8-digit) mengatur pada saklar
digital dari IW dan
tempatkan hasilnya didalam R.
Jika nilai bilangan adalah 8-digit, ia ditempatkan di R dan R +1, dengan yang
paling signifikan digit ditempatkan di R +1.
Jumlah digit diatur di DM 6639 dari Setup PC. DSW (87) membaca 4 atau
8-digit data dalam 12 siklus, dan kemudian mulai lagi dan terus membaca data.
4.
BINARY
DIVIDE – DVB(53)
Ketika kondisi eksekusi OFF,
DVB (53) tidak
dieksekusi. Ketika kondisi eksekusi berubah
ON, DVB (53) membagi isi Dd oleh isi
dari Dr dan hasilnya ditempatkan di R dan R
+1: hasil bagi dalam
R, sisa di R+1
5.
END
– END(01)
END(01)
diperlukan sebagai instruksi terakhir dalam program apapun. Jika ada instruksi,
END(01) ditempatkan setelah instruksi terakhir. Tidak ada instruksi tertulis
setelah END(01) akan dieksekusi. END(01) dapat ditempatkan dimanapun dalam
program untuk mengeksekusi semua instruksi sampai saat itu, seperti yang kadang
dilakukan untuk debug program, tetapi harus dihapus untuk menjalankan sisa
program. Jika tidak ada END(01) dalam program ini, tidak ada instruksi akan
dieksekusi dan akan muncul pesan kesalahan “NO END INST”
6.
FAILURE
ALARM AND RESET - FAL (06) dan SEVERE FAILURE ALARM - FAL(07)
FAL(06) dan
FAL(07) disediakan sehingga pemrogram dapat nomor output eror untuk digunakan
dalam operasi, pemeliharaan, dan debugging. Ketika dieksekusi dengan kondisi
eksekusi ON, salah satu instruksi ini akan menampilkan angka FAL untuk bit
00-07 dari SR 253. Keluaran nomor FAL dapat antara 01 dan 99 dan metpakan
masukan sebagai pembuat definisi untuk FAL(06) atau FAL(07). FAL(06) dengan
pembuat definisi dari 00 digunakan untuk mengatur ulang daerah ini.
FAL(06)
menghasilkan kesalahan non-fatal dan FALS(07) menghasilkan kesalahan fatal.
Ketika FAL(06) dieksekusi dengan kondisi eksekusi ON, indikator ALARM/ERROR
akan berkedip, tetapi operasi PC akan terus berlanjut. Ketika FALS(07)
dieksekusi dengan kondisi eksekusi ON, indikator ALARM/ERROR akan nyala dan
operasi PC akan berhenti.
7.
INTERLOCK
– ILC(02) dan INTERLOCK CLEAR – ILC(03)
IL(02) selalu
digunakan untuk hubungan dengan ILC(03) untuk membuat interlock. Interlock
digunakan untuk mengaktifkan percabangan dengan cara yang sama seperti yang
dapat dicapai dengan bit TR. Tetapi penanganan antar intruksi IL(02) dan
ILC(03) berbeda dari bit TR ketika kondisi eksekusi untuk IL(02) adalah OFF. Jika
kondisi eksekusi IL(02) adalah ON, program akan dijalankan seperti yang
tertulis, dengan kondisi eksekusi ON digunakan untuk memulai setiap baris
instruksi dari titik dimana IL(02) terletak melalui ILC(03).
Jika kondisi eksekusi untuk IL (02) MATI, bagian saling terkait antara
IL (02) dan ILC (03) akan diperlakukan seperti yang ditunjukkan pada tabel berikut
IL (02) dan ILC (03) akan diperlakukan seperti yang ditunjukkan pada tabel berikut
|
Instruksi
|
Penanganan
|
|
OUT dan OUT NOT
|
Bit dalam keadaan OFF
|
|
TIM dan TIMH(15)
|
Reset
|
|
CNT, CNTR(12)
|
PV maintened
|
|
KEEP(11)
|
Status bit maintened
|
|
DIFU(13) dan DIFD(14)
|
Tidak ada eksekusi
|
|
Semua instruksi lainnya
|
Petunjuk tidak dilaksanakan, dan semua
bit LR, IR, AR, HR, dan SR dan kata-kata tertulis sebagai operand dalam
instruksi keadaan OFF
|
IL(02) dan
ILC(03) tidak selalu harus digunakan secara berpasangan. IL(02) dapat digunakan
beberapa kali berturut-turut, dengan setiap IL(02) membuat bagian saling
terkait melalui ILC(03) berikutnya. ILC(03) tidak dapat digunakan kecuali
setidaknya ada IL(02) antara itu dan setiap ILC(03) sebelumnya.
8.
BCD
INCREMENT – INC(38)
Ketika kondisi eksekusi OFF,
INC(38) tidak dieksekusi. Ketika eksekusi kondisi ON, INC(38) bertahap Wd,
tanpa mempengaruhi carry (CY).
9.
BCD
SUBTRACT – SUB(31)
Ketika kondisi
eksekusi adalah OFF, SUB(31) tidak dieksekusi. Ketika kondisi eksekusi adalah
ON, SUB(31) mengurangi isi Su dan CY dari Mi, dan tempat hasil dalam R. Jika
hasilnya negatif, CY diatur dan komplemen 10 yang dari hasil aktual ditempatkan
di R. Untuk mengkonversi komplemen 10 ke hasil yang benar.
10. DOUBLE BCD SUBTRACT – SUBL(55)
Ketika
kondisi eksekusi OFF, SUBL(55) tidak dieksekusi. Ketika kondisi eksekusi adalah
ON, SUBL(55) mengurangi CY dan 8 digit isi Su dan Su+1 dai nilai 8 digit di MI
dan Mi+1, dan tempat hasil dalam R dan R+1. Jika hasilnya negatif, CY diatur
dan komplemen 10 dari hasil yang sebenarnya ditempatkan di R. Untuk
mengkonversi komplemen 10 untuk hasil yang benar, kurangi isi R dari nol.
Karena sebuah konstanta 8 digit tidak bisa langsung masuk, menggunak instruksi
BSET(71) untuk membuat 8 digit konstan.
0 Response to "Sepuluh Macam Instruksi Fungsi"
Post a Comment
Silahkan berkomentar :)
saran dan masukan sangat berarti bagi kita semua
let's share knowledge together ^^