Komunikasi S7 PLC via Ethernet ( PUT and GET )

Net Pro Add comments

Dalam pengaplikasiannya, terkadang dalam suatu plant kita mendapatkan lebih dari satu PLC.
Disini saya mencoba sedikit berbagi, tentang bagaimana membangun komunikasi antar 2 CPU S7-300. Mengapa saya tulis sebagai komunikasi antar 2 CPU, karena untuk bahasan ini CPU yang digunakan adalah jenis CPU yang terlah memiliki fasilitas ethernet connection, atau biasanya sering disebut tipe PN (Profinet). Ethernet adalah media umum yang paling sering digunakan untuk komunikasi baik itu antar PLC maupun dari PLC ke SCADA, dsb.

Komunikasi antar PLC S7 yang akan saya jelaskan disini menggunakan fasilitas library / function bawaannya software Simatic Manager. Banyak function maupun function block yang bisa digunakan untuk membangun komunikasi antar 2 PLC. Untuk saya sendiri, biasanya sering menggunakan function block untuk PUT dan GET, dimana dengan cara ini kita cukup membuat logika pemrograman komunikasi di satu sisi PLC, sedangkan disisi yang lain hanya cukup menyiapkan data block atau memory yang akan ditulis atau dibaca.

Berikut langkah - langkahnya :

- Buka NetPro untuk konfigurasi network


- Tampilan dari NetPro

- Klik kanan di table –> Insert New Connection

pilih unspecified station, karena biasanya dalam satu project saya hanya menggunakan single CPU, selain itu pilih juga S7 connection, karena yang kita komunikasikan adalah antar CPU bukan CP.

- Konfigurasi untuk Active Connection (PUT)

dalam contoh kali ini IP untuk CPU S7 yang kita tuju adalah 172.17.5.12

jangan lupa juga dipastikan rack 0 dan slot 2 untuk partner CPU

- Konfigurasi untuk non Active Connection (GET)

Perhatikan di bagian establish an active connection, untuk PUT di centang, sedangkan untuk konfigurasi GET tidak di centang. Kemudian Local ID nya berbeda diantara 2 konfigurasi tersebut, Local ID ini nantinya akan digunakan di FB PUT dan FB GET.

- Hasil dari dua konfigurasi tersebut

- Prepare untuk FC dan DB send dan receive data

- Scripting

Penjelasan untuk masing masing FB (PUT and GET), bisa dilihat dengan menekan F1 pada FB yang bersangkutan. Disini saya jelaskan sedikit dari elemen elemen FB tersebut :

- REQ : adalah trigger kapan fungsi PUT (mengirimkan data) dan fungsi GET (mengambil data) dieksekusi
- ID : Local ID saat kita menkonfigurasi di NetPro
- DONE & NDR : adalah bit yang aktif begitu semua proses untuk PUT dan GET sukses
- ERROR : bit yang akan aktif apabila ada kegagalan dalam proses pengiriman dan pengambilan data, hal ini yang bisa dimanfaatkan sebagai interlock dalam suatu proses yang berhubungan antar dua atau lebih CPU.
- STATUS : nilai word yang berfungsi untuk diagnostic (bisa dilihat di help dengan menekan F1 di FB yang bersangkutan)
- SD_1 : data yang akan di dikirim / diletakkan ke partner CPU (pointer)
- ADDR_1 : adalah data di partner CPU yang akan menerima data kita (untuk fungsi PUT), atau data yang akan kita ambil (untuk fungsi GET), dan juga menggunakan tipe pointer
- RD_1 : data di local CPU sebagai tempat penampungan dari data yang telah kita ambil di partner CPU

Jadi intinya dengan cara seperti ini kita hanya membuat logika di satu sisi CPU aja, sedangkan sisi yang lain hanya menyiapkan data yang akan diambil dan data yang akan diterima, tidak logika komunikasi dikedua sisi seperti cara komunikasi yang lain misalnya menggunakan AG_SEND AG_RECV, BSEND BRECV, TSEND TRECV, dsb.

