Fungsi Sederhana ??

Kasus sederhana dan diselesaikan dengan cara yang tidak lazim
Suatu saat saya bertemu dengan kasus sederhana seperti ini :

– Satu inputan (befungsi seperti push button) digunakan untuk mengaktifkan satu output
– Saat input di-on kan untuk yang pertama kali, maka output akan on
– Saat input di-on kan untuk yang kedua kali, maka output akan off
– Saat input di-on kan untuk yang ketiga kali, maka output akan on lagi
– Begitu seterusnya gantian ……

Untuk menyelesaikannya, saya membuat logika seperti ini :


Input melakukan pengecekan pada status output, apakah status outputnya on atau off, jika statusnya on maka output akan di reset, tentunya dengan bantuan fungsi positif edge untuk mengambil status input sekali scan time. Di suatu kesempatan lain, saya melihat program dari SI laen dengan studi kasus yang sama, dan menurut saya logika yang dia ambil bener-bener bagus dan sama sekali diluar pemikiran saya.

Si programmer membuat satu function “Toggle” dan didalam function tersebut hanya berisi satu rung invert dengan satu In/Out variabel.

Kemudian function tersebut dipanggil dengan cara seperti ini


Saat input tersebut on 1 scan time, maka FC Toggle tersebut akan dieksekusi (enable), sehingga variabel bit akan “on” dan dihubungkan ke output. Nah di scan time yang kedua input ke posisi “off” sehingga FC Toggle tidak akan dieksekusi, sehingga nilai output tetap disimpan ke nilai akhir (yaitu on). Kemudian saat input on yang kedua kali, FC Toggle tersebut akan dieksekusi (enable), dan bit nilai terakhir (yaitu on) akan di invert menjadi nilai “off” dan begitu seterusnya πŸ™‚

huff….. suatu pemikiran yang sederhana tapi keren karena memanfaatkan scan time (enable eksekusi dari function), yah memang di atas langit masi ada langit lain, ilmu otomasi begitu luas dan membuat kita gak akan pernah puas πŸ™‚

