Simatic HiGraph

HiGraph Add comments

Salah satu jenis bahasa pemrograman di S7 yang mungkin kalo menurut saya enak banget :)
Sesuai dengan standar IEC 61131 kita kenal 4 bahasa pemrograman yang standar yaitu Instruction List (IL), Structured Text (ST), Ladder Diagram (LAD), Function Block Diagram (FBD). Selain dari bahasa - bahasa tersebut Step7 juga memiliki bahasa - bahasa pemrograman tingkat tinggi lain seperti SCL, Graph, HiGraph, CFC, dan SFC sesuai dengan tipe atau jenis kasus yang pemrogramannya akan kita buat. Secara garis besar saya mengelompokkan ada dua tipe kasus yaitu kasus dengan pemrograman interlocking dan sequencial (event-state).
Yang akan saya bahas kali ini yaitu tentang HiGraph, karna saya banyak menemukan kelebihan di bahasa ini. Untuk menggunakan HiGraph ini kita memerlukan installer tambahan, dimana untuk contoh kali ini saya menggunakan Simatic HiGraph v5.3 .

Misalnya saya mempunyai sistem sederhana seperti dibawah ini :


Dengan cara kerja sistem sebagai berikut :
- Step 0 (initial) : semua equipment stop
- Transisi Step 0 - Step 1 : tombol “Start”
- Step 1 (Heating) : mengaktifkan Valve AV58 dan Motor M51
- Transisi Step 1 - Step 2 : temperature VS50 (TT58 >= 50°C)
- Step 2 (Transfer) : mengaktifkan Valve AV908 dan Motor M61 serta menon-aktifkan AV58 dan M51
- Transisi Step 2 - Step 3 : VS60 high level
- Step 3 (Stop Motor Transfer) : menon-aktifkan M61
- Transisi Step 3 - Step 0 : M61 Stop


Dibawah ini adalah DB dari objek objek yang bersangkutan

Kemudian inisialisasi instance template dari HiGraph, yaitu masuk ke S7 Program -> Source -> Klik Kanan -> Insert New Object -> State graph

Kemudian kita “rename” menjadi “Hot Water”

Tampilan awal saat State Graph kita buka

yup, disitu bisa terlihat initial condition dengan permanen instruction (continuous cyclic), langkah selanjutnya yaitu dari cara kerja yang telah kita paparkan tadi jelas terlihat bahwa program yang akan kita buat terdiri dari 4 state, nah kita insert state sebanyak 4 buah seperti contoh di bawah ini


nah kelebihan dari HiGraph yaitu posisi state serta permanen instruction bisa kita pindah pindah posisinya semau kita, fleksibel sekali khan?? :)
Kemudian kita menambahkan transisi ke graph tersebut


Kemudian dari transisi tersebut kita buat instruction untuk conditionnya, dalam hal ini menggunakan bahasa STL untuk instructionnya :) Caranya yaitu klik dua kali di transisi kemudian insert di conditions

Kita lihat di cara kerja sistem yang telah kita buat, disitu transisinya yaitu tombol start, maka logikanya yaitu A “Start” (dimana A artinya yaitu logika AND di STL, serta Start adalah simbol dari address memory yang telah kita buat)

Kemudian setelah itu mengisi action di state sesuai dengan cara kerja yang telah kita deskripsikan

Kita isinya di Cyclic Actions sehingga logika tersebut selalu dieksekusi, jika hanya ingin sekali di eksekusi bisa kita letakkan di Entry Actions



Untuk hal yang sama dang sesuai dengan cara kerja yang telah kita buat, begitu juga dengan state dan transisi transisi selanjutnya, sehingga menjadi seperti di bawah ini

Setelah selesai kita membuat graph statenya, langkah selanjutnya yaitu membuat graph group, jadi kita balik lagi ke S7 Program -> Source -> Klik Kanan -> Insert New Object -> Graph Group

Kemudian kita masukkan instance (graph state) yang telah kita buat sebelumnya

Kemudian Graph group tersebut kita compile sehingga menjadi sebuah FC dan DB, tapi sebelum di compile ada hal hal yang harus di set terlebih dahulu

Save and Compile

Tidak ada Error dan Warning

Kemudian bisa kita lihat otomatis di block terlihat FC1 dan DB 1 hasil compiling

Kemudian langkah selanjutnya yaitu mencoba program tersebut, dalam hal ini saya menggunakan PLC Sim serta untuk monitor dan modify variabel menggunakan variabel tabel

Semua variabel yang akan kita modify dan monitor kita letakkan di variabel tabel tersebut


Langkah selanjutnya yaitu memonitor graph group dan graph state yang telah kita buat, tapi terlebih dahulu FC1 (hasil compile) kita panggil dari OB1


Nah tanda hijau di state 0 menandakan statenya lagi berada diposisi itu :) serta menunggu nilai “Start” untuk pindah ke state 1, misalnya kita simulasikan di variabel tabel

jika “start” kita ubah menjadi “true” maka AV58 dan M51 juga bernilai true, karena sekarang posisi statenya sudah di state 1, dan di graph nya akan terlihat seperti ini

warna “orange” menandakan state dan transisi yang sebelumnya dilewati, kemudian jika kita simulasikan lagi untuk ke state berikutnya

