Showing posts with label CSV. Show all posts
Showing posts with label CSV. Show all posts

Tuesday, October 5, 2021

Siemens Remote Display RD 300, RD500 dan SENTRON PAC 3100 | INSTRUMENT PART 16

Berbicara mengenai Remote Display untuk instrumen, Siemens memiliki beberapa series produk. Ada RD 200 dan RD 300 sebagai display biasa, dan ada RD 500 yang lebih ke arah device manager yang memiliki fitur mumpuni seperti sebagai data logger.

RD 300

Untuk seri RD 300, device ini memiliki fungsi untuk menampilkan nilai sinyal yang diterima. Fitur lainnya seperti fitur relay (lengan kontak) yang dapat di setting untuk memberikan sinyal kepada device additional lain seperti pilot lamp maupun indikator lainnya. Device yang satu ini biasanya digunakan untuk troubleshoot/pengecekan pada instrumen yang bermasalah.

Wiring

Untuk wiringnya begitu sederhana. Seperti looping 4/20 mA, beban yang biasanya diisi oleh peran Kontroler seperti PLC , disini digantikan oleh RD 300.

RD 300 wiring to slave


Setting
Untuk setting RD 300, kita dapat memilih jenis loopingnya. Apakah yang digunakan looping arus, atau looping tegangan (tergantung koneksi pin pada terminal). Parameter utama yang perlu disetting sih lebih ke arah scalling. Scalling disini harus disesuaikan dengan span transmitter yang kita gunakan. Misalnya kita menggunakan Sitrans P320 dengan span 0-1600 mbar. Di scalling RD 300 kita input lower scale 0 dan upper scale 1.6 (bar). Sedangkan bila kita menggunakan Radar Level Transmitter, kita setting scalling sesuai span radar. Jikalau radar diinput dengan Low Calibration 5 meter, maka kita setting scaling RD300 0 hingga 5 meter. Jikalau kita menggunakan mode distance, maka kita setting 4 mA = 5 m dan 20 mA = 0 m. Jadi intinya disesuaikan dengan span transmitter dan tipe pengukuran transmitter yang berbeda.

Jika kita ingin menggunakan mode relay, maka yang perlu disetting adalah variabel set-reset. Misalnya kita menggunakan Lampu indikator untuk hidup pada level state >3m. Maka kita input variabel set dengan nilai 3, dan jikalau ingin lampu mati ketika <3, kita dapat input variabel reset sebesar 2.9. 
**** set = kondisi dimana Common terhubung dengan NO 
**** reset = kondisi dimana Common terhubung dengan NC

RD 300 wiring using transmitter and relay

Untuk satu RD300, hanya dapat digunakan untuk 2 transmitter dan 4 lengan kontak (relay).

RD 500

RD 500 sendiri lebih lengkap bila dibandingkan RD 300. Device seri ini dapat dikatakan memiliki fungi sebagai device manager. Keunggulan utamanya adalah sebagai data logger yang dapat dihubungkan dengan PC. Untuk koneksi antara RD500 dengan slave hanya bisa menggunakan MODBUS, tidak bisa 2 wire atau 4 wire. Jadi untuk slavenya harus kompatibel menggunakan MODBUS.

Langkah Konfigurasi RD 500 dan Slave

1.  Pastikan koneksi kabel MODBUS sudah benar. Koneksi antar slave dan RD 500 menggunakan kabel komunikasi RJ45. Kabel RJ 45 merupakan kabel Ethernet, namun kepala kabel Ethernet dilepas. Koneksi Modbus dari Slave 1 ke Slave -n dapat dijumper seperti biasa (secara paralel). Kemudian dari slave yang paling dekat, hubungkan ke pin komunikasi RD 500. Untuk kabel RJ 45 ke pin RD 500, kepala kabel RJ 45 nya tidak boleh dilepas.

2. Setting slave address secara berbeda. Misalnya untuk slave 1 kita menggunakan MultiRanger (Level Transmitter),  slave 2 kita menggunakan PAC 3100 (Power Meter), dan slave 3 menggunakan FM MAG 6000. Setting address number masing-masing slave dengan nilai yang berbeda. Slave address ini yang nantinya akan dimasukkan ke nilai drop number saat konfigurasi RD 500. 

3. Konfigurasi RD 500

Hubungkan pin power RD 500 ke sumber 24 VDC. Hubungkan Kabel Ethernet dari RD 500 ke laptop atau PC. Pastikan laptop memiliki port Ethernet.  Dalam kasus ini, gunakan kabel RJ45 yang kedua ujungnya masih memiliki kepala.

3.1 Ubah IP address port Ethernet

Buka network and sharing center, kemudian klik properties, dan klik IP/TCP. Ubah IP sesuai dengan IP yang ada di RD 500. Meskipun IP ini dirubah, kita masih tetap dapat terhubung ke Internet. Karna dalam kasus ini, IP yang diubah merupakan IP kabel Ethernet bukan IP Wifi. Nah setelah IP di laptop disamakan dengan IP RD 500, buka web browser. Nah seketika akan muncul tampilan user dan password yang harus diisi.

