Bit Logic Instructions
Bit Logic Instructions
Instruksi bit logic bekerja dalam dua digit (0 dan 1), yang merupakan bentuk sistem bilangan
biner. Bit 1 mengindikasikan keadaan aktif (energize) dan bit 0 mengindikasikan keadaan tidak
aktif (deenergize). Instruksi bit logic menginterpretasikan keadaan signal 1 dan 0 dan
kombinasinya menurut aljabar boolean. Hasil kombinasinya juga menghasilkan 1 dan 0 yang
disebut RLO (result of logic operation). Operasi logic yang ditriger oleh bit logic memainkan
berbagai fungsi. Ada beberapa intruksi bit logic yang memainkan fungsi-fungsi berikut ini:
Normally Open Contact ditutup ketika nilai bit yang tersimpan pada alamat yang telah ditetapkan
oleh <address> sama dengan “1”. Ketika contact ditutup, aliran daya mengalir tepat melewati
contact dan RLO bernilai “1”. Sebaliknya, ketika keadaan signal yang dispesifikasikan oleh
<address> adalah “0”, contact terbuka. Ketika contact terbuka, daya tidak mengalir melewati
contact dan RLO bernilai “0”. Ketika dirangkai seri, NOC dihubungkan ke bit RLO oleh logika
AND. Sebaliknya bila dirangkai parallel, NOC dihubungkan ke bit RLO oleh logika OR.
Normally Closed Contact ditutup ketika nilai bit yang tersimpan pada alamat yang telah
ditetapkan oleh <address> sama dengan “0”. Ketika contact ditutup, aliran daya mengalir tepat
melewati contact dan RLO bernilai “1”. Sebaliknya, ketika keadaan signal yang dispesifikasikan
oleh <address> adalah “1”, contact terbuka. Ketika contact terbuka, daya tidak mengalir
melewati contact dan RLO bernilai “0”. Ketika dirangkai seri, NCC dihubungkan ke bit RLO
oleh logika AND. Sebaliknya bila dirankai parallel, NCC dihubungkan ke bit RLO oleh logika
OR.
XOR function merupakan sebuah jaringan NOC dan NCC yang harus dirangkai seperti
ditunjukkan pada gambar berikut:
XOR (bit exclusive OR) membuat RLO bernilai “1” jika keadaan signal jika 2 bit yang
ditetapkan mempunyai nilai yang
berbeda.
Invert power flow yang menegasi bit RLO. Bila keadaan signal input adalah “1” maka keadaan
signal output adalah “0”, begitu juga sebaliknya jika keadaan signal input adalah “0” maka
keadaan signal output adalah “1”.
—( ) Output Coil
Output coil bekerja seperti coil dalam diagram logic relay. Jika ada aliran daya menuju coil
(RLO = 1), bit lokasi <address> diset “1”. Jika tidak ada aliran daya ke coil (RLO = 0), bit lokasi
<address> diset “0”. Output coil hanya dapat diletakkan pada ladder sebelah kanan paling akhir.
Multiple element output dimungkingkan (maksimum 16 element output). MCR (Master Control
Relay) dependency diaktifkan hanya jika output coil ditempatkan disebelah zona MCR aktif.
Sampai aktifnya zona MCR , MCR “ON”dan ada aliran daya ke output coil, dan bit alamat diset
status aktif dari power flow. Jika MCR “off”, logic “0” ditulis ke alamat yang telah
dispesifikasikan tidak peduli apapun status aliran daya.
—( # )—Midline Output
Midline output adalah sebuah penugasan intermediate element yang mana menyimpan bit RLO
(status power flow) ke alamat yang ditetapkan <address>. Element midline output menyimpan
hasil operasi logika dari element percabangan terdahulu. Bila dirangkai seri dengan contact,
midline output dimasukkan seperti contact. Element midline output mungkin tidak pernah
dihubungkan dengan ke power rail atau langsung setelah koneksi percabangan atau pada akhir
setelah percabangan. Negasi midline output dapat dibuat menggunakan invert power flow.
Set coil hanya dieksekusi jika RLO (aliran daya ke coil) dari instruksi terdahulu bernilai “1”. Jika
RLO bernilai “1”, <address> dari element diset “1”. RLO tidak mempunyai effect apapun jika
bernilai “0” dan keadaan <address> dari element tidak diubah.
SR flip flop diset jika keadaan signal bernilai “1” pada S input, dan bernilai “0” pada R input.
Sebaliknya, jika keadaan signal bernilai “0” pada S input dan keadaan signal bernilai “1” pada R
input maka flip flop akan diset. Jika RLO pada kedua input bernilai “1”, perintah pada
kepentingan pertama. SR flip flop pertama mengeksekusi instruksi set kemudian instruksi reset
pada <address>, sehingga address ini tetap mereset untuk pengingat scanning program. Instruksi
set dan reset hanya diekskusi ketika RLO bernilai “1”. Jika RLO bernilai “0” maka instruksi ini
tidak mempunyai efect dan keadaan signal <address> tidak diubah. MCR dependency diaktifkan
hanya jika RS flip flop ditempatkan disebelah zona aktif MCR. Didalam zona aktif MCR, Jika
MCR “on” bit <address> diset ke “1” atau direset ke”0″ sebagai penguraian diatasnya. Jika MCR
“off”, keadaan bit <address> tidak diubah bagaimana pun keadaan input.
Negative RLO edge detection mendeteksi perubahan signal dari “1” ke “0” pada bit alamat
<address> dan memperlihatkannya sebagai RLO= “1” setelah instruksi. Keadaan signal sekarang
pada RLO dibandingkan dengan keadaan signal dari bit alamat <address>, bit edge memory. Jika
keadaan signal dari bit alamat <address> bernilai “1” dan RLO sebelum instruksi bernilai “0”,
maka RLO akan menjadi bernilai “1” setelah instruksi ini. RLO lebih dahulu disimpan kedalam
bit alamat <address>.
Positive RLO edge detection mendeteksi perubahan signal dari “0” ke “1” pada bit alamat
<address> dan memperlihatkannya sebagai RLO= “1” setelah instruksi. Keadaan signal sekarang
pada RLO dibandingkan dengan keadaan signal dari bit alamat <address>, bit edge memory. Jika
keadaan signal dari bit alamat <address> bernilai “1” dan RLO sebelum instruksi bernilai “1”,
maka RLO akan menjadi bernilai “1” setelah instruksi ini. RLO lebih dahulu disimpan kedalam
bit alamat <address>.
Save RLO into BR Memory menyimpan kedalam bit BR (binary result) dari status word.
Pertama kali mengecheck bit/FC tidak direset. Untuk alasan ini, status dari bit BR dimasukkan
operasi logika AND pada network berikutnya. Instruksi “save” tidak direkomendasikan untuk
digunakan karena bit BR dapat dimodifikasi oleh beberapa instruksi. Sebaiknya menggunakan
instruksi save sebelum meninggalkan suatu block, karena ENO output (=BR bit) kemudian diset
ke nilai bit RLO dan kemudian mengecek error pada block.
NEG (Address Negative Edge Detection) membandingkan keadaan signal dari <address1>
dengan keadaan signal dari pengamatan sebelumnya, yang disimpan dalam <address2>. Jika
keadaan RLO sekarang bernilai “1” dan keadaan sebelumnya adalah “0”, bit RLO akan menjadi
bernilai “1” setelah instruksi ini.
POS Address Positive Edge Detection
POS (Address Positive Edge Detection) membandingkan keadaan signal dari <address1> dengan
keadaan signal dari pengamatan sebelumnya, yang disimpan dalam <address2>. Jika keadaan
RLO sekarang bernilai “1” dan keadaan sebelumnya adalah “0”, bit RLO akan menjadi bernilai
“1” setelah instruksi ini.
Comparison Instructions
OR.
OR.
Conversion Instructions
Instruksi konversi membaca isi dari parameter IN dan meng-konvertnya atau mengubah
tandanya. Hasilnya dapat diragukan pada parameter OUT. Berikut ini adalah beberapa type
instruksi konversi:
BCD_I (mengkonversi sistem bilangan BCD ke integer) membaca isi parameter IN sebanyak 3
digit (angka kode BCD +/- 999) dan mengkonversinya ke bilangan integer 16 bit. Hasilnya
dikeluarkan oleh parameter OUT. ENO selalu mempunyai keadaan signal yang sama seperti EN.
I_DINT (mengkonversi system bilangan Integer ke double integer) membaca isi parameter IN
sebagai nilai bilangan integer 16 bit dan mengkonversinya ke double integer 32 bit. Hasilnya
dikeluarkan melalui parameter Out. ENO selalu mempunyai keadaan signal yang sama seperti
EN.
DI_BCD (mengkonversi system bilangan double integer ke BCD) membaca isi dari parameter
IN sebagai bilangan double integer 32 bit dan mengkonversikannya ke dalam bilangan BCD 7
digit (+/- 9999999). Hasilnya dikeluarkan melalui parameter OUT. Jika terjadi overflow, ENO
akan bernilai “0”.
INV_I (Ones complement integer) membaca isi parameter IN dan mengoperasikannnya sebagai
fungsi Boolean XOR dengan mask hexadecimal W#16#FFFF. Instruksi ini mengubah setiap bit
kedalam keadaan sebaliknya. ENO selalu mempunyai keadaan signal yang sama seperti EN.
NEG_I (twos complement integer) membaca isi dari parameter IN dan mengoperasikannya
sebagai instruksi twos complement. Instruksi twos complement sama dengan perkalian oleh “-1”
dan mengubah tandanya (contohnya bilangan positif menjadi bilangan negative). ENO selalu
mempunyai keadaan signal seperti EN dengan pengecualian jika EN=1 dan terjadi overflow,
maka keadaan signal ENO = 0.
NEG_R (negate floating point) membaca isi dari parameter IN dan mengubah tandanya.
Instruksinya sama dengan perkalian oleh (-1) dan mengubah tandanya misalnya dari nilai positif
menjadi nilai negative. ENO selalu mempunyai keadaan signal seperti EN.
ROUND Round to Double Integer
ROUND (round to double integer) membaca isi dari parameter IN sebagai bilangan real dan
mengkonversikannya kedalam bilangan double integer 32 bit. Hasilnya dibulatkan kedalam
bilangan integer terdekat. Jika bilangan real berada diantara dua bilangan integer, bilangan genap
dikembalikan. Hasilnya dikeluarkan melalui parameter OUT. Jika terjadi overflow, Eno akan
bernilai “0”.
TRUNC (truncate double integer) membaca isi dari parameter IN sebagai bilangan real dan
mengkonversikannya ke dalam bilangan double integer 32 bit. Hasilnya “double integer
pembulatan ke nol” dikeluarkan melalui parameter OUT. Jika terjadi overflow, ENO akan
bernilai “0”.
CEIL Ceiling
CEIL (Ceiling) membaca isi dari parameter IN sebagai bialangan real dan mengkonversikannya
ke dalam bilangan double integer 32 bit. Hasilnya adalah bilangan integer terendah yang mana
lebih besar dari bilangan real (pembulatan ke + ∞). Jika terjadi overflow, ENO akan bernilai “0”.
FLOOR Floor
FLOOR (Floor) membaca isi dari parameter sebagai bilangan real dan mengkonversikannya ke
dalam double integer 32 bit. Hasilnya adalah komponen bilangan real tertinggi yang mana lebih
rendah dari bilangan real (pembulatan ke – ∞). Jika terjadi overflow, ENO akan bernilai “0”.
Counter Instruction
Counter mempunyai area cadangan di dalam memory CPU. Untuk tiap address counter
mempunyai area memory satu word (16 bit). Set instruksi logika ladder mendukung sampai 256
counter. Instruksi counter hanyalah fungsi yang mempunyai akses ke area memory counter. Bit 0
sampai 9 dari word counter berisi nilai perhitungan dalam kode biner.. Nilai perhitungan
dipindahkan ke word counter ketika counter diset. Counter memiliki nilai range perhitungan
mulai dari 0 sampai 999. Berikut ini adalah berbagai instruksi counter:
S_CUD (up-down counter) ditetapkan lebih dahulu nilainya oleh input PV jika ada positive edge
pada input S (keadaan input signal S berubah dari “0” ke “1”). Jika input R bernilai “1”, counter
direset dan perhitungan diset ke nol. Counter dinaikan satu nilainya (CV bertambah 1) jika
keadaan signal pada input CU berubah dari “0” ke “1” sampai nilainya kurang dari 999. Counter
nilainya diturunkan 1 (CV berkurang 1) jika ada positive edge pada input CD (keadaan input
signal CD berubah dari “0” ke “1”) sampai nilainya masih lebih besar dari nol. Jika kedua input
count keduanya mengalami positive edge, maka kedua intruksi (up and down counter) akan
dieksekusi sehingga nilai perhitungan tidak berubah (CV tetap). Keadaan signal output Q akan
bernilai “1” jika perhitungan lebih besar dari nol dan akan bernilai “0” jika perhitungan sama
dengan nol.
S_CU Up Counter
S_CU (up counter) ditetapkan lebih dahulu nilainya oleh PV jika ada positive edge (keadaan
signal berubah dari “0” ke “1”) pada input S. Counter direset jika input R bernilai “1” dan CV
diset ke nol. Counter dinaikan satu nilainya (CV bertambah 1) jika keadaan signal input CU
berubah dari “0” ke “1” sampai nilainya kurang dari 999. Keadaan signal output Q akan bernilai
“1” jika perhitungan lebih besar dari nol dan akan bernilai “0” jika perhitungan sama dengan nol.
S_CD (down counter) ditetapkan lebih dahulu nilainya oleh PV jika ada positive edge (keadaan
signal berubah dari “0” ke “1”) pada input S. Counter direset jika input R bernilai “1” dan CV
diset ke nol. Counter diturunkan satu nilainya (CV berkurang 1) jika keadaan signal input CU
berubah dari “0” ke “1” sampai nilainya masih lebih besar dari 0. Keadaan signal output Q akan
bernilai “1” jika perhitungan lebih besar dari nol dan akan bernilai “0” jika perhitungan sama
dengan nol.
Up Counter Coil menaikkan satu nilai dari specified counter jika ada positive edge pada RLO
sampai nilai counter tidak lebih dari 999. Jikatidak ada positif edge pada RLO atau nilai counter
sudah mencapai nilai 999 maka nilai counter tidak akan berubah.
Down Counter Coil menurunkan satu nilai dari specified counter jika ada positive edge pada
RLO sampai nilai counter masih lebih besar dari nol. Jikatidak ada positif edge pada RLO atau
nilai counter bernilai nol maka nilai counter tidak akan berubah.
Logic control logic dapat digunakan disemua block logika, baik organization block (OB),
function block (FB), maupun function (FC). Label adalah pengalamatan dari instruksi jump.
Label maksimum terdiri dari empat karakter, karakter pertama harus huruf sedangkan karakter
yang lainnya bisa huruf/angka. Label jump mengindikasikan tujuan kemana program akan
melompat. Berikut ini adalah beberapa logic control instruction:
—(JMP) adalah fungsi sebagai conditional jump ketika RLO dari operasi logika sebelumnya
bernilai “1”. Tujuan instruksi jump (label) juga harus exist untuk setiap intruksi —(JMP). Semua
instruksi diantara instruksi jump dan label tidak akan dieksekusi. Ketika conditional jump tidak
dieksekusi, RLO berubah menjadi “1” setelah instruksi jump.
—(JMPN) adalah fungsi jump yang mana akan dijalankan ketika RLO bernilai “0”. Label juga
harus exist untuk setiap intruksi —(JMPN). Semua instruksi diantara instruksi jump dan label
tidak akan dieksekusi. Ketika conditional jump tidak dieksekusi, RLO berubah menjadi “1”
setelah instruksi jump.
Instruksi bit matematika memakai bit status word CC1, CC0, OV, dan OS.
SUB_I (Subtract Integer) diaktifkan jika pada Enable Input bernilai “1”. IN1 dikurangi dengan
IN2 dan hasilnya ditempatkan pada parameter OUT. Jika hasilnya berada pada range bilangan
integer 16 bit, bit OV dan OS bernilai “1” dan ENO bernilai “0”, sehingga fungsi lain setelah
box matematika ini yang dihubungkan dengan ENO tidak akan dijalankan.
MUL_I Multiply Integer
MUL_I (Multiply Integer) diaktifkan oleh logic “0” pada Enable Input (EN). IN1 dan IN2
dikalikan dan hasilnya ditempatkan pada parameter OUT. Jika hasilnya berada pada range
bilangan integer 16 bit, bit OV dan OS akan bernilai “1” dan ENO akan berlogika “0”, sehingga
fungsi lain setelah box matematika ini yang dihubungkan dengan ENO tidak akan dijalankan.
DIV_I (Divide integer) diaktifkan oleh logic “0” pada Enable Input (EN). IN1 dibagi dengan IN2
dan hasilnya ditempatkan pada parameter OUT. Jika hasilnya berada pada range bilangan integer
16 bit, bit OV dan OS akan bernilai “1” dan ENO akan berlogika “0”, sehingga fungsi lain
setelah box matematika ini yang dihubungkan dengan ENO tidak akan dijalankan.
ADD_DI (Add Double Integer) diaktifkan oleh logic “0” pada Enable Input (EN). IN1 dan IN2
ditambahkan dan hasilnya ditempatkan pada parameter OUT. Jika hasilnya berada pada range
bilangan double integer 32 bit, bit OV dan OS akan bernilai “1” dan ENO akan berlogika “0”,
sehingga fungsi lain setelah box matematika ini yang dihubungkan dengan ENO tidak akan
dijalankan.
MUL_DI (Multiply Double Integer) diaktifkan oleh logic “0” pada Enable Input (EN). IN1 dan
IN2 dikalikan dan hasilnya ditempatkan pada parameter OUT. Jika hasilnya berada pada range
bilangan double integer 32 bit, bit OV dan OS akan bernilai “1” dan ENO akan berlogika “0”,
sehingga fungsi lain setelah box matematika ini yang dihubungkan dengan ENO tidak akan
dijalankan.
DIV_DI Divide Double Integer
DIV_DI (Divide Double Integer) diaktifkan oleh logic “0” pada Enable Input (EN). IN1 dibagi
dengan IN2 dan hasilnya ditempatkan pada parameter OUT. Jika hasilnya berada pada range
bilangan double integer 32 bit, bit OV dan OS akan bernilai “1” dan ENO akan berlogika “0”,
sehingga fungsi lain setelah box matematika ini yang dihubungkan dengan ENO tidak akan
dijalankan.
Bilangan floating-point 32 bit termasuk kedalam type bilangan REAL. Instruksi ini memakai bit
status word CC1, CC0, OV, dan OS Berikut ini adalah beberapa floating-point math instruction:
SUB_R (Subtract Real) diaktifkan oleh logic “0” pada Enable Input (EN). IN1 dikurangi dengan
IN2 dan hasilnya ditempatkan pada parameter OUT. Jika hasilnya masih berada pada range
bilangan floating-point (overflow atau underflow), bit OV dan OS akan bernilai “1” dan ENO
akan berlogika “0”, sehingga fungsi lain setelah box matematika ini yang dihubungkan dengan
ENO tidak akan dijalankan.
DIV_R (Divide Real) diaktifkan oleh logic “0” pada Enable Input (EN). IN1 dibagi dengan IN2
dan hasilnya ditempatkan pada parameter OUT. Jika hasilnya masih berada pada range bilangan
floating-point (overflow atau underflow), bit OV dan OS akan bernilai “1” dan ENO akan
berlogika “0”, sehingga fungsi lain setelah box matematika ini yang dihubungkan dengan ENO
tidak akan dijalankan.
ABS membangkitkan nilai absolute dari sistem bilangan floating-point yang dimasukkan,
kemudian hasilnya dikeluarkan pada parameter OUT.
SQR Establish Square
SQR membangkitkan nilai kuadrat dari sistem bilangan floating point yang dimasukkan dan
hasilnya dikeluarkan melalui parameter OUT.
SQRT membangkitkan nilai akar kuadrat dari sistem bilangan floating point yang dimasukkan
dan hasil positif dari nilai akar kuadratnya dikeluarkan melalui parameter OUT.
LN membangkitkan nilai logaritma natural dari sistem bilangan floating point. Hasil keluarannya
ditempatkan pada parameter OUT.
COS membangkitkan nilai trigonometri cosinus dari sistem bilangan floating point yang
merepresentasikan sudut dalam satuan radian. Hasil keluarannya ditempatkan pada parameter
OUT.
SIN membangkitkan nilai trigonometri tangent dari sistem bilangan floating point yang
merepresentasikan sudut dalam satuan radian. Hasil keluarannya ditempatkan pada parameter
OUT.
ACOS membangkitkan nilai Arc cosinus dari sistem bilangan floating point yang rentangnya
telah didefinisikan antara -1 sampai 1. Hasil keluarannya merepresentasikan sudut dalam radian
dalam rentang -π/2 sampai π/2 (π=3,14215….) dan ditempatkan pada parameter OUT.
Move Instruction
Instruksi move diaktifkan oleh Enable Input (EN). Nilai sumber IN input dicopy ke alamat yang
telah ditetapkan pada parameter OUT. ENO mempunyai keadaan logika yang sama seperti EN.
MOVE hanya dapat mencopy object data BYTE, WORD, atau DWORD. Type data seperti aray
atau struktur harus dicopy dengan system function “BLKMOVE” (SFC 20).
Area local data sebelumnya diganti dengan area local data yang baru
Area local data baru yang digunakan untuk memanggil fungsi dibuat
Setelah proses diatas, program melanjutkan pemrosesan dalam pemanggilan FC atau SFC.
Instruksi CALL_FB digunakan untuk memanggil function block (FB). Instruksi hanya hanya
dijalankan ketika input EN bernilai “1”. Jika CALL_FB dijalankan maka:
Memilih data untuk 2 data block sekarang (DB dan instance DB) disimpan
Area local data sebelumnya diganti dengan area local data yang baru
Setelah proses diatas, pemrosesan program melanjutkan dalam pemanggilan function block.
Instruksi CALL_FC digunakan untuk memanggil function (FC). Instruksi ini hanya dijalankan
ketika input EN bernilai “1”. Jika CALL_FC dijalankan maka:
Area local data sebelumnya diganti dengan area local data yang baru
Area local data baru yang digunakan untuk memanggil fungsi dibuat
Setelah proses diatas, pemrosesan program kemudian melanjutkan dalam pemanggilan function.
Ketika pemanggilan function, actual parameter harus diassign ke formal parameter pada lokasi
call.
Memilih data untuk 2 data block sekarang (DB dan instance DB) disimpan
Area local data sebelumnya diganti dengan area local data yang baru
Area local data baru yang digunakan untuk memanggil system function block dibuat
Setelah proses diatas, program melanjutkan pemrosesan dalam pemanggilan function block.
Instruksi CALL_SFC digunakan untuk memanggil sistem function (SFC). Instruksi hanya hanya
dijalankan ketika input EN bernilai “1”. Jika CALL_SFC dijalankan maka:
Area local data sebelumnya diganti dengan area local data yang baru
Area local data baru yang digunakan untuk memanggil system function dibuat
Setelah proses diatas, program melanjutkan pemrosesan dalam pemanggilan function block.
Call Multiple Instance
Sebuah multiple instance dibuat sewaktu pendeklarasian statik variabel dengan type data
function block. Hanya multiple instance yang telah dideklarasikan yang dimasukkan kedalam
element catalog program.Symbol untuk berbagai multiple instance bergantung pada type
parameter dan berapa banyak parameter yang ada sekarang. EN, ENO dan nama variabel adalah
parameter parameter yang selalu ada.
—(RET) Return
Instruksi ini digunakan untuk keluar dari suatu block dengan kondisi tertentu. Intruksi return
akan dieksekusi ketika RLO bernilai “1”.
Shift Instruction
SHR_DI (Shift Right Double Integer) diaktifkan oleh input Enable (EN). Instruksi SHR_DI
digunakan untuk menggeser bit 0 sampai 31 dari input IN perbit ke kanan. Input N menentukan
jumlah bit yang akan bergeser. Hasil dari instruksi ini dapat dilihat pada parameter OUT. Bit
CC0 dan OV akan diset “0” oleh SHR_DI jika N tidak sama dengan”0″. ENO dan EN
mempunyai keadaan signal yang sama.
SHR_W (Shift Right Word) diaktifkan oleh input Enable (EN). Instruksi SHR_W digunakan
untuk menggeser bit 0 sampai 15 dari input IN perbit ke kanan. Input N menentukan jumlah bit
yang akan bergeser. Hasil dari instruksi ini dapat dilihat pada parameter OUT. Bit CC0 dan OV
akan diset “0” oleh SHR_I jika N tidak sama dengan”0″. ENO dan EN mempunyai keadaan
signal yang sama.
SHL_W (Shift Left Word) diaktifkan oleh input Enable (EN). Instruksi SHL_W digunakan
untuk menggeser bit 0 sampai 15 dari input IN perbit ke kiri. Input N menentukan jumlah bit
yang akan bergeser. Hasil dari instruksi ini dapat dilihat pada parameter OUT. Bit CC0 dan OV
akan diset “0” oleh SHL_W jika N tidak sama dengan”0″. ENO dan EN mempunyai keadaan
signal yang sama.
SHL_DW (Shift Left Double Word) diaktifkan oleh input Enable (EN). Instruksi SHL_DW
digunakan untuk menggeser bit 0 sampai 31 dari input IN perbit ke kiri. Input N menentukan
jumlah bit yang akan bergeser. Hasil dari instruksi ini dapat dilihat pada parameter OUT. Bit
CC0 dan OV akan diset “0” oleh SHL_DW jika N tidak sama dengan”0″. ENO dan EN
mempunyai keadaan signal yang sama.
Rotate Instructions
ROR_DW (Rotate Right Double Word) diaktifkan oleh input Enable (EN). Instruksi ROL_DW
digunakan untuk memutar keseluruhan isi bit dari input IN perbit ke kanan. Input N menentukan
jumlah bit yang akan diputar. Jika N lebih besar dari 32, Double word IN diputar per ((N-
1)modulo32) + 1 posisi. Posisi bit paling kiri akan terisi oleh keadaan logic bit paling kanan (bit
yang keluar putaran).Hasil dari instruksi ini dapat dilihat pada parameter OUT. Bit CC0 dan OV
akan diset “0” oleh ROR_DW jika N tidak sama dengan”0″. ENO dan EN mempunyai keadaan
signal yang sama.
Timer Instructions
Timer mempunyai area memory didalam CPU. Area memory ini mempunyai bit address 16-bit
(1 word) untuk setiap timer. Set intruksi ladderlogic dapat mendukung sampai 256 timer. Fungsi
yang dapat mengakses area memory timer adalah timer instruction dan peng-update-an word
timer oleh timing clock. Bit 0 sampai 9 timer word berisi timer value dalam kode biner. Time
value menspesifikasikan sejumlah unit.Time value dapat dimasukan kedalam low word dari
accumulator dalam format biner, hexadecimal, atau BCD. Bit 12 dan 13 dari timer berisi time
base dalam kode biner. Time base ini mendefinisikan interval dimana time value dikurangkan 1
unit. Berikut ini adalah tabel dari nilai time base dan nilai resolusi yang dimiliki.
Ketika timer distart, isi dari timer cell digunakan sebagai time value. Bit 0 sampai 11 dari timer
cell berisi time value dalam kode BCD. Bit 12 dan 13 berisi time base dalam kode biner. Berikut
ini adalah gambaran tentang isi dari timer cell yang diisi dengan timer value 127 dan time base 1
second: