Monday, June 14, 2021

KKN UGM PPM JT-122

hari-h sebelum berangkat

KKN adalah salah satu momen yang gak pernah saya lupakan. Saya mendapat kesempatan untuk melaksanakan KKN di desa Kalibening, Kecamatan Dukun, Kabupaten Magelang Jawa Tengah. Lokasinya berada di kaki Gunung Merapi. Kalau dari peta dibawah sih waktu tempuhnya kurang lebih sekitar satu jam-an lah dari kota tercinta wkwkwkwkwkwk (bahkan di maps saya kaget masih ada tanda home nya wkwkwkwkwkwk). Selalu kangen rasanya pingin balik ke Jogja :)

lokasi Desa Kalibening


Mungkin di part ini saya gak akan cerita detail lah pelaksanaan kegiatan, persiapan, keberangkatan segala macam. Saya orangnya sih lebih suka mengamati, memikirkan dan memaknai suatu kegiatan.

Not Knowledge, but Attitude
Ini sebenarnya ilmu sepanjang hayat sih, first impression yang membuat orang senang dengan kita menurut saya adalah sifat. Walau saya adalah pengagum orang-orang pintar, saya tetap berpikir bahwa attitude/sifat adalah yang utama. Tapi bukan berarti kita jadi malas belajar dengan berpikir bahwa attitude kita sudah oke ya wkwk. Jangan pernah mencari pembenaran atas sifat buruk kita hanya karena pembenaran kita tingkatannya lebih tinggi dari keburukan itu... ya begitulah tafsiran pemhaman saya dari sumber-sumber filsafat yang saya tonton.
Btw terkait dengan attitude, saya mungkin mau sharing suatu pernyataan : "Kagumi sifatnya, jangan orang/tokohnya". Pernyataan ini begitu relevan loh dengan maraknya hoax di grup keluarga zaman now wkwkw. Orang sekarang membela mati-matian orang yang mereka percayai sebagai tokoh panutan, hingga muncullah hoax-hoax tadi wkwk. Bagi saya, cukup kagumi sifatnya... jangan tokohnya. Karna kalau kita mengagumi tokoh, kita tidak akan pernah siap menerima kenyataan ketika tokoh yang kita kagumi melakukan kesalahan. Fatalnya lagi, kita jadi manusia yang berusaha memaklumi suatu keasalahan yang paling fatal sekalipun. Lah tapi kan yang namanya manusia tidak luput dari kesalahan? Cukup katakan salah ketika tokoh yang kita kagumi melakukan kesalahan. Wkwkwk jadi jauh kan bahasannya.
KKN itu intinya adalah attitude. Warga selalu pertama kali melihat attitude kita. Mau sehebat dan sebagus apapun proyek yang akan kita lakukan di lokasi KKN tapi kalau attitude kita buruk, percayalah kita akan jadi bahan gunjingan di kalangan warga desa. 

Simpati, Empati dan Kepekaan
Hal yang satu ini merupakan hal yang penting bagi saya. Saya beberapa kali pergi ke Jakaerta menggunakan KRL. Peraturan KRL mengatakan bahwa tempat duduk di prioritaskan untuk difabel, lansia, ibu hamil, perempuan, dan anak-anak. Gak jarang saya diperlihatkan dengan pemandangan pria muda yang dalam kondisi begitu santai duduk, padahal ada ibu-ibu didepannya berdiri. Ini bukan sekali dua kali terjadi, bahkan hampir setiap kali saya menggunakan KRL. Kondisi ini menurut saya yang disebabakan  oleh sifat lack of empati, simpati dan kepekaan.
Saya dahulu ketika SMA juga seperti itu. Prinsip saya saat itu, apapun yang terjadi disekitar saya, saya gak perduli. Istilahnya, saya urusi hidup saya, kamu urusi hidup kamu. Atau bahasa cueknya take care of your own bussiness lah. Saya pernah segila dan sengeri itu. Tapi semua berubah ketika saya kuliah di Jogja. Saya sadar bahwa sehebat, sepintar, sekuat, sekaya apapun kita, kita tetap membutuhkan orang di sekitar kita. Kalau kata orang-orang tua zaman dulu, "kenapa harus egois, toh yang ngantar dan nguburin mayat kita nanti juga orang lain" wkwk begitulah yang sering saya dengar.
Warga di Kalibening begitu luar biasa simpati dan empatinya. Misalnya saja ketika ada warga yang ingin bangun ataupun renovasi rumah. Hampir semua pria di desa ini membantu warga tersebut, entah sekedar memindahkan material, meratakan tanah, bahkan hingga menancapkan tiang pondasi. Ibu-ibu biasanya akan gotong royong untuk memasak makanan. Segila itu warga Kalibening soal simpati dan empati.
Ketika saya dan rekan sedang mengerjakan pembuatan plang arah jalan desa di perempatan desa, kami merasa kesulitan untuk menggali tanah untuk pondasi plang. Tiba-tiba seorang Bapak turun dari motonya sambil bertanya, "Lagi ngapain Mas?". "Lagi buat pondasi untuk plang jalan Pak" jawab kami. Karena Beliau melihat kami begitu kesulitan menggali tanah, kemudian Beliau meminta linggis yang kami bawa dan langsung mengajari kami cara menggali dengan linggis. Sampai tahap sepeduli itulah kadar simpati dan empati warga di desa ini. Hal ini menurut saya akan tetap relevan sampai kapanpun.

Unforgettable  Moment

The Missing Communication
Saya suku Batak, namun saya akui kekurangan saya ada pada komunikasi bahasa adat. Saya sering mengikuti acara adat Batak, namun kekurangannya saya tidak memiliki inisiatif untuk mempelajari bahasa suku saya. Setelah saya kuliah di Jawa, saya melihat bahwa kebanyakan teman saya suku Jawa hampir semua bisa berbahasa Jawa. Ini juga yang membuat saya minder apalagi kalau orang berkata "kamu udah 4 tahun kuliah di Jogja masa gak bisa ngomong Jawa" wkwkw. Saya dengan senyum slalu menjawab " iso sitik-sitik wkwkw".
Pada minggu pertama kami melaksanakan KKN, kami memiliki agenda untuk menjumpai semua ketua RT di desa Kalibening untuk kulonuwun (silaturahmi). Hal yang harus/memang/ dan sewajarnya kita lakukan ketika kita mengunjungi atau pindah ke suatu tempat, apalagi pedesaan. Saya sebagai pemimpin subunit, datang ke rumah ketua RT bersama semua anggota untuk perkenalan dan menyampaikan maksud kedatangan kami. Setelah saya menyampaikan intro, tiba-tiba Bapak Ketua RT ngomong dengan bahasa Jawa. Walaupun saya gakbegitu paham, inti yang saya pahami bahwa Beliau tidak fasih berbahasa Indonesia. Karena saya juga gakpaham ngomong Jawa, saya langsung memberi isyarat kepada rekan saya yang paham untuk mengambil alih pembicaraan wkwk. Walau saya gakbegitu paham komunikasi yang disampaikan Beliau, saya melihat gestur Beliau yang begitu welcome menyambut kami. Uniknya, hanya 2 dari 7 Ketua RT Kalibening pada saat itu yang fasih berbahasa Indonesia. Intinya sih the key of communication is not only about language, kalau kita memiliki niat dan keinginan yang tulus, orang pasti memahami keinginan kita.

Ibadah di Lereng
Selama 1 bulan mengikuti KKN, saya hanya 2 kali mengikuti ibadah umum. Karena warga Nasrani disini mayoritas beragama Katolik dan Gereja Protestan yang begitu jauh, saya akhirnya ikut teman Katolik untuk beribadah. Ketika saya dan 2 teman lainnya sampai di tempat ibadah, saya begitu kaget karena tempat ibadah nya berada pada undak2 bukit. Pastor yang menyampaikan khotbah berdiri tepat di titik terendah lereng, dan jemaat ada yang duduk di tanah yang datar, dan ada pula duduk di jalan turunan lereng. Dengan beralaskan tikar dan koran, mereka begitu hikmat mendengar khotbah kali itu. Beberapa jemaat berteduhkan tenda, bahkan karena begitu banyak jemaat, banyak juga jemaat yang bertendakan langit.  Btw momen ini salah satu yang berkesan bagi saya. Pertama saya tidak pernah mempelajari agama Katolik. Walaupun sama-sama Nasrani, Protesan dan Katolik berbeda jauh dari banyak aspek, apakah itu prosedur ibadah, kitab Suci, doa, dan sakramen (upacara khusus). Kedua, karena hampir semua jemaat merupakan suku Jawa, Pastor tersebut berkhotbah dengan bahasa Jawa wkwk. Ketidakpahaman saya menjadi double saat itu wkwk. Walau begitu, saya pribadi lebih suka memikirkan makna dari apapun yang terjadi di sekitar saya. Bagi saya, makna ibadah mereka begitu dalam. Mereka datang kepada Sang Khalik bermodalkan kesederhanaan. Artinya, Tuhan tidak melihat dengan apa kita datang kepada-Nya, tapi semurni apa hati kita untuk menyembah-Nya. Begitulah hasil perenungan saya saat itu kala memandang wajah jemaat yang begitu khusuk ketika beribadah. Kalau saya pribadi memiliki kecendrungan untuk mengingat suatu kejadian/event bukan dari semeriah/semahal apa, tapi makna apa yang bisa saya petik dari event tersebut.

lokasi ibadah Katolik di lereng bukit

jemaat maju ke depan altar

Foto setelah ibadah

"Ibu orang tua siapa ya?"
Wkwkwk ini momen epic yang kalau saya ingat kembali selalu buat saya ketawa. Ada salah satu fenomena yang sering terjadi saat KKN. Dosen koordinator wilayah (KORWIL) biasanya tiba-tiba datang ke lokasi peserta KKN untuk melakukan sidak mendadak. Alasan logisnya adalah banyaknya mahasiswa yang balik ke Jogja namun dengan alasan yang tidak jelas. Istilahnya, di form absen ada tandatangan yang menyatakan berada di lokasi KKN, namun ternyata malah pergi ke luar kota, balik ke kos-kosan, bahkan untuk tujuan nonton dan jalan-jalan ke mall wkwk. Yang paling rawan sidak mendadak ini ada di wilayah KKN Jogja dan Jawa Tengah, karena hobi mahasiswa yang lebih suka balik ke Jogja dibanding berada di lokasi KKN.
Saya gak ingat tanggal dan waktunya, tapi yang saya ingat waktu itu siang sekitar jam 1. Saya lagi duduk diteras rumah sedang bermain bersama anak-anak disana. Tiba-tiba ada ibu (warga Kalibening) mendatangi rumah kami dan ngomong ke saya "Mas ada yang cari lokasi pondokan (rumah) KKN". Pikiran saya waktu itu kemungkinan ada orang tua teman saya yang datang berkunjung, karena mayoritas orangtua teman saya tinggal di Jogja. Kemudian saya langsung keluar menuju mulut gang untuk menyambut beliau.  Saya melihat seorang wanita paruh baya berjalan menuju saya. "Mau cari siapa ya Bu?" Tanya saya membuka percakapan.  "Pondokan mahasiswa KKN dimana?" timpal Beliau. "Itu Bu pondokannya (sambil menunjuk rumah kami)"jawab saya sambil menuntun Beliau menuju lokasi pondokan. " Maaf Ibu orang tua siapa ya?" jawab saya . "Lah kamu gak tau siapa saya? Yang mana kormasit" jawab Beliau lagi. "Saya Bu kormasitnya (pimpinan sub-unit)" jawab saya. "Kamu gaktau siapa saya?" tanya Beliau lagi." Maaf Bu saya tidak tau" jawab saya bingung. "Saya Korwil Jateng. Saya mau sidak kelengkapan anggota kamu" jawabnya. Seketika saya malu dan kaget wkwkw. Saya kira Beliau adalah orang tua teman saya awalnya. Beliaupun masuk ke pondokan dan mengecek kondisi pondokan, daftar hadir, dan catatan agenda kami. Sebenarnya yang terbersik di benak saya saat itu adalah image Beliau yang begitu keras ketika melihat tindakan indisipliner yang dilakukan mahasiswa selama KKN (dari kabar burung sih begitu) wkwk. Tapi ketika Beliau mendapati kami semua mengikuti aturan dan tidak ada yang melakukan pelanggaran, Beliau sebenarnya begitu baik dan mengayomi. Intinya ya Beliau memberi nasihat untuk menjaga nama baik almamater lah dimanapun berada, apalagi di posisi kita yang bertamu ke tempat orang. Intinya sih beliau bersifat keras karens banyaknya kasus pelanggaran selama KKN yang Beliau dapati ketika sidak mendadak. Selama kita benar, jangan pernah takut lah.

Ketika acara penutupan KKN bersama semua perangkat desa, saya langsung mengangkat tangan ketika ditanya siapa yang mau memberikan kesan dan pesan. Pada kesempatan itu saya sampaikan rasa terimakasih saya kepada Kepala Desa Kalibening bahwa sudah menerima kami dengan kemurahan hati yang begitu besar. Saya sampaikan juga bahwa warga di Kalibening mengajarkan saya pelajaran hidup yang tidak pernah saya dapatkan bahkan di kampus sekalipun. 
"Saat saya masih tinggal di Medan, tetangga sedang merenovasi rumah pun saya tidak tahu. Disini ada warga yang bangun rumah semua ikut membantu" Begitulah kalimat yang saya ucapkan menunjukkan kekaguman saya pada masyarakat Kalibening.

Intinya, pengabdian itu sebenarnya bukan melulu soal hal-hal hebat yang bisa kita berikan kepada masyarakat. Ketika kita care kepada orang di sekitar kita, simpati dan empati pada orang di sekitar kita, bahkan hingga memiliki rasa hidup bersama dengan manusia di sekitar kita, kita sudah menjadi orang hebat dan tanpa disadari kita juga sudah mengabdi pada Sang Pencipta. Lakukan hal kecil yang kita yakini benar, maka kita adalah orang-orang hebat.

The best moments

teknik fisika c squad

setelah upacara pembukaan KKN di depan kantor desa

persiapan pemilu kabupaten Magelang

Kulonuwun ke rumah ketua RT

perkenalan kepada warga Kalibening

Tim Subunit asik-asik jala-jalan ke Artos Magelang

Foto bersama Mendian Pak Is dan Ibu Is. Beliau (Pak Is) sudah berpulang ke Sang Khalik Januari 2021 lalu.

Foto di kebun cabe Pak Is dan Ibu Is

mengecat jembatan desa wkwk

Seusai mengajarkan siswa di MTs Kalibening

Es krim setelah ibadah wkwk

Pemasangan plang perempatan desa

Fatul, anak perempuan yang selalu gembira ketika bertemu dengan kami. Saya tidak sengaja mengabadikan momen ini ketika perlombaan 17 Agustus 2018


Tengkyuuu....

Saturday, May 29, 2021

WIRING PLC SEDERHANA MENGGUNAKAN LEVEL TRANSMITTER LR 250 sebagai ANALOG INPUT dan PUSH BUTTON | INSTRUMENT PART 14