Username : admin
Password : rd500

Di atas merupakan user dan pass default siemens.

3.2 Masukkan address slave

Pilih configure --> I/O --> MODBUS. Ikuti langkah di bawah :

*) Atur baudrate, parity, data bits, dan stop bits. Ini harus sama dengan setingan komunikasi pada slave.

*) Pada bagian device, ada tertera node. Node tersebut sama dengan address slave. Jadi misalnya kita menggunakan 3 slave seperti contoh di atas, maka pada device 1 kita isi MultiRanger dengan nilai node sesuai dengan setingan address di MultiRanger.

slave address configurating

*) Pilih configure pada setiap device

*) Variable Address merupakan alamat variabel yang ingin kita read. 

Note : nilai address pada masing-masing slave harus dilihat pada manual/datasheet device yang bersangkutan. Misal kita ingin membaca nilai pembacaan multiranger, maka dapat dilihat address pada manual multiranger. Untuk multiranger ternyata address yang dimasukkan adalah sebesar 401010 seperti gambar dibawah.

 Variable address configurating

*)Untuk sign, before DP, dan after DP nya disesuaikan dengan kemauan kita.

 Variable address configurating

*)Lakukan langkah di atas pada setiap slave device (ulangi konfigurasi untuk slave 2 dan slave 3 dan tetap cari variabel address slave pada manual device bersangkutan)

*)Setelah konfigurasi variabel address, kita buat log.

Logging Configuration

Misalnya seperti gambar di atas, kita buat file csv dengan nama datalog. Interval selama 1 menit, maka dalam 1 hari akan terdapat = 60 data/jam x 24 jam/hari = 1440 data/hari. Kemudian log dengan nama datalog ini kita input ke variable address yang kita buat sebelumnya :

Insert Logging on variable address

Setelah semua kita buat, kita harus check apakah address variable dan konfigurasinya sudah benbar atau belum. Pilih overview, dan check apakah statusnya OK atau masih ada eror. Jikalau masih ada eror maka kita harus cek kembali apakah address dan sign nya sudah benar atau masih salah. Jikalau sudah benar semua, kita dapat cek log nya dan salah satu contoh log yang pernah saya lihat seperti di bawah :

Data Logger on csv format

Di atas merupakan contoh RD 500 dengan slave Powermeter PAC 3100 yang dipasang pada gedung sebuah gereja. Data-data di atas menggunakan interval 1 menit dan menampilan beban konsumsi energi dan data fisis kualitas listrik. Jikalau koneksi antara RD 500 dengan slave sudah benar, maka lampu indikator akan kedap kedip secara bergantian.


Tengkyu

Thursday, April 15, 2021

Make daily report from TIA Portal V.16 to Ms.Excel Automatically using VBScript | INSTRUMENT PART 10

Export Data TIA PORTAL V-16 to Ms.Excel

Pada bagian ini saya akan mencoba membuat daily report secara otomatis dari TIA Portal ke Ms. Excel. Bisa dibilang ini bisa berfungsi seperti data logger, namun yang berfungsi sebagai device memorinya merupakan PG/PC (Personal Computer).

Data from TIA Portal

Sebelumnya, mentor saya telah mencoba untuk memanfaatkan memori PLC sebagai data logger. Namun setelah dicoba ternyata kuantitas data yang dapat disimpan hanya sedikit, padahal free space memorinya masih memadai. Oleh karena itu dicoba alternatif lain yaitu menggunakan WinCC RT (WinCC Runtime)  nya SIEMENS. WinCC sendiri penjelasan simpelnya merupakan HMI yang menampilkan kondisi sistem secara real time, yang ditanam pada PG/PC (computer with programming software). Simpelnya data yang diterima akan disimpan di laptop saya. Kali ini saya hanya akan menggunakan simulasi saja (tidak terkoneksi ke fisik PLC) karena ya sama saja sebenarnya langkahnya.

1. Konfigurasikan WinCC RunTime Advance di TIA Portal

Ketika ingin membuat WinCC RT, kita harus mengkonfigurasikannya pada bagian Device Configuration. WinCC terdapat pada PC Station.

WinCC Device Configuration TIA Portal


2. Membuat VBScript

VBScript merupakan bahasa pemrograman untuk visual basic. Pada pemrograman PLC sebenarnya terdapat beberapa bahasa pemrograman, seperti : Ladder diagram, Function Block Diagram, Structured text, dan Statement List. Namun, pada TIA Portal juga dapat disisipkan bahasa pemrograman lain untuk fitur-fitur seperti data logging maupun export data. Misalnya dengan menggunakan bahasa C ataupun Visual Basic (VBScript). Karena di beberapa referensi internet banyak menggunakan VBScript, maka saya memutuskan untuk menggunakan VBScript juga. Berikut adalah code VBScript nya:

------------------------------------------------------------------------------------------------------------------------

Sub Create()

Dim FolderPath, ObjectPath, Filename, File, FileExist, Columns, Row

Dim DY,MNTH,YR,

Dim HR,MNT,SCND


DY=Day(Date())

MNTH=Month(Date())

YR=Year(Date())

HR=Hour(Time())

MNT=Minute(Time())

SCND=Second(Time())


FolderPath = "D:\KELINCI PER TRY AN\"

Filename = "Report_" & YR & "_" & MNTH & "_" & DY & ".csv"

Set ObjectPath = CreateObject("Scripting.FilesystemObject")

'Check if folder exists

If Not ObjectPath.FolderExists(FolderPath) Then              

ObjectPath.CreateFolder FolderPath     

End If

' Check if file exists

Set File = CreateObject("Scripting.FilesystemObject")

FileExist = File.FileExists(FolderPath & "\" & Filename)

If FileExist = False Then

File.CreateTextFile(FolderPath & "\" & Filename)

Set Columns = File.OpenTextFile(FolderPath & "\" & Filename, 8)

                Columns.WriteLine("tanggal ; waktu ; suhu ; tekanan ; arus")

                Columns.Close                 

                Set File = Nothing           

End If

'Write data to file

Set File = CreateObject("Scripting.FilesystemObject")

Set Row = File.OpenTextFile(FolderPath & "\" & Filename, 8)

Row.WriteLine(Date() & ";" & Time() & ";" & SmartTags("suhu") & ";" & SmartTags("tekanan") & ";" & SmartTags("arus") & ";")

Row.Close

Set File = Nothing  'Here we are releasing the File.


End Sub

--------------------------------------------------------------------------------------------------------------------------

Walaupun saya tidak suka segala sesuatu yang berbau programming, namun kode di atas tidak begitu saja saya copas dari sumbernya. Code diatas merupakan gabungan dari 2 source code, dimana saya rasa alangkah lebih baik jika digabungkan. Ada beberapa juga yang sedikit saya modifikasi. Penjelasan kode di atas adalah sebagai berikut :

Dim : syntax untuk mendeclare suatu variable

Code baris 2-4 : declare variabel

Code baris 5-10 : Mendefinisikan waktu saat ini

Code baris 11-22 : Mendeteksi file di direktori seperti yang ditulis, jika file tidak terdeteksi, maka file akan dibuat sesuai dengan nama yang diberi

Code baris 23-25 : Membuat nama pada masing-masing kolom

Code baris 29-31 : Export data dari TIA Portal ke Excel

VBScript data export

3. Membuat Screen untuk Win CC Run Time 

Screen kita desain sesuka hati kita. Karena saya sedang malas bikin program ladder, saya buat bar charts saja yang besar nilainya nanti yang akan di export ke Ms Excel. Oiya kalau dalam dunia nyata, semua data yang ditampilkan pada HMI SCADA merupakan data hasil pengukuran di lapangan, jadi jangan dianggap sama seperti yang saya lakukan yak wkwk. Saya cuma mau fokus di export data nya saja.

WinCC RT Screen

Di atas merupakan tampilan WinCC SCADA nya SIEMENS. Kalau di industri, tampilannya biasanya menampilkan nilai pengukuran sensor.


4. Buat HMI Tag dan Scheduled Task

Oiya setiap kali kita menggunakan WinCC untuk desain tampilan, setiap objek biasanya di alamatkan. Artinya objek tersebut akan menampilkan data yang di alamatkan kepadanya. Untuk kasus ini, karena saya lagi malas bikin program laddernya dan sedang tidak dihubungkan ke fisik PLC, maka saya bikin HMI Tag bebas saja. Yang perlu diingat, nama HMI Tag kalian harus identik dengan nama SmartTag pada baris ke-24 VBScript di atas. Disini saya membuat tag suhu, tekanan, dan arus.

HMI Tag

Selanjutnya agar data di export secara real time, kalian bebas memilih update data dilakukan setiap berapa waktu. Disini agar cepat, saya melakukan export data ke Excel setiap 2 detik. Ini tergantung kebutuhan dan seberapa akurat data yang kalian inginkan sih.

Scheduled Task for Created VBScript

5. Compile Program, Simulasikan dan Perbaiki format data CSV 

Setelah semua selesai, selalu lakukan compile untuk mengecek apakah masih ada error code. Jikalau semua beres, maka bisa langsung start simulation. Bar chart tadi akan muncul dan bisa kalian gerakin naik turun. Boleh langsung di cek di direktori mana tadi kalian simpan sesuai code VBScript, akan ada file baru sesuai nama yang kita buat.

Creating New File was  successfull

Setelah dibuka maka akan muncul file CSV (comma separataed values) yang masih berupa data berantakan. Tinggal kita ubah menggunakan fungsi text to column yang ada pada toolbar data Ms.Excel, lalu pilih delimate dan centang parameter yang perlu. Data dari TIA Portal dapat ter export secara automatis ke Excel. Jikalau kalian malas untuk men-delimate secara manual, kalian bisa lakukan dengan cara : Klik kanan file csv, open with notepade, dan tambahkan code 

sep=;

pada bagian paling paling atas. Nantinya file csv akan langsung terdelimate menjadi masing-masing kolom :

Berikut adalah video hasil percobaan saya :