TUTORIAL PEMBUATAN JAM DIGITAL DENGAN AT89  DAN RTC DS1307

TUTORIAL PEMBUATAN JAM DIGITAL DENGAN AT89 DAN RTC DS1307

RTC yang kita bahas kali ini adalah RTC dengan antarmuka I2C, yaitu DS1307. Artikel yang membahas RTC lain secara lengkap, DS12C887, yang menggunakan antarmuka paralel dan penggunaan bahasa assembly, bisa Anda baca mulai dari Pendahuluan, Register Data/Kontrol, dan Contoh Aplikasi.
Okey… sekarang kita lihat dulu fitur dari DS1307:
  • Real-time clock (RTC) meyimpan data-data detik, menit, jam, tanggal, bulan, hari dalam seminggu, dan tahun valid hingga 2100;
  • 56-byte, battery-backed, RAM nonvolatile (NV) RAM untuk penyimpanan;
  • Antarmuka serial Two-wire (I2C)
  • Sinyal luaran gelombang-kotak terprogram (Programmable squarewave);
  • Deteksi otomatis kegagalan-daya (power-fail) dan rangkaian switch;
  • Konsumsi daya kurang dari 500nA menggunakn mode baterei cadangan dengan operasional osilator;
  • Tersedia fitur industri dengan ketahana suhu: -40°C hingga +85°C
  • Tersedia dalam kemasa 8-pin DIP atau SOIC
Sedangkan daftar pin DS1307:
  • VCC - Primary Power Supply
  • X1, X2 - 32.768kHz Crystal Connection
  • VBAT - +3V Battery Input
  • GND - Ground
  • SDA - Serial Data
  • SCL - Serial Clock
  • SQW/OUT - Square Wave/Output Driver
Gambar diagram PIN:

Contoh Rangkaian ke mikrokontroler AT89 (plus rangkaian komunikasi serial):



Dan sekarang ke contoh program, sengaja saya gunakan bahasa tingkat tinggi - BASIC, karena rumitnya protokol komunikasi I2C jika diimplementasikan menggunakan bahasa Assembly. Baik…. Tujuannya adalah sistem menanggapi perintah “t” untuk menampilkan informasi jam, dan “d” untuk menampilkan informasi tanggal melalui terminal serial komputer (bisa menggunakan HyperTerminal atau lain yang sejenisnya).
Okey, let’s get started…
KIta awali dengan beberapa definisi atau inisialisasi program…
$regfile = "89s8252.dat"
$crystal = 11059200
$baud = 9600
Keterangan:
  1. $regfile digunakan untuk mendefinisikan mikrokontroler yang digunakan, yaitu 89s8252;
  2. $crystal kita gunakan untuk mendefinisikan frekuensi kristal yang terpasang pada rangkaian kita, dan ini penting banget soalnya akan menentukan proses kompilasi perintah-perintah I2C yang terkait. Jika Anda salah menuliskan angkanya atau angka yang ditulis tidak sama dengan kristal yang terpasang di rangkaian;
  3. $baud digunakan untuk menentukan kecepatan komunikasi serial, yaitu 9600 bps, Anda bisa mengubah untuk kecepatan yang lain.
Selanjutnya, kita definisikan beberapa variabel untuk kebutuhan pemrograman:
Dim Reg_sec As Byte , Reg_min As Byte , Reg_hour As Byte
Dim Num_hour As Byte , Num_min As Byte , Num_sec As Byte
Dim Reg_date As Byte , Reg_month As Byte , Reg_year As Byte
Dim Num_date As Byte , Num_month As Byte , Num_year As Byte
Dim Masuk As String * 1
Keterangan:
  • Reg_sec, Reg_min, dan Reg_hour merupakan variabel-variabel 8-bit atau 1 byte yang digunakan untuk menyimpan hasil pembacaan RTC DS1307 yang masing-masing untuk data detik, menit dan jam;
  • Reg_date, Reg_month, dan Reg_year merupakan variabel-variabel 8-bit atau 1 byte yang digunakan untuk menyimpan hasil pembacaan RTC DS1307 yang masing-masing untuk data tanggal, bulan dan tahun;
  • Num_sec, Num_min, dan Num_hour merupakan variabel-variabel 8-bit atau 1 byte yang digunakan untuk menyimpan hasil konversi BCD (pembacaan RTC) ke desimal, yang akan dikirim melalui komunikasi serial, masing-masing untuk detik, menit, dan jam;
  • Num_date, Num_month, dan Num_year merupakan variabel-variabel 8-bit atau 1 byte yang digunakan untuk menyimpan hasil konversi BCD (pembacaan RTC) ke desimal, yang akan dikirim melalui komunikasi serial, masing-masing untuk tanggal, bulan, dan tahun;
  • Masuk sebagai variabel untuk menyimpan sebuah karakter (string * 1) kiriman dari port serial, yang diterjemahkan hanya “t” dan “d”, masing-masing untuk perintah baca jam dan baca tanggal.
Langkah berikutnya adalah mendefinisikan jalur atau pin dari mikrokontroler ke RTC-nya (DS1307):
'------------------------------------------
' konfigurasi bus I2C
Config Scl = P2.0
' jalur untuk clock I2C
Config Sda = P2.1
' jalur untuk data I2C
'-------------------------------------------
Keterangan:
  • Hanya 2 kabel utama (selain menyamakan GND - ground) yang digunakan untuk komunikasi dengan mikrokontroler, yaitu SCL dan SDA (perhatikan diagram pin-nya);
  • SCL (serial clock) dihubungkan dengan P2.0, sedangkan SDA (serial data) dihubungkan dengan P2.1.
