Hướng dẫn tự động update dữ liệu vào excel trên tia portal professional

29 315 1
Hướng dẫn tự động update dữ liệu vào excel trên tia portal professional

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Nội dung bài viết hướng dẫn tự động update dữ liệu vào excel trên tia portal professional, dữ liệu sẽ được cập nhật theo thời gian hoặc theo trigger. mỗi ngày sẽ tạo ra 1 file mới và dữ liệu trong ngày hôm đó sẽ được lưu vào file đó.

Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com XUẤT BÁO CÁO RA EXCEL TRONG TIA PORTAL PROFESSIONAL - SIEMENS Tài liệu thực bởi: Ngọc Automation (youtube) Website: https://ngocautomation.com https://hoctudonghoa.com Hotline zalo hỗ trợ: 0904 701 605 Phần XUẤT BÁO CÁO RA EXCEL THEO MẺ (TRIGGER) Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com STEP 1: Tạo giao diện điều khiển cho hệ thống hình sau: Ngun lý làm việc hệ thống: Nhấn nút auto, sau chọn đủ điều kiện vận hành như: Bồn cạn, đặt trọng lượng thời gian tiến hành cân liệu vào bồn, sau đạt trọng lượng bắt đầu trộn theo thời gian đặt, trộn xong xả liệu ra, sau cảm biến bồn cạn tác động xuất báo cáo, nhấn nút xác nhận vận hành hệ thống lại trộn lại Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com STEP 2: Tạo khối database bao gồm thành phần tags sau (*) Bảng thống kê tag TT 10 11 12 13 14 15 16 17 18 19 20 21 Tên tag Setting_Weight_1 Setting_Weight_2 Setting_Time_Tron Act_Weight_1 Act_Weight_2 Act_Time_Tron btt_Auto btt_Manu btt_Confirm CB_Can Q_Van_1 Q_Van_2 Q_Van_3 Q_DC_Tron act_Step_1 act_Step_2 act_Step_3 act_Step_4 act_Step_5 act_done_valve_1 act_done_valve_2 Định dạng Real Real Int Real Real Int Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Giải thích Cài đặt trọng lượng liệu Cài đặt trọng lượng liệu Cài đặt thời gian trộn Giá trị thực tế trọng lượng liệu Giá trị thực tế trọng lượng liệu Giá trị thực tế thời gian trộn Nút nhấn Auto Nút nhấn Manu Nút nhấn xác nhận Cảm biến cạn Đầu van Đầu van Đầu van Đầu động trộn Giá trị thực tế bước Giá trị thực tế bước Giá trị thực tế bước Giá trị thực tế bước Giá trị thực tế bước Bit báo xả xong nguyên liệu Bit báo xả xong nguyên liệu Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com TT 22 23 24 25 26 27 28 29 Tên tag Định dạng report_act_Weight_1 Real report_act_Weight_2 report_act_Time report_Setting_Weight_1 report_Setting_Weight_2 report_Setting_Time report_Trigger_Creat_File report_Trigger_Data_Export Real Int Real Real Int Bool Bool STEP 3: Trong phần cứng PLC bật chức hệ thống Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Giải thích Báo cáo giá trị thực tế trọng lượng nguyên liệu Báo cáo giá trị thực tế trọng lượng nguyên liệu Báo cáo giá trị thực tế thời gian Báo cáo giá trị cài đặt trọng lượng Báo cáo giá trị cài đặt trọng lượng Báo cáo giá trị cài đặt thời gian Báo cáo trigger tạo file Báo cáo trigger xuất liệu excel Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com STEP 4: Lập trình chương trình cho PLC Thơng tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com cells(14, 4) = HMIRuntime.Tags("report_act_Weight_1").Read cells(15, 4) = HMIRuntime.Tags("report_act_Weight_2").Read cells(16, 4) = HMIRuntime.Tags("report_act_Time").Read '=======================================EXPORT DATA END======================================================== End With objWorkbook.Save objWorkbook.Close Set objWorkbook = Nothing objExcelApp.Quit Set objExcelApp = Nothing 'msgbox "Done" Set wsh = Nothing STEP 7: Tạo trigger xuất báo cáo cho Scada Ở mục schedule tag tạo trigger sau: 7.1 Trigger tạo folder (Creat_Folder) Lựa chọn Daily, vào lúc 12:00:00 AM tức 0H sáng (*) Ở mục event chọn script có tên Creat_Folder Thơng tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com 7.2 Trigger Tạo file (Creat_File) (*) Chọn tag trigger tag tag tạo bên PLC với tên tag “report_Trigger_Creat_File”, lựa chọn thuộc tính Uponchange (*) Ở mục event chọn script có tên Creat_File Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com 7.3 Trigger xuất báo cáo (Data_Export) (*) Chọn tag trigger tag tag tạo bên PLC với tên tag “report_Trigger_Data_Export”, lựa chọn thuộc tính Uponchange (*) Ở mục event chọn script có tên Data_Export Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com 7.4 Trigger lấy liệu thời gian thực tế (Current_Date_Time) (*) Lựa chọn Trigger minute tức phút cập nhật giá trị lần, bạn chọn second để 1s trigger thay đổi giá trị lần (*) Ở mục event chọn script có tên Current_Date_Time Thơng tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com STEP 8: Tạo folder file excel chuẩn 8.1 Tạo folder có tên Report ổ D máy tính 8.2 Trong thư mục report tạo folder có tên Reference 8.3 Tạo file excel chuẩn dạng Excel 2003 (đuôi xls) với tên “Report_Reference.xls” coppy vào thư mục Reference Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com (*) Nội dung file excel STEP 9: Thực chạy chương trình ta có kết sau Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com Phần CẬP NHẬT GHI CHÉP SỐ LIỆU THEO THỜI GIAN Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com Nguyên lý: Có thể cập nhật theo thời gian Update số giây(phút), ví dụ 10s cập nhật giá trị lần, cập nhật số liệu theo trigger (khi trộn xong mẻ cập nhật số liệu hàng mẻ đó) Chú ý: Nội dung phải kết hợp với nội dung phần để tạo project hồn chỉnh BƯỚC 1: Tại tag nội Wincc pro thêm tag với tên sau: TT Tên tag tag_Data_Record_Link Định dạng String Giải thích Đường dẫn lưu file BƯỚC 2: Thêm VB scrip với tên (“Data_Record_Creat_File”) với nội dung sau, nội dung VB script ngày tạo file ' Dim dtmDate, objExcel, objWorkbook, path Dim a Dim objExcelApp,objExcelApp2 Dim DT,CDT,VBDT,CWT,VBWT,CpHORP,VBpHORP,CQT,VBQT,CFLDREX,VBFLDREX,CFLDRPDF,VBFLDRPDF,CWeb,VBWeb Dim DY,MNTH,YR,MNTHNM Dim HR,MNT,SCND Dim i,j Dim fso, msg,fldr,ReportFolderStatus Dim fso1, f,fName DY=Day(Date()) MNTH=Month(Date()) YR=Year(Date()) HR=Hour(Time()) MNT=Minute(Time()) Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com SCND=Second(Time()) MNTHNM=Month(Now) MNTHNM=MonthName (MNTHNM,True) ' DEFINE MONTH TYPE Dim MNTH1, DY1 If MNTH < 10 Then MNTH1 = "0" & MNTH Else MNTH1 = MNTH End If ' DEFINE DATE TYPE If DY < 10 Then DY1 = "0" & DY Else DY1 = DY End If ' DEFINE HOUR & MINUTE Dim HR1, MNT1 'HOUR If HR < 10 Then HR1 = "0" & HR Else HR1 = HR End If 'MINUTE If MNT < 10 Then MNT1 = "0" & MNT Else MNT1 = MNT End If 'Save link VBFLDREX = "D:\Report\" & YR & MNTH1 & DY1 VBDT= VBFLDREX & "\" & "Data_Record_" & YR & "_" & MNTH1 & "_" & DY1 & ".xls" ' SAVE THE TARGET FILE TAG Dim TagLink Set TagLink = HMIRuntime.Tags("tag_Data_Record_Link") TagLink.Write (VBDT) '================ CREAT NEW FILE FOR EACH SEQUENCE =============================== Dim objFSO Dim RefFile Dim TarFile Set objFSO = CreateObject("Scripting.FileSystemObject") ' RefFile = "D:\Report\Reference\Data_Record_Reference.xls" 'Reference file TarFile = VBDT '"D:\scripts\temp\Testghdf.xls" objFSO.CopyFile RefFile, TarFile '================ CREAT NEW FILE FOR EACH SEQUENCE =============================== BƯỚC 3: Thêm VB scrip với tên (“Data_Record_Data_Update”) với nội dung sau, nội dung VB script theo trigger (có thể theo thời gian theo trigger tag) tiến hành cập nhật liệu vào file Excel theo chu kỳ Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com Dim wsh, XLSrunning, TargetBookrunning, objExcelApp, objWorkbook, TheTargetBook, TheTargetBookName Dim TheCount Dim objFSO Const OverwriteExisting = Set wsh = CreateObject("WScript.Shell") TheTargetBookName = HMIRuntime.Tags("tag_Data_Record_Link").Read 'HMIRuntime.Screens("NewPdl0").ScreenItems("VB_ReportName").Text TheTargetBook = TheTargetBookName 'TheTargetBook = HMIRuntime.Tags("RP_VB_WT_DataRecord").Read 'TheTargetBook = "D:\DataRecord\Reference_DataRecord.xls" ' -[Bat dau xuat Excel] -TheCount = GetObject("winmgmts:root\CIMV2").ExecQuery("SELECT * FROM Win32_Process WHERE Name='EXCEL.EXE'").Count 'While TheCount is bigger than 0, it means the Excel Application is running , but doesn't mean the workbook is open for sure! If TheCount > Then Set objExcelApp = GetObject(,"Excel.Application") ' Using GetObject(,"Excel.Application") to point to the running Excel Application TargetBookrunning = For Each XLSrunning In objExcelApp.Workbooks If XLSrunning.name = TheTargetBookName Then TargetBookrunning = End If Next If TargetBookrunning = Then Set objWorkbook = GetObject(TheTargetBook) Else Set objWorkbook = objExcelApp.Workbooks.Open(TheTargetBook) End If Else Set objExcelApp = CreateObject("Excel.Application") Set objWorkbook = objExcelApp.Workbooks.Open(TheTargetBook) End If objExcelApp.Visible = False objExcelApp.ScreenUpdating = True objExcelApp.DisplayAlerts = True Dim TheTargetRow ' < [Modification#2] With objWorkbook.ActiveSheet '=============================================================================================== ' LAY DOAN CODE NAY NEU MUON TU DONG XUONG DONG TheTargetRow = Cells(65535, 8).End(-4162).Row ' = cột cuối có chữ cells(TheTargetRow + 1, 1) = HMIRuntime.Tags("tag_Current_Date").Read cells(TheTargetRow + 1, 2) = HMIRuntime.Tags("tag_Current_Time").Read cells(TheTargetRow + 1, 3) = HMIRuntime.Tags("report_Setting_Weight_1").Read cells(TheTargetRow + 1, 4) = HMIRuntime.Tags("report_act_Weight_1").Read cells(TheTargetRow + 1, 5) = HMIRuntime.Tags("report_Setting_Weight_2").Read cells(TheTargetRow + 1, 6) = HMIRuntime.Tags("report_act_Weight_2").Read cells(TheTargetRow + 1, 7) = HMIRuntime.Tags("report_Setting_Time").Read cells(TheTargetRow + 1, 8) = HMIRuntime.Tags("report_act_Time").Read '=============================================================================================== Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com End With objWorkbook.Save objWorkbook.Close Set objWorkbook = Nothing objExcelApp.Quit Set objExcelApp = Nothing 'msgbox "Done" Set wsh = Nothing BƯỚC 4: Tạo Schedule task với tên sau: 4.1 Schedule task với tên “Data_Record_Creat_File” Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com 4.2 Schedule task với tên “Data_Record_Data_Update”, 10s update liệu lần Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com Thông tin liên hệ - Hotline (Zalo): 0904 701 605 Tài liệu độc quyền bởi: Ngọc Automation – Website: https://ngocautomation.com (*) Kết ghi chép lưu trữ liệu Thông tin liên hệ - Hotline (Zalo): 0904 701 605 ... objWorkbook = objExcelApp.Workbooks.Open(TheTargetBook) End If Else Set objExcelApp = CreateObject( "Excel. Application") Set objWorkbook = objExcelApp.Workbooks.Open(TheTargetBook) End If objExcelApp.Visible... Then Set objExcelApp = GetObject(, "Excel. Application") ' Using GetObject(, "Excel. Application") to point to the running Excel Application TargetBookrunning = For Each XLSrunning In objExcelApp.Workbooks... objWorkbook = objExcelApp.Workbooks.Open(TheTargetBook) End If Else Set objExcelApp = CreateObject( "Excel. Application") Set objWorkbook = objExcelApp.Workbooks.Open(TheTargetBook) End If objExcelApp.Visible

Ngày đăng: 10/04/2021, 09:51

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan