Đăng Ký
Trang 1 của 5 123 ... CuốiCuối
Kết quả 1 đến 10 của 41
  1. #1
    Thành viên cấp 4
    Ngày tham gia
    Mar 2011
    Đang ở
    HoChiMinh City
    Bài viết
    488
    Thanks
    0
    83 lượt trong 49 bài viết

    Lập trình ứng dụng với Visual Basic (VBS, VBE, ...) trong WinCC 7

    Chào mọi người,
    Không biết mọi người sử dụng WinCC có thường xài các code về VB hay không?? Cụ thể là Visual Basic Script(VBS) hay Visual Basic Editor(VBE) trong WinCC không ???
    Nay mình tạo chủ đề này hi vọng có thể cùng mọi người thảo luận sâu hơn về VB cụ thể là VB trong WinCC7. Bởi mình theo chủ quan của mình thấy hầu như tất cả đều cần code để có thể giải quyết một công việc, một nhu cầu của 1 dự án. Do kinh nghiệm thực tế của mình không được nhiều nên không biết những suy nghĩ này có đúng là ở ngoài thực tế cần hay không, nếu không phải thì hi vọng mọi người có thể thêm xem đây là nghiên cứu chay trên học đường.
    Vấn đề như sau: Một dự án cần một khối lượng Tag lớn, khoảng vài trăm đến ngàn Tag. Như vậy chúng ta ngồi tạo trên WinCC chừng đó số Tag hay sao? Hay là ta sẽ có một công cụ tạo Tag khác ????
    Hiện tại mình nghĩ ra hướng giải quyết có thể nhanh hơn một tý so với cách tạo Tag "cổ điển": Ta tạo Tag bên Excel (viết bên này nhanh hơn chắc), bao gồm tên Tag, data type, add, ...

    Sau đó chỉ cần nhấn một nút "OK" là số Tag ta viết bên Excel sẽ tự động chuyển thành Tag bên WinCC.
    Để làm vấn đề này thì mình cũng đã tìm hiểu và WinCC có thể hổ trợ được việc này.

    Mình sử dụng VBE trong WinCC, giao diện tương đương VB trong Excel (bởi nó cùng là của Ms mà) tuy nhiên khác về thư viên (?).

    ...
    Ảnh đính kèm Ảnh đính kèm
    Lần sửa cuối bởi thiquocvinh, ngày 09-24-2012 lúc 12:19 PM.
    Vinh - 0935 501 812

  2. #2
    Thành viên cấp 9
    Ngày tham gia
    Jul 2012
    Bài viết
    961
    Thanks
    45
    219 lượt trong 141 bài viết
    - WinCC mình ít nghiên cứu và tìm tỏi từng ngỏ ngách nó, vì công việc phải chấp nhận cài nó vào và làm việc thiết kế cho HMI. Biết rằng nó rất hay. Thiết kế HMI xong rồi chả hát triển nửa, Remove nò ra PC luôn cho nhẹ. Tự dưng không thích. Giờ lại có hướng khác, nghe đồn lấy winCC làm giao diện web? Không biết có đúng không?
    - Hướng bạn làm giống như trước đây mình làm trên con TP170A và TP 177B.
    - Trước đây mình làm số tag khá lớn gần 800 tag, chủ yếu là tag datalog cái này cứ lặp đi lặp lại đặt tên tag oải quá, do lười. Nhờ ku em nó đặt tên giùm, cũng sai linh tinh trong cách đặt tên không chính xác nên khi hiển thị cũng sai. Lại phải chính mình dò lổi, càng oải. Tức mình bỏ vài ngày, nhưng đầu vần nghĩ phải có cách nào hay hơn.
    - Hey!!, có giải pháp rồi đó là dùng chức năng auto insert name của Exel, quét 1 phát cả vài ngàn tên khác nhau, chính xác tuyệt đối (có sai đi kiện bác Bill Gates), rồi copy Tag frorm Exel ----> pass Tag to WinCC. Xong. Địa chỉ vùng nhớ cũng theo nguyên tắc đó.
    - Ex: VW1000, VW1002....VW4998, VW5000)
    - Chúc vui

    “Tôi không hề có tài năng gì cả. Tôi chỉ vô cùng tò mò.”A.E



  3. #3
    Thành viên cấp 4
    Ngày tham gia
    Mar 2011
    Đang ở
    HoChiMinh City
    Bài viết
    488
    Thanks
    0
    83 lượt trong 49 bài viết
    Cám ơn anh aubaoquoc,
    Tại em tìm hiểu được trong WinCC nó có hàm Expression.CreateTag(TagName,TagType,[Connection],[S7S5Address],[GroupName])
    Còn việc gán Tag thì như thế nào hả anh? Hi vọng cũng có tool hỗ trợ chứ ngồi gán cả trăm tag thì ...
    Lần sửa cuối bởi thiquocvinh, ngày 09-24-2012 lúc 05:35 PM.
    Vinh - 0935 501 812

  4. #4
    Thành viên cấp 2
    Ngày tham gia
    Mar 2012
    Bài viết
    58
    Thanks
    0
    0 lượt trong 0 bài viết
    Trích dẫn Gửi bởi aubaoquoc Xem bài viết
    - WinCC mình ít nghiên cứu và tìm tỏi từng ngỏ ngách nó, vì công việc phải chấp nhận cài nó vào và làm việc thiết kế cho HMI. Biết rằng nó rất hay. Thiết kế HMI xong rồi chả hát triển nửa, Remove nò ra PC luôn cho nhẹ. Tự dưng không thích. Giờ lại có hướng khác, nghe đồn lấy winCC làm giao diện web? Không biết có đúng không?
    - Hướng bạn làm giống như trước đây mình làm trên con TP170A và TP 177B.
    - Trước đây mình làm số tag khá lớn gần 800 tag, chủ yếu là tag datalog cái này cứ lặp đi lặp lại đặt tên tag oải quá, do lười. Nhờ ku em nó đặt tên giùm, cũng sai linh tinh trong cách đặt tên không chính xác nên khi hiển thị cũng sai. Lại phải chính mình dò lổi, càng oải. Tức mình bỏ vài ngày, nhưng đầu vần nghĩ phải có cách nào hay hơn.
    - Hey!!, có giải pháp rồi đó là dùng chức năng auto insert name của Exel, quét 1 phát cả vài ngàn tên khác nhau, chính xác tuyệt đối (có sai đi kiện bác Bill Gates), rồi copy Tag frorm Exel ----> pass Tag to WinCC. Xong. Địa chỉ vùng nhớ cũng theo nguyên tắc đó.
    - Ex: VW1000, VW1002....VW4998, VW5000)
    - Chúc vui
    WINCC mà sử dụng cho HMI sao hả bro, xem lại nhé

  5. #5
    Thành viên cấp 9
    Ngày tham gia
    Jul 2012
    Bài viết
    961
    Thanks
    45
    219 lượt trong 141 bài viết
    Trích dẫn Gửi bởi tu dong hoa Xem bài viết
    WINCC mà sử dụng cho HMI sao hả bro, xem lại nhé
    uh, bởi vậy mới gà mờ, lẩn lộn tùm lum. Sorry các bạn nhe. Không biết gì về winCC . Hic hic

    “Tôi không hề có tài năng gì cả. Tôi chỉ vô cùng tò mò.”A.E



  6. #6
    Cộng tác viên
    Ngày tham gia
    Apr 2011
    Đang ở
    Sài Gòn
    Bài viết
    28
    Thanks
    0
    Thanked 1 Time in 1 Post
    Chào ThiQuocVinh,

    Bạn nghĩ hoàn toàn đúng.
    Dùng VBA có thể kết nối với Excell vào tạo tag tự động.
    Trong Help của WinCC có ví dụ đầy đủ để làm những việc này.
    VD: mHMIGO.CreateTag pTagName, TAG_BINARY_TAG, pConnection, pPLC_Addr, pGroupName

    Thân,
    Thiết kế hệ thống điều khiển
    PLC - HMI - SCADA
    YN: pvn_nhph
    hp: 090 858 9797

  7. #7
    Thành viên cấp 2
    Ngày tham gia
    May 2011
    Bài viết
    54
    Thanks
    0
    0 lượt trong 0 bài viết
    các bác cho em hỏi chút? Em làm như VD trong phần Help mà sao khi xuất sang excel thi chỉ có file không có gì cả ( là không có gia trị của fielIO mong các bác chỉ giúp em là lỗi ntn với ah.
    Code VD đây ah.

    Dim objExcelApp

    Set objExcelApp = CreateObject("Excel.Application")

    objExcelApp.Visible = True

    '

    'ExcelExample.xls is to create before executing this procedure.

    'Replace <path> with the real path of the file ExcelExample.xls.

    objExcelApp.Workbooks.Open "<path>\ExcelExample.xls"

    objExcelApp.Cells(4, 3).Value = ScreenItems("IOField1").OutputValue

    objExcelApp.ActiveWorkbook.Save

    objExcelApp.Workbooks.Close

    objExcelApp.Quit

    Set objExcelApp = Nothing

  8. #8
    Thành viên cấp 2
    Ngày tham gia
    Mar 2012
    Bài viết
    58
    Thanks
    0
    0 lượt trong 0 bài viết
    Trích dẫn Gửi bởi hpecom Xem bài viết
    Chào ThiQuocVinh,

    Bạn nghĩ hoàn toàn đúng.
    Dùng VBA có thể kết nối với Excell vào tạo tag tự động.
    Trong Help của WinCC có ví dụ đầy đủ để làm những việc này.
    VD: mHMIGO.CreateTag pTagName, TAG_BINARY_TAG, pConnection, pPLC_Addr, pGroupName

    Thân,
    Anh hướng dẫn cụ thể về cái này đc không, sau cứ lấp lững vậy. đợi câu trả lời của anh

  9. #9
    Cộng tác viên
    Ngày tham gia
    Apr 2011
    Đang ở
    Sài Gòn
    Bài viết
    28
    Thanks
    0
    Thanked 1 Time in 1 Post
    Chào bạn tu dong hoa,

    Mình nói lại:
    WinCC có VBA, trong VBA bạn khai báo kết nối với Excell để lấy tên và kiểu dữ liệu của tag
    Lấy được tên và kiểu dữ liệu rồi thì dùng đối tượng HMIGO để tạo tag.
    Mình viết một VD đầy đủ:
    Private Sub TagCreate(pTagName As String, pTagType As String, pPLC_Addr As String, pGroupName As String, pConnection As String, Optional pStartVal As Variant)
    Dim mHMIGO As New HMIGO
    Select Case UCase(Trim(pTagType))
    Case "BOOL":
    mHMIGO.CreateTag pTagName, TAG_BINARY_TAG, pConnection, pPLC_Addr, pGroupName
    Case "BYTE":
    mHMIGO.CreateTag pTagName, TAG_UNSIGNED_8BIT_VALUE, pConnection, pPLC_Addr, pGroupName
    Case "INT":
    mHMIGO.CreateTag pTagName, TAG_SIGNED_16BIT_VALUE, pConnection, pPLC_Addr, pGroupName
    Case "REAL":
    mHMIGO.CreateTag pTagName, TAG_FLOATINGPOINT_NUMBER_32BIT_IEEE_754, pConnection, pPLC_Addr, pGroupName
    Case "TEXT":
    mHMIGO.CreateTag pTagName, TAG_TEXT_TAG_16BIT_CHARACTER_SET, pConnection, pPLC_Addr, pGroupName
    Case Else
    End Select
    If Not IsMissing(pStartVal) Then
    mHMIGO.TagStart = pStartVal
    End If
    End Sub

    Thân,
    Thiết kế hệ thống điều khiển
    PLC - HMI - SCADA
    YN: pvn_nhph
    hp: 090 858 9797

  10. #10
    Thành viên cấp 2
    Ngày tham gia
    Mar 2012
    Bài viết
    58
    Thanks
    0
    0 lượt trong 0 bài viết
    Trích dẫn Gửi bởi hpecom Xem bài viết
    Chào bạn tu dong hoa,

    Mình nói lại:
    WinCC có VBA, trong VBA bạn khai báo kết nối với Excell để lấy tên và kiểu dữ liệu của tag
    Lấy được tên và kiểu dữ liệu rồi thì dùng đối tượng HMIGO để tạo tag.
    Mình viết một VD đầy đủ:
    Private Sub TagCreate(pTagName As String, pTagType As String, pPLC_Addr As String, pGroupName As String, pConnection As String, Optional pStartVal As Variant)
    Dim mHMIGO As New HMIGO
    Select Case UCase(Trim(pTagType))
    Case "BOOL":
    mHMIGO.CreateTag pTagName, TAG_BINARY_TAG, pConnection, pPLC_Addr, pGroupName
    Case "BYTE":
    mHMIGO.CreateTag pTagName, TAG_UNSIGNED_8BIT_VALUE, pConnection, pPLC_Addr, pGroupName
    Case "INT":
    mHMIGO.CreateTag pTagName, TAG_SIGNED_16BIT_VALUE, pConnection, pPLC_Addr, pGroupName
    Case "REAL":
    mHMIGO.CreateTag pTagName, TAG_FLOATINGPOINT_NUMBER_32BIT_IEEE_754, pConnection, pPLC_Addr, pGroupName
    Case "TEXT":
    mHMIGO.CreateTag pTagName, TAG_TEXT_TAG_16BIT_CHARACTER_SET, pConnection, pPLC_Addr, pGroupName
    Case Else
    End Select
    If Not IsMissing(pStartVal) Then
    mHMIGO.TagStart = pStartVal
    End If
    End Sub

    Thân,
    Cảm ơn anh rất nhiều. Cho em hỏi 1 câu hơi chuối, trong wincc em thấy có VBS, vậy VBA nó nằm ở đâu anh

Trang 1 của 5 123 ... CuốiCuối

Tag của Chủ đề này

Đánh dấu

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Back to Top