Kemudian kita definisikan beberapa konstanta yang berkaitan dengan alamat-alamat register di dalam DS1307 (silahkan merujuk datasheet DS1307 (PDF):
' perintah penulisan
Const Ds1307w = &HD0
' perintah pembacaan
Const Ds1307r = &HD1
' alamat register DS1307 yg berhubungan dengan jam
Const Sec_addmap = &H00
Const Min_addmap = &H01
Const Hour_addmap = &H02
' alamat register DS1307 yg berhubungan dengan tanggal
Const Date_addmap = &H04
Const Month_addmap = &H05
Const Year_addmap = &H06
Keterangan:
  • Instruksi atau perintah yang digunakan untuk penulisan data ke RTC DS1307 adalah D0h, sedangkan untuk pembacaan D1h, masing-masing disimpan ke dalam variabel DS1307w dan DS1307r;
  • Alamat-alamat yang berhubungan dengan jam untuk detik, menit dan jam, masing-masing di 00h, 01h dan 02h;
  • Alamat-alamat yang berhubungan dengan jam untuk tanggal, bulan dan tahun, masing-masing di 04h, 05h dan 06h.
Program utamanya melakukan menunggu masukan port serial, semua karakter diterima, tetapi hanya huruf “t” (huruf kecil), dan “d” diterjemahkan masing-masing untuk “baca jam”, dan “baca tanggal”. Selain kedua perintah tersebut, mikrokontroler akan mengirimkan “er” sebagai tanda salah kirim perintah. Selain itu akan dikirim data jam atau tanggal, perhatikan potongan program utamanya berikut ini (pengulangan menggunakan DO LOOP, penerjemahan menggunakan SELECT CASE):
Do
  Input Masuk
  Select Case Masuk
  Case "t" : Call Read_time
             Print Num_hour ; ":" ; Num_min ; ":" ; Num_sec
  Case "d" : Call Read_date
             Print Num_date ; "/" ; Num_month ; "/" ; Num_year
  Case Else
             Print "er"
  End Select
Loop
End
Perhatikan pada program utama. Terdapat dua subrutin: (1) Read_time digunakan untuk membaca data dan (2) Read_date untuk membaca tanggal…
'-=-=-=-=-=-=-=-=-=-=-=-=-=
Sub Read_time
'-=-=-=-=-=-=-=-=-=-=-=-=-=
' Read Clock Data
  I2CStart
' Generate start
  I2CWbyte Ds1307w
' Slave address
  I2CWbyte Sec_addmap
' Address of SECONDS REG
  I2Cstop
' Generate Stop
  I2Cstart
' Repeated start
  I2CWbyte Ds1307r
' Slave address (read)
  I2CRbyte Reg_sec , Ack
  I2CRbyte Reg_min , Ack
  I2CRbyte Reg_hour , Nack
  I2CStop
' Generate Stop
' reg_hour.6 =1(12 hrmode), if =0 (24 hourmode)
  If Reg_hour.6 = 1 Then
    Reg_hour = Reg_hour And &B00011111
  Else
    Reg_hour = Reg_hour And &B00111111
  End If
'=-=-=-=-=-=-=-=-=-=-=-
'  Reg_hour = Reg_hour And &B00111111
'  remove 12/24 and am/pm bits
'  set numeric variables
  Num_hour = Makedec(reg_hour)
  Num_min = Makedec(reg_min)
  Num_sec = Makedec(reg_sec)
End Sub
Keterangan:
  • Ini merupakan subrutin Read_time yang digunakan untuk membaca jam;
  • Proses pembacaan jam dan tanggal pada dasarnya sama saja, diawali dengan (lihat listing programnya) inisialisasi I2Start, kemudian dilanjutkan dengan I2CWByte DS1307w (menuliskan perintah atau instruksi);
  • Kemudian diikuti dengan menuliskan alamat register detiknya: I2CWByte Sec_addmap dan dihentikan dengan I2CStop;
  • Langkah selanjutnya adalah mulai membaca dari data detik, diawali dengan I2Cstart (lagi, awal pembacaan data) kemudan perintah membaca dikirimkan ke RTC menggunakan instruksi I2CWbyte DS1307r;
  • Kemudian baru data detik, menit dan jam-nya dibaca berturut-turut menggunakan perintah I2CRbyte Reg_sec, Ack untukmembaca data detik, Ack digunakan untuk indikator masih ada data yang lain perlu dibaca (kebalikannya adalah NAck). Dan berturut-turut membaca data menit (I2CRbyte Reg_min, Ack), dan detik (I2CRbyte Reg_hour, NAck), NAck artinya tidak ada lagi data yang perlu dibaca, jangan lupa di-stop;
  • Untuk proses normalisasi terhadap mode jam, apakah mode 12 jam atau 24 jam, digunakan pengecekan pada bit-6 di Reg_hour;
  • Langkah terakhir adalah merubah hasil pembacaan yang masih dalam format BCD ke decimal melalui instruksi Makedec();
Untuk subrutin baca data tanggal sebagai berikut:
'-=-=-=-=-=-=-=-=-=-=-=-=-=
Sub Read_date
'-=-=-=-=-=-=-=-=-=-=-=-=-=
' Read Clock Data
   I2cstart
' Generate start
   I2cwbyte Ds1307w
' Slave address
   I2cwbyte Date_addmap
' Address of SECONDS REG
   I2cstop
' Generate Stop
   I2cstart
' Repeated start
   I2cwbyte Ds1307r
' Slave address (read)
   I2crbyte Reg_date , Ack
   I2crbyte Reg_month , Ack
   I2crbyte Reg_year , Nack
   I2cstop
' Generate Stop
' set numeric variables
   Num_date = Makedec(reg_date)
   Num_month = Makedec(reg_month)
   Num_year = Makedec(reg_year)
End Sub
Contoh tampilan running program di mikrokontroler, perhatikan hanya “t” dan “d” saja yang diterjemahkan, perintah atau huruf lain ditanggapi dengan “er”:



Semoga bermanfaat............................
Pindahkan Kontak dari Nokia (Symbian) ke Android

Pindahkan Kontak dari Nokia (Symbian) ke Android

Wah udah lama ga nge post disini.  Karena lagi banyak banyaknya tugas + ujian.  -malah curhat- hehee..  kali ini mencoba menulis bertemakan Android. Ga usah yang susah susah dulu, masih amatiran..hehe.  Kali ini kita bahas gimana caranya mindahin kontak dari hape Nokia yang bersistem operasi Symbian ke hape Android
Si Robot Ijo
Si Robot Ijo
Sebenernya udah banyak yang bahas sih di internet, udah lama juga malah.  Tapi gapapa, sekalian buat catatan saya aja.  Banyak cara yang bisa dilakukan.  Saya akan merangkumnya dalam 2 mode, yaitu offline sama online.

ONLINE

Ini cara yang paling mudah menurut saya, dengan syarat temen temen udah punya akun google (karena kita akan memanfaatkan fasilitas google contact) dan yang jelas Hape nokia temen – temen bisa melakukan koneksi data/internet.  Silakan masuk ke dalam mode sinkronisasi.  Saya menggunakan hape nokia tipe C5-00 .  Maaf sebelumnya ga bisa menampilkan skrinsut, karena belom tau caranya kalo di nokia C5 hihihi.  Masuk ke Menu -> Pengaturan -> konektivitas -> sinkron.  Setelah itu checklist bagian kontak.  Masuk ke menu pilihan -> edit profil sinkronisasi.  Masukkan parameter yang dibutuhkan :
  • server / host : https://m.google.com/syncml  (ingat ya, pake HTTPS)
  • server ID : Google (G awal menggunakan huruf kapital)
  • server version : 1.2
  • port : 443
  • Database : contact
  • username : Menggunakan alamat google temen temen (penulisan lengkap, misal alamat.email@gmail.com)
  • password : password akun gmail
Jika sudah selesai, masuk ke pilihan, lalu pilih sinkronisasi, maka proses sinkronisasi berlangsung.  Pastikan semua berjalan dengan lancar.
Setelah itu, kita pindah ke device Android.  Saya menggunakan Lenovo S560.  Masuk ke kontak, lalu menu, lalu pilihan impor/ekspor.
Menu
Menu
Setelah itu, pilih sumber tujuan / source.  Dengan catatan Email temen temen udah di daftarkan di device Android temen temen.
Pilih Sumber
Pilih Sumber
Lalu pilih kemana kontak itu akan disalin / disimpan.
Pilih Tempat Penyimpanan Kontak
Pilih Tempat Penyimpanan Kontak
Setelah itu, pilih kontak yang akan disalin.  Ingat ya, ini membutuhkan koneksi internet agar HP bisa mengambil data dari server google. :)
Pilih Kontak yang akan disalin
Pilih Kontak yang akan disalin
Selesai untuk yang cara online :)