Mungkin saya akan sharing sedikit terkait dengan wiring PLC sederhana menggunakan transmitter. 

        Sebelum saya menjelaskan konfigurasi, saya akan menjelaskan setup percobaan. Pada bagian terdahulu (PART 7 Instrumen) , saya pernah membuat program PLC untuk flowmeter (flowrate dan totalizer). Karena pada saat itu saya masih menggunakan PLC Simulator, pada bagian ini saya akan menggunakan LR 250 sebagai analog input (nialai analog level dianggap mewakilkan analog flowrate), dan dua buah digital input berupa tombol untuk medemonstrasikan nilai digital pulse tottalizer dan tombol reset totalizer. Untuk digital output nya menggunakan lampu sebagai indikator apabila nilai flowrate analog melebihi batas yang ditetapkan.

1. PLC S7-1200 CPU 1212C DC/DC/RLY

PLC pin terminal

penjelasan pin CPU ada pada datasheet/manual di bawah :
penjelasan pin PLC

2. Analog Input 4xU/I 2 Wire connected to SIMATIC ET 200 SP
Penjelasan pin AI module seperti gambar di bawah ;
analog input pin terminal module

3. Terminal Block
Terminal block digunakan hanya untuk meminimalisir banyaknya kabel dalam satu pin. satu terminal block memiliki 4 pin (lubang) dari atas ke bawah. Pin 1 dari atas terhubung ke pin 4 (paling bawah). Untuk pin 2 terhubung ke pin 3.

terminal block



4. Transmitter 
Wiring untuk 2 wire transmitter yang paling umum dikenal adalah sinking dan sourcing. Perbedaannya seperti gambar di bawah :
sinking vs sourcing

5. Push Button
Disini saya menggunakan 2 push button, yang berfungsi sebagai tombol pulse totalizer (digital input) dan reset totalizer (digital input).

6. Lampu
Lampu disini sebagai digital output, dimana lampu akan logic 1 ketika nilai flow (analog input) sudah melebihi batas nilai diberikan transmitter.

7. Relay
Disini saya menggunakan relay berjenis SPST. Relay merupakan komponen umum yang digunakan sebagai safety apabila nilai arus terlalu besar yang dapat merusak perangkat CPU PLC.

8. Wiring

wiring


Dari wiring di atas, dapat dijelaskan :
* Wiring menggunakan mode sourcing trasnmitter
* common yang digunakan merupakan common ground (setiap pin digital input CPU merupakan ground)
* kabel merah = merupakan kabel fasa, kabel biru = merupakan kabel netral.
* kabel hijau = kabel profinet
* pada looping 2 wire transmitter, seharusnya ada 2 kabel yang terhubung ke modul PLC (AI Remote I/O). Dapat dilihat pada modul AI Remote I/O. Namun pada kebanyakan kasus, PLC sudah di grounding melalui CPU. Dapat dilihat pada modul AI Remote I/O, seharusnya pin UV0 dan I0+ terhubung ke Power supply dan transmitter. Namun hanya IO+ (terminal positif yang terhubung), karena grounding UV0 sudah melalui CPU PLC.

setup simulasi


Hasil percobaan saya seperti gambar di bawah :




Tengkyuuuuu.....

Saturday, May 22, 2021

MODBUS MEMANG GILAAAA!!!!! | INSTRUMENT PART 13

Protokol komunikasi apa yang paling gila dalam trilogi protokol komunikasi? 

Saya akan menjawab MODBUS.

Ini didasarkan pada sisi pemrograman PLC MODBUS yang membutuhkan lebih banyak waktu dipelajari, dipahami, dan diresapi wkwkwk. Pada bagian ini, saya akan menjelaskan percobaan yang telah saya coba bersama mentor saya (walau yang lebih banyak berpikir sebenarnya bukan saya sih wkwkwkwkwkwk).

The most insane Protocol

Dulu saya berpikir bahwa ilmu dan seni PLC itu sederhana wkwkwk, ya paling intinya buat program berdasarkan kasus lah wkwk. Setelah saya diajari lebih dalam oleh mentor saya, saya mulai sadar bahwa PLC itu bukan soal pemrograman melulu. Saya diajari cara konfigurasi PLC (power supply yang dibutuhkan berapa ampere, modul komunikasi yang dibutuhkan seri apa, modul analog digital Input/outputnya seri apa) juga diajari cara pengkabelan PLC (PLC nya sebagai sinking atau sourcing ke transmitter, wiring relay dari PLC seperti apa) dan inti dari segala inti adalah terkait pemrograman (cara pemrograman analog input/digital input/digital output/analog output gimana, pemrograman menggunakan trilogi protokol komunikasi gimana) wkwkwk. Intinya PLC itu rumit lah wkwkwkwk.


Master and Slave Analogy


Salah satu analogi yang paling sering digunakan adalah istilah master-slave. Master disini tentunya merupakan PLC (karena seperti yang kita tahu otaknya ya PLC). Satu master (PLC) bisa punya banyak slave, ataupun 2 master/lebih bisa punya banyak slave (redundant system). Slave hanya akan menuruti semua perintah mastrer hanya jika komunikasi diantara master dan slave terjadi secara benar.

