Skip to main content

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 :



Comments

Popular posts from this blog

Pengalaman Management Trainee (Mill) di PT. KLK Agriservindo, Berau, Kalimantan Timur (Juli 2020) | PART 1

Kerja di KLK ?                    Sebenarnya ini salah satu pengalaman yang berkesan dalam hidup saya, walau akhirnya tidak jodoh dengan perusahaan bersangkutan. Bukan berarti semua yang berkesan harus berbuah manis kan? Hehehe.. Juli 2020, Yogyakarta           Saya diundang untuk interview (via Microsoft Team) atas lamaran yang saya apply. Ya, PT. KLK Agriservindo, perusahaan asal Malaysia yang bergerak di bidang perkebunan dan pengolahan hasil kelapa sawit. Saat itu saya melamar posisi MT Mill (Pabrik), karena saya rasa....ya lebih tepat aja dengan latar belakang studi saya wkwk.  Beginilah proses interviewnya yang masih saya ingat : Pukul 09.00 (First Stage Interview)           Saya mendapat kesempatan untuk interview dengan salah satu petinggi KLK, Bapak tersebut warga negara Malaysia. Beliau meminta saya untuk memperkenalkan diri dengan Bahasa Inggris. "Good ...

Pengalaman Management Trainee (Mill) di PT. KLK Agriservindo, Berau, Kalimantan Timur (Juli 2020) | PART 3

Bimbang.... Yogyakarta (Juli 2020) Setelah second stage interview KLK, sebenarnya saya mengikuti 2 final interview di perusahaan lain (bukannya saya sombong, hanya memberikan point of view lain aja). Satu pabrik kertas terbesar di Indonesia yang berlokasi di Riau, satunya lagi di salah satu perusahaan refurbishment Valve di Tangerang. Keduanya juga memberikan penawaran kepada saya, namun pertimbangan terbesar saya waktu itu ada 2 :  Jabatan dan Gaji Ya wajar aja, saya mencoba realistis dengan money oriented ketika saya masih fresh graduate. "Perusahaan asing nih, ntar bisa jadi manager juga. Masalah lokasi di tengah hutan, urusan belakangan aja lah, toh juga dulu kecilnya dekat kebun sawit", pikir saya. Tanpa pikir panjang (dengan pertimbangan selama 2 hari wkwk),hari H ketika saya menerima email kelulusan dari KLK, saya langsung menolak 2 perusahaan tersebut dan memilih KLK. Tahap selanjutnya adalah offering secara virtual melalui Microsoft Team sehari setelah email dikirim....

Membuat PLC dan HMI program untuk flowmeter | INSTRUMENT PART 7

PLC and HMI Programming Using TIA PORTAL V16 SIEMENS Dah lama nih gak nulis tentang instrumen lagi. Di bagian ini saya akan mencoba membuat program PLC dan HMI untuk pengukuran laju aliran menggunakan flow transmitter tentunya. Oiya saya mau cerita sedikit tentang instrumen khususnya PLC  wkwk. Dulu pas kuliah seperti yang pernah saya sampaikan, peminatan saya sebenarnya abu-abu wkwk. Abu-abu dalam artian saya selalu cari aman kalau ngambil mata kuliah. Berhubung PLC merupakan mata kuliah peminatan dan saya dari dulu merupakan orang yang benci segala sesuatu yang berbau "programming", akhirnya saat itu saya putuskan untuk tidak ambil matkul PLC wkwk. Nah baru setelah lulus, saya mengikuti pelatihan PLC di CITA (Center for Instrumentation and Automation) Institut Teknologi Bandung. Awalnya saya mengikuti dengan sedikit sulit (karna saya lemah di logika wkwk), namun tetap bisa mengikuti pelah-pelan lah wkwk. ITB 2019 Berhubung Siemens tidak memiliki produk data logger, sementar...