Anda di halaman 1dari 39

KATA PENGANTAR

Puji syukur penyusun panjatkan atas kehadirat Allah SWT. Yang telah
melimpahkan hidayah dan inayahNya, sehingga diktat dengan judul “ DASAR-DASAR
PROGRAMMABLE LOGIC CONTROL” ini dapat terselesaikan.
Diktat ini berisi pengetahuan tentang pengertian umum, instruksi-instruksi dasar
programming console, dan contoh-contoh latihan.
Diktat ini diperuntukkan khususnya bagi peserta pelatihan di BLKI Semarang
baik yang reguler maupun swadana PLC taraf dasar, yang disesuaikan dengan kurikulum
/ silabus yang ada, dan umumnya untuk semua pihak yang membutuhkan.
Tak lupa penyusun menyampaikan banyak terima kasih kepada semua pihak yang
telah memberikan bantuan secara langsung maupun tidak langsung, sehingga diktat ini
dapat terselesaikan.
Menyadari tiada gading yang tak retak, maka penyusun mengharapkan saran-
saran dan koreksi demi penyempurnaan diktat ini.
Semoga bermanfaat. Amin

Penyusun
PLC OMRON C20H/CPM1A/CPM2A

2.1.Mengapa Omron
Mengapa tidak?Omron merupakan perusahaan yang sangat besar dengan produk
–produk yang berkualitas tinggi dan kontrolernya yang relative tidak begitu mahal. Tetapi
tentu saja masih ada produk-produk lain yang juga berkualitas tinggi. Kebetulan
juga,fasilitas uji coba yang penulis dapatkan adalah dengan PLC Omron tipe CPM2A.
Idealnya,untuk suatu aplikasi khusus kita memerlukan informasi spesifik PLC yang akan
digunakan. Dua jenis PLC Omron yang secara umum akan dibahas pada bab ini adalah
tipe CPM1A dan CPM2A.

2.2.PLC Omron C20H/CPM1A/CPM2A


Tiap-tiap PLC pada dasarnya merupakan sebuah mikrokotroler (CPUnya PLC
bias berupa mikrokontroler maupun mikroprosesor) yang dilengkapi dengan peripheral
yang dapat berupa masukan digital, keluaran digital atau relai. Perangkat lunak
programnya sama sekali berbeda dengan bahasa computer seperti Pascal, Basic, C dan
lain-lain, programnya menggunakan apa yang dinamakan sebagai diagram tangga atau
ladder diagram.
C20H,CPM1A dan CPM2A merupakan PLC produk dari Omron, perbedaan mendasar
antara CPM1A dan CPM2A adalah fungsi dan jumlah terminal masukan dan
keluarannya, CPM1A 10 memiliki 6 masukan (D0-D5) dan 4 keluaran (O0-O3) total 10
jalur keluaran/masukan, sedangkan CPM2A 20 memiliki jumlah keluaran dan jumlah
masukan lebih banyak, yaitu 12 msukan dan 8 keluaran (total 20 jalur keluaran/masukan).
Pada gambar II.1 dan II.2 ditunjukkan gambar Omron CPM1A 10 keluaran/masukan (10
I/O),sedangkan pada gambar II.3 ditunjukkan gambar Omron CPM2A 20
keluaran/masukkan. Selanjutnya, untuk pembahasan dalam buku ini akan digunakan
Omron CPM2A 20 I/O.

Tabel II.1.Arti lampu indicator PLC CPM1A dan CPM2A


Indicator Status Keterangan
PWR(hijau) ON Catu daya disalurkan ke PLC
OFF Catu daya tidak disalurkan ke PLC
RUN(hijau) ON PLC dalam kondisi mode kerja RUN atau
MONITOR
OFF PLC dalam kondisi mode PROGRAM atau
munculnya kesalahan yang fatal
COMM (kuning) Kedip Data sedang dikirim melalui port peripheral atau
RS- 232C
OFF Tidak ada proses pengiriman data melalui port
peripheral maupun RS-232C
ERR/ ON Muncul suatu kesalahan fatal (operasi PLC
ALM(merah) berhenti)
Kedip Muncul suatu kesalahan tak fatal (opersi PLC
berlanjut)
OFF Operasi berjalan dengan normal
Selain 4 lampu indicator, juga biasa ditemukan adanya fasilitas untuk melakukan
hubungan komunikasi dengan komputer, melalui RS-232C atau yang lebih dikenal
dengan port serial (perhatikan gambar II.1 disebelah kiri dan gambar II.3 disebelah
kanan)

2.3. Jalur-jalur keluaran PLC Omron C20H,CPM1A dan CPM2A


Omron C20H/CPM1A/CPM2A (seri A) menggunakan keluaran berupa relai, dengan
adanya relai ini, menghubungkan dengan piranti eksternal menjadi lebih mudah. Pada
gambar II.4 ditunjukkan gambar internal rangkaian relai sebagai keluaran C20H,CPM1A
(CPM2A juga sama).

CPU PLC C20H,CPM1A dan CPM2A betul-betul terisolasi dari luar, pertama dengan
menggunakan komponen optoisolator dan dari optoisolator ini digunakan untuk
menggerakkan relai (terminal A dan B). Sebagai tambahan diberikan dioda yang
dipasang parallel dengan relai sebagai pengaman, untuk antisipasi arus balik yang terjadi
pada saat pensaklaran secara mekanis dari relai itu sendiri.

Saat CPU PLC mengubah status keluaran dari ’0’ menjadi ’1’,maka optoisolator ini
digunakan untuk menggerakkan relai sehingga terminal A dan B akan tersambung
(hubung singkat). Pada gambar II.5 ditunjukkan contoh status memori pada CPU PLC
berkaitan dengan status relai pada keluaran PLC,hanya keluaran O0 dan O3 yang
terhubung singkat.

Untuk lebih jelasnya, pada gambar II.6 ditunjukkan bagaimana menghubungkan keluaran
PLC dengan lampu-lampu bolam,sehingga kita juga bias melihat keluaran mana saja
yang ON atau terhubung singkat. Satu terminal, yaitu terminal COM dihubungkan
dengan jala-jala listrik, dalam contoh digunakan 220V,masing-masing terminal (O1-O3)
dihubungkan dengan lampu. Sedangkan terminal lampu sisanya dihubungkan bersama ke
jala-jala listrik.

2.4. Jalur-jalur masukkan PLC Omron C20H,CPM1A dan CPM2A


Berbagai macam sensor,saklar atau komponen-komponen lain yang dapat digunakan
untuk mengubah status bit dari memori status masukkan PLC dapat dipasang atau
digunakan sebagai masukkan ke PLC. Untuk bias melakukan perubahan pada memori
status masukkan tersebut, dibutuhkan sumber tegangan untuk memicu masukan.
Untungnya CPM1A dan CPM2A sudah dilengkapi dengan sumber tegangan 24 VDC
(letaknya dikiri bawah terminal keluaran,lihat kembli gambar II.1 dan II.3),sehingga
contoh rangkaian untuk masukkan ditunjukkan pada gambar II.7 dan perhatikan
hubungan COM pada PLC dengan sumber tegangan 24 Volt DC dan COM pada saklar
dengan tegangan 24 Volt DC.

Gambar II.7. Menghubungkan saklar dengan masukan PLC


2.5. Struktur dan Operasional PLC CPM1A/CPM2A

5.1. Struktur Unit CPU

Pada gambar II.8 ditunjukkan struktur internal dari unit CPU yang terdiri atas
beberapa bagian seperti memori I/O, program,rangkaian masukkan,rangkaian keluaran
dan lain sebagainya.
Memori I/O
Program akan membaca dan menulis data pada area memori ini selama eksekusi.
Beberapa bagian dari memori merupakan bit yang mewakili status masukkan dan
keluaran PLC. Beberapa bagian dari memori I/O akan dihapus saat PLC dihidupkan dan
beberapa bagian lainnya tidak berubah (tetap, karena ada dukungan baterai ke memori)
Program
Ini merupakan program yang ditulis oleh pengguna. CPM1A dan CPM2A menjalankan
program secara siklus (baca kembali pada bab I). Program itu sendiri dapat dibagi
manjadi dua bagian : Bagian ’program utama’ yang dijalankan secara siklus dan bagian
’program interupsi’ yang akan dijalankan saat terjadi interupsi yang bersangkutan.
Setup PC
Setup PC mengandung berbagai macam parameter awalan (startup) dan operasional.
Parameter-parameter tersebut hanya dapat diubah melalui Piranti pemrogram saja
(Programing Device),tidak dapat diubah melalui program. Beberapa parameter dapat
diakses hanya pada saat PLC dihidupkan, sedangkan beberapa parameter yang lain dapat
diakses secara rutin walaupun PLC dimatikan. Penting kiranya PLC dimatikan kemudian
dihidupkan kembali untuk mengaktifkan pengaturan yang baru jika parameter hanya bias
diakses saat PLC dihidupkan.

Saklar Komunikasi
Saklar komunikasi menentukan apakah port peripheral dan RS-232C yang akan bekerja
dengan pengaturan komunikasi standar atau pengaturan komunikasi yang ada didalam
setup PC.

5.2. Mode Kerja


Unit PLC CPM1A dan CPM2A dapat bekerja dalam 3 mode : PROGRAM,MONITOR
dan RUN. Hanya satu mode kerja saja yang aktif pada saat yang bersamaan.
Mode Program
Program atau diagram tangga tidak dapat berjalan dalam mode PROGRAM ini. Mode ini
digunakan untuk melakukan beberapa operasi dalam persiapan eksekusi program :
- Mengubah parameter-parameter inisial/operasi sebagaimana terdapat dalam Setup
PC;
- Menulis, menyalin, atau memeriksa program;
- Memeriksa pengkabelan dengan cara memaksa bit-bit I/O ke kondisi set atau
reset;
Mode Monitor
Program atau diagram tangga berjalan dalam mode MONITOR ini dan beberapa operasi
dapat dilakukan melalui sebuah Piranti Pemrogram. Secara umum, mode MONITOR
digunakan untuk melakukan lacak kesalahan (debug atau troubleshooting), operasi
pengujian dan melakukan penyesuaian (adjustment) :
- Pengeditan on-line (langsung);
- Mengawasi memori I/O selama PLC beroperasi;
- Memaksa set atau reset bit-bit I/O, mengubah nilai-nilai dan mengubah nilai saat
ini selama PLC beroperasi;
Mode RUN
Program atau diagaram tangga dijalankan dengan kecepatan normal pada mode RUN ini.
Operasi-operasi seperti pengeditan on-line, memaksa set atau reset bit-bit I/O dan
mengubah nilai-nilai tidak dapat dilakukan dalam mode ini, tetapi status dari bit I/O dapat
diawasi.

2.6. Struktur Memori PLC Omron CPM1A dan CPM2A


Beberapa bagian dari memori PLC Omron CPM1A dan CPM2A memiliki fungsi-
fungsi khusus. Masing-masing lokasi memori memiliki ukuran 16 bit atau 1 word,
beberapa word membentuk daerah atau region dan masing-masing region inilah yang
memiliki fungsi-fungsi khusus.
Tidak seperti mikrokontroler,yang hanya mendefinisikan sebagian dari fungsi-fungsi
memorinya, pada PLC, semua bagian dari memori didefinisikan fungsinya secara khusus.
Selain itu,dalam PLC semua alokasi memori dapat dialamati per bit,atau dengan kata lain
dapat diakses per bit atau bit addressable. Cukup dengan menuliskan, misalnya 102.2=0
artinya lokasi memori 102 bit-2 diisi nol.
Daerah IR
Bagian memori ini digunakan untuk menyimpan status keluaran dan masukan PLC.
Beberapa bit berhubungan langsung dengan terminal masukan dan keluaran PLC
(terminal sekrup).Untuk CPM1A/CPM2A,masing-masing bit IR000 berhubungan
langsung dengan terminal masukan, misalnya IR000.00(atau 000.00 saja) berhubungan
langsung dengan terminal masukan ke-1, sedangkan terminak masukan keVI
berhubungan langsung dengan bit IR000.5(atau 0005.05 saja). Daerah memori IR terbagi
atas tiga macam area : Area Masukan (Input Area), Area Keluaran (Output Area), dan
Kerja Area (Work Area), keterangan lengkap ditunjukkan pada tabel II.2 untuk CPM1A
dan tabel II.3 untuk CPM2A, anda bias mengakses memori ini cukup dengan angkanya
saja, 000 untuk masukan,010 untuk keluaran dan 200 untuk memori kerja

Tabel II.2 Pembagian Area IR pada CPM1A


Area Memori Word Bit Fungsi
Area Masukan IR000-IR009 IR000.00-IR009.15 Bit-bit ini dapat
(10 word) (160 bit) dialokasikan ke terminal-
terminal I/O
Area Keluaran IR010-IR019 IR010.00-IR019.15
(10 word) (160 bit)
Area Kerja IR200-IR231 IR200.00-IR231.15 Bit-bit ini dapat
(32 word) (512 bit) digunakan dengan bebas
didalam program
.
Tabel II.3 Pembagian Area IR pada CPM2A
Area Memori Word Bit Fungsi
Are Masukan IR000-IR009 IR000.00-IR009.15 Bit-bit ini dapat
(10 word) (160 bit) dialokasikan ke terminal-
terminal I/O
Area Keluaran IR010-IR019 IR010.00-IR019.15
(10 word) (160 bit)
Area Kerja IR020-IR049 IR020.00-IR049.15 Bit-bit ini dapat
IR200-IR231 IR200.00-IR231.15 digunakan dengan bebas
(32 word) (512 bit) di dalam program

Daerah SR
Merupakan bagian khusus dari alokasi memori yang digunakan sebagai bit-bit control
dan status (flag), digunakan (paling sering) untuk pencacah dan interupsi. Misalnya,
SR250 (atau 250 saja) memiliki bit nomor 00 hingga 15, digunakan sebagai Pengaturan
Kontrol Analog 0 (perhatikan kembali gambar II.3 pada control analog), dalam hal ini
SR250 digunakan untuk menyimpan BCD 4-digit (0000 hingga 0200) dari pengaturan
control analog 0. Sedangkan SR251 digunakan untuk pengaturan control analog 1.
SR253.13 (atau 253.13 saja) adalah Always ON Flag atau nilainya selalu ON selama
PLC dihidupkan, sedangkan kebalikannya adalah SR253.14 (atau 253.14 saja) yaitu
always OFF Flag atau nilai selalu OFF selama PLC dihidupkan. SR255.05 (255.06 saja)
digunakan sebagai flag CARRY (CY). Sedangkan SR255.05 , SR255.06 dan SR255.07
masing-masing digunakan untuk menyimpan status Lebih Besar Dari (greater Than),
Sama Dengan (Equals) dan Lebih Kecil Dari (Less Than) hasil dari fungsi perbandingan
CMP.
Daerah TR
Saat pindah ke sub-program selama eksekusi program, maka semua data yang terkait
hingga batasan RETURN sub program akan disimpan dalam daerah TR ini. Hanya
terdapat 8-bit yaitu TR0 hingga TR7, baik untuk CPM1A maupun CPM2A.
Derah HR
Bit-bit pada daerah HR ini digunakan untuk menyimpan data dan tidak akan hilang
walaupun PLC sudah tidak mendapatkan catu daya atau PLC sudah dimatikan, karena
menggunakan baterai. Untuk CPM1A dan CPM2A, daerah ini terdiri dari 20 word, HR00
hingga HR19 atau 320 bit, HR00.00 hingga HR19.15. Bit-bit HR ini dapat digunakan
bebas dalam program sebagaimana bit-bit kerja (Work Bits).
Daerah AR
Ini daerah lain yang juga digunakan untuk menyimpan bit-bit control dan status, seperti
status PLC, kesalahan , waktu system dan lain sejenisnya. Dan sebagaimana daerah HR,
daerah AR juga dilengkapi dengan baterai, sehingga data-data control maupun status
tetap akan tersimpan walaupun PLC sudah dimatikan. Untuk CPM1A, daerah ini terdiri
dari 16 word, AR00 hingga AR15 atau 256 bit, AR00.00 hingga AR15.15, sedangkan
CPM2A, daerah ini terdiri dari 24 word, AR00 hingga AR23 atau 384 bit, AR00.00
hingga AR23.15. Misalnya, AR08 bit 00 hingga 03 digunakan untuk menyimpan Kode
Kesalahan Port RS232, dengan ketentuan tiap bit :
00 – Normal;
01 - Kesalahan Paritas;
02 – Kesalahan Frame; dan
03 – Kesalahan Overrun.
Daerah LR ( LATCHING RELAY )
Digunakan sebagai pertukaran data saat dilakukan koneksi atau hubungan dengan PLC
yang lain. Untuk CPM1A dan CPM2A, daerah ini terdiri dari 16 word, LR00 hingga
LR15 atau LR256 bit, LR00.00 hingga LR15.15.
Daerah Pewaktu/Pencacah (Timer/Counter) – T/C Area
Daerah ini digunakan untuk menyimpan nilai-nilai pewaktu atau pencacah. Untuk
CPM1A terdapat 128 lokasi (TC000 hingga TC127), sedangkan pada CPM2A terdapat
226 lokasi (TC000 hingga TC225).
Daerah DM ( DATA MEMORY )
Berisikan data-data yang terkait dengan pengaturan komunikasi dengan computer dan
data pada saat kesalahan. Penjelasan lebih lanjut ditunjukkan pada table II.4 untuk
CPM1A dan table II.5 untuk CPM2A.

Tabel II.4 Pembagian Area DM pada CPM1A


Area Memori Word Fungsi
Read/write DM0000-DM0999 Area DM hanya bisa diakses dalam
DM1022-DM1023 satuan word saja. Nilai yang tersimpan
(1002 word) akan tetap tersimpan walaupun PLC
dimatikan.
Are Error Log DM1000-DM1021 Digunakan untuk menyimpan kode
a (22 word) kesalahan (error) yang muncul. Word-
DM word ini dapat digunakan sebagai DM
baca/tulis jika fungsi pencatat
kesalahan (error log) tidak digunakan.
Read-only DM6144-DM6599 Tidak dapat ditumpangi data lain untuk
(456 word) program
PC Setup DM6600-DM6655 Digunakan untuk menyimpan berbagai
(56 word) parameter yang mengontrol operasi
PLC

Tabel II.5 Pembagian Area DM pada CPM2A


Area Memori Word Fungsi
Read/write DM0000-DM1999 Area DM hanya bisa diakses dalam
DM20000-DM2047 satuan word saja. Nilai yang tersimpan
(2026 word) akan tetap tersimpan walaupun PLC
dimatikan
Error Log DM2000-DM2021 Digunakan untuk menyimpan kode
Are (22 word) kesalahan (error) yang muncul. Word-
a word ini dapat digunakan sebagai DM
Dm baca/tulis jika fungsi pencatat
kesalahan (error log) tidak digunakan
Read - only DM6144-DM6599 Tidak dapat ditumpangi data lain untuk
(456 word) program
PC Setup DM6600-DM6655 Digunakan untuk menyimpan berbagai
(56 word) parameter yang mengontrol PLC

Diagram Tangga (Ladder) Untuk PLC Sysmac CPM1A/CPM2A

4.1. Diagram Tangga (Ladder) Dasar


Sebuah diagram tangga atau ladder diagram terdiri dari sebuah garis menurun kebawah
pada sisi kiri dengan garis-garis bercabang kekanan. Garis yang berada disebelah sisi kiri
tersebut sebagai palang bis (bus bar), sedangkan garis-garis cabang (the branching lines)
adalah baris instruksi atau anak tangga. Sepanjang garis instruksi ditempatkan berbagai
macam kondisi yang terhubungkan ke instruksi lain disisi kanan. Kombinasi logika dari
kondisi-kondisi tersebut menyatakan kapan dan bagaimana instruksi yang ada disisi
kanan tersebut dikerjakan. Contoh diagram tangga ditunjukkan pada gambar IV.1.

Gambar IV.1 Contoh diagram tangga

Sebagaimana ditunjukkan pada gambar IV.1, sepanjang garis instruksi bias bercabang-
cabang lagi kemudian bergabung lagi. Garis-garis pasangan vertikal (seperti lambang
kapasitor) itulah yang disebut kondisi. Pasangan garis vertical yang tidak ada garis
diagonalnya disebut sebagai Normal Terbuka-Normally Open atau NO serta terkait
dengan instruksi LOAD (LD), AND atau OR. Sedangkan pasangan garis vertical yang
ada garis diagonalnya dinamakan Normal Tertutup Normally Close atau NC serta terkait
dengan instruksi-instruksi LD NOT, AND NOT, OR NOT. Angka-angka yang terdapat
pada masing-masing kondisi gambar IV.1 tersebut merupakan bit operan instruksi. Status
bit yang berkaitan dengan masing-masing kondisi tersebut yang menentukan kondisi
eksekusi dari instruksi berukutnya.

4.1.1. Istilah-istilah Dasar


4.1.1.1.Kondisi Normal Terbuka dan Tertutup
Masing-masing kondisi dalam sebuah diagram tangga dapat ON atau OFF
bergantung pada status bit operan yang digunakan. Sebuah kondisi Normal Terbuka (NO)
akan ON jika bit operannya juga ON; akan OFF jika bit operannya juga OFF. Sedangkan
kondisi Normal Tertutup (NC) akan ON jika bit operannya terkait OFF; akan OFF jika bit
operan yang bersangkutan ON, dengan kata lain kebalikan dari Normal Terbuka. Secara
umum, anda gunakan kondisi normal terbuka jika diinginkan sesuatu akan terjadi saat bit
OFF (misalnya, lampu nyala (ON) saat hari mulai gelap (OFF)). Pada gambar IV.2
ditunjukkan diagram tangga untuk mengilustrasikan hal ini.
0000
Instruksi akan dijalankan
jika instruksi
Bit IR00000 adalah ON
kondisi normal terbuka
0000 Instruksi akan dijalankan jika
bit IR00000 adalah
OFF instruksi
kondisi normal tertutup

Gambar IV.2 Diagram tangga untuk normal terbuka dan tertutup


4.1.1.2.Kondisi Eksekusi
Dalam pemrograman diagram tangga, kombinasi logika dan kondisi ON dan OFF
sebelum suatu instruksi akan menentukan apakah suatu instruksi tersebut akan dieksekusi
(dijalankan) atau tidak. Kondisi ini, yang bias ON maupun OFF, dinamakan dengan
kondisi eksekusi. Semua instruksi kecuali instruksi LOAD memiliki kondisi eksekusi.

4.1.1.3.Bit-bit Operan
Operan-operan yang digunakan oleh instruksi-instruksi diagram tangga dapat
berupa bit-bit yang di dalam area IR,SR,HR,AR,LR maupun T/C. Artinya, kondisi-
kondisi yang ada didalam diagram tangga dapat ditentukan dengan status bit-bit I/O, flag,
bit-bit kerja , pencacah dan pewaktu dan lain-lain. Instruksi LOAD dan OUTPUT juga
menggunakan bit-bit pada area T/C tetapi untuk aplikasi-aplikasi tertentu saja.

4.1.1.4.Blok-blok Logika
Suatu kondisi berhubungan dengan suatu instruksi ditentukan dengan hubungan
antar kondisi didalam garis instruksi yang bersangkutan. Sembarang kelompok kondisi
yang kemudian bergabung menjadi satu hasil kondisi dinamakan sebagai blok logika.
Walaupun diagram tangga dapat dibuat tanpa harus melakukan analisa pada masing-
masing blok-blok logika, pemahaman blok-blok logika diperlukan untuk melakukan
pemrograman secara efisien dan menjadi sangat penting jika programnya disimpan atau
dibuat dalam kode-kode mnemonic.

4.1.1.5.Blok-blok Instruksi
Sebuah blok instruksi atau jaringan (Network) mengandung semua instruksi yang
saling berhubungan membentang dalam diagram tangga. Dengan demikian sebuah blok
instruksi mengandung semua instruksi antara garis horizontal yang bias anda gambar
membentang dalam diagram tangga hingga tempat berikutnya ada bias menggambar garis
horizontal yang lainnya.

4.1.2. Kode Mnemonic


Diagram tangga tidak langsung dikirim ke PLC menggunakan Konsol Pemrogram
(Programming Console). Untuk mengirimkan diagram tangga menggunakan Konsol
Pemrogram maka harus dilakukan konversi diagram tangga ke kode-kode mnemonic
(perangkat lunak Syswin 3.4 khusus untuk Omron PLC Sysmac) dapat melakukan hal ini
dengan otomatis. Kode mnemonic menyediakan informasi yang sama persis dengan
diagram tangga hanya saja dalam bentuk yang langsung bias diketikkan ke PLC yang
bersangkutan (melalui konsol pemrograman).
Sebenarnya andapun bisa langsung memprogram dalam kode mnemonic, tetapi
hal ini tidak disarankan untuk para pemrogram PLC pemula atau untuk program-
program yang kompleks. Selain itu, tidak peduli perangkat lunak atau perangkat
keras (konsol pemrogram atau computer PC) yang digunakan, program yang
tersimpan didalam PLC dalam bentuk kode-kode mnemonic, sehingga
menjadikan penting untuk memahami kode mnemonic ini.

4.1.3. Struktur Memori Program


Program disimpan ke dalam alamat-alamat lokasi Memori Program. Alamat-
alamat dalam Memori Program agak berbeda dengan area memori lainnya karena
masing-masing alamat tidak harus menyimpan jumlah data atau ukuran instruksi
yang sama. Hal ini dikarenakan ada beberapa instruksi yang memang sama sekali
tidak membutuhkan hingga tiga operan, alamat-alamat dalam Memori Program
panjangnyaa mulai dari satu hingga empat word.
Alamat Memori Program berawal pada 00000, word pertama pada tiap-tiap
alamat digunakan untuk mendefinisikan instruksinya. Sembarang pendefisian
yang digunakan oleh suatu instruksi juga tersimpan dalam word pertama ini.
Demikian juga, jika sebuah instruksi hanya membutuhkan sebuah bit operan
(tanpa pendefinisi) , bit operan deprogram pada baris yang sama dengan
instruksinya. Word-word lainnya digunakan oleh instruksi-instruksi yang
menggunakan operan yang menentukan data apa yang digunakan. Saat melakukan
konversi ke kode mnemonic, semuanya kecuali instruksi diagram tangga
dituliskan dalam bentuk yang sama, satu word ke satu baris, sebagaimana
simbolnya muncul dalam symbol-symbol diagram tangga. Pada gambar IV.3
ditunjukkan contoh kode mnemonic dan cara penyimpanannya dalam Memori
Program.
Kolom alamat dan instruksi, sebagaimana ditunjukkan pada gambar IV.3, pada
tabel kode mnemonic diisi untuk word instruksi saja. Untuk baris-baris lainnya,
dua kolom dibagian kiri ini dikosongkan. Jika suatu instruksi tidak membutuhkan
bit operan atau pendefinisi, kolom operan akan dikosongkan untuk baris pertama.
Saat memprogram, alamat-alamat tersebut secara otomatis akan tampil dan tidak
perlu dituliskan kecuali untuk beberapa alasan anda ingin menempatkan suatu
instruksi ditempat atau lokasi yang lain (tidak berturutan). Saat mengkonversi
kode mnemonic, akan baik jika dimulai dari alamat Memori Program 00000
kecuali ada alasan yang tepat untuk memulai dari lokasi yang lain.
Instruksi Operan
Alamat
00000 HR 0001
LD
00001 AND 00001
00002 OR 00002
00003 LD NOT 00100
00004 OR 00101
00005 AND LD
00006 MOV (21)
000
DM 0000
00007 CMP (20)
DM 0000
HP 00