OFFLINE

Untuk cara offline, temen temen harus mempunyai aplikasi Nokia PC Suite dan NBU explorer.  Untuk mendownloadnya bisa klik disini untuk Nokia PC suite dan disini untuk NBU Explorer.
Setelah semua siap, hubungkan dahulu hape nokia temen temen ke komputer.  Lakukan backup hanya untuk kontak saja agar tidak terlalu banyak.
Buat cadangan / backup di nokia suite
Buat cadangan / backup di nokia suite
Pilih kontak
Pilih kontak
Setelah itu, cari file nbu yang sudah jadi, lalu bongkar menggunakan nbu explorer.  Pilih File -> open pada nbu explorer, cari file nbu nya.  Setelah terbuka, maka akan terlihat seperti berikut.
file nbu dibuka menggunakan nbu explorer
file nbu dibuka menggunakan nbu explorer
Nah, pilih file kontak yang berada di sebelah kanan, lalu kopi ke sebuah folder.  Kalau ingin semua kontak dikopi/salin, seleksi semua lalu klik kanan-> export selected file(s) to .. lalu pilih folder yang dituju.
File vcf hasil dari pengambilan menggunakan nbu explorer
File vcf hasil dari pengambilan menggunakan nbu explorer
Sebenarnya file vcf tersebut sudah dapat di import langsung ke Android, tapi karena jumlahnya sangat banyak, maka kita jadikan satu file agar mudah waktu peng-import-an.
Buka command prompt, bisa menggunakan tombol windows lalu ketik cmd.  Stelah itu masuk ke direktori dimana folder kontak tadi disimpan.  Lalu berikan perintah
1
copy *.vfc semua.vcf
Perintah untuk mengkopi semua file vcf ke satu file vcf
Perintah untuk mengkopi semua file vcf ke satu file vcf
Maksudnya mengkopi isi semua file yang mempunyai format .vcf ke dalam semua.vcf ,  artinya nanti semua hasil pengkopiannya dimasukkan kedalam file semua.vcf .  Temen temen boleh membuat nama file sendiri, asal jangan menimpa file yang sudah ada. :)
JIka sudah, silakan cari file semua.vcf di dalam folder tadi.  Setelah itu pindahkan file tersebut ke ponsel Android temen temen.  Masuk ke kontak, pilih menu, lalu pilih import/ ekspor.
Pilih import / eksport
Pilih import / eksport
Setelah itu pilih tempat dimana tadi file semua.vcf di simpan.
Pilih tempat dimana file semua.vcf disimpan
Pilih tempat dimana file semua.vcf disimpan
Pilih kemana kontak akan disimpan.
Pilih tempat untuk menyimpan
Pilih tempat untuk menyimpan
Selesai..semua kontak akan otomatis di kopi :)
Hasil import an
Hasil import an
Demikian dari saya, ada kurang lebihnya mohon dimaafkan.  Segala pertanyaan atau komentar boleh ngisi kolom komentar dibawah :)
semua sudah saya coba sendiri dan bisa :)

My Heart Will Go On Chord - Celine Dion

My Heart Will Go On Chord - Celine Dion



C                      Am
Every night in my dreams
  F              G
I see you, I feel you
C                  Am              F     G
That is how I know you go on
C                     Am            
Far across the distance
        F              G
And spaces between us
C                          Am             F     G
You have come to show you go on
C       Am
Near  Far
        F             G
Wherever you are
  C                      Am             F     G
I believe that the heart does go on
C       Am           F               G
Once more, you opened the door
                  C              Am
And you're here in my heart and
      F                G           C
My heart will go on and on
 >
C                          Am
Love can touch us one time
        F            G
And last for a lifetime
C                   Am            F      G
And never let go till we're gone
C                       Am
Love was when I loved you,    
       F             G
One true time I hold to
C                    Am          F    G
In my life we'll always go on
C       Am
Near  Far
        F             G
Wherever you are
  C                      Am             F     G
I believe that the heart does go on
C       Am           F               G
Once more, you opened the door
                  C              Am
And you're here in my heart and
      F                G           C
My heart will go on and on

C        Am              F          G
You're here, there's nothing I fear
          C                   Am            F    G
And I know that my heart will go on

C      Am      F             G
We'll stay, forever this way
              C             Am
You are safe in my heart and
F                      G          C
My heart will go on and on
Bila Petruk Jadi Raja - Maskuri Pati Indonesia

Bila Petruk Jadi Raja - Maskuri Pati Indonesia




Judul: Petruk Jadi Raja
Penulis dan Ilustrator: Suyadi
Cover : Softcover
Penerbit : KBPA
Tahun : 2008
ISBN: 978-979-9391-24-7
Hal. : 40

Dalam tokoh-tokoh pewayangan,  Punakawan lebih dikenal sebagai kelompok penghibur .  Pada era tahun 80-an kisah Punakawan  (Semar,  Gareng, Petruk, Bagong) pernah menjadi acara di TVRI melalui  acara Ria Jenaka.
Dan jika para Punakawan pengiring dan penasihat ksatria yang sejatinya adalah teman penghibur dan penasihat tuannya,  kemudian menjadi raja, bagaimana jadinya?
Inilah kisah yang dituturkan oleh Drs. Suyadi atau yang lebih dikenal luas sebagai Pak Raden kreator boneka dan kisah si Unyil yang juga pernah popular di era 80-an. Kisahnya diilustrasikan secara jenaka dan gamblang sehingga sangat mudah dipahami dan bisa untuk  diceritakan kepada anak-anak.

Kisahnya, sewaktu negeri Amarta ditimpa malapetaka, Surat Kalimasadha, yaitu sebuah kitab yang dianggap sebagai pusaka kerajaan Amarta, dicuri utusan dari negeri seberang. Saat pusaka itu berhasil direbut kembali oleh Pandawa dan peperangan masih terus berlangsung, akhirnya Bambang Priyambadha yang merupakan salah seorang  putra Pandawa menitipkan surat Kalimasadha kepada Petruk dengan harapan pusaka tersebut  aman.
Tapi ternyata lain yang diharap lain yang terjadi. Setelah menerima pusaka tersebut, Petruk justru punya pikiran aneh-aneh dan ingin menggunakan pusaka tersebut untuk kesenangan pribadinya. Yaitu dia ingin mencoba dan merasakan untuk hidup sebagai Raja..

Tentu saja, hal ini sangat mungkin mengingat kesaktian pusaka tersebut yang terbukti membuat Pandawa bisa Berjaya. Tapi seperti kata pepatah, jika suatu  Perkara diserahkan kepada yang  bukan ahlinya, maka tunggulah  kehancurannya, demikianlah moral kisah ini. Petruk yang tidak memiliki  watak  dan dasar kepemimpinan yang baik,  ketika memimpin kerajaan , kerajaan tersebut  menjadi kacau balau. Lantas bagaimanakah  menghentikan Petruk dengan segala tingkah polahnya supaya  tersadar?
Sebuah kisah sederhana namun begitu sarat makna dan pesan moral  yang tak lekang oleh waktu.  Hanya dibutuhkan waktu 10 menit membaca namun pesannya melekat sepanjang masa.  Inilah yang kita perlukan untuk diceritakan kembali kepada anak-anak  kita agar  menjadi orang-orang yang selalu jujur,  tidak gampang tergiur dan  menyalah gunakan kepercayaan serta bisa amanah dalam mengerjakan sesuatu.  Moral yang sepertinya sudah mulai pudar di negeri kita tercinta ini…
Drs. Suyadi yang piawai mendongeng dan salah tokoh pendongeng Indonesia, menceritakan kisah ini untuk kita, agar menularkan kejujuran dan sikap amanah ketika kepercayaan datang pada kita. Disertai dengan ilutrasi yang sangat menarik dalam sajian warna hitam-putih, bersahaja, sederhana namun elok dipandang mata. Dicetak dengan kertas kualitas tinggi menjadikan buku ini koleksi berharga yang sangat sayang untuk dilewatkan.
Inilah buku yang bisa menjadikan kita pendongeng untuk anak-anak yang kita cintai, melalui kisah sederhana namun penuh pesan berharga. Yang akan menjadikan anak-anak generasi penerus kita sebagai karakter-karakter yang kuat dan bisa diandalkan. Bukan hanya kita orang dewasa yang bisa memetik pesan dari buku ini, anak-anak juga bisa memetiknya. Mari kita petik bersama-sama pesan dalam buku ini…untuk generasi yang lebih baik…***

