Hướng phát triển

Một phần của tài liệu Hệ thống phân loại sản phẩm dùng PLC S7-1200 , CÓ CODE (Trang 39 - 56)

Chương 5 Kết Luận 5.1 Ưu điểm.

5.3. Hướng phát triển

 Cần phải tiếp tục phát triển hệ thống phân loại sản phẩm trên thành mô hình thực.

 Thay thế việc phân loại chiều cao của sản phẩm từ cảm biến hồng ngoại sang camera để nâng cao tính chính xác và đa dụng cho hệ thống.

 Áp dụng các tính năng giám sát online, mạng truyền thông công nghiệp cho hệ thống.

Tài liệu tham khảo Phục lục 1

Chương trình trên PLC

1. Main

Các Tag trong PLC

1. INPUT Tag

3. Tag giá trị số nguyên

Chương trình code thiết lập chức năng xuất báo cáo tự động ra Excel

1. Tạo 2 file VBCripts : CREAT_FILE và DATA_EXPORT để truy xuất dữ liệu trên TIA Portal đến nơi lưu trữ mẫu báo cáo (Excel) trên PC.

3. Chương trình code cho VBCripts :

CREAT_FILE :

Sub CREAT_FILE() 'Tip:

' 1. Use the <CTRL+SPACE> or <CTRL+I> shortcut to open a list of all objects and functions

' 2. Write the code using the HMI Runtime object. ' Example: HmiRuntime.Screens("Screen_1").

' 3. Use the <CTRL+J> shortcut to create an object reference. 'Write the code as of this position:

'================ CURRENT DATE AND TIME IN INTEGER ===============================

'---

Dim dtmDate, objExcel, objWorkbook, path Dim a

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 & "\" & "Report_" & YR & "_" & MNTH1 & "_" & DY1 & ".xls"

'================ CREAT FOLDER

=================================================== Set fso1 = CreateObject("Scripting.FileSystemObject")

fso1.CreateFolder(VBFLDREX)

'================ CREAT NEW FILE FOR EACH SEQUENCE ===============================

Dim objFSO Dim RefFile Dim TarFile

Set objFSO = CreateObject("Scripting.FileSystemObject") '

RefFile = "D:\Report\Reference\Report_Reference.xls" 'Reference file TarFile = VBDT '"D:\scripts\temp\Testghdf.xls"

' First parameter: original location\file objFSO.CopyFile RefFile, TarFile

'================ CREAT NEW FILE FOR EACH SEQUENCE ===============================

End Sub

DATA_EXPORT :

'=================================SAVE

LINK================================================== ============

Dim dtmDate, path Dim a Dim 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

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 & "\" & "Report_" & YR & "_" & MNTH1 & "_" & DY1 & ".xls"

'=================================SAVE

LINK================================================== ============

Dim wsh, XLSrunning, TargetBookrunning, objExcelApp, objWorkbook, TheTargetBook, TheTargetBookName

Dim TheCount, TheTargetRow Dim objFSO

Const OverwriteExisting = 1

Set wsh = CreateObject("WScript.Shell")

TheTargetBookName = VBDT ' DUONG DAN LUU FILE TheTargetBook = TheTargetBookName

'---[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 > 0 Then

Set objExcelApp = GetObject(,"Excel.Application")

' Using GetObject(,"Excel.Application") to point to the running Excel Application.

TargetBookrunning = 0

For Each XLSrunning In objExcelApp.Workbooks If XLSrunning.name = TheTargetBookName Then

End If Next

If TargetBookrunning = 1 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 P100ATheTargetRow,P100BTheTargetRow ' <--- [Modification#2]--- With objWorkbook.ActiveSheet 'EXPORT START================================================= ==============================================

TheTargetRow = .Cells(65535, 6).End(-4162).Row ' Chu y con so 6 tuc la COT ma muon xuong hang, COT do phai co du lieu va la COT cuoi cung. 'date and time

.cells(TheTargetRow + 1, 2) = Date() & " " & Time()

.cells(TheTargetRow + 1, 3) = Smarttags("Act_Count_Cao") .cells(TheTargetRow + 1, 4) = Smarttags("Act_Count_TB") .cells(TheTargetRow + 1, 5) = Smarttags("Act_Count_Thap") .cells(TheTargetRow + 1, 6) = Smarttags("Act_Count_Tong") 'EXPORT END================================================== ============================================= End With objWorkbook.Save objWorkbook.Close

objExcelApp.Quit

Set objExcelApp = Nothing 'msgbox "Done"

Set wsh = Nothing

End Sub

Các bước thiết lập phần cứng trong TIA Portal để giám sát trên Webserver:

1. Các bước cài đặt phần cứng trên TIA Portal : - Tạo địa chỉ IP cho PLC

- Stick vào “Enable Web server using this interface”

- Tại phần User-defined pages ta làm các bước như hình để link tới thư mục chứa file code HTML thiết kế giao diện giám sát Webserver và tiến hành tại khối giao thức Webserver.

- Stick vào “Active Web server on all modules of this device”

- Tại phần “Entry page”, ta vào phần “Select entry page” và chọn “UP1” để khi ta chạy giám sát webserver thì sẽ tự động đưa ta đến trang giao diện đã thiết kế thay

- Cuối cùng, tại block Main, ta kéo vào khối lệnh WWW và tiến hành thiết lập như hình.

- Sau khi hoàn tất các bước, ta tiến hành Combile và Download chương trình vào PLC.

- Để giám sát được trên Webserver, ta cần mở trình duyệt và nhập vào thanh địa chỉ là IP của PLC mà ta đã tạo trước đó. Lúc này trình duyệt sẽ đưa ta đến giao diện giám sát Webserver mà ta đã lập trình bằng code HTML bằng phần mềm Visual Studio Code.

Một phần của tài liệu Hệ thống phân loại sản phẩm dùng PLC S7-1200 , CÓ CODE (Trang 39 - 56)

Tải bản đầy đủ (DOCX)

(56 trang)
w