00008 AND 25505


00009 OUT 20000
00010 MOV (21)
DM 0000
DM 0500
00011 LD 00502
00012 AND 00005
00013 OUT 20001

Gambar IV.3 Contoh peyimpanan kode mnemonic

4.1.4. Instruksi-instruksi Tangga


Instruksi-instruksi tangga atau ladder instruction adalah instruksi-instruksi yang
terkait dengan kondisi-kondisi didalam diagram tangga. Instruksi-instruksi
tangga, baik yang independen maupun kombinasi atau gabungan dengan blok
instruksi berikut atau sebelum, akan membentuk kondisi eksekusi.
4.1.4.1.LOAD (LD) dan LOAD NOT (LD NOT)
Kondisi pertama yang mengawali sembarang blok logika di dalam diagram tangga

berkaitan dengan instruksi LOAD (LD) atau LOAD NOT (LD NOT). Masing-masing

instruksi ini membutuhkan satu baris kode mnemonic. Contoh untuk instruksi ini

ditunjukkan pada gambar IV.4.

00000
Alamat Instruksi Operan

Instruksi LOAD 00000 LD 00000

00001 Instruksi
00000
00002 LD NOT 00000

00003 Instruksi
Instruksi LOAD NOT

Gambar IV.4 Contoh Instruksi LD dan LD NOT


Sebagaimana ditunjukkan pada gambar IV.4, karena hanya instruksi LOAD atau LD
NOT saja yang ada di garis instruksi (instruction line), maka kondisi eksekusi untuk
instruksi yang disebelah kanannya adalah ON jika kondisinya ON. Untuk contoh diagram
tangga tersebut, instruksi LD (yaitu untuk normal terbuka), kondisi eksekusi akan ON
jika IR000.00 juga ON; sebaliknya, untuk instruksi LD NOT (yaitu untuk normal
tertutup), kondisi eksekusi akan ON jika IR000.00 dalam kondisi OFF.

4.1.4.2.AND dan AND NOT


Jika terdapat dua atau lebih kondisi yang dihubungkan secara seri pada garis
instruksi yang sama, maka kondisi yang pertama menggunakan instruksi LD atau LD
NOT dan sisanya menggunakan instruksi AND atau AND NOT. Pada gambar IV.5
ditunjukkan sebuah penggalan diagram tangga yang mengandung tiga kondisi yang
dihubungkan secara seri pada garis instruksi yang sama dan berkaitan dengan instruksi
LD, AND NOT dan AND. Dan sama seperti sebelumnya, masing-masing instruksi
tersebut membutuhkan satu baris kode mnemonic.
00000 00100 LR 0000

instruksi
intsrksi iiins

Instruksi Operan
Alamat
00000 LD 00000
00001 AND NOT 00100
00002 AND LR 0000
00003 Instruksi

Gambar IV.5 Contoh Penggunaan AND dan AND NOT


Instruksi yang digambarkan paling kanan sendiri (gambar IV.5) akan memiliki kondisi
eksekusi ON jika ketiga kondisi dikirinya semuanya ON, dalam hal ini IR000.00 dalam
kondisi ON, IR010.00 dalam kondisi OFF dan LR00.00 dalam kondisi ON.
Instruksi AND dapat dibayangkan akan menghasilkan ON jika kedua kondisi yang
terhubung dengan instruksi ini dalam kondisi ON semua, jika salah satu saja dalam
kondisi OFF, apalagi kedua-duanya OFF, maka instruksi AND akan selalu menghasilkan
OFF juga.

4.1.4.3.OR dan OR NOT


Jika dua atau lebih kondisi dihubungkan secara parallel, artinya dalam garis
instruksi yang berbeda kemudian bergabung lagi dalam satu garis instruksi yang sama,
maka kondisi pertama terkait dengan instruksi LD atau LD NOT dan sisanya berkaitan
dengan instruksi OR atau OR NOT.Pada gambar IV.6 ditunjukkan tiga buah kondisi yang
berkaitan dengan instruksi LD NOT, OR NOT dan OR. Sekali lagi, masing-masing
instruksi ini membutuhkan satu baris kode mnemonic.

00000
instruksi

00100

LR 0000

Instruksi Operan
Alamat
00000 LD NOT 00000
00001 OR NOT 00001
00002 OR LR 0000
00003 Instruksi
Gambar IV.6 Contoh Penggunaan OR dan OR NOT
Blok instruksi ini akan memiliki kondisi eksekusi ON jika cukup salah satu dari ketiga
kondisi dalam keadaan ON misalnya IR000.00 dalam kondisi ON.
Dalam hal ini instruksi OR dapat dibayangkan akan selalu menghasilkan kondisi eksekusi
ON jika salah satu saja dari dua atau lebih kondisi yang terhubungkan dengan instruksi
ini dalam kondisi ON.

IV.1.4.Kombinasi Instruksi AND dan OR


Jika instruksi AND dan OR digabungkan atau dikombinasikan dalam suatu
diagram tangga yang lebih kompleks, maka bisa dipandang satu persatu artinya bisa
dilihat masing-masing hasil gabungan dua kondisi menggunakan instruksi AND atau OR
secara sendiri-sendiri kemudian menggabungkannya menjadi suatu kondisi menggunakan
instruksi AND atau OR yang terakhir. Pada gambar IV.7 ditunjukkan contoh diagram
tangga yang mengimplementasikan cara seperti ini.
00000 00001 00002 00003
instruksi
00200

Operan
Alamat Instruksi
00000 LD 00000
00001 AND 00001
00002 OR 00200
00003 AND 00002
00004 AND NOT 00003
00005 Instruksi

Gambar IV.7 Contoh penggabungan instruksi AND dan OR


Pada gambar IV.7 tersebut instruksi AND yang pertama (alamat 00001) digunakan antara
status IR000.00 dan IR000.01, kemudian digabungkan dengan instruksi OR pada status
IR002.00 (alamat 00002) hasil dari penggabungan ini kemudian di AND kan dengan
IR000.02 dan di AND NOT kan dengan IR000.03, hasil akhir kondisi inilah yang
menentukan apakah instruksi akan dikerjakan atau tidak.

IV.1.5.Instruksi OUTPUT dan OUTPUT NOT


Cara yang paling mudah untuk mengeluarkan hasil kombinasi kondisi eksekusi adalah
dengan menyambung langsung dengan keluaran melalui instruksi OUTPUT/OUT atau
OUTPUT NOT/ OUTNOT. Kedua instruksi ini digunakan untuk mengontrol bit operand
yang bersangkutan berkaitan dengan kondisi eksekusi (apakah ON atau OFF). Dengan
menggunakan instruksi OUT, maka bit operand akan menjadi ON jika kondisi
eksekusinya juga ON. Sedang OUT NOT akan menyebabkan operand ON jika konisi
eksekusinya OFF. Pada gambar IV.8 ditunjukkan contoh implementasi kedua instruksi
ini.

ALAMAT
INSTRUKSI

00000 0000

00001 00

Gambar IV.8 Contoh penggunaan instruksi OUT dan OUT NOT

Pada gambar IV.8 tersebut terlihat bahwa IR010.00 akan ON selama IR000.00 juga ON
sedangkan IR010.01 akan ON selama IR000.01 dalam kondisi OFF.

IV.6.Instruksi END
Instruksi terakhir yang harus ditulis atau digambarkan dalam diagram tangga adalah
instruksi END. CPU pada PLC akan mengerjakan semua instruksi dalam program ini dari
awal hingga ditemui instruksi dalam program dari awal lagi, artinya instruksi-instruksi
yang ada dibawah atau setelah instruksi END akan diabaikan. Angka yang dituliskan
pada instruksi END merupakan kode fungsi. Instruksi END tidak memerlukan operand
serta tidak boleh diawali dengan suatu kondisi. Pada gambar IV.9 ditunjukkan contoh
pemakaian instruksi END.

00000 00001
instruksi

Eksekusi program
END(01) Berakhir disini

Instruksi Operan
Alamat
00500 LD 00000
00501 AND NOT 00001
00502 Instruction
00503 END(01)
Gambar IV.9 Contoh pemakaian instruksi END.
IV.7.Instruksi blok logika AND LOAD (AND LD)
Sebagaimana ditunjukkan pada gambar IV.10, walaupun sederhana , tetapi diagram
tangga tersebut membutuhkan sebuah instruksi blok logic AND LD.

00000 00002
instruksi
02 00003

Instruksi Operan
Alamat
00000 LD 00000
00001 OR 00001
00002 LD 00002
00003 OR NOT 00003
00004 AND LD -

Gambar IV.10 Contoh penggunaan instruksi blok logic AND LD