MODUL SAMPLING – MASKURI


MODUL SAMPLING – MASKURI



KAMI MENGHADIRKAN MODUL SAMPLING DENGAN KUALITAS TERBAIK UNTUK KEYBOARD ANDA TENTU DENGAN HARGA YANG MURAHHHHHH……..



  
KAMI HADIRKAN DALAM BENTUK :









     1. CPU BUILD UP DENGAN BENTUK YANG TIPIS.
   2. LAPTOP 


“HADIR JUGA MODUL SAMPLING DENGAN HARGA 1 JUTAAN ”



TINGGAL BAWA LAPTOP ANDA KE TEMPAT KAMI. 




KAMI SEDIAKAN SEMUA PERLENGKAPANNYA. MULAI DARI :


       1. SOUNDCARD
   2. USB TO MIDI
   3. OUTPUT AUDIO ADAPTER
   4. KABEL MIDI, SERTA PENDUKUNG LAIINYA



HUBUNGI KAMI DENGAN ALAMAT : Ds. NGABLAK Kec. CLUWAK Kab. PATI JAWA TENGAH…..

HP : 085726477773

Belajar PLC


 Diagram Tangga (Ladder) Dasar-PLC

Sebuah diagram tangga atau Iadder diagram terdiri dari sebuah garis menurun ke bawah pada sisi kiri dengan garis-garis bercabang ke kanan. Garis yang ada di sebelah sisi kiri disebut 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 di sisi kanan. Kombinasi logika dari kondisi-kondisi tersebut menyatakan kapan dan bagaimana instruksi yang ada di sisi kanan tersebut dikerjakan.

Gambar 1. Contoh Diagram tangga
Sebagaimana ditunjukkan pada gambar 1 tersebut, sepanjang garis instruksi bisa bercabang-cabang lagi kemudian bergabung lagi. Garis-garis pasangan vertikal (seperti lambang kapasitor) itulah yang disebut kondisi. Pasangan garis vertikal 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 vertikal yang ada garis diagonal-nya dinamakan Normal Tertutup – Normally Close atau NC serta terkait dengan instruksi-instruksi LD NOT, AND NOT atau OR NOT. Angka-angka yang terdapat pada masing-masing kondisi di gambar 1 tersebut merupakan bit operan instruksi. Status bit yang berkaitan dengan masing-masing kondisi tersebut yang menentukan kondisi eksekusi dari instruksi berikutnya.

Instruksi LOAD (LD) dan LOAD NOT (LD NOT) 
Kondisi pertama yang mengawali sembarang blok logika di dalam diagram tangga berkaitan dengan instruksi LOAD (LD) atau LD NOT. (LD NOT). Masing-masing instruksi ini membutuhkan satu baris kode mnemonik. Contoh untuk instruksi ini ditunjukkan pada gambar 2.

Gambar 2. Contoh instruksi LD dan LD NOT 

Sebagaimana ditunjukkan pada gambar 2, karena hanya instruksi LOAD atau LD NOT saja yang ada di garis instruksi (instruction line), maka kondisi eksekusi untuk instruksi yang di sebelah kanan-nya adalah ON jika kondisi-nya 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.

Instruksi 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 3 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 mnemonik.

Gambar 3. Contoh penggunaan AND dan AND NOT

Instruksi yang digambarkan paling kanan sendiri (gambar 3) akan memiliki kondisi eksekusi ON jika ketiga kondisi di kiri-nya 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 terhubungkan dengan instruksi ini dalam kondisi ON semua, jika salah satu saja dalam kondisi OFF, apalagi dua-duanya OFF, maka instruksi AND akan selalu menghasilkan OFF juga.

Instruksi OR dan OR NOT 
Jika dua atau lebih kondisi dihubungkan secara paralel, 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 mnemonik.


Gambar 4. Contoh penggunaan OR dan OR NOT

Blok instruksi ini akan memiliki kondisi ekskusi ON jika cukup salah satu dari ketiga kondisi dalam keadaan ON, misalnya IR000.00 dalam kondisi OFF, IR0100.00 dalam kondisi OFF atau LR00.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.

Informasi lebih lanjut silahkan membaca buku  “PLC: Konsep, Pemrograman dan Aplikasi (Omron CPM1A/CPM2A dan ZEN Programmable Relay)“, Terbitan CV. Gava Media - Yogyakarta
Dasar-Dasar  PLC Omron CPM 1A

Dasar-Dasar PLC Omron CPM 1A

PLC Omron CPM 1A

2.1.       PLC OMRON CPM 1A [9]
Definisi PLC menurut National Electrical Manufactures Association (NEMA) adalah suatu alat elektonika digital yang menggunakan memori yang dapat diprogram untuk menyimpan instruksi-instruksi dari suatu fungsi tertentu seperti logika, sekuensial, pewaktu, pencacah dan aritmatika untuk mengendalikan mesin dari suatu proses.
PLC Omron CPM1A merupakan salah satu tipe PLC yang memiliki kecepatan yang tinggi yang dirancang untuk operasi kontrol yang memerlukan jumlah I/O dari 10 sampai 100 buah I/O. Selain itu, PLC ini memiliki kemudahan dalam penginstalan, pengembangan, dan pemasangan sistem. 







Keuntungan PLC dibandingkan dengan suatu sistem logika relay atau rangkaian konvensional, antara lain :
·  Sistem PLC
o Mudah dalam pengoperasian,
o Mudah dalam perawatan,
o Mudah dalam pelacakan gangguan,
o Konsumsi daya listrik relative rendah,
o Modifikasi sistem lebih sederhana.