kita simulasikan temperature menjadi 60.0 , disitu terlihat AV58 dan M51 nilainya berubah menjadi false, sedangkan AV908 dan M61 nilainya menjadi true, karna kita sudah berada di state 2 (transfer)

hehehehe untuk simulasi selanjutnya bisa dicoba sendiri :)
bahasa pemrograman seperti ini sangat memudahkan sekali apabila diterapkan di suatu proses yang banyak sekali step - stepnya, kita bisa memonitor dimana state kita sekarang hanya dalam satu window, serta semua posisi dari state dan transisi bisa kita pindah sesuai yang kita mau :)

18 Responses to “Simatic HiGraph”

  1. layudhi Says:

    Komentar :
    HiGraph nya bisa dimonitor juga ya :)
    Karena bagi saya baru, (gak tau kalau diExplore lebih dalm) sepertinya agk sulit ya. Kita secara umum harus sudah bisa membayangkan secara detil rangkaian Proses yang akan kita buwat, dari awal sampai akhir.
    Untuk pemrograman dengan ini say rasa agk sulit untuk pemrograman parsial,

    Pertanyaan :
    1. Jadi apakah pada awlnya kita hanya menyediakan Object-nya?
    2. Jadi selama ini di kantor ngerjain itu mas ya, pantes aja si Bos ngomong “Not Good” hahahahhhahahha

  2. Fathoni Says:

    wah pertanyaan bagus mas layudhi bengak
    yah gak lah….khan state serta transisi bisa kita sisip serta digeser geser atau dipindah pindah dimana aja…justru disitu letak kelebihannya :)

  3. anwar Says:

    mas salam kenal.minta contac person nya dong.ma alamat emailnya.

  4. Fathoni Says:

    salam kenal juga mas
    email : fathoni@toekangplc.com

  5. Adit Says:

    hmmm yang waktu itu ya bang…hmmmmm yang sebelumnya juga belum khatam….hehehehehe function2nya belum tak utek2 semua..baru sebagian kecil….

  6. ciwa Says:

    mas, punya contoh2 convert fungsi LIR dan TIR dari Step5 ke Step7. katanya sih bisa pake indirect addressing tapi masih blm mudeng nih..:)

  7. Fathoni Says:

    maaf gak ada mas :)

  8. joephi Says:

    Salam kenal,
    Mau nanya nich, bisa kasih contoh tag untuk time syncronize dari WinCC –> S7. Maksudnya biar PLC bisa update time dari PC Time Server.

    Tq

  9. Fathoni Says:

    nanti saya kirimin contoh aplikasinya ke email mas

  10. K_Ramdhani Says:

    salam kenal,
    saya mw tanya nih tentang PLC Omron tipe Zen-10C1AR-A.
    apa bisa PLC tersebut digunakan unt aplikasi conveyor sederhana?
    inputnya sensor n output nya motor.
    kira2 unt output PLC nya menggunakan jenis motor apa ya?n berapa volt?!

    nb:panjang n lebar conveyor kira2 1.5m x 20cm

  11. joephi Says:

    ok mas ditunggu contoh aplikasinya.

    Tq

  12. Fathoni Says:

    @ K_Ramdhani

    saya gak pernah pegang ZEN mas
    maaf yah gk bisa bntu

  13. Tresna Says:

    Wah wah…. HiGraph yah? mantap2, ini aja yang STL belum tamat :D

    @ K_Ramdhani
    OMRON ZEN 10C1AR-A ya? smart relaynya OMRON tuh. Pake ladder juga bahasanya.

  14. joephi Says:

    # joephi Says:
    February 25th, 2009 at 10:33 pm

    Salam kenal,
    Mau nanya nich, bisa kasih contoh tag untuk time syncronize dari WinCC –> S7. Maksudnya biar PLC bisa update time dari PC Time Server.

    Tq
    # Fathoni Says:
    February 26th, 2009 at 5:54 am

    nanti saya kirimin contoh aplikasinya ke email mas
    ——————–
    Mas contoh aplikasinya bagaimana?

  15. Fathoni Says:

    maaf mas
    lagi sibuk2nya
    jadi belon sempat cari2 contoh project
    untuk yg auto synchronize
    dulu aku simpan di server kantor

    kalo cara manual gini :
    dari tag wincc ambil driver system info, disitu ada info untuk date time scada, nah tiap beberapa saat (terserah trigernya kapan) disynchronize date time plcnya pake SFC 0 dan SFC 1 untuk SET dan READ CLOCK PLC

  16. Fathoni Says:

    SFC0 itu khan untuk SET CLOCK, nah dengan triger yang telah ditentukan, kita move aja nilai date time dari system info wincc ke tag data block yang ada di SFC0, selain itu triger itu juga berfungsi untuk mengaktifkan SFC0 di program PLC, nah otomatis dech date time PLC mengikuti date time SCADA

  17. Denny Sukma Says:

    weuw…mangstab boz..
    Nice post..keren..keren …nambah ilmu… makasih Boz

  18. Arif Says:

    Ass.. Wr. Wb.
    Slm kenal Mas, sy ingin skli belajar PLC Khususnya Siemens S7 dr dasar, apa boleh saya minta penjelasan2 dsr soal S7 ini Mas, thnks.

Leave a Reply

Copyright © 2008 Achmad Fathoni, Powered by Wordpress, WP Theme redesign from Glossyblue
Entries RSS Comments RSS Log in