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.
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.
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.
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.
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.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.
berkaitan dengan instruksi LOAD (LD) atau LOAD NOT (LD NOT). Masing-masing
instruksi ini membutuhkan satu baris kode mnemonic. Contoh untuk instruksi ini
00000
Alamat Instruksi Operan
00001 Instruksi
00000
00002 LD NOT 00000
00003 Instruksi
Instruksi LOAD NOT
instruksi
intsrksi iiins
Instruksi Operan
Alamat
00000 LD 00000
00001 AND NOT 00100
00002 AND LR 0000
00003 Instruksi
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.
Operan
Alamat Instruksi
00000 LD 00000
00001 AND 00001
00002 OR 00200
00003 AND 00002
00004 AND NOT 00003
00005 Instruksi
ALAMAT
INSTRUKSI
00000 0000
00001 00
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 -
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.
00000 00001
instruksi
00002 00003
Instruksi Operan
Alamat
00000 LD 00000
00001 AND NOT 00001
00002 LD 00002
00003 AND 00003
00004 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.
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.
00000 00001
00002 00003
00004 00005
Gambar IV.14 Contoh blok logic yang dihubungkan secara parallel dan implementasi
kode mnemonicnya.
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)
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
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).
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
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.
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
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) -
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
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
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
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
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.
HR 0000 00005
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.
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.
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 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).
CNT 002
END (01)
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.