31 thoughts on “Fungsi Sederhana ??”

  1. Yap betul …
    Waktu aku join di pete sebelum yg sekarang
    rata-rata program PLC-nya di buat di Eropa (Daneili – Italia)
    Mreka sering membuat fungsi2 keren2 … (mungkin krn di bayar sangat mahal ya ..:)
    Rata2 clock fungsi dibuat pake cara ini …
    Hanya membalik keadaan sebelumnya ..dan diletakkan di OB Interupt sesui kebutuhan …

  2. saya juga pernah menghadapi kasus yang sama ketika di Lab PLC. Saat itu dibuat soal UAS Praktek (aku sendiri yang buat soalnya, tapi kebingungan juga jawabannya). Tapi memang seperti nya memanfaatkan konsep scantime dan ada juga yang pake instruksi CounterReversible (Omron CPM1A).
    Sederhana tapi bikin rieut.
    Mas, request dong tentang bahasan subrutin & interrupt.

  3. banyak jalan menuju roma ton..
    jadi banyak cara bikin program ….

    yang paling keren itu adalah bikin program yang efektif dan pake memory paling dikit… πŸ˜‰

  4. yup…tergantung gimana penempatannya mas, klo kita trouble shooting dari program yang udah kompleks harus hati hati hehehehe karna khan cuma satu kali scan time, takutnya dieksekusi ama yg laen lagi

    wah kalo hardwiring circuit gak tau, tanya aja ama mawan or pak sadin hahahahaha

  5. mas,,mau tanya nih..cara buat interupsi program di PLC schneider gimana yah?? bisa minta tolong dibahas.. πŸ™‚
    thnx sebelumnya

  6. wah..saya gak experience pake schneider mas πŸ™‚
    schneider yang mana dulu nie mas : quantum, premium, twido, or dsb ??
    trus interupsi program yang seperti apa? cyclic interupt? error/fault interupt? hardware interupt?
    dulu aja pas kuliah pake twido tapi itu juga belum nyampe interupsi program, klo di Siemens and AB saya tau hehehe

  7. Wah memang betul-betul jenius…..
    Saya pun sebelumnya membuat fungsi tersebut dengan logika yang sama seperti mas Fathoni buat, hanya saja saya memakai fungsi set reset yang tidak dipisah, jadi hanya satu rung.
    Tapi ladder dengan fungsi yang kedua, betul – betul jeniuzzzzzz

  8. SubRoutine di PLC apa dulu mas?

    di S7 ??

    klo di S7 subroutine jarang saya pake, soalnya udah ada fasilitas function (FC), yah mirip mirip ama function block, cuma lebih simple

    cuma ntar saya cobalah postingin bikin subroutine dan function di S7 πŸ™‚

  9. mas..! program aplikasikomputer apa saja kah yg bisa digunakan untuk pemograman plc. terus onderdil/komponen apa saja yg digunakan,satu lagi apa bisa plc di atur scr manual tidak menggunakanprogram komputer.

    balas ya…!thanks

  10. Selamat tahun baru Ton…
    Semaoga semakin sukses ditahun 2009.
    Btw, indirect addressingnya sangat bermanfaat lho…sy sdh bs buat program dengan fungsi looping utk pemanggilan satu fungsi, sehingga utk aplikasi kalkulasi yg membutuhkan pemanggilan berkali2 semakin singkat saja. anyway thanks atas ide2nya…

  11. gmn sih pak dptkan software
    siemens s7,saya jd sulit utk ol dgn mrk tsb
    saya sering pake Mitsubhisi dan Glofa
    thank’sblmnya

  12. mas2 sekalian itu fungsi toggle kan? ada logika yang jauh lebih singkat ( mungkin πŸ™‚ ). Cuma pake 2 rung dan tanpa set reset + fungsi edge trigger.

  13. mengomentari artikel diatas,,
    kalau sy lihat koq ribet ya penyelesaiannya?kalau sy pikir, bisa menggunakan rangkaian XOR mas dengan masukan input itu sendiri dengan output, dan keluaran output itu sendiri. sudah sy coba dan berhasil!

  14. siang mas…, saya punya pertanmyaan sedikit mas. saya punya kasus, saya punya sinyal dari lapangan berbentuk pulsa (0-1-0-1-0…dst). saya ingin membuat program untuk memdeteksi rotasi suatu alat. jd yg ingin saya tanyakan bagaimana caranya supaya ketika sinyal nya “ON” terus, ata sebaliknya “OFF” terus, saya menghendaki suatu OUTPUt menjadi ON. artinya ketika sinyal nya berbentuk pulsa, output saya yg di program akan OFF. sedangkan ktika sinyalnya penuh (katak ON terus atau OFF terus), maka outpunya jd ON.

  15. siang mas…, saya punya pertanyaan sedikit mas. saya punya kasus, saya punya sinyal dari lapangan berbentuk pulsa (0-1-0-1-0…dst). saya ingin membuat program untuk mendeteksi rotasi suatu alat. jd yg ingin saya tanyakan bagaimana caranya supaya ketika sinyal nya β€œON” terus, atau sebaliknya β€œOFF” terus, saya menghendaki suatu OUTPUT menjadi ON. artinya ketika sinyal nya berbentuk pulsa, output saya yg di program akan OFF. sedangkan ketika sinyalnya penuh (katakan ON terus atau OFF terus), maka outpunya jd ON.

  16. –| |—[Delay On Timer xx detik]–(M0.1)

    –|/|—[Delay On Timer xx detik]–(M0.2)

    O M0.1
    O M0.2
    = M0.3

    logicnya seperti diatas mas, untuk setingan timernya menyesuaikan maks berapa lama waktu perpindahan 0-1-0-1..dst

  17. Thank mas, ternyata simpel aja ya. hanya pkai timer.
    Saya tdinya berpikir ad block khusus d sediakan untk itu, bawaan dr SIMATIC, makanya sy coba tanya ke mas td. πŸ˜€
    Thank mas. . (y)

  18. Thanks mas, ternyata simpel aja ya. hanya pkai timer.
    Saya tdinya berpikir ad block khusus d sediakan untk itu, bawaan dr SIMATIC, makanya sy coba tanya ke mas td. πŸ˜€
    Thanks mas. . (y)

Leave a Comment

Your email address will not be published. Required fields are marked *