Professional Documents
Culture Documents
(123doc) - Huong-Dan-Tu-Dong-Update-Du-Lieu-Vao-Excel-Tren-Tia-Portal-Professional
(123doc) - Huong-Dan-Tu-Dong-Update-Du-Lieu-Vao-Excel-Tren-Tia-Portal-Professional
com
Phần 1
XUẤT BÁO CÁO RA EXCEL THEO MẺ (TRIGGER)
STEP 1: Tạo một giao diện điều khiển cho một hệ thống nào đó như hình sau:
Nguyên lý làm việc của hệ thống: Nhấn nút auto, sau khi chọn đủ các điều kiện vận hành như: Bồn đang
cạn, đã đặt trọng lượng và thời gian thì tiến hành cân liệu vào bồn, sau đó đạt được trọng lượng thì bắt
đầu trộn theo thời gian đặt, khi trộn xong thì xả liệu ra, sau khi cảm biến bồn cạn tác động thì xuất báo
cáo, nhấn nút xác nhận vận hành thì hệ thống lại trộn lại.
STEP 2: Tạo 1 khối database bao gồm các thành phần tags sau
STEP 3: Trong phần cứng PLC bật các chức năng hệ thống
STEP 5: Tạo các tag nội và tag dữ liệu báo cáo cho Scada
'Save link
VBFLDREX = "D:\Report\" & YR & MNTH1 & DY1
VBDT= VBFLDREX & "\" & "Report_" & YR & "_" & MNTH1 & "_" & DY1 & "_" & HR1 & "_" & MNT1 & ".xls"
'Save link
VBFLDREX = "D:\Report\" & YR & MNTH1 & DY1
Dim DateTime1
Dim DateAdnTime
DateTime1 = DateValue1 & " " & TimeValue1
Set DateAdnTime = HMIRuntime.Tags("tag_Current_Date_Time")
DateAdnTime.Write (DateTime1) 'write the characters to Tag
.cells(10, 6) = HMIRuntime.Tags("tag_Current_Date_Time").Read
.cells(14, 3) = HMIRuntime.Tags("report_Setting_Weight_1").Read
.cells(15, 3) = HMIRuntime.Tags("report_Setting_Weight_2").Read
.cells(16, 3) = HMIRuntime.Tags("report_Setting_Time").Read
.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
8.3. Tạo 1 file excel chuẩn dạng Excel 2003 (đuôi .xls) với tên “Report_Reference.xls” và coppy vào thư
mục Reference
STEP 9: Thực hiện chạy chương trình và ta có kết quả như sau
Phần 2
CẬP NHẬT GHI CHÉP SỐ LIỆU THEO THỜI GIAN
Nguyên lý: Có thể cập nhật theo thời gian Update là số giây(phút), ví dụ 10s cập nhật giá trị 1 lần, hoặc
có thể cập nhật số liệu theo trigger (khi trộn xong 1 mẻ thì cập nhật số liệu 1 hàng của mẻ đó)
Chú ý: Nội dung này phải kết hợp với nội dung của phần 1 để có thể tạo 1 project hoàn chỉnh.
BƯỚC 1: Tại tag nội của Wincc pro thêm 1 tag với tên như sau:
BƯỚC 2: Thêm 1 VB scrip với tên (“Data_Record_Creat_File”) với nội dung như sau, nội dung của VB
script là mỗi ngày sẽ tạo ra 1 file mới.
'-------------------------
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())
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 1 VB scrip với tên (“Data_Record_Data_Update”) với nội dung như sau, nội dung của VB
script là theo trigger (có thể là theo thời gian hoặc theo trigger tag) tiến hành cập nhật dữ liệu vào file
Excel theo chu kỳ.
.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
'===============================================================================================
End With
objWorkbook.Save
objWorkbook.Close
Set objWorkbook = Nothing
objExcelApp.Quit
Set objExcelApp = Nothing
'msgbox "Done"
Set wsh = Nothing
4.2. Schedule task với tên “Data_Record_Data_Update”, ở đây 10s sẽ update dữ liệu 1 lần