Tapi kemudian masalah yang timbul adalah bagaimana partner CPU bisa mengetahui bahwa komunikasi yang dibangun error ? :( Untuk mengatasi hal ini, Local CPU harus mengirimkan suatu nilai heartbeat (data yang selalu berubah ubah) , dan disisi partner kita harus membuat sedikit logika untuk mendeteksi heartbeat tersebut. Apabila tidak ada perubahan dalam beberapa saat, maka bisa dikategorikan bahwa komunikasi antar CPU tersebut gagal :)

33 Responses to “Komunikasi S7 PLC via Ethernet ( PUT and GET )”

  1. taufiq888 Says:

    Mas kalau komunikasinya antar PLC dan DCS CS 3000 gmana mas ?

    Thanks

  2. e.one Says:

    thx, atas petuntuknya dah aq coba & ok. cuman yg rada kurang paham ini mas “pilih unspecified station, karena biasanya dalam satu project saya hanya menggunakan single CPU” -> hanya ada pilihan itu bukannya krn mas Toni ini konfigurasi hanya untuk 1 PLC dlm satu project(or dpt diartikan partner masih belum didefinisikan di konfigurasi)? yg kedua “pilih juga S7 connection, karena yang kita komunikasikan adalah antar CPU bukan CP” -> S7 Connection itu setau saya dipilih krn kita make protokol S7, seandainya pake protokol laen misal Modbus/TCP dgn konfigurasi yg tetap sama maka yg harus dipilih adalah TCP Connection, jadi ngk ada hubungannya antara CPU & bukan CPU … mohon pencerahan

  3. Fathoni Says:

    iya bener mas :) berarti konsep saya masih salah nie :)

    - yang pertama : biasanya selain menggunakan lebih dari 1 CPU, cukup add object other station juga bisa

    - yang kedua : dalam pengalaman ku selama ini digunakannya untuk komunikasi ethernet, dimana komunikasi ethernet pada S7 bisa integrated di CPU atau tersendiri menggunakan CP-Ethernet :)

    terimakasih atas koreksinya mas :)

  4. riva Says:

    Salam kenal mas.., banyak ilmu dari blog ini…
    Saya termasuk masih baru belajar plc,..
    Boleh tanya dikit ya mas..
    Gini mas di tempat saya bekerja ada mesin baru, konveyor.
    Sama bos.. saya disuruh ngidupin, tapi saya nggak bisa akses accessible node nya.
    PLCnya pakai CPU 315-2 pn/dp, port MPI/DP udah dikonek dg 4 buah inverter dan 1 OP, yang kosong port PN nya. Udah saya coba pake kabel cross saat langsung konek ke PLC dan kabel stight dg pake hub. Tapi keduanya gagal. Kira-kira gimana mas cara saya agar bisa konek dg PLC dan upload programnya?
    mohon pencerahannya…

  5. Fathoni Says:

    salam balik mas,
    mungkin port PN nya belum di aktifin, mas cari accessible nodenya pake PC Adapter MPI/DP ke port MPI/DP aja…

  6. riva Says:

    Thx, atas petunjuknya..
    Sdh tak coba pake usb-pc adapter, pada pg/pc interface sdh tak coba pake mpi dg berbagai macam baudrate, udah tak coba juga pakai adapter profibus dg berbagai macam baudrate, akan tetapi accessible node nya tetep gak mau nampak,…???
    Mohon pencerahannya..kenapa ni PLC kok ngambek?
    Mesin konvey ini dari Taiwan.

  7. inov Says:

    bos..ada masalah nih..s7-200 cpu216 komunikasi dengan s7-300 cpu 314-2dp. konfigurasinya adalah s7-300 ke op1, op2dan terakhir ke s7-200. pada program menggunakan perintah put dan getdi s7-300.permaslahannya dari s7-300 ke op1 dan op2 datanya bisa muncul (nilai ada pada OP)tetapi nilai put pada s7300 tidak terbaca di s7-200 (pada saat online)
    dari s7-200 ke op1 dan op2 datanya muncul tetapi nilai pada s7-200 yang di-get s7-300 tidak update. permasalahan pada apa ya?
    secara hardware komunikasi menggunakan profibus, dan sudah saya ganti profibus connectornya….ada usulan mas?

  8. ratmaja Says:

    Salam KnaL Mas Fathoni,

    Saat ni saya lagi da project pake plc & hmi made Yokogawa !!
    PLC digunakan untuk read data dari FlowComputer FloBoss S600 & control beberapa device di field !
    Saya belum familiar dengan Yokogawa, soalna project2 sbelumnya saya biasa pake Siemens atau Mitsubishi []

    Mungkin Mas atau rekan2 ada yg jago pake Yokogawa, tlong saya diberi masukan/informasi

  9. david Says:

    @inov barusan ada project menggunakan put dan get juga, hmm smoga ada sedikit pencerahan, itu perintah put dan get nya apakah sdh diset secara benar?? baik untuk address profibusnya(setau saya itu koneksi MPI), setelah address sudah okey pada port masing2 , samakan juga baudratenya..selain hal dasar itu juga ada data block yang digunakan, setau saya yang di put dan di get data blocknya tidak boleh sama.
    hal ini memang mendasar sih tapi sangat penting untuk diperhatikan

  10. Agus Says:

    salam kenal mas,,,
    mo tanya mas,,berhubung saya masih baru dalam dunia ini,,hehehe
    Saya sedang ada project yang mengharuskan utk integrasi antara 2 buah s7 300,,jarak antara keduanya sekitar 400meter,,apakah saya bisa menggunakan ethernet? (sbg tambahan saya jg gunakan FO). Atau mas punya saran lain?
    Terimakasih untuk bantuan dan jwabannya,,
    :)

  11. Fathoni Says:

    @inov : mas, setahu saya untuk S7200 hanya bisa sebagai slave profibus dp, kalo saya liat konfigurasi mas disitu s7200 juga sebagai master, jadi untuk nampilin data dari s7 200 ke OP sebaiknya dikirim dulu datanya ke s7300

    @agus : kalo ethernet dengan kabel tembaga biasa, hanya bisa sampe 100 m (tanpa hub/switch), kalo pake FO, bisa sampe km :) jadi sebaiknya pake FO aja dengan tambahan pake ethernet FO converter dikedua sisi, cuma harus hati hati dalam pemilihan converternya sesuai dengan kabel FO yang digunakan apakah multimode atau single mode.

  12. antoni Says:

    mas, mau tanya, saya ingin menghubungkan plc TWDLCAE40DRF dengan sebuah PC untuk membangun sebuah program di Linux. Koneksi dengan kabel Ethernet dan dengan protokol Modbus. Saya bingung, sebenarnya saya ingin membaca variabel2 dari PLC itu agar dapat digunakan di PC. Bagaimana data2 variabel tersebut dapat terbaca lewat Ethernet dan Modbus ya mas? Tips-tips apa yang harus saya pelajari dulu selain Modbus? Saya masih bingung cara menggunakan Modbus via Ethernet.

    Saya sudah mencoba dengan library dari “libmodbus.org” dan berhasil mensimulasi pengiriman data dari master dan ke client dengan alamat IP yang sama. Tapi saat saya coba ubah IP client ke alamat IP PLC, sementara IP master tetap mengacu ke PC saya, justru tidak berjalan.

  13. Fathoni Says:

    waduh kalo SCADA via linux ane belum tau mas :)
    kalo di windows bisa pake protokol OLE dan DDE

    maaf ga bisa bantu mas :)

  14. antoni Says:

    kalau begitu, bagaimana sebenarnya sistem pengiriman data via modbus ya mas? khususnya via ethernet? modbus kan ada bentuk data tersendiri, tapi bingungnya bagaimana cara modbus itu bisa mengambil data dari plc?
    makasi sebelumnya

  15. Fathoni Says:

    maaf mas ga bisa membantu lebih jauh, takut salah2 ntar :)
    setahuku sih dasar basicnya sistemnya by request gitu
    jadi si master kirim paket data gitu ke client
    nah si client nanti ngirim responnya berupa paket data

    coba liat di modbus.org :)

  16. Hery Says:

    mas saya minta sarannya dong, saya punya PLC s7-300 dengan komunikasi MPI, saya belum punya kabelnya mas. ada solusi ter murah ngga mas untuk kabel komunikasinya??

  17. fathoni Says:

    pake kabel MPI yang konektor DB9, kalo ga salah harganya 1 jt-an, kalo yg usb sekitar 4-5 jt

  18. joko Says:

    Salam kenal mas, mas saya mau minta tolong nih. Saya ada program s7 untuk power gen driven by steam turbine,cuma isinya bahasa jerman bisa minta tolong kasih tahu gimana translate ke englishnya? programnya besar sekali(700MB setelah saya kompress bisa 200MB)

  19. fathoni Says:

    cobain pake software ini mas :

    http://www.ibhsoftec-sps.de/english/Product_selection.htm

  20. Firman Says:

    Salam Kenal mas,

    Saya pemula di PLC S7 dan WinCC Flexible 2007, ada sedikit masalah, setelah saya install WinCC Flexible 2007 trus di run ternyata ada pesan “WinCC flexible Application has encountered a problem and needs to close. We are sorry for the inconvenience.” Mohon Informasinya

    Terima kasih

  21. fathoni Says:

    biasanya itu “smart start wincc” nya error
    coba di cek di start up windowsnya

  22. beni Says:

    mas saya mau tanya, saya ada mesin peracik warna di pabrik tekstil, menggunakan scda dan siemens s7300,bagaimana caranya saya mau mendownload dan cek komunikasi, setelah saya ikuti petunjuk , terdapat alarm protokol error, mohon penecerahannya, baru belajar PLC…menggunakan windows7 mas

  23. fathoni Says:

    pake protokol apa mas ?
    MPI, DP atau PN ?
    kalo protokolnya bener setingannya bener sharusnya ga bermasalah :)

  24. beni Says:

    nah itu dia mas, cara ngechecknya gimna???mohon pencerahannya hehe, saya beljar otodidak

  25. beni Says:

    pake ethernet mas

  26. fathoni Says:

    tipe plcnya apa yah ?
    kalo udah tau ip si PLC, tinggal diset aja ip PC/laptop yang mau dikonek kesitu, ipnya tapi ga boleh sama dengan si PLC atau apa aja device yg konek dalam satu network, kalo udah tinggal di set pg/pc interface sesuai network adapter yang digunakan, trus udah deh :)

  27. beni Says:

    siemens s7 300 mas, ngecheck ip plcnya gimana mas..hehehe
    ada account skype ga kang??????

  28. beni Says:

    eh salah mas pke kabel data , pas dilihat di set pg/pcnya …ga bisa di properties…klo bisa kirimin emailyah mas, cara settnya.:)

  29. beni Says:

    pokoknya setiap di open online, selalu protokol error

  30. fathoni Says:

    coba lewat skype aja
    lebih mudah diskusinya
    accountnya : achmad-fathoni

  31. beni Says:

    ada banyak mas yang mana nya???skypenya

  32. arip ansori Says:

    klo mau beli plc siemens s7 200 cpu 224 disurabaya dimana ya,,,terus harganya sampai berapa. mohon informasinya

  33. Fathoni Says:

    @arip : udah saya japri email pak

Leave a Reply

Copyright © 2008 fathoni.co.cc, Powered by Wordpress, WP Theme redesign from Glossyblue
Entries RSS Comments RSS Log in