Kali ini saya akan sharing pengetahuan mengenai komunikasi menggunakan protokol  MODBUS. Jika sebelumnya pada protokol HART lebih difokuskan pada variabel apa yang ingin ditarik, pada MODBUS lebih difokuskan pada slave address and parameter address apa yang ingin kita tarik. Pada percobaan kali ini saya menggunakan 2 buah slave (instrument) yang support untuk komunikasi MODBUS. Disini saya memilih Level Transmitter MultiRanger dengan sensornya Probe LU untuk slave 1, dan powermeter SENTRON PAC 3100 untuk slave 2. Jikalau pada part sebelumnya saya sudah mencoba menggunakan SENTRON PAC dan berhasil untuk membaca data MODBUS, maka disini saya menambah parameter berupa :

1. penambahan slave menjadi 2 slave

2. tidak hanya bisa membaca data dari slave (read), tapi saya akan mencoba memberikan perintah ke slave (write)

Oke langsung saja masuk ke intinya.....

1. Wiring

wiring modul profibus, slave 1, slave 2

Dalam kabel MODBUS seperti yang pernah saya bilang, walaupun portnya menggunakan konektor DB9, namun jumlah kabel data nya hanya 2. Perlu selalu diingat, bahwa dalam komunikasi MODBUS, wiring slave dikoneksikan secara serial. Jadi urutannya PLC --> slave x --> slave y --> slave z. Tidak bisa slave x --> plc ; slave y --> plc ; slave z --> plc (tidak bisa paralel). Lebih jelasnya seperti gambar di bawah


Modbus wiring from master to N-Slave

2. Program PLC

2A. Blok diagram MAIN

main-1

main-2

main-3

2B. Blok Diagram Status

Blok diagram status

Diagram status digunakan sebagai blok fungsi dari blok main. Yang penting disini adalah melihat tipe data nya saja disesuaikan dengan aturan TIA Portal. Dapat dilihat pada menu HELP TIA PORTAL.

2C. Blok Diagram Receive Data

Blok Diagram Receive Data

Blok Diagram Receive Data merupakan blok dimana data-data yang akan di read ataupun di write akan disimpan. Data ini merupakan fungsi yang diarahkah ke data_ptr setiap blok diagram modbus_master pada main program. Data-data ini sejatinya mengandung data address dari masing-masing slaveHal terpenting disini juga adalah tipe datanya disesuaikan dengan datasheet. Misalnya pada datasheet powermeter ditulikan tipe data Real, maka kita harus membuat tipe data Real juga.

3 Penjelasan Program Ladder 

Flowchart Modbus dengan 2 slave

Flowchart untuk keseluruhan ladder diagram adalah seperti di atas. Intinya ada pada program CTU (counter up). Reset value CTU kita setting sebanyak slave yang mau kita kontrol. Karena disini saya punya 2 slave dan counter up memiliki initial value = 0, maka slave 1 = ctu (0), dan slave 2 = ctu(1). Sehingga ketika semua slave sudah selesai mengambil data, maka pengambilan data akan te-reset ke ctu = 0  (slave 1). 

Intinya :
PLC menyala --> tarik semua data slave 1 hingga selesai (CTU = 0)--> tarik semua data slave 2 hingga selesai (CTU=1) --> tarik kembali data slave 1 dst.....


3A. Program Main

Setiap kali kita ingin menggunakan MODBUS, kita ambil blok diagram MODBUS RTU pada blok komunikasi di sebelah kanan

Function Block Modbus RTU

Blok yang dibutuhkan adalah Modbus_Com_Load dan Modbus_Master. 

Penjelasan Ladder Diagram bagian 2.A MAIN  adalah sebagai berikut :

SLAVE 1 = POWERMETER SENTRON ,  SLAVE 2 = MULTI RANGER XPS LEVEL TRANS

# network_1 setup modbus (blok Modbus_Com_Load)

penjelasan blok modbus_com_load

req = merupakan request atau input apa yang bisa memproses blok tersebut. Disini saya menggunakan fisrt scan yang artinya ketika program dieksekusi PLC, maka program akan berjalan terus tanpa ada kondisi yang menghentikan

port =  diisi dengan port komunikasi RS-485

baudrate = diisi dengan 9600, baudrate ini harus diinput ke semua slave PLC dengan nilai yang sama agar komunikasi bisa terjadi

MB_DB, DONE, ERROR, STATUS diisi dengan variabel yang dibuat dari fumction blok lain.


# network_2 slave 2 data level

penjelasan blok modbus-com_master

Blok program ini untuk memanggil slave-2 (multiranger level transmitter)

en = 1, artinya blok program multiranger aktif setelah counter up bernilai 1 atau setelah PLC mengambil semua data power meter (slave-1)

mb_addr = 2, karena xps (level transmitter)  dalam percobaan ini merupakan slave-2.

mode = 1, mode 1 merupakan perintah write ke slave, sementara mode = 0 merupakan perintah read data dari slave

data addr = diisi dengan 41010 sesuai dengan datasheet Multiranger

Multiranger data address

data ptr = diisi dengan fungsi xps yang telah didefinisikan di blok receive data 2C. Tipe data diisi dengan integer.

Done, Busy, Error, Status diisi dengan fungsi yang telah didefinisikan di blok status 2B.


# network_3 slave 1 data kWh

Salah satu data utama dari power meter adalah data pengukuran kWh.

en = 0, artinya blok program POWERMETER aktif sesaat setelah PLC dinyalakan.

mb_addr = 1, karena power meter dalam percobaan ini merupakan slave-1

mode = 0, karena kita ingin read data dari slave power meter

data addr = diisi dengan 40802 sesuai dengan datasheet power meter (data addr = offset + initial value)

kebanyakan initial value bernilai 40000/40001, jadi 40001+802 = 40802

power meter kWh data address

data len = 4, karena jumlah register pada data kWh di atas tertulis 4

data ptr = diisi dengan fungsi kWh yang telah didefinisikan di blok receive data 2C. Tipe data diisi dengan LReal. Disini lah letak seni PLC, untuk menentukan tipe data saja kita harus mencoba berkali-kali. Karena beda tipe data, beda pula hasil yang akan ditampilkan.


# network_4 slave 1 data kvarh

network 4 sama dengan network 3, yang beda tentunya adalah data_addr = 40805 dan data_ptr disimpan pada fungsi yang berbeda


# network_5 slave 1 27 data

Disini saya akan mengambil langsung data power sebanyak 27 data sekaligus.

en = 0, artinya blok program POWERMETER aktif sesaat setelah PLC dinyalakan.

mb_addr = 1, karena power meter dalam percobaan ini merupakan slave-1

mode = 0, karena kita ingin read data dari slave power meter

data addr = merupakan data address pertama yang diisi dengan 40002 sesuai dengan datasheet power meter (data addr = offset + initial value = 40001 + 1)

kebanyakan initial value bernilai 40000/40001, untuk powermeter bernilai 40001... jadi 40001+1 = 40002

power meter important data address

data len = 53, karena jumlah register (offset) pada data powermeter diatas sebanyak 53

data ptr = diisi dengan fungsi powermeter yang telah didefinisikan di blok receive data 2C. Tipe data diisi dengan Array. Array [0....53] memiliki arti bahwa pengambilan data dilakukan dari ofset 0 hingga 53 secara langsung. Karena data yang ditarik lumayan banyak, maka membutuhkan waktu yang sedikit lama. Selama PLC mengambil 26 data ini, maka fungsi status_comm_master_busy = 1 atau aktif. Jikalau sudah selesai, maka status _comm_master_done = 1.


# network_6 write to powermeter

Jika sebelumnya kita hanya membaca nilai dari slave, sekarang kita akan memberikan perintah ke slave (mode write). Karena kita tahu bahwa variabel kWh merupakan active energi total (total konsumsi energi listrik yang terpakai), maka kita akan mencoba mereset nilai kWh tersebut. Kebetulan pada SENTRON PAC 3100 memiliki mode reset yang bisa diberikan dari PLC. Dapat dilihat pada kolom paling kanan, mode W memiliki arti mode write dari PLC ke Powermeter.


power meter reset function data address

en = 0, artinya blok program POWERMETER aktif sesaat setelah PLC dinyalakan.

mb_addr = 1, karena power meter dalam percobaan ini merupakan slave-1

mode = 1, karena kita ingin write data dari master (plc) ke power meter

data addr = diisi dengan 460005 sesuai dengan datasheet power meter (data addr = offset + initial value)

Ada yang aneh disini, kenapa data addr bukan 60004, 60005 atau 100005 (40001 + 60004)?

Jawaban singkatnya sebenarnya hanya bisa try and error. Namun ketika sudah buntu seperti saya, kita bisa lihat penjelalasan pada TIA Portal. Sesuai dengan datasheet address di atas, tertulis function code 0 x 06. Maka dapat dilihat initial valuenya bisa berupa 40001 atau 400001. Setelah saya coba memasukkan address 100005, fungsi reset tidak berfungsi. Kemudian kita ganti dengan initial valu 400001, sehingga address nya menjadi 460005 dan boooommmmmm, fungsi resetnya berfungsi. Disinilah letak kegilaan MODBUS, banyak nilai-nilai yang susah untuk dijelaskan disini wkwkwk.

Penjelasan TIA Portal untuk offset data

data len = 1 karena register yang dibutuhkan hanya 1.

data_ptr = diisi dengan fungsi reset yang telah didefinisikan di blok receive data 2C.


# network_7 

network 7 merupakan blok move biasa, dimana ketika PLC dinyalakan, maka fungsi move akan bernilai 0.


 # network_8

Ketika step = 0, maka PLC akan mengeksekusi pengambilan semua data pada slave-1. Ketika Status_com_master_busy slave-1 = tidak, maka coil akan close, dan step kemudian akan bernilai 1. Ketika step bernilai 1, PLC akan mengeksekusi blok pengambilan data slave-2.


 # network_9

Ketika step bernilai 1, dan pengambilan data slave-2 (XPS) sudah done, maka akan mentriger output %M10.0. %M10.0 ini nanti akan mentrigger blok CTU Network 10.


 # network_10

Disetting nilai reset = 2 karena hanya ada 2 slave. Ketika PLC selesai mengambil data slave 1 (step = 0 ), kemudian gantian mengambil data slave 2 (step =1), maka step akan te-reset kembali menjadi 0 (kembali mengambil data slave 1), begitu seterusnya secara bergantian dan real time.


 # network_11 reset kWh powermeter

Ketika kita memberikan perintah reset ke powermeter melalui PLC, maka data address reset 460005 (pada data_ptr) akan mendapat nilai 0. Sesuai dengan datasheet, reset = 0 menanadakan bahwa semua data penggunaan energi akan ter-reset menjadi 0.


 # network_12 nonaktifkan reset kWh powermeter

Ketika perintah reset tidak diberikan PLC, maka data_ptr_reset akan mendapat nilai 7. Nilai ini sebenarnya bebas, asalkan diluar rentang nilai reset powermeter

reset value start from 0 - 4


Hasil

Saya kebetulan tidak sempat untuk mendokunmentasikan hasil percobaannya, namun kira-kira hasilnya persis seperti ini. Namun bedanya percobaan kali ini sudah digunakan untuk pembacaan data 2 slave dan sudah mampu memberikan perintah ke slave untuk me-reset nilai di bawah menjadi 0

Pembacaan data PowerMeter

Bisa saya simpulkan komunikasi dengan protokol MODBUS ini sedikit begitu rumit. Alasan saya ada 2 ;

1. Data address terkadang mengandung initial value yang nilainya sedikit abstrak wkwk

2. Tipe data juga harus di try and error, karena terkadang beda tipe data beda pula hasil pembacaan wkwk

Thankyouu.....


Saturday, May 15, 2021

Protokol Komunikasi HART menggunakan LR 250 Radar Transmitter Siemens | INSTRUMENT PART 12

HART Communication Protocol

Didalam dunia industri, dikenal beberapa protokol komunikasi. Beberapa yang paling umum digunakan adalah komunikasi analog (4 mA -20 mA), komunikasi HART, kominikasi MODBUS, komunikasi PROFIBUS. Pada bagian ini, saya akan mencoba menjelaskan 3 protokol komunikasi, yaitu HART, Modbus, dan Profibus. Saya secara teoritis tidak begitu paham ilmunya wkwk mungkin saya akan coba jelaskan secara praktikal saja menggunakan software TIA Portal V.16 dengan bantuan level transmitter radar LR 250 Siemens sebagai inputnya.

Protokol Komunikasi HART

Highway Addresable Remote Transducer (HART) merupakan protokol komunikasi yang menggunakan 2 komunikasi sekaligus ; yaitu komunikasi analog (4 mA- 20 mA), dan komunikasi digital FSK (frequency shift keying).

Prinsipnya adalah sebagai berikut : 4 mA-20 mA merupakan sinyal analog biasa pada umumnya. Ketika kita menggunakan transmitter level dengan span 0 m - 10 m, maka 0 m setara dengan 4 mA, 5 m setara dengan 12 mA, dan 10 m setara dengan 20 mA (linear).

Protokol HART menggunakan sinyal analog 4-20mA sebagai sinyal yang ditumpangi dari hasil mengkonversi pengukuran di TransmitterKemudian protokol HART yang menumpang dijalur analog 4-20mA menggunakan modulasi digital untuk berkomunikasi dengan cara mengirimkan data serial yang di modulasi dengan FSK (Frequency Shift Keying). Data analog di konversi kedalam digital kemudian dikirimkan melalui serial line dan dimodulasi. Sebelumnya, FSK adalah sebuah metode penyisipan data melalui gelombang sinyal  dengan cara menyisipkan frekuensi. pada komunikasi HART, Frekuensi yang digunakan adalah 2200 Hz dan 1200Hz. frekuensi 2200Hz diterjemahkan sebagai ‘0’ dan 1200Hz diterjemahkan sebagai ‘1’.

HART signal

note : 4-20mA bukanlah HART protokol melainkan Analog Signaling Standard (juga terdapat 10-50mA), dan HART menggunakan 4-20mA untuk salah satu signaling nya.


Percobaan komunikasi HART

from left to right : PLC, Remote I/O and HART module, Scalance Hub

Remote I/O and HART Module

Setiap kali kita ingin menggunakan protokol komunikasi, yang perlu diingat adalah bahwa kita harus mempunyai modul komunikasi yang melekat pada PLC. Disini saya menggunakan modul komunikasi HART dengan seri 6ES7134-6TD00-0CA1 yang melekat pada remote I/O ET 200 SP. Modul ini sebenarnya seperti modul analog input, namun memiliki fitur HART. Jadi yang perlu diingat bahwa tidak semua modul analog input dapat digunakan untuk komunikasi secara HART.

6ES7134-6TD00-0CA1 pin input


Berdasarkan datasheet modul AI HART ini, dapat dilihat bahwa satu modul ini dapat menerima 8 input analog dengan rincian : 4 input HART dan 4 input analog. Untuk wiringnya sama seperti biasa menggunakan looping 2 wire transmitter. Disini level transmitter kita hubungkan ke pin UV0 dan I0+ (channel 0). 

Ciri khas HART

Pada komunikasi HART, dikenal 4 istilah variabel :

1. Primary Variable

2. Secondary Variable

3. Tertiary Variable

4. Quaternary Variable

Setiap transmitter mempunyai 4 variabel tersebut. Kita ambil contoh pressure transmitter yang bisa digunakan untuk aplikasi mengukur tekanan, mengukur level fluida, mengukur laju aliran, dan mengukur volume fluid yang telah melewati aliran. Primary variable transmitter tersebut belum tentu merupakan tekanan, tapi bisa jadi level, laju aliran, atau bahkan fluid's volume. Jadi variabel primary, secondary, atau tertiary itu dapat dilihat pada settingan transmitter. Untuk level transmitter, nanti mungkin akan saya jelaskan variabelnya.

TIA Portal V.16

Seperti biasa, langkah yang dilakukan adalah :

1. Konfigurasikan PLC, remote I/O, dan semua fisik module yang ada


Remote I/O Module (left) and HART Analog Input Module (right)


2. Enable/centang semua parameter pada modul HART

HART Configuration

Klik kanan pada modul HART --> pilih properties --> Pilih Input 0-3 --> pilih Input --> Pilih channel 0 --> centang semua variabel dan HART function di pilihan paling bawah


3. Atur tag data yang mau diambil

Pada satu modul HART, maksimal ada 8 input. Yang bisa diambil datanya secara HART hanya 4 input, karena 4 input lainnya hanya bisa 4-20 mA. Satu input  punya 4 variabel, sehingga total variabel adalah sebanyak 4 x 4 = 16 variabel. Namun HART membatasi bahwa dari 4 input, tidak semua variabel dapat diambil datanya. HART hanya mampu mengambil maksimal 4 data, biasanya data penting berupa primary variabel. Jadi kalau misalnya ada 4 transmitter terhubung ke modul HART, kita maksimal hanya bisa mengambil 4 primary variable dari masing2 transmitter. Kalau misalnya yang terhubung cuman 2 transmitter? Ya kalian bisa pilih mau narik 2 data lainnya berupa apa. Misalnya kita mau secondary variable transmitter tersebut ditarik ya juga bisa.

Setting HART Tag dengan variabel apa yang mau kita ambil. Disini karena saya hanya mau mencoba dengan 1 transmitter level, maka saya mengambil 4 variable tranmistter tersebut.

4 variabel maksimum untuk 1 modul HART


4. PLC Tag

PLC Tag


Pada plc tag, biasanya akan muncul secara otomatis 4 tag : PV, SV, TV, dan QV. Untuk nomor tag nya akan muncul secara otomatis dan bisa kita edit.


5. Radar Tranmsitter LR 250

Pada level transmitter pada umunya, ada 5 istilah penting yang sering digunakan. Ada level, space,  distance, span, dan blanking

Important Parameters on Level Transmitter


Level
 adalah ketinggian fluida (from bottom to blanking point)

Distance adalah jarak total dari tranmitter ke dasar wadah fluida

Space adalah jarak dari dasar fluida ke maksimum span  / Space = Span - level

span adalah jarak dari dasar fluida ke blanking point

Blanking point adalah titik minimum ke nilai batas transmitter. Rata-rata nilai blanking level transmitter di kisaran 0,5 meter. Maksudnya adalah, ketika jarak total dari transmitter ke dasar tangki adalah 10 meter, maka ketika tinggi fluida melebihi 9.5 meter, maka transmitter akan error. Ini seperti treshold value jarak terdekat maksimum yang dapat memburamkan pembacaan transmitter. Disini saya seeting blanking point sebesar 0,5 meter. 

Pada LR250, saya setting distance sebesar 1,85 meter.

LR 250 menggunakan papan penghalang sebagai pengganti fluida

Hasil Percobaan

Oiya seperti yang sudah saya bilang pada bagian sebelumnya, kegunaan modul komunikasi itu adalah agar PLC langsung menerima sekotak informasi tanpa perlu menerjemahkan sinyal dari transmitter. Sehingga disini saya tidak perlu menggunakan program ladder.

Hasil monitoring TIA Portal

Berdasarkan hasil pembacaan level transmitter di atas, diperoleh nilai PV = 0,744. PV di atas merupakan level terbaca. Sementara diperoleh nilai SV =  1,35. Nilai PV adalah level fluida, sementara nilai SV adalah variabel span , dan TV = 1,85 merupakan variabel distance (span + blanking space). Untuk mengganti variabel ini, kita harus setting transmitter langsung secara manual. 

pembacaan level transmitter

Dapat dilihat, transmitter juga menampilkan primary variable yaitu level. Tanda panah pada transmitter menandakan bahwa data transmitter sedang dikirim ke PLC. Kesamaan nilai pembacaan transmitter dengan nilai monitoring yang ditampilkan PLC menandakan bahwa pertukaran informasi dengan modul komunikasi HART telah berhasil.