·  Panel Kontrol Konvensional
o Perawatan relatif komplek,
o Komplek dalam pengoperasian,
o Mahal dalam perawatan,
o Pelacakan kesalahan sistem lebih sulit,
o Konsumsi daya listrik relatif tinggi,
o Modifikasi sistem membutuhkan waktu yang lama.
 Keuntungan dari penggunaan PLC dalam otomasi, antara lain:
o Waktu implementasi proyek singkat,
o Modifikasi lebih mudah dilakukan,
o Biaya proyek dapat dikalkulasi dengan akurat,
o Training penguasaan teknik lebih cepat,
o   Perancangan mudah diubah dengan software, perubahan dan penambahan dapat dilakukan pada software.
o Aplikasi kontrol yang luas,
o   Perawatan yang mudah, Indikator dan output dengan cepat dan mudah dapat segera diketahui.
o Keandalan tinggi,

Setiap PLC yang digunakan memiliki spesifikasi khusus yang dijadikan pedoman dalam pengaplikasiannya. Berikut ini adalah tabel spesifikasi khusus PLC Omron CPM1A:









Tabel 2.1. Spesifikasi Umum PLC Omron CPM1A [8]
SPESIFIKASI UMUM
Nama
Tipe
Spesifikasi
Power Supply
CPM1A – CPU 40
100 - 240 VAC ; 50/60 Hz
Operating Voltage Range
85 – 264 VAC
Inrush Current
30 A max.
Power Consumption
60 VA max.
External Power Supply (Output Capacity)
24 VDC ;
(300mA)
Dimension
150 x 90 x 85 mm
(Width x Heightx Depth)
Weight
700 gram max.
Communication connector
RS 232C

2.1.1.      Jalur-jalur Masukan dan Keluaran PLC Omron CPM1A [8]
Struktur internal dari unit CPU terdiri dari beberapa bagian seperti memori I/O, jalur masukan dan jalur keluaran.

2.1.1.1.  Jalur Masukan
Berbagai macam sensor, saklar dan komponen lain yang mengubah status bit dari memori status masukan PLC dapat langsung dipasang sebagai masukkan PLC. Untuk bisa mengubah memori status masukan tersebut, diperlukan sumber tegangan sebagai pemicu masukan (pada PLC Omron CPM1A telah tersedia sumber tegangan (24 VDC).



 
2.1.1.2. Jalur Keluaran
Jalur keluaran PLC jenis ini berupa relay, dengan relay koneksi dengan piranti eksternal akan semakin mudah dilaksanakan.
Berikut adalah rangkaian keluaran PLC Omron :

2.1.1.      Struktur Memori PLC OMRON CPM1A [8]
Beberapa bagian dalam memori PLC Omron CPM1A memiliki fungsi khusus. Masing-masing lokasi memori memiliki ukuran 16 bit atau 1 word, beberapa word membentuk daerah atau region. Daerah tersebut terdiri atas :

2.1.1.1. Daerah IR
Memori ini berfungsi sebagai tempat menyimpan status keluaran dan masukan PLC. Beberapa bit berhubungan langsung dengan terminal masukan dan keluaran PLC. Bit IR 000 berhubungan dengan terminal masukan ke-I, sedangkan terminal ke-IV berhubungan dengan IR000.5. daerah IR ini terdiri dari 3 macam area diantaranya, Area masukan, keluaran, dan Area kerja.
Tabel 2.2. Tabel Pembagian Area IR
Area Memori
Word
Bit
Fungsi
Area IR
Area masukan
IR000-IR009
(10 word)
IR000.00-IR009.15
(16 bit)
Bit ini dapat dialokasikan dalam terminal I/O.
Area keluaran
IR010-IR019
(10 word)
IR010.00-IR019.15
(160 bit)
Area kerja
IR200-IR231
(32 word)
IR200.00-IR231.15
(512 bit)
Bit ini bebas dipakai dalam program.

2.1.1.2. Daerah SR
Daerah ini merupakan bagian khusus digunakan sebagai bit kontrol dan status, biasanya digunakan sebagai fungsi pencacah. Misal, SR250 memiliki bit nomor 00 hingga 15 yang digunakan sebagai pengatur kontrol analog 0. sedangkan SR251 digunakan sebagai pengatur analog 1, SR 251,13 adalah Always ON Flag berarti kondisinya selalu aktif selama PLC menyala. SR251.14 adalah Always OFF Flag berarti kondisinya tidak akan pernah aktif selama PLC menyala.
2.1.1.3. Daerah TR
Merupakan daerah memori tang bertugas sebagai penyimpan data hingga batasan return saat dipindahkan ke sub-program selama proses eksekusi program.

2.1.1.4. Daerah HR
Bit pada daerah ini digunakan untuk menyimpan data dan tidak akan hilang meski PLC telah dilepas dari catu daya atau PLC telah dimatikan, karena menggunakan baterai.

2.1.1.5. Daerah AR
Daerah ini digunakan umtuk menyimpan bit-bit kontrol dan status (flag) seperti status PLC, kesalahan, waktu sistem dll. Daerah ini dilengkapi baterai pula, sehingga dat-data kontrol tetap tersimpan walaupun PLC tetap dimatikan.

2.1.1.6. Daerah LR
Daerah ini digunakan senagai pertukaran data saat dilkakukan konelsi atau hubungan dengan PLC yang lain. Daerah ini terdiri dari 16 word, LR000 hingga LR15 atau 256 bit, LR00.00 hingga LR15.15.

2.1.1.7. Daerah Pewaktu atau Pencacah
Daerah ini digunakan untuk menyimpan nilai pewaktu atau pencacah. Lokasinya terdapat sebanyak 128 lokasi (mulai TC000 sampai dengan TC127).

 
2.1.1.1. Daerah DM
Daerah ini berisikan tentang data-data yang terkait pada pengaturan komunikasi dengan komputer dan data saat terdapat kesalahan. Pembagian area dalam DM ditunjukkan dalam tabel di bawah ini :
 

Tebel 2.3. Pembagian Area DM
Area Memori
Word
Fungsi
Area DM
Read/Write
DM000-DM009
DM1022-DM1023
(1002 Word)
Area DM dapat diakses dalam satuan Word. Nilai yang ada tersimpan walau PLC mati
Error Log
DM1000-DM1021
 (22 Word)
Untuk menyimpan kode kesalahan yang muncul. Word ini digunakan DM untuk baca/tulis jika fungsi pencatat kesalahan tidak dipakai.
Read - Only
DM6144-DM6599
 (456 Word)
Tidak dapat ditumpangi data lain untuk program.
PC Setup
DM6600-DM6655
 (56 Word)
Digunakan untuk menyimpan berbagai parameter yang mengontrol operasi PLC.

2.1.2.      Intruksi – Intruksi [9]
Intruksi dibawah ini merupakan intruksi dasar yang digunakan oleh PLC OMRON System C-Series dimana setiap akhir program harus diberi intruksi dasar END yang menandakan data akhir program.

2.1.2.1. Instruksi LOAD (LD)
Intruksi ini dibutuhkan jika urutan kerja pada suatu sistem kontrol hanya membutuhkan satu kondisi logic saja dan sudah dituntut untuk mengeluarkan satu output. Logikanya seperti kontak NO relay.

2.1.3.2. Instruksi LOAD NOT (LDNOT)
Intruksi ini dibutuhkan apabila urutan kerja pada suatu sistem kontrol hanya membutuhkan satu kondisi logic saja dan sudah dituntut mengeluarkan output.
 Logikanya seperti kontak NC relay.



2.1.3.3. Instruksi OR
Intruksi ini dibutuhkan apabila urutan kerja pada suatu sistem kontrol hanya membutuhkan salah satu saja dari beberapa kondisi logika untuk mengeluarkan satu output.
 Logikanya seperti kontak NO relay.





2.1.3.4. Instruksi OR NOT
Intruksi ini dibutuhkan apabila urutan kerja pada suatu sistem kontrol hanya membutuhkan salah satu saja dari beberapa kondisi logika untuk mengeluarkan satu output.
 Logikanya seperti kontak NC relay.






2.1.3.5. Instruksi OUT/OUT NOT
Instruksi OUT/OUT NOT ini digunakan untuk mengeluarkan out put apabila semua kondisi logika ladder telah terpenuhi. Simbol dari instruksi dasar OUT NOT adalah sbagai berikut:





2.1.3.6. Instruksi TIMER (TIM)
Intruksi timer dapat digunakan sebagai timer On-delay pada rangkaian relay. Timer number (N) merupakan memori timer yang akan ON ketika sinyal masukan TIM ON dan terus ON sepanjang waktu yang ditentukan oleh SV (set Value dengan time base 0,1 detik). Dengan kata lain timer N akan ON tertunda selama SV detik ketika sinyal TIM ON dan saat sinyal TIM OFF maka N juga akan OFF. Simbol dari instruksi timer didalam ladder diagram adalah sebagai berikut:






Operand Data Area
N    : TC Number                                000 – 511
SV : Set Value  (Word,BCD)             IO, AR, DM, HR, #
Fungsi lain dari timer adalah TIMH– High Speed Timer. Cara kerjanya TIMH sama dengan TIM kecuali time basenya yang berbeda yaitu: 0,01 detik.

2.1.3.7. Instruksi COUNTER (CNT)
Instruksi CNT merupakan salah satu instruksi counter down dari SV  pada saat kondisi ON untuk mengubah sinyal input dari kondisi OFF Ke ON sebagai pemicu proses pencacahan. Masukan reset, angka counter, dan nilai set ( SV ) dapat diatur dalam program. Nilai set dapat diberikan antara 0000-9999. Simbol dari instruksi dasar counter adalah sebagai berikut:                                   






Operand Data Area
N         : TC Number                           000 – 511
SV       : Set Value  (Word,BCD)       IO, AR, DM, HR, #   
            Fungsi lain dari counter adalah CNTR (Reversible  Counter). CNTR merupakan counter up / down pada saat di beri sinyal input/pulsa.

2.1.3.6. Instruksi COMPARE (CMP)
Instriksi CMP digunakan untuk membandingkan dua buah data yang outputnya menghasilkan GR (greater than), EQ (Equal) and LE (less than) flag di dalam area SR. Simbol dari instruksi compare adalah sebagai berikut:






2.1.4.      Metoda Pemograman [9]
Keuntungan utama dari penggunaan perangkat PLC adalah sifatnya yang dapat diprogram (programmable). Perubahan fungsi serta tugas yang akan dilakukan biasanya cukup dengan mengubah sedikit program yang ada. Perubahan unit input/output diperlukan bila terjadi perubahan pada jenis proses peralatan yang dikontrol.
Berdasarkan fungsi dari perangkat PLC secara keseluruhan. Ada beberapa metoda penulisan program yang biasa digunakan untuk pada berbagai merek PLC, yaitu Ladder Diagram (LD), Funtion Block Diagram (FBD), dan Instruction List (IL), atau gabungan dari ketiga metoda tersebut.

2.1.4.1.  Ladder Diagram
Pada mulanya ladder diagram ini dikembangkan untuk mewakili logika relai. jalur vertikal kiri dan kanan masing-masing mempresentasikan jalur fasa dan netral saluran daya. Aliran daya diasumsikan dari kiri ke kanan.










2.1.4.2.  Function Block Diagram (FBD)
            Metoda ini merupakan metoda yang mirip bentuknya dengan diagram logika. Hubungan yang terdapat pada masing-masing masukan (input) pada suatu keluaran (output) digambarkan dengan kotak persegi panjang dengan simbol yang menggambarkan fungsi masing-masing.





2.1.4.3. Instruction List
            Instruction list terdiri dari tiga komponen yaitu : Operasi(operation), Operand dan parameter.
·                     Operasi : menyatakan fungsi apa yang harus dilakukan seperti : / (OR), &(AND), dan lain-lain.
·                     Operand : menggambarkan kemana informasi operasi dilaksanakan.

2.1.5.   CX- Programmer [1]
            CX- Programmer merupakan sebuah perangkat lunak Produksi Omron Corporation. CX – Programmer yang digunakan penulis kali ini adalah Versi 3.2. Program ini dapat digunakan untuk PLC Omron C series, CV series, dan SR series.

2.1.5.1. Menginstal CX – Programmer
            Untuk menginstal CX- programmer terbagi atas dua komponen  yaitu CX- server dan Cx- Programmer. Fasilitas autorun, maka tahap instalasi dapat langsung dilanjutkan dengan langsung memilih icon setup yang muncul pada layer pertama kali. Kemudian dilanjutkan dengan memilih install Cx- programmer yang selanjutnya akan  menampilkan pilihan bahasa. Setelah mengikuti instruksi yang ada selanjutnya adalah pengisian nomor lisensi yang dapat diisi dengan memasukan 16 angka yang terdapat pada cover CD CX- Programmer. Selanjutnya proses penginstalan berlangsung.

2.1.5.2.  Memulai Pemograman dengan Cx- programmer
            Setelah Proses Instalasi selesai maka dapat dilakukan pembuatan program pengontrolan pada CX – programmer, bagian Utama dari CX – Programmer adalah sebagai berikut:



cx









Beberapa bagian utama  CX- Programmer berikut fungsinya dapat dilihat pada table berikut:
Tabel 2.4. Bagian dan Fungsi CX – Programmer
Nama Bagian
Fungsi
Title Bar
Menunjukan nama file atau data tersimpan dan dibuat pada CX- Programmer
Menus
Pilihan Untuk memilih Menu
Toolbar
Pilihan untuk memilih fungsi dengan menekan tombol. Select[view] à Toolbar
Kemudian dapat memilh toobar yang ingin ditampilkan.
Section
Dapat membagi program kedalam beberapa blok. Masing masing blok dapat dibuat atau ditampilkan.
Project WorkSpace
Project Tree
Mengatur program dan data. Dapat membuat duplikat dari setiap elemen dengan melakukan Drag dan Drop diantara proyek yang berbeda atau melalui suatu proyek.
Ladder Window
Layar sebagai tampilan atau membuat diagram ladder.
Output Window
·   Menunjukan informasi error saat melakukan compile ( error check ).
·   Menunjukan hasil dari pencarian kontak / koil didalam list form.
·   Menunjukan detail dari error yang ada pada saat loading suatu proyek.
Status Bar
Menunjukan suatu informasi seperti nama PLC, status on line / offline, lokasi dari cell yang sedang aktif.
Information window
Memapilkan window uang menunjukan shortcut key yang digunakan pada CX – programmer.
Symbol Bar
Menampilkan nama, alamat  atau nilai dan comment dari symbol yang sedang dipilih cursor.
1Setelah mengetahui bagian serta fungsi utama dari pemogram PLC menggunakan CX- programmer , maka klik New maka akan muncul windows seperti berikut:








Isikan informasi pada tempat yang telah disediakan antara lain nama Project dan type Device.

2.1.5.3. Pengiriman Program Ke PLC CPM1A
            Setelah penulisan ladder diagram selesai dan di simpan, maka selanjutnya PLC dapat di download. Pertama tama program yang telah selesai di compile dengan menekan tombol pada menu Toolbar, dan periksa apakah terdapat error pada program yang telah dibuat . Ada tiga cara untuk fungsi Online, yaitu sebagai berikut:
  1. Normal Online, yaitu oneline pada saat project masih aktif , yaitu dengan menekan tombol
  2. Auto Online, Yaitu online yang secara otomatis mengenali PLC yang terhubung dan memungkinkan untuk PLC online, yaitu dengan menekan tombol
  3. Online with simulator, yaitu dengan menekan tombol
Setelah Online kita dapat melihat hasil dari program setelah terlebih dahulu menekan tombol.Yang perlu diperhatikan saat akan online yaitu memilih port yang digunkan untuk berkomunikasi dari PC ke PLC, dari menu Auto online akan terdapat menu pilihan jenis port yang dapat digunakan seperti gambar berikut:
3



2.5.1        Push Button ( Saklar Tekan )
Push Button adalah komponen listrik yang berfungsi untuk menyambung dan memutuskan arus listrik, saklar ini merupakan saklar yang bekerja tanpa pengunci sehingga jika tekanan dilepaskan maka kontak akan kembali ke posisi semula atau bekerja menyambung dan memutuskan arus listrik hanya sesaat. Jenis saklar ini ada NO atau NC. Simbol saklar tekan (push button) sebagai berikut :

a. Normally Open (NO)                                   b. Normally close (NC)           
  

2.5.2        Lampu Indikator (Pilot Lamp)
Indikator yang berfungsi untuk memberitahukan/menandakan bahwa suatu sistem itu bekerja atau terjadi gangguan. Lampu tanda/indikator mempunyai beberapa warna dan warna pada lampu indikator itu mempunyai makna dan maksud tertentu yaitu
1.      lampu tanda warna merah menandakan bahawa sistem/komponen dalam keadaan terjadi  gangguan/berhenti.
lampu tanda warna hijau menandakan bahwa sistem dalan keadaan siap kerja atau sedang bekerja.