Pada gambar IV.10 terdapat dua buah blok logic yang ditandai dengan kotak bergaris
putus-putus yang akan menghasilkan kondisi eksekusi ON, jika blok logic kiri dalam
kondisi ON (salah satu dari IR000.00 atau IR000.01 yang ON) dan blok logic kanan juga
dalam kondisi ON (IR000.02 dalam kondisi ON atau IR000.03 dalam kondisi OFF).
Diagram tangga sebagaimana ditunjukkan pada gambar IV.10 tidak dapat dikonversikan
begitu saja dengan menggunakan instruksi AND dan OR saja. Sehingga diperlukan
instruksi LD atau LD NOT ditengah-tengah garis instruksi (antara blok logic kiri dan
kanan) . Saat LD dan LD NOT dikerjakan dengan cara seperti ini, maka kondisi eksekusi
saat itu akan disimpan terlebih dahulu dan kemudian dilanjutkan ke blok logic
berikutnya. Untuk menggabungkan kondisi eksekusi sekarang dengan yang sebelumnya
dibutuhkan instruksi blok logic AND LD atau OR LD.

IV.1.8 Instruksi blok logic OR LD


Instruksi ini digunakan untuk meng OR kan dua blok logic pada gambar IV.11
ditunjukkan sebuah contoh diagram tangga yang membutuhkan instruksi OR LD untuk
menggabungkan blok logic atas dan bawah.

00000 00001
instruksi

00002 00003
Instruksi Operan
Alamat
00000 LD 00000
00001 AND NOT 00001
00002 LD 00002
00003 AND 00003
00004 OR LD -

Gambar IV.11 Contoh penggunaan instruksi blok logic OR LD

Kondisi eksekusi ON akan dihasilakan jika blok logic atas atau blok logic bawah dalam
kondisi ON. Artinya IR000.00 dalam kondisi ON dan IR000.01 dalam kondisi OFF atau
IR000.02 dan IR000.03 dalam kondisi ON semua.

IV.1.9 Instruksi –instruksi blok logic dalam seri


Untuk mengkodekan diagram dengan kondisi logic yang dipasang atau dihubungkan
secara serial, sebagaimana ditunjukkan pada gambar IV.12 maka diagram perlu dibagi-
bagi menjadi blok-blok logic yang bersangkutan. Masing-masing blok dikodekan
menggunakan instruksi LD atau LD NOT untuk kondisi pertama, selanjutnya cara
menggabungkan dengan blok-blok logic lainnya ada 2 (dua) cara:

00000 00002 00004


22

00001 00003 00005

Gambar IV.12 Contoh blok logic yang dihubungkan secara serial

Cara pertama, blok logic pertama ditulis dulu kemudian diikuti dengan blok logic yang
kedua, kemudian digabungkan langsung dengan instruksi blok logic AND LD, kemudian
diteruskan dengan menuliskan blok logic ketiga, digabungkan lagi dengan instruksi blok
logic AND LD, demikian seterusnya hingga blok logic terakhir digabung dengan blok
logic sebelumnya dengan AND LD. Dengan kata lain cara pertama ini menggabungkan
satu persatu dari depan.

Cara kedua, semua blok logic yang ada dituliskan dulu, kemudian penggabungan
dilakukan dari belakang. Blok logic pertama ditulis dulu, kemudian diikuti dengan blok
logic kedua, ketiga dan seterusnya hingga blok logic yang terakhir digabung dengan
instruksi blok AND LD, kemudian ditulis lagi instruksi blok logic AND LD untuk
menggabungkan kedua blok logic terakhir dengan sebelumnya. Cara ini hanya bisa
digunakan untuk maksimum 8 blok logic saja.

Pada gambar IV.13 ditunjukkan implementasi cara pertama (kode mnemonic sebelah
kanan) untuk diagram tangga yang ditunjukkan pada gambar IV.12. Pada gambar IV.13
blok logic kiri dikodekan dengan cara pertama dan kedua pada alamat 00000 dan 00001,
demikian juga blok logic tengah dikodekan dengan cara pertama dan kedua pada alamat
00002 dan 00003, selanjutnya dengan cara pertama, blok kiri dan tengah digabungkan
(alamat 00004), sedangkan cara kedua alamat 00004 dan 00005 digunakan untuk
menuliskan blok logic kanan. Dengan cara pertama dilanjutkan menuliskan blok kanan
pada alamat 00005 dan 00006 diikuti dengan menggabungkan dengan hasil
penggabungan sebelumnya pada alamat 00007. Sedangkan dengan cara keuda, setelah
menuliskan blok logic kanan, dilanjutkan dengan menggabungkan dua blok
terakhir(tengah dan kanan) pada alamat 00006 dan menggabungkan semuanya pada
alamat 00007.

Instruksi Operan Alamat Instruksi Operan


Alamat
00000 LD 00000 00000 LD 00000
00001 OR NOT 00001 00001 OR NOT 00001
00002 LD NOT 00002 00002 LD NOT 00002
00003 OR 00003 00003 OR 00003
00004 AND LD - 00004 LD 00004
00005 LD 00004 00005 OR 00005
00006 OR 00005 00006 AND LD -
00007 AND LD - 00007 AND LD -
00008 OUT 20000 00008 OUT 20000

Gambar IV.13 Menggabungkan blok logic secara serial


Contoh lain ditunjukkan pada gambar IV.14 dimana blok-blok logic sekarang secara
parallel, sehingga dibutuhkan instruksi blok logic OR LD. Cara penggabungannya sama
dengan instruksi AND LD dan cara kedua tetap terbatas maksimum 8 blok logic saja.
Penjelasan penulisan kode mnemonicnya juga sama seperti sebelumya, hanya saja AND
LD diganti dengan OR LD.

00000 00001

00002 00003

00004 00005
Gambar IV.14 Contoh blok logic yang dihubungkan secara parallel dan implementasi
kode mnemonicnya.

IV.1.10 Mengkombinasikan AND LD dan OR LD


Pada gambar IV.15 ditunjukkan sebuah diagram tangga yang hanya mengandung dua
blok saja. Blok B tidak perlu dibagi-bagi lagi, karena bisa dikodekan langsung
menggunakan AND dan OR. Hal ini disebabkan hanya ada satu kondisi IR002.01 pada
baris kedua dan satu kondisi IR000.04 pada garis ketiga yang bisa digabungkan dengan
garis pertama dengan dua instruksi OR (alamat 00004 dan 00005) secara sederhana.

Gambar IV.15 Megkombinasikan AND LD dan OR LD

Pertama dituliskan dulu blok A pada alamat 00000 hingga 00001 kemudian dilanjutkan
dengan menuliskan garis pertama pada alamat 00002 dan 00003 kemudian digabung
dengan instruksi OR dengan garis kedua pada alamat 00004 dan garis ketiga pada alamat
00005, selanjutnya kedua blok logic ini Adan B digabung dengan instruksi AND LD
pada alamat 00006.
Pada gambar IV.16 ditunjukkan diagram tangga lainnya, walaupun sama dengan gambar
diagram tangga sebelumnya (gambar IV.15), tetapi blok B pada gambar IV.15 tidak dapat
dikodekan tanpa memisahkan menjadi dua blok logic (karena ada dua kondisi pada garis
kedua).
Gb. IV.16 Contoh lain Kombinasi AND LD an OR LD
Pertama dituliskan blok A pada alamat 00000 dan 00001 (dengan LD NOT dan AND),
kemudian dilanjutkan dengan menuliskan blok B1 pada alamat 00002 dan 00003 (dengan
LD dan AND NOT), kemudian dilanjutkan dengan menuliskan blok B2 pada alamat
00004 dan 00005 (dengan LD NOT dan AND), selanjutnya blok B1 dan B2 digabungkan
dengan OR LD (alamat 00006) dan hasilnya digabungkan dengan blok A dengan AND
LD (alamat 00007)

IV.1.7.5 Diagram tangga yang lebih kompleks


Untuk membuat kode mnemonic diagram tangga yang lebih kompleks, caranya dengan
membagi diagram tangga tersebut ke blok-blok logic yang besar, kemudian memecah
blok-blok logic besar tadi ke blok-blok logic yang lebih kecil, demikian seterusnya
hingga tidak perlu lagi dibuat blok logicnya. Blok-blok ini kemudian masing-masing
dikodekan mulai dari yang terkecil dan digabungkan satu per satu hingga membentuk
diagram tangga yang asli. Yang perlu diingat bahwa instruksi blok logic AND LD dan
OR LD hanya digunakan untuk menggabungkan dua blok logic saja, tidak peduli blok
logic yang digabungkan berupa hasil penggabungan sebelumnya atau hanya kondisi
tunggal.
Gb. IV.17 Contoh Diagam Tangga Komplek 1

