PLC Siemens S7 200 for Advance Task

PLC Siemens S7 200  ialah PLC compact dengan kemampuan dasar. Meski demikian PLC ini juga dapat digunakan untuk tugas – tugas yang sifatnya advance (bukan hanya urutan/proses sekuensial saja). Saya mencoba mendaftarkannya di posting ini (sekaligus merupakan materi pelatihan PLC lanjut yang saya berikan di IATC)

Berikut ini gambaran sederhana dan penjelasannya.

plc siemens for advance

1. Menerima dan menghasilkan sinyal analog

Untuk menerapkan PLC pada sistem analog, mula – mula harus dipahami dulu karakteristik dan konfigurasi modul analog input/output pada PLC Siemens S7 200 (misalnya menggunakan EM 235). Selain itu, analog addressing pada S7 200 dengan tipe data byte, word, double word juga harus dipahami.

2. Mengolah data analog untuk kebutuhan kontrol

Setelah data analog diterima, sering data tersebut harus dipindahkan dulu dengan instruksi data transfer (move). Kemudian dilakukan proses manipulasi data berupa perubahan ke tipe data yang lain (convert), operasi perbandingan (compare), operasi matematis untuk kebutuhan penskalaan atau penggunaan rumus matematika tertentu (math integer, floating point integer).

3. Memahami program control

Jika ladder diagram yang dibuat sederhana, maka satu program pada main saja sudah cukup. Namun bagaimana jika program kompleks dan sering kali mengulang bagian kecil program yang sama? Subroutine bisa digunakan di sini. Bagaimana supaya sistem merespons dengan segera jika ada kondisi urgent? Interrupt bisa dimanfaatkan di sini. Selain itu juga terdapat pengaturan flow program yang lain supaya pemrograman lebih efisien dan mudah dipahami.

4. Membaca real time clock

Dalam suatu proses, ada kalanya dibutuhkan penggunaan variabel waktu. Misalnya lampu taman harus mati setiap jam 5 pagi dan harus menyala setiap jam 5 sore secara otomatis. Untuk itu RTC pada S7 200 harus diaktifkan dan dimanfaatkan (RTC built in pada S7 200 tipe CPU 224 ke atas).

5. Membaca rotary encoder dengan instruksi high speed counter

Rotary encoder adalah salah satu jenis sensor yang memiliki frekuensi tinggi. Untuk membaca encoder pada PLC tidak cukup menggunakan input biasa dan instruksi counter pada umumnya. Pada S7 200 harus dilakukan konfigurasi input dan instruksi high speed counter untuk membacanya. PLC jenis lain mungkin memerlukan sebuah modul eksternal untuk membaca encoder tersebut.

6. Penerapan kontroler PID

S7 200 tidak hanya dapat mengendalikan proses sekuensial, namun mulai merambah juga proses regulatory meski dalam skala kecil (terbatas). PLC ini dilengkapi dengan blok instruksi kontroler PID (termasuk autotuning-nya) sehingga PLC dapat difungsikan sebagai pengendali closed loop, misalnya untuk mengendalikan kecepatan motor.

Demikian sekilas kemampuan lanjutan PLC Siemens S7 200, semoga mendorong Anda untuk terus bereksplorasi!

