OMRON%PCM1A - modulsttmuttaqien.files.wordpress.com · OMRON%PCM1A...

13
OMRON PCM1A Programmable Logic Controller (PLC) Oleh : Rohendi, M.I.Kom ( Instruksi Dasar Pemrograman dengan Ladder Diagram ) Teknik Elektro STT DR. KHEZ. MuFaqien Purwakarta

Transcript of OMRON%PCM1A - modulsttmuttaqien.files.wordpress.com · OMRON%PCM1A...

Page 1: OMRON%PCM1A - modulsttmuttaqien.files.wordpress.com · OMRON%PCM1A ProgrammableLogicController(PLC)% Oleh : Rohendi, M.I.Kom (% Instruksi%Dasar%Pemrograman%denganLadderDiagram)% Teknik%Elektro%%STT%%DR.%KHEZ.%MuFaqien

OMRON  PCM1A  Programmable  Logic    Controller  (PLC)  

Oleh : Rohendi, M.I.Kom

(    Instruksi  Dasar  Pemrograman  dengan  Ladder  Diagram    )  

Teknik  Elektro    STT    DR.  KHEZ.  MuFaqien  Purwakarta  

Page 2: OMRON%PCM1A - modulsttmuttaqien.files.wordpress.com · OMRON%PCM1A ProgrammableLogicController(PLC)% Oleh : Rohendi, M.I.Kom (% Instruksi%Dasar%Pemrograman%denganLadderDiagram)% Teknik%Elektro%%STT%%DR.%KHEZ.%MuFaqien

Instruksi  MOVE  –  MOV(21)  

Teknik  Elektro    STT    DR.  KHEZ.  Mu5aqien  Purwakarta  

Instruksi   MOVE   -­‐   MOV(21)   digunakan   untuk  meng-­‐copy   nilai   dari   Source   ke   DesLnaLon.  Source   dapat   berupa   konstanta   (#),   ataupun  data   yang   ada   di   alamat   tertentu   dalam  register   IR,   SR,   AR,   DM,   HR,   TC,   dan   LR.  Sedangkan   DesJnaJon   adalah   alamat   register  IR,   SR,   AR,   DM,   HR,   LR.   Jika   kondisi   eksekusi  MOV(21)   ON,   maka   data   di   Source   (Sumber)  akan  di-­‐copy  ke  DesLnaLon  (Tujuan).  

PerhaLan!  

Instruksi   MOV(21)   Jdak   dapat   digunakan  untuk  mengubah  nilai  PV  (Process  Value)  pada  Timer/Counter.  

Instruksi   MOV(21)   Jdak   dapat   digunakan  untuk   mengubah   nilai   DM6144   sampai  DM6655.  

Ketika kondisi Input 000.00 ON, maka konstanta #0100 akan di-copy ke DM0000, dan selanjutnya nilai dalam DM0000 akan di-copy ke HR05. Ketika kondisi Input 000.00 ON, maka konstanta #0100 akan di-copy ke DM0000, dan selanjutnya nilai dalam DM0000 akan di-copy ke HR05.

KeJka   kondisi   Input   000.00   ON,   maka  konstanta  #0100  akan  di-­‐copy  ke  DM0000,  dan  selanjutnya  nilai  dalam  DM0000  akan  di-­‐copy  ke  HR05.  

Page 3: OMRON%PCM1A - modulsttmuttaqien.files.wordpress.com · OMRON%PCM1A ProgrammableLogicController(PLC)% Oleh : Rohendi, M.I.Kom (% Instruksi%Dasar%Pemrograman%denganLadderDiagram)% Teknik%Elektro%%STT%%DR.%KHEZ.%MuFaqien

Instruksi  INCREMENT  –  INC(38)  

Teknik  Elektro    STT    DR.  KHEZ.  Mu5aqien  Purwakarta  

Instruksi   ini   berfungsi   untuk  menambah   satu  nilai   pada   operand   berJpe   word.   Operand  dalam  hal  ini  bisa  salah  satu  dari  register  IR,  SR,  AR,  DM,  HR,  dan  LR.  

Jika   kondisi   eksekusi   instruksi   INC(38)  terpenuhi,  maka   nilai  operand  akan   ditambah  satu  tanpa  mempengaruhi  bit  flag  Carry  (CY).  

Instruksi  ini  termasuk  salah  satu  instruksi  yang  dapat   didiferensiasi.   Jika   INC(38)   Jdak  didiferensiasi,   maka   selama   kondisi   eksekusi  terpenuhi,  nilai  operand  akan  bertambah  satu  seJap   siklusnya.   Jika   dibutuhkan   untuk  memicu   instruksi   INC(38)   sekali   saja   selama  kondisi   eksekusi   terpenuhi,   maka   gunakan  instruksi   INC(38)   yang   didiferensiasi   atau  dengan   menggabungkan   instruksi   INC(38)  dengan  instruksi  DIFU(13)  dan  DIFD(14)  .  

Page 4: OMRON%PCM1A - modulsttmuttaqien.files.wordpress.com · OMRON%PCM1A ProgrammableLogicController(PLC)% Oleh : Rohendi, M.I.Kom (% Instruksi%Dasar%Pemrograman%denganLadderDiagram)% Teknik%Elektro%%STT%%DR.%KHEZ.%MuFaqien

Instruksi  DECREMENT  –  DEC(39)  

Teknik  Elektro    STT    DR.  KHEZ.  Mu5aqien  Purwakarta  

Instruksi  ini  berfungsi  untuk  mengurangi  satu  nilai   pada   operand   berJpe   word.   Operand  dalam  hal   ini  bisa  salah  satu  dari   register   IR,  SR,  AR,  DM,  HR,  dan  LR.  Jika   kondisi   eksekusi   instruksi   DEC(39)  terpenuhi,  maka  nilai  operand  akan  dikurangi  satu  tanpa  mempengaruhi  bit  flag  Carry  (CY).  Instruksi   ini   termasuk   salah   satu   instruksi  yang   dapat   didiferensiasi.   Jika   DEC(38)   Jdak  didiferensiasi ,   maka   selama   kondis i  eksekusinya   terpenuhi,   nilai   operand   akan  bertambah   satu   seJap   siklusnya.   Jika  dibutuhkan   untuk  memicu   instruksi   DEC(39)  sekali  saja  selama  kondisi  eksekusi  terpenuhi,  maka   gunakan   instruksi   DEC(38)   yang  didiferensiasi   atau   dengan   menggabungkan  instruksi   DEC(38)   dengan   instruksi   DIFU(13)  atau  DIFD(14).  

Page 5: OMRON%PCM1A - modulsttmuttaqien.files.wordpress.com · OMRON%PCM1A ProgrammableLogicController(PLC)% Oleh : Rohendi, M.I.Kom (% Instruksi%Dasar%Pemrograman%denganLadderDiagram)% Teknik%Elektro%%STT%%DR.%KHEZ.%MuFaqien

Instruksi  COMPARE  –  CMP(20)  

Teknik  Elektro    STT    DR.  KHEZ.  Mu5aqien  Purwakarta  

Instruksi  CMP(20)   berfungsi  membandingkan   dua   buah   operand   berJpe  word.  KeJka   kondisi   eksekusi   instruksi   ini   terpenuhi,   maka   CMP(20)   akan  membandingkan   nilai   operand1   dengan   nilai   operand2.   Hasil   perbandingan  tersebut  disimpan  dalam  bit  flag  EQ   (EQuals),  LE   (LEss-­‐than),  dan  GR   (GReater-­‐than)   yang   menyatakan   operand1   =   operand2,   operand1   <   operand2,   dan  operand1  >  operand2.  

Perlu  diperhaLkan  !  

Jika  membandingkan  nilai   PV   (Process  Value)   pada   Timer   atau  Counter,  maka  perlu  diingat  bahwa  nilai  PV  pada  Timer  dan  Counter  adalah  bilangan  BCD.  Jadi  nilai  pembandingnya  sebaiknya  juga  BCD  agar  Jdak  bingung.  Sebaiknya  langsung  memproses  hasil  perbandingan  instruksi  CMP(20)  sebelum  instruksi  lain  dijalankan  karena  mungkin  saja  bit  flag  EQ,  LE,  dan  GR  mengalami  perubahan  nilai.  

Page 6: OMRON%PCM1A - modulsttmuttaqien.files.wordpress.com · OMRON%PCM1A ProgrammableLogicController(PLC)% Oleh : Rohendi, M.I.Kom (% Instruksi%Dasar%Pemrograman%denganLadderDiagram)% Teknik%Elektro%%STT%%DR.%KHEZ.%MuFaqien

Instruksi  Compare

v     Rung  1.  KeJka  pertama  kali  dihidupkan,  nilai   DM0100   akan   direset   menjadi   0000  dengan   menggunakan   instruksi   MOV(21)  yang   dieksekusi   oleh   bit   flag   First_Scan  (SR253.15).  

v    Rung   2.   Jika   Input   000.00   ON,   maka  instruksi   @INC(38)   akan   menaikkan   nilai  DM0100   sebesar   1.   Adanya   tambahan  karakter  ‘@’  di  depan  menunjukkan  bahwa  instruksi  ini  didiferensiasi.  

v    Rung   3.   Secara   konJnyu,   program  membandingkan   nilai   DM0100   dengan   5.  Jika   nilainya   kurang   dari   5,   maka   Output  010.01  akan  ON.  Jika  nilainya  samadengan  5,  maka  Output  010.00  akan  ON.  Dan   jika  nilainya   lebih  dari   5,  maka  Output  010.02  akan  ON.  

Page 7: OMRON%PCM1A - modulsttmuttaqien.files.wordpress.com · OMRON%PCM1A ProgrammableLogicController(PLC)% Oleh : Rohendi, M.I.Kom (% Instruksi%Dasar%Pemrograman%denganLadderDiagram)% Teknik%Elektro%%STT%%DR.%KHEZ.%MuFaqien

Instruksi  BINARY-­‐TO-­‐BCD  –  BCD(24)  

Teknik  Elektro    STT    DR.  KHEZ.  Mu5aqien  Purwakarta  

Instruksi   BCD(24)   berfungsi   untuk  mengkonve r s i   b i l angan   b i na r y  ( h e x a d e c i m a l )   m e n j a d i   B C D  ekuivalennya.   Nilai   bilangan   yang  dikonversi   Jdak   boleh   melebihi   270F  hexa   karena   hasil   konversinya   akan  melebihi  angka  9999.  Jika  hal   ini  terjadi  maka   instruksi   BCD(24)   tersebut     Jdak  akan  dieksekusi.  Instruksi  ini  membutuhkan  dua  operand  yakni   Source   dan   DesLnaLon.   Source  adalah   alamat   memori   bilangan   binary  yang   akan   dikonversi   dan   DesJnaJon  adalah   alamat   memori   bilangan   BCD  hasil   konversi.   Source   dan   DesJnaJon  bisa  saja  salah  satu  dari  IR,  SR,  AR,  DM,  HR,   atau   LR.   Source   dan   DesJnaJon  Jdak  dapat  diisi  konstanta.  

Page 8: OMRON%PCM1A - modulsttmuttaqien.files.wordpress.com · OMRON%PCM1A ProgrammableLogicController(PLC)% Oleh : Rohendi, M.I.Kom (% Instruksi%Dasar%Pemrograman%denganLadderDiagram)% Teknik%Elektro%%STT%%DR.%KHEZ.%MuFaqien

Instruksi  SET  dan  RSET  

Instruksi   SET   dan   RESET   mirip   sekali  dengan   instruksi   OUTPUT   dan   OUTPUT  NOT.   Instruksi  SET  dan  RESET  mengubah  kondisi   bit   operand-­‐nya   keJka   kondisi  eksekus inya   ON.   KeJka   kond i s i  eksekusinya  OFF,  kondisi  bit  operand-­‐nya  Jdak  akan  terpengaruh.  Berbeda   dengan   instruksi   OUTPUT   dan  OUTPUT   NOT   yang   akan  mempengaruhi  kondisi   bit   operand-­‐nya,   baik   keJka  kondisi  eksekusinya  ON  maupun  OFF.      

Page 9: OMRON%PCM1A - modulsttmuttaqien.files.wordpress.com · OMRON%PCM1A ProgrammableLogicController(PLC)% Oleh : Rohendi, M.I.Kom (% Instruksi%Dasar%Pemrograman%denganLadderDiagram)% Teknik%Elektro%%STT%%DR.%KHEZ.%MuFaqien

Instruksi  JMP  

Teknik  Elektro    STT    DR.  KHEZ.  Mu5aqien  Purwakarta  

Instruksi   Jump   –   JMP(04)   selalu   berpasangan   dengan   instruksi   Jump   End   –  JME(05).   JMP   digunakan   untuk   melewaJ   bagian   program   tertentu   dalam  program,   yakni   bagian   program   yang   terletak   di   antara   instruksi   JMP(04)   dan  JME(05).  Kita  sebut  saja  bagian  program  tersebut  sebagai  jump  secLon.  

Jika  kondisi  eksekusi  JMP(04)  ON,  maka  program  akan  berjalan  ‘lurus’  seperJ  jika  Jdak   ada   instruksi   JMP(04).   Dengan   kata   lain,   instruksi-­‐instruksi   dalam   jump  secJon   akan   dieksekusi.   Tapi   jika   kondisi   eksekusi   JMP(04)  OFF,  maka   eksekusi  program   akan   melompat   menuju   instruksi   tepat   di   bawah   instruksi   JME(05),  tanpa  mengubah  nilai  status  apapun  yang  ada  di  dalam  jump  secLon.  

Animasi   disamping   ini   merupakan  aplikasi   instruksi   MC   (Master  Control)   dan   MCR   (Master   Control  Reset)   dimana   program   yang   ada  diantara   MC   dan   MCR   (0001   &  0500)   akan  bekerja   saat   input  0000  akJf  (ON)    

Page 10: OMRON%PCM1A - modulsttmuttaqien.files.wordpress.com · OMRON%PCM1A ProgrammableLogicController(PLC)% Oleh : Rohendi, M.I.Kom (% Instruksi%Dasar%Pemrograman%denganLadderDiagram)% Teknik%Elektro%%STT%%DR.%KHEZ.%MuFaqien

Instruksi   DifferenLate   Up   –   DIFU(13)   dan   DifferenLate   Down   –   DIFD(14)  digunakan  untuk  mengubah  kondisi  bit  operand  menjadi  ON  selama  1  siklus  saja.  KeJka   dieksekusi,   DIFU(13)   akan   membandingkan   kondisi   eksekusi   sekarang  dengan   kondisi   eksekusi   sebelumnya.   Jika   kondisi   eksekusi   sebelumnya   adalah  OFF  dan  kondisi  eksekusi  sekarang  adalah  ON,  maka  DIFU(13)  akan  mengakJlan  bit  operand  menjadi  ON  selama  1  siklus  saja.  Kebalikan  dari   instruksi  DIFU(13)  yang  mengakJlan  bit  operand  selama  1   siklus  keJka   kondisi   eksekusi   berubah   dari   OFF   ke   ON,   maka   instruksi   DIFD(14)   akan  mengakJlan  bit  operand  selama  1  siklus  keJka  kondisi  eksekusi  berubah  dari  ON  ke   OFF.   Contoh   berikut   akan   menjelaskan   prinsip   kerja   dari   DIFU(13)   dan  DIFD(14).  

Instruksi  DIFU  dan  DIFD  

Animasi   disamping   ini   merupakan  aplikasi   instruksi   DIPU   dan   DIPD  yang   digunakan   untuk   menyalakan  lampu   (0500)   dengan   Single   Push  Bu5on  (0000)    .  

Page 11: OMRON%PCM1A - modulsttmuttaqien.files.wordpress.com · OMRON%PCM1A ProgrammableLogicController(PLC)% Oleh : Rohendi, M.I.Kom (% Instruksi%Dasar%Pemrograman%denganLadderDiagram)% Teknik%Elektro%%STT%%DR.%KHEZ.%MuFaqien

Instruksi  KEEP  

Teknik  Elektro    STT    DR.  KHEZ.  Mu5aqien  Purwakarta  

I n s t r u k s i   i n i   d i g u n a k a n   u n t u k  mempertahankan   kondisi   bit   operand  berdasarkan   dua   kondisi   eksekusi,   yakni   Set  dan  Reset.  Oleh   sebab   itu,   instruksi  KEEP   ini  terhubung  ke  dua  baris  instruksi  pengkondisi  eksekusi.   Jika  kondisi  eksekusi   instruksi  pada  baris   pertama   ON   (Set),   maka   kondisi   bit  operand   instruksi   KEEP   akan   ON.   Dan   jika  kondisi   eksekusi   instruksi   pada   baris   kedua  ON   (Reset),   maka   kondisi   bit   operand  instruksi   KEEP   akan   OFF.   Jadi   instruksi   KEEP  ini   seperJ   instruksi   SET   dan   RSET   yang  dijadikan  satu  paket.  

Kondisi  bit  operand  yang  digunakan  instruksi  KEEP   Jdak   d i reset   da lam   instruks i  INTERLOCK.   Contoh   program   berikut   akan  menjelaskan  fungsi  KEEP  dan  penggunaannya  dalam  program.  

Page 12: OMRON%PCM1A - modulsttmuttaqien.files.wordpress.com · OMRON%PCM1A ProgrammableLogicController(PLC)% Oleh : Rohendi, M.I.Kom (% Instruksi%Dasar%Pemrograman%denganLadderDiagram)% Teknik%Elektro%%STT%%DR.%KHEZ.%MuFaqien

Instruksi  END  dan  NOP  

Instruksi   ini   umumnya   digunakan   sebagai   penutup   program.   Instruksi-­‐instruksi  yang   terletak   di   bawah   instruksi   END(01)   Jdak   akan   dieksekusi   oleh   PLC.  Instruksi   END(01)   dapat   diletakkan   dimana   saja   di   dalam   program.   Karenanya,  instruksi   ini   dapat   digunakan  untuk  men-­‐debug  program.  Dengan  menyelipkan  instruksi   END(01)   pada   baris   tertentu   di   dalam   program,   maka   berarJ   kita  membatasi   eksekusi   program   sampai   baris   tersebut.   Setelah   yakin   bahwa  program  berjalan   benar   hingga   baris   tersebut,   kita   dapat  menghapus   instruksi  END(01)  tersebut  dan  memindahkannya  ke  bagian  lain.    Jika   dalam   sebuah   program   PLC   belum   terdapat   instruksi   END(01),   maka  program  Jdak  akan  dieksekusi  dan  pesan  kesalahan  akan  ditampilkan.   Instruksi  END(01)  mereset  flag  ER,  CY,  GR,  EQ  dan  LE.  

Instruksi  NOP(00)  Instruksi   ini  Jdak  diperlukan  dalam  pemrograman  dan  Jdak  ada  simbol   ladder  khusus  untuk  instruksi  ini.  KeJka  instruksi  ini  ditemukan  dalam  program,  maka  PLC   Jdak   melakukan   apapun   dan   program   akan   melanjutkan   eksekusi   ke  instruksi   selanjutnya.   KeJka   memori   PLC   dihapus,   maka   semua   alamat   akan  berisi  NOP(00).  

Page 13: OMRON%PCM1A - modulsttmuttaqien.files.wordpress.com · OMRON%PCM1A ProgrammableLogicController(PLC)% Oleh : Rohendi, M.I.Kom (% Instruksi%Dasar%Pemrograman%denganLadderDiagram)% Teknik%Elektro%%STT%%DR.%KHEZ.%MuFaqien

Selamat  UAS