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 |
4. Buat HMI Tag dan Scheduled Task
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 :
Comments
Post a Comment