25 thoughts on “PLC Siemens S7 200 for Advance Task

  1. fathoni

    wuis,,, mantep mas🙂
    sekalian compare dikit dengan kurikulumnya SITRAIN
    untuk point 1-4 harusnya masih masuk ke basic
    untuk point 5-6 udah masuk ke intermediate/lanjut

    just share dikit untuk kurikulumnya SITRAIN :

    BASIC :
    – MicroWin
    – Hardware Config
    – Block Arsitektur dan Block Editor
    – Symbols
    – Binary Operation
    – Digital Operation
    – Data Blocks
    – Subroutine
    – Troubleshooting
    – Organization Block/Interrupt
    – Analog Value Processing
    – Document/Saving/Archiving
    – Communication with PPI

    INTERMEDIATE :
    – indirect addressing
    – data exchange between PLC point to point PPI
    – data exchange between PLC Profibus DP Slave
    – data exchange between PLC AS-Interface
    – data exchange between PLC industrial ethernet
    – Technology Block/Special Function
    – Diagnostic Data

    Like

    Reply
    1. Handy Post author

      Thanks masukannya mas Fathoni. Bisa saya pertimbangkan untuk memperluas materi pelatihan Dasar. Memang kalau di indo bahasan analog sering kali dimasukkan ke topic menengah/lanjut.

      Like

      Reply
      1. fathoni

        oya pak handy, seminggu yang lalu ada yang email ke saya nanya prinsip scan time dalam PLC, nah dia katanya baca di buku pak handy, bahwa scan time program itu dilakukan secara simultan (serempak/bersama sama) , mohon penjelasannya yah pak, karena setau saya dan mungkin semua programmer PLC, bahwa scan time program PLC dilakukan secara berurutan mulai dari rung paling atas ke kanan kemudian kebawah kemudian balik lagi keatas begitu seterusnya, tp karena dilakukan secara sangat sangat cepat (orde ms atau bahkan us tergantung tipe PLC) sehingga seolah olah seperti terlihat bersamaan

        buktinya bisa dicoba dengan simulasikan program sederhana dua rung, rung pertama yaitu input 1 mengaktikan output coil A, rung ke dua yaitu input 2 mengaktifkan output coil A juga, kemudian disimulasikan :
        – jika input 1 ON dan input 2 OFF, maka output coil A tidak akan ON, karena dilogic rung 2 output A dimatiin oleh input 2, ouput A sempat ON beberapa saat waktu program dieksekusi di rung 1, sebelum scan berpindah ke rung 2
        – kemudian jika input 2 ON maka output A akan ON, apapun yang terjadi dengan input 1
        – sekarang coba dibalik rung 1 ke rung 2 dan rung 2 ke rung 1, lihat hasilnya seperti apa🙂

        sekarang pertanyaannya mengapa rung yang paling bawah yang dianggap outputnya, ya karena setelah end scan program dari atas ke bawah, scan berikutnya yaitu scan periperal output

        Scan time PLC yang berurutan seperti inilah yang memudahkan dalam programming, si programmer bisa berkreasi untuk mesimplify programnya, seperti indirect addressing/pointer, membuat class object. etc

        Like

        Reply
        1. Handy Post author

          Salam mas Fathoni,
          Maaf lama baru sempat jawab. Apa yang saya sampaikan di buku saya mengambil informasi dari buku PLC karangan Jon Stenerson. Informasi serupa juga ada di manual PLC Siemens S7 200.
          Mungkin saya perjelas maksud saya dengan “simultan”. Dari buku di atas, disebutkan bahwa proses utama dalam 1 scan time PLC ialah : 1. Update status semua output, 2. Eksekusi semua logika, 3. Update status semua input. Hal ini mungkin berbeda dengan pandangan sederhana bahwa prosesnya ialah untuk 1 rung dilakukan update status output, eksekusi, update status input. Kemudian pindah ke rung 2 dan seterusnya.
          Nah, meski di dalam PLC terjadi proses seperti itu, memang tetap semua tahap berjalan secara sekuensial dan dari atas ke bawah. Jadi dalam praktisnya memang akan seperti yang Mas Fathoni sampaikan. Saya sendiri memang menemui bahwa rung di atas dikerjakan lebih dulu dari rung di bawahnya.
          Demikian sedikit penjelasan dari saya.

          O iya, sekedar klarifikasi untuk contoh yang mas Fathoni berikan, berarti coil A muncul 2 kali? Setahu saya hal tersebut dihindari dalam ladder diagram programming karena mengikuti konsep relay juga hanya memiliki 1 coil saja.

          Terima kasih diskusinya.

          Like

          Reply
          1. fathoni

            saya baca di system manual s7-200 page 24 gak ada tuh bahasa bahasa simultan ?🙂 oya jika saya punya studi kasus seperti ini :

            [rung 1]
            L 0
            T MW100

            [rung 2]
            L 5
            T MW100

            pertanyaan saya simple :
            – apa yang terjadi dengan data integer MW100 dari program tersebut ?
            – apakah MW100 bernilai 0 atau 5 ?

            Like

  2. fathoni

    coil muncul dua kali ya sah sah aja🙂 hanya saja yang diatasnya mungkin ga akan berlaku, hanya mungkin diaplikasinya tidak ada yang seperti itu, hanya hal seperti itu bukan aturan, PLC tidak menganut aturan baku a b c dst, didonlot pun bisa kedalam PLC gak akan error, hanya mungkin saat di compile akan ada sedikit warning tapi tidak akan mengganggu PLC.

    konsep yang ada di PLC bukan konsep relay tapi konsep programming, bayangkan jika menggunakan konsep relay, masa iya kalo ada 1000 motor direct online atau star delta , kita akan membuat/menulis 1000 logika seperti itu secara berulang (seperti wiring diagram) ??

    saya bahkan pernah nemuin contoh program seperti ini :

    dirung paling atas si programmernya buat logic seperti ini

    RESET
    Output A
    Output B
    …. all output

    kemudian di rung selanjutnya si programmer tinggal buat logic untuk SET output, nah apabila tidak ada yang eksekusi otomatis akan di RESET (safe),,,,saya rasa logika pemrograman seperti itu akan sulit dipahami jika tidak mengerti scan time PLC

    Like

    Reply
    1. fathoni

      oya tambahan lagi mas, berikut bunyi email anak tersebut ke email saya yang katanya copy dari buku mas handy :

      “status input dan output terbaru akan direkam dan digunakan PLC dalam proses berikutnya. Setelah itu baru dilakukan proses eksekusi secara simultan dari kiri ke kanan, dimana program yang terletak dibagian atas mungkin saja dieksekusi bersama sama dengan program yang paling bawah. Proses ini disebut dengan program scan”

      dari kutipan tersebut bener ada alur kiri ke kanan tapi untuk atas kebawah ditulis dengan MUNGKIN SAJA, ini maksudnya apa yah mas ? seperti yang kita tahu alur program itu fix kiri – kanan dan atas – bawah, bukan hanya mungkin tapi PASTI selama PLC dalam kondiri RUN.

      just saran dan kritik aja mas handy, kasian buat pemula yang mau belajar PLC, karena setau saya scan time ini basicnya, kalo ga ngerti scan time bahaya jika ketemu program bikinannnya machine maker dari vendor luar, bakalan pusing deh🙂

      Like

      Reply
      1. Handy Post author

        Mas Fathoni, yah ini susahnya komunikasi dengan bahasa tertulis🙂 .
        Maksudnya “mungkin saja” itu untuk memperkuat konsep simultan di dalam PLC, sehingga seluruh program dieksekusi “bersamaan” (meski secara praktis tetap sekuensial).
        Terima kasih untuk saran dan kritiknya mas, coba di edisi berikutnya saya perbaiki.
        Tentunya saya tidak bermaksud menjerumuskan rekan – rekan yang ingin beljar kok mas🙂 .

        Like

        Reply
        1. fathoni

          saya lebih prefer menggunakan bahasa seperti ini : “konsep scan PLC itu sekuensial tetapi karena eksekusi setiap instruksi yang sangat cepat (orde us antar rung) jadi seolah-olah terlihat simultan”🙂

          sori mas, saya agak tergerak untuk hal-hal beginian hehehe, dulu zaman kuliah nanya kesana kemari, gak ada yang mau ngajarin PLC soalnya (curcol)🙂

          Like

          Reply
    2. Handy Post author

      Mas Fathoni, dari apa yang saya baca dan pahami, PLC mengadopsi konsep relay untuk menjembatani para insinyur kontrol yang saat itu familiar dengan relay. Sehingga terminologi dan cara kerja relay masih berlaku di PLC. Jika memang pure programming, tentunya bisa saja pembuat PLC langsung menggunakan bahasa pemrogaman yang text based seperti C atau assembly yang saat itu sudah ada.

      Juga kasus saat coil dipanggil 2 kali (selain keluar dari konsep relay) juga kurang tepat secara konsep logika (meski mungkin bisa dilakukan). Lebih baik mengkombinasikan input 1 dan 2 dengan OR (atau XOR misalnya) untuk menyalakan 1 output.

      Anyway, kembali ke scan time, secara praktis dan tampak mata saya setuju bahwa ladder diagram memang dikerjakan dari atas ke bawah.

      Thanks diskusinya🙂

      Like

      Reply
      1. fathoni

        oyah balik ke konsep relay yang tadi, bagaimana solusinya dengan PLC konsep relay jika studi kasusnya harus memprogram katakanlah ada 1000 motor star delta ? apakah harus buat satu2 atau bagaimana ? berapa ribu rung tuh ?

        Like

        Reply
      2. ravindra

        pak handy, sory saya ikut nimbrung..output yang write 2 kali mksud pak thoni adalah dlm address yg sama tp pke instruksi set & reset . saya rasa begitu🙂

        Like

        Reply
  3. fathoni

    punten mas handy, untuk S7-300 berikut step singkatnya :

    – cek dulu sensornya tipe pasif (2 wire) atau aktif (4 wire) 4-20 mA
    – sesuaikan setingan di modulenya untuk 2 wire atau 4 wire current
    – konfigure di hardware config beserta addressingnya
    – buat scaling di program PLCnya

    Like

    Reply
  4. nano unimax

    maaf ikut nimbrung ya,,buat pak handy dan pak fathoni,,
    saya bener2 awam mengenai PLC,tapi saya sangat2 ingin belajar mengenai PLC,, saya cuma lulusan SD,kira2 bisa gak pak? dan adakah yang berkenan untuk mengajari saya,,? trimakasih sebelumnya,,

    Like

    Reply
    1. Handy Post author

      Salam mas Nano, sebenarnya semua mungkin asal kita mau berusaha. Memang bisa cepat atau lambat. Untuk belajar PLC intinya pada bagian pemrograman, jadi jika sudah pernah belajar pemrograman komputer atau mengetahui dasar logika dengan relay (misalnya), pasti bisa belajar PLC. Jika memerlukan pelatihan bisa searching di blog ini atau di internet. Salam.

      Like

      Reply
  5. karno

    maaf numpang tanya mas, kalo s7-200 bisa online monitoring gak yaa? saya ingin ketika lagi run saya bisa lihat step mana saja yg sudah on dan mana yang belum. makasih banyak mas, ditunggu jawabannya

    Like

    Reply
  6. beri saputra

    salam kenal mas handy, numpang nanya. saya udah liat di blog mas handy yang jelas banget dan enak dibaca sama orang awam kayak saya😀 nah yg mau saya tanyakan, mengenai koneksi kepserverex ke wonderware dengan opc, nah yg belum saya nemu. klo buat PLC Omron yang CP1L M40DT cara menghubungkannya dengan wonderware lewat kepserverex bgaimana yah? mohon pencerahannya mas. trims!

    Like

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s