Perhatikan contoh yang ditunjukkan pada gambar IV.17 diagram tangga ini perlu dipecah
menjadi dua blok logic besar A dan B, kemudian masing-masing blok dipecah lagi
menjadi 2 blok logic kecil A1 dan A2 untuk blok A serta B1 dan B2 untuk blok B.
Kemudian blok-blok logic yang kecil ini ditulis terlebih dahulu, diawali dengan
menuliskan blok A1 (alamat 00000 dan 00001) dan blok A2 (alamat 00002 dan 00003),
kemudian digabungkan menggunakan instruksi blok logic OR LD (alamat 00004).
Selanjutnya blok B1 dituliskan (alamat 00005 dan 00006) dilanjutkan dengan blok B2
(alamat 00007 dan 00008 dan digabung dengan instruksi blok logic OR LD (alamat
00009). Hasilnya berupa blok A dan blok B yang kemudian juga digabung menggunakan
blok logic AND LD alamat 00010.
Untuk diagram tangga yang ditunjukkan gambar IV.18 dapat dikodekan dengan mudah
asalkan dikodekan dengan urutan dari blok atas kemudian kebawah serta dilanjutkan dari
kiri ke kanan. Pada diagram tangga tersebut, blok A dan B digabungkan menggunakan
AND LD, kemudian diikuti dengan blok C dan digabungkan dengan gabungan blok
sebelumnya dengan AND LD juga, demikian seterusnya hingga blok N.
Gb. IV.18

Sedangkan diagram tangga yang ditunjukkan pada gambar IV.19 membutuhkan instruksi
OR LD yang diikuti dengan AND LD untuk mengkodekan tiga blok di bagian atas. Serta
dua buah instruksi OR LD untuk melengkapi semuanya.

Gb. IV.19

Dapat diperhatikan diagram tangga pada gambar IV.19 diawali dengan menuliskan
instruksi LD untuk IR000.00 pada alamat 00000, sebagai blok pertama, kemudian
dilanjutkan penulisan blok kedua (bagian atas) dengan LD pada IR000.01 dan blok ketiga
(bawahnya) dengan menggabungkan IR000.02 dan IR000.03 dengan LD dan AND NOT
(alamat 00001 hingga 00003). Selanjutnya blok kedua dan ketiga digabungkan dengan
OR LD (alamat 00004) dan digabungkan lagi dengan blok pertama dengan AND LD
(alamat 00005). Selanjutnya dilanjutkan menuliskan blok keempat (garis kedua) pada
alamat 00006 dan 00007 dan digabungkan dengan blok pertama ,kedua ,ketiga dengan
OR LD (alamat 00008) dan terakhir dituliskan blok kelima (alamat 00009 00010)
kemudian digabung semua dengan OR LD (alamat 00011).
Diagram tangga yang ditunjukkan pada gambar IV.19 tersebut bisa disederhanakan
dengan cara menghilangkan OR LD dan AND LD yang pertama, sehingga hasilnya
ditunjukkan pada gambar IV.20. Perhatikan sekarang blok kedua dan ketiga ditempatkan
disebelah kiri dari blok pertama (arti kombinasi logicnya sama saja) sehingga ketiga blok
tersebut menjadi satu blok saja, diawali dengan LOAD untuk IR000.02 dan AND NOT
untuk IR000.03 (alamat 0000 dan 0003). Kemudian baru dituliskan blok logic bawahnya
(alamat 0004 dan 0005) kemudian digabung dengan OR LD (alamat 0006). Terakhir
dituliskan blok bawahnya lagi (alamat 0007 dan 0008) kemudian digabungkan lagi
dengan OR LD (alamat 0009).
Gb. IV.20

Berikutnya sebagaimana ditunjukkan gambar IV.21 terdapat 5 blok logic dari blok A
hingga blok E. Kode mnemonicnya dituliskan dengan cara kedua (jumlah blok hanya 5),
diawali dengan menuliskan blok A (alamat 00000) kemudian diikuti dengan blok B
(alamat 00001 dan 00002) kemudian diikuti lagi dengan blok C (alamat 00003 dan
00004), blok D (alamat 00005) dan blok E (alamat 00006 dan 00007). Kemudian mulai
dilakukan penggabungan dari blok D dan E dulu dengan OR LD (alamat 00008),
dilanjutkan dengan blok C dengan AND LD (alamat 00009) dilanjutkan lagi dengan blok
B dengan OR LD (alamat 00010) dan terakhir dengan blok A dengan AND LD (alamat
00011).

Gb. IV.21

Sebagaimana kasus sebelumnya, diagram kompleks 3 ini juga bisa disederhanakan


menjadi diagram tangga yang ditunjukkan pada gambar IV.22. Diawali dengan
menggabungkan IR000.06 dan IR000.07 (semula blok E) dengan LD dan AND (alamat
00000 dan 00001) kemudian digabung dengan IR000.05 (semula blok D pada alamat
00002) dengan OR kemudian digabung lagi dengan IR000.03 dan IR000.04 (semula blok
C pada alamat 00003 dan 00004). Selanjutnya blok B dituliskan pada alamat 00005 dan
00006 dan digabung dengan penggabungan sebelumnya dengan CR LD (alamat 00007)
dan diakhiri dengan penggabungan blok A dengan AND (alamat 00008).

Gb. IV.22
Contoh terakhir dari diagram kompleks ditunjukkan pada gambar IV.23 yang jika diamati
kelihatan cukup kompleks tetapi bisa dikodekan hanya dengan dua blok logic saja.

Gb. IV.23
Gb. IV.24

Walaupun terdapat tiga blok logic (blok A,B,C) tetapi hanya membutuhkan dua instruksi
blok logic saja. Sebagaimana ilustrasi dan kode mnemonicnya ditunjukkan pada gambar
IV.24, blok A dan B digabungkan menggunakan instruksi blok logic OR LD (alamat
00004) kemudian digabungkan lagi dengan IR000.00 menggunakan instruksi OR saja
(karena satu kondisi saja) pada alamat 00005, selanjutnya digabungkan dengan IR000.02
dan IR000.03 dengan instruksi AND dan AND NOT (alamat 00006 dan 00007). Terakhir
blok C dituliskan (alamat 00008 hingga 00010) dan digabung dengan blok sebelumnya
menggunakan instruksi blok logic AND LD (alamat 00011).

IV.1.8 Garis Pencabangan Instruksi


Jika suatu garis instruksi harus bercabang dua atau lebih, adakalanya perlu menggunakan
bit Temporary relay atau TR untuk menjaga kondisi pada titik percabangan. Hal ini
disebabkan instruksi dikerjakan dari sisi kiri hingga sisi kanan sebelum kembali lagi ke
titik percabangan. Kemudian mengerjakan instruksi pada garis instruksi berikutnya (pada
percabangan tersebut). Jika suatu kondisi disisipkan pada garis percabangan instruksi
atau disisipkan setelah titik percabangan, maka kondisi eksekusi bisa berubah selama
proses tersebut, sehingga tidak dimungkinkan program berjalan sesuai yang diharapkan.
Pada gambar IV.26 ditunjukkan dua diagram tangga (atas dan bawah) yang sama-sama
instruksi 1 dikerjakan terlebih dahulu sebelum instruksi 2.

Gb. IV.26
Pada diagram A (gambar IV.26) kondisi eksekusi yang muncul pada titik percabangan
tidak berubah sebelum kembali ke garis percabangan, dengan kata lain instruksi 1 tidak
dapat mengubah kondisi eksekusi pada titik cabang , sehingga garis percabangan akan
dikerjakan dengan benar.
Sedangkan pada diagram B, terdapat sebuah kondisi antara titik cabang dengan instruksi
1, hal ini menyebabkan kondisi eksekusi sebelum dan setelah kembali ke garis
percabangan bisa berbeda, karena instruksi 1 dapat mengubah kondisi eksekusi titik
cabang dengan IR000.01 nya jika selama proses ini IR000.01 mengamali perubahan
kondisi, sehingga tidak mungkin mendapatkan hasil yang diinginkan. Sehingga untuk
mengatasi hal ini dibutuhkan bit-bit TR atau interlock (IL (02)) atau interlock clear (IL
(03)).

IV.1.10 Bit-bit TR
Area TR menyediakan 8 bit, TR0 s/d TR8 yang dapat digunakan untuk menyimpan
sementara kondisi eksekusi pada titik cabang. Jika sebuah bit TR dipasang pada titik
cabang, maka kondisi eksekusi saat itu akan akan disimpan pada bit TR yang
bersangkutan. Saat kembali ke titik cabang bit TR yang sudah menyimpan kondisi
eksekusi sebelumnya, akan mengembalikan kondisi eksekusi sebelumnya, akan
mengembalikan kondisi eksekusi seperti semula saat pertama kali eksekusi mencapai titik
cabang.
Diagram B, yang ditunjukkan pada gambar IV.26 dapat ditulis ulang dengan benar
menggunakan bit TR sehingga terbentuk diagram tangga untuk diagram B sebagaimana
ditunjukkan pada gambar IV.27 diawali dengan menuliskan sambungan IR000.00
dilanjutkan mengeluarkan hasil kondisi eksekusinya ke TR0 (alamat 00000 dan 00001),
kemudian diteruskan dengan AND pada IR000.01 hingga instruksi 1 (alamat 00002 dan
00003). Untuk garis cabang yang bawah diawali dengan LD untuk TR0 dan AND untuk
IR000.02 hingga instruksi 2 (alamat 00004 hingga 00006).
Dalam hal ini instruksi 1 akan ON jika TR0 dan IR000.01 keduanya juga berstatus ON,
demikian juga dengan instruksi 2, akan berstatus ON jika TR0 dan IR000.02 keduanya
juga berstatus ON juga.

00000 00001
Instruksi 1

00002
Instruksi 2

Diagram B: Dikoneksikan dengan sebuah bit TR


Alamat Instruksi Operan
00000 LD 00000
00001 OUT TR 0
00002 AND 00001
00003 Instruksi 1
00004 LD TR 0
00005 AND 00002
00006 Instruksi 2

Gambar IV.27 modifikasi diagram tangga diagram B gambar IV.26

Pada gambar IV.28 ditunjukkan contoh penggunaan 2 buah bit TR (TR0 dan TR1). Pada
contoh diagram tangga ini, TR0 dan TR1 digunakan untuk menyimpan kondisi eksekusi
di titik cabang. Setelah mengerjakan instruksi 1, TR1 akan mengembalikan kondisi
eksekusi di titik cabang yang bersangkutan yang kemudian di AND kan dengan IR000.03
untuk menentukan kondisi eksekusi bagi instruksi 2. Sedangkan bit TR0 digunakan 2
kali, pertama saat instruksi 1 dan instruksi 2 selesai dikerjakan, maka eksekusi akan
kembali ke titik cabang dan menggunakan TR0 pertama kali untuk di AND kan dengan
IR000.04 untuk menentukan kondisi eksekusi instruksi 3, setelah selesainya eksekusi
instruksi 3 dan menggunakan bit TR0 kedua kali di AND NOT kan dengan IR000.05
untuk menentukan kondisi eksekusi instruksi 4.

00000 00001 00002


Instruksi 1

00003
Instruksi 2
00004
Instruksi 3

00005
Instruksi 4
Alamat Instruksi Operan
00000 LD 00000
00001 OUT TR 0
00002 AND 00001
00003 OUT TR 1
00004 AND 00002
00005 Instruksi 1
00006 LD TR 1
00007 AND 00003
00008 Instruksi 2
00009 LD TR 0
00010 AND 00004
00011 Instruksi 3
00012 LD TR 0
00013 AND NOT 00005
00014 Instruksi 4

Gambar IV.28 Contoh penggunaan dua bit TR (TR0 dan TR1)

IV.1.11 Bit-bit Interlock


Selain menggunakan bit-bit TR, instruksi INTERLOCK (IL (02)) dan INTERLOCK
CLEAR (ILC (03)) dapat digunakan cara mengeliminasi titik –titik cabang yang ada.
Instruksi INTERLOCK dan INTERLOCK CLEAR digunakan bersama (pasangan)
Jika instruksi INTERLOCK ditempatkan sebelum suatu bagian, maka kondisi eksekusi
dari INTERLOCK tersebut akan digunakan untuk semua instruksi hingga dijumpai
instruksi INTERLOCK CLEAR. Jika kondisi eksekusi INTERLOCK adalah ON, maka
garis instruksi berikutnya hingga dijumpai instruksi INTERLOCK CLEAR juga akan
ON.
Sebagaimana ditunjukkan pada gambar IV.30, diagram B pada gambar IV.26 dapat
dikoreksi menggunakan instruksi INTERLOCK. Pada gambar IV.30 tersebut kondisi
eksekusi IR000.00 akan menentukan kondisi eksekusi IL (02), kemudian instruksi 1 dan
2 masing-masing diawali dengan kondisi eksekusi INTERLOCK IL(02), sebelum
masing-masing melalui IR000.01 dan IR000.02, karena setelah itu diakhiri dengan
INTERLOCK CLEAR ILC(03).

00000
IL (02)

00001
Instruksi 1
00002

Instruksi 2

ILC (03)
Alamat Instruksi Operan
00000 LD 00000
00001 ILC (02) -
00002 LD 00001
00003 Instruksi 1
00004 LD 00002
00005 Instruksi 2
00006 ILC (03) -

Gambar IV.30 Koreksi diagram B Gambar IV.26 dengan IL (02)

IV.1.12 Instruksi Lompatan (JUMP)


Suatu bagian dalam program dapat dilewati atau dikerjakan menggunakan instruksi
JUMP. Hal ini sama seperti penggunaan instruksi INTERLOCK, jika kondisi
eksekusinya OFF (semua instruksi diantara INTERLOCK dan INTERLOCK CLEAR
tidak dikerjakan), hanya saja menggunakan JUMP operand semua instruksi akan
memelihara status. Dengan demikian JUMP dapat dipergunakn untuk mengontrol piranti-
piranti yang membutuhkan perpanjangan status keluaran, misalnya pneumatic dan
hidrolic. Sedangkan INTERLOCK digunakan untuk mengontrol piranti-piranti yang tidak
membutuhkan perpanjangan status keluaran misalnya instrument elektronik.
Instruksi JUMP (JMP(04)), sama seperti instruksi INTERLOCK berpasangan dengan
JUMP END (JME(05)). Jika kondisi eksekusi dari suatu instruksi JMP adalah ON, maka
program dikerjakan secara normal seolah-olah tidak ada instruksi JMP. Tetapi jika
kondisi eksekusi dari JUMP adalah OFF, maka eksekusi program langsung menuju
instruksi JUMP END tanpa melakukan perubahan status apapun JUMP dan JUMP END.
Semua instruksi JUMP dan JUMP END diberi nomor dari 00 sampai 99, nomor 00
digunakan untuk hal-hal khusus. Nomor ini hanya digunakan sekali saja, artinya dalam
diagram tangga tidak boleh ada nomor JUMP lebih dari satu, kecuali nomor 00
Sekarang diagram B (gambar IV.26) dikoreksi dengan menggunakan instruksi JUMP dan
JUMP END hasilnya di tunjukkan pada gambar IV.32. Kondisi eksekusi IR000.00 akan
menentukan kondisi eksekusi dariJMP(04)01.

00000
JMP (04)01

00001
Instruksi 1

00002
Instruksi 2

JME (05)01
Alamat Instruksi Operan
00000 LD 00000
00001 JMP(04) 01
00002 LD 00001
00003 Instruksi 1
00004 LD 00002
00005 Instruksi 2
00006 JME(05) 01

Diagram B : Dikoreksi dengan Instruksi JMP

Gambar IV.32 Koreksi diagram IV.26 dengan JUMP

Sebagaimana telah disinggung sebelumnya JUMP dengan nomor 00 dapat digunakan


lebih dari satu kali penulisan. Artinya boleh dituliskan JMP (04) 00 tanpa harus diikuti
dengan JME (05) 00.

Eksekusi program yang banyak mengandung JUMP (04) 00 sama seperti penggunaan
INTERLOCK, sehingga diagram tangga seperti gambar IV.31 dapat dimodifikasi
menggunakan JUMP (04) 00, sebagaimana ditunjukkan pada gambar IV.33. Eksekusi
diagram tangga pada gambar IV.33 INTERLOCK dapat mereset beberapa bagian bit atau
status dalam lingkup INTERLOCK, sedangkan JUMP, tidak ada satupun bit atau status
yang berubah.

00000
JMP(04)

00001
Instruksi

00002
JMP(04)

00003 00004
Instruksi

00005
Instruksi

00006
Instruksi

JME(05)
Alamat Instruksi Operan
00000 LD 00000
00001 JMP(04) 00
00002 LD 00001
00003 Instruksi 1
00004 LD 00002
00005 JMP(04) 00
00006 LD 00003
00007 AND NOT 00004
00008 Instruksi 2
00009 LD 00005
00010 Instruksi 3
00011 LD 00006
00012 Instruksi 4
00013 JME(05) 00

Gambar IV.33 Modifikasi diagram tangga gambar IV.30 dengan JMP(04)

IV.1.13 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 operand saat
kondisi eksekusinya ON. Kedua instruksi ini tidak akan mengubah kondisi status bit jika
kondisi eksekusinya OFF.

Instruksi SET akan meng ON kan bit operand saat kondisi eksekusinya ON, tetapi tidak
seperti instruksi OUT, SET tidak akan meng OFF kan bit operand saat kondisi
eksekusinya ON dan juga tidak seperti instruksi OUT NOT, RESET tidak akan meng ON
kan bit operand walaupun kondisi eksekusinya OFF.

00000
SET 20000

00001
RSET
Alamat Instruksi Operan
00000 LD 00100
00001 SET 20000
00002 LD 00101
00003 RSET 20000

Gambar IV.34 Contoh Penggunaan Instruksi SET dan RESET

IV.1.14 DIFFERENTIATE UP dan DIFFERENTIATE DOWN

Instruksi DIFFERENTIATE UP (DIFU) dan DIFFERENTIATE DOWN (DIFD)


digunakan untuk meng ON kan operand hanya satu kali siklus saja. Sedangkan Instruksi
DIFD digunakan untuk tujuan sama dengan DIFU hanya saja DIFU digunakan pada saat
transisi kondisi eksekusi dari OFF ke ON
Pada gambar IV.35 ditunjukkan diagram tangga sederhana yang menggunakan kedua
instruksi ini. Pada diagram tangga tersebut, IR200.01 akan ON untuk satu siklus saja
yaitu 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.

Gb. IV.35
IV.1.15 Instruksi KEEP
Instruksi KEEP digunakan untuk menyimpan status suatu 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 operand, sedangkan
garis instruksi kedua digunakan untuk meng OFF kan bit operand, hal tersebut akan
terjadi jika kondisi eksekusi pada garis instruksi yang terkait ON. Bit operand instruksi
KEEP akan dijaga ON atau OFF walaupun ada didalam bagian diagram yang
mengandung INTERLOCK.

Pada gambar IV.36 ditunjukkan contoh diagram tangga yang menggunakan instruksi
KEEP ini. Pada diagram tangga tersebut HR00.00 akan 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 (alamat 00004).

Gb. IV.36

IV.1.16 Bit-bit Penyimpanan (self maintained)

Walaupun instruksi KEEP dapat digunakan untuk membuat bit-bit yang bisa menahan
sendiri, kadangkala dibuthkan membuat bit-bit tersebut bisa di OFF kan pada bagian
program yang mengandung INTERLOCK.

Untuk membuat bit-bit tersebut, bit operand suatu instruksi OUT digunakan sebagai suatu
kondisi untuk OUT yang sama dalam suatu bentuk penggabungan OR, sehingga bit
operand OUT akan tetap ON atau OFF hingga muncul perubahan kondisi pada bit-bit
yang lain.

Sebagai contoh kita bisa mengubah diagram tanga yang telah ditunjukkan sebelumnya
pada gambar IV.36 (yaitu dengan instruksi KEEP) dengan menghilangkan instruksi
KEEP tersebut dan meletakkan bit operand OUT kesuatu garis instruksi tersendiri yang
kemudian digabung dengan OR. Hasilnya ditunjukkan pada gambar IV.37.

00002 00003 00004

HR 0000 00005

Alamat Instruksi Operand


00000 LD 00002
00001 AND NOT 00003
00002 OR HR 000
00003 AND NOT 00004
00004 OR NOT 00005
00005 AND LD -
00006 OUT HR 000

Gambar IV.37 modifikasi diagram tangga gambar IV.36

Pada diagram tangga gambar IV.37 bit operand HR00.00 digunakan sebagai kondisi yang
di OR kan dengan gabungan IR000.02 dan IR000.03 (alamat 00000 hingga 00002)
kemudian digabungkan 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.

IV.1.17 Bit-bit kerja (work bit) atau Relai Internal

Dalam pemrograman diagram tangga, mengkombinasikan kondisi-kondisi untuk secara


langsung menghasilkan kondisi eksekusi seringkali sulit dilakukan. Kesulitan ini dapat
dengan mudah ditangani yaitu dengan cara menggunakan beberapa bit untuk memicu
instruksi lain secara tidak langsung. Bit-bit I/O dan bit-bit terdedikasi lainnya tidak bisa
digunakan sebagai bit-bit kerja. Semua bit-bit yang ada didalam area IR yang tidak
dialokaikan untuk I/O dan beberapa bit tang tidak digunakan sebagai bit-bit kerja. Hal ini
akan memudahkan dalam merencanakan dan menuliskan serta melacak kesalahan
program diagram tangga.

IV.1.18 Timer dan Counter

Timer dan counter menempati daerah yang sama disebut TC. Pada PLC tipe C20H daerah
TC mempunyai nomor word dari TC 000 sampai dengan TC 511. Sedangkan untuk PLC
tipe CPM1A mempunyai nomor word dari TC 000 sampai dengan TC 127. Pada
penggunaanya timer dan counter tidak boleh dipakai bersama-sama nomornya, artinya
jika timer menggunakan nomor TC001, maka jika akan dipakai counter harus memakai
selain nomor TC001.

IV.1.18.1 Timer

Timer adalah pewaktu yang dapat memberikan pewaktuan secara presisi pada sesuatu
yang memerlukan waktu. Pewaktuan timer dapat diset sesuai yang diinginkan. Setiap
setting pewaktuan/ timer menggunakan angka desimal dan jika dikerjakan instruksi timer
hitungannya akan turun dari settingnya. Setiap hitungan waktu akan memakan waktu 0,1
detik (sepersepuluh detik). Jika angka hitungannya telah mencapai 0000, maka satu
periode pewaktuan telah selesai dan akan ditandai dengan kontak pada nomor timer / Tim
(nomor TC) akan ON. Sehingga dengan kontak ini ON dapat dipakai untuk
menggerakkan instruksi lain.

Timer maksimal dapat disetting sampai dengan angka 9999 atau sampai 999.9 detik
(1000 detik kurang 0.1 detik). Tetapi bukan berarti pewaktuan yang bisa dibuat PLC
sampai 1000 detik saja. Pewaktuan dapat dibuat lebih dengan memanipulasikan instruksi
atau yang disebut extended timer.

Instruksi timer adalah sebagai berikut:

25313

N adalah nomor timer /Tim (TC), sedangkan SV adalah setting waktu yang dikehendaki
(maksimal 9999).

Contoh pemakaian:
Suatu output nomor 00200 (PLC C20H) akan ON setelah timer Tim 001 ON selama 20
detik. Dan output akan tetap ON terus.
25313

Tim 001

End (01)

IV.18.2 Counter

Counter adalah penghitungan yang dapat memberikan penghitungan secara presisi.


Counter juga menempati daerah yang sama dengan timer yaitu daerah TC. Nomornyapun
sama dengan timer baik untuk PLC C20H maupun PLC CPM1A. Dan nomor yang sudah
digunakan untuk timer tidak boleh digunakan untuk counter.

Counter ada dua macam yaitu secara instruksi counter biasa (instruksi ladder) dengan
instruksi CNT diikuti dengan nomornya dan dengan instruksi counter function yaitu
dengan menyebut nomor fungsinya (12).

 Instruksi Counter biasa (instruksi ladder)


Pada instruksi CNT ini akan diikuti dengan nomor counter dan settingannya. Instruksi ini
mempunyai dua input, yang pertama berfungsi untuk input kontak hitung dan yang kedua
berfungsi untuk input resetnya. Jika instruksi ini dijalankan diikuti dengan menekan /
memberikan sinyal masukan melalui kontak hitung (ON dan OFF), maka counter akan
milai menghitung dengan hitungan turun (dari settingan). Jika hitungan telah mencapai
0000 maka kontak dari counter akan ON.

Instruksi counter adalah sebagai berikut:


0000 KH
CNT N
0001 Rst # SV

KH adalah kontak hitung yang berfungsi untuk inputan penghitungan


Rst adalah kontak reset yang berfungsi untuk mereset hitungan yang telah dilakukan oleh
counter
N adalah nomor Counter
SV adalah settingan hitungan counter maksimal 9999.
Contoh pemakaian:
Suatu output 00201 (PLC C20H) akan ON setelah hitungan counter mancapai 500.
0000 KH
CNT
002
0001 Rst
# 500

CNT 002

END (01)

 Instruksi Counter Function (Fun 12)


Pada instruksi ini dipergunakan function untuk instruksi laddernya CNTR atau FUN 12.
Instruksi FUN 12 mempunyai tiga inputan yaitu pertama inputan kontak dengan hitungan
naik, kedua inputan kontak hitungan turun dan ketiga inputan kontak reset

0000 KHN
CNTR (12)
N
0001 KHT # SV

0002 Reset

KH N adalah kontak hitung naik yang berfungsi untuk inputan penghitungan arah naik
KHT adalah kontak hitung turun yang berfungsi untuk inputan penghitungan arah turun
Reset adalah kontak reset yang berfungsi untuk mereset hitungan yang telah dilakukan
oleh counter
N adalah nomor Counter
SV adalah settingan hitungan counter maksimal 9999

Jika input 0000 KHN ditekan ON dan OFF maka counter akan menghitung dengan
hitungan arah naik. Artinya hitungan dimulai dari 0000 naik ke 0001 dst. Dan jika kontak
0001 KHT ditekan ON dan OFF maka counter akan menghitung dengan arah hitungan
turun. Sebagai misal dari posisi 0007 maka akan menjadi 0006. Kemudian jika ditekan
kontak 0002 reset maka hitungan akan tereset menjadi setting value (SV). Jika hitungan
telah mencapai SV maka kontak dari nomor counter akan ON.
Contoh pemakaian:
Suatu output 00201(PLC C20H) akan ON setelah hitungan counter mencapai harga SV
500.
Hitungan counter dapat dimulai dari 0000.
0000 KHN
CNTR (12)
002
0001 KHT # 500

0002 Reset

CNT 002

END (01)
DAFTAR PUSTAKA

Sugiyono, ST. , Rancangan Listrik Menggunakan PLC, Poltek Negeri Semarang, 1998.

Tresna Umar S. , Drs. dan Siswo Cahyono, Ir. , Petunjuk Praktikum Sistem Kontrol
Pneumatik, Poltek Bandung, 1996.

……………, A Beginner Guide to PLC, Omron, 1997.

……………, C 200 HS Programmable Controllers, Omron, Revised August 1994.

……………, CPM 1 Training Manual, Omron, 1997.

……………, Pengenalan PLC, PT. Mandala Adhiperkasa Sejati. Semarang, 1997.

……………, Pelatihan PLC, Poltek Negeri Semarang, 1997.

……………, Diktat Up Grading Programmable Controllers 1, CEVEST DEPNAKER


RI, 1996.

……………, Diktat Up Grading Programmable Controllers 2, CEVEST DEPNAKER


RI, 1996.

……………, Sysmac CPM 1 A Programmable Controllers Operation Manual,


Omron, 1997.

Anda mungkin juga menyukai