Đăng Ký
Trang 1 của 4 123 ... CuốiCuối
Kết quả 1 đến 10 của 33

Chủ đề: VB giao tiep voi PLC

  1. #1
    vandung
    Guest

    Smile VB giao tiep voi PLC

    Chào các bác.
    Em đang làm giao tiếp giữa VB và PLC S7 200 chưa có kinh nghiệm nên đang gặp khó khăn mong các bác chỉ giáo.
    Nội dung là thế này, VB em truyền kí tự xuống PLC, PLC nhận thông qua ngắt nhận dữ liệu ( Chế độ freeport) sau đó truyền trả lại kí tự lên PC và bật ON Q0.0. VB dùng ngắt ONCOM để nhận dữ liệu và hiển thị lên edit text.
    Khi em kết nối với cổng COM với PLC thì trên VB luôn xảy ra ngắt nhận dữ liệu, nó nhận dữ liệu đâu đâu không ah.
    Phần cứng của em gồm một con CPU 222, cáp USB/RS232 và bộ chuyển đổi RS232/RS485 . Không biết phần cứng của em như vậy đúng không, tại sao nó luôn nhận dữ liệu khi mà chưa truyền, em có truyền nhưng nó im lặng ah. em nghi đó do nhiễu hoặc sai phần cứng nhưng chưa biết cách khắc phục mong được sự chỉ giáo của các bác. Cảm ơn sự giúp đỡ của các bác nhiều.

  2. #2
    Thành viên Đồng
    Ngày tham gia
    Mar 2011
    Đang ở
    Nếu có vấn đề gì hỏi thì làm ơn đưa lên diễn đàn nhé
    Bài viết
    1,879
    Thanks
    159
    231 lượt trong 198 bài viết
    Trích dẫn Gửi bởi vandung Xem bài viết
    Chào các bác.
    Em đang làm giao tiếp giữa VB và PLC S7 200 chưa có kinh nghiệm nên đang gặp khó khăn mong các bác chỉ giáo.
    Nội dung là thế này, VB em truyền kí tự xuống PLC, PLC nhận thông qua ngắt nhận dữ liệu ( Chế độ freeport) sau đó truyền trả lại kí tự lên PC và bật ON Q0.0. VB dùng ngắt ONCOM để nhận dữ liệu và hiển thị lên edit text.
    Khi em kết nối với cổng COM với PLC thì trên VB luôn xảy ra ngắt nhận dữ liệu, nó nhận dữ liệu đâu đâu không ah.
    Phần cứng của em gồm một con CPU 222, cáp USB/RS232 và bộ chuyển đổi RS232/RS485 . Không biết phần cứng của em như vậy đúng không, tại sao nó luôn nhận dữ liệu khi mà chưa truyền, em có truyền nhưng nó im lặng ah. em nghi đó do nhiễu hoặc sai phần cứng nhưng chưa biết cách khắc phục mong được sự chỉ giáo của các bác. Cảm ơn sự giúp đỡ của các bác nhiều.
    Như này nhé, bác nối cáp đó nếu tự dung nó cứ nhận dữ liệu đâu đâu thì coi lại cap và chương trình VB. Còn để truyền nhận ở cái này, trên PLC, bác sử dụng ngắt 8 cho ngắt truyền thông, trong đó so sánh SMB2 (dữ liệu truyền xuống sẽ lưu trong này) nếu đúng dữ liệu thì làm việc gì đó. đc ngay mà
    Cung cấp Hidden Content ,Hidden Content ,vật tư tự động hóa cũ và mới
    Liên hệ: Hidden Content
    website: Hidden Content
    __________________________________________________ ___________________
    Phone: 0912888729 - 0985888729
    Y.M: codientuhd

  3. #3
    vandung
    Guest
    Cảm ơn bác nhiều, em thử mà vẫn không được, em nghĩ chắc do cục chuyển đổi RS232/RS485 quá, cáp USB/COM em nối tắt RX và TX thử thì OK mà. Em chưa biết phải làm sao nữa, để em tham khảo thêm coi.

  4. #4
    Thành viên Đồng
    Ngày tham gia
    Mar 2011
    Đang ở
    Nếu có vấn đề gì hỏi thì làm ơn đưa lên diễn đàn nhé
    Bài viết
    1,879
    Thanks
    159
    231 lượt trong 198 bài viết
    Trích dẫn Gửi bởi vandung Xem bài viết
    Cảm ơn bác nhiều, em thử mà vẫn không được, em nghĩ chắc do cục chuyển đổi RS232/RS485 quá, cáp USB/COM em nối tắt RX và TX thử thì OK mà. Em chưa biết phải làm sao nữa, để em tham khảo thêm coi.
    Đưa code lên coi nào
    Cung cấp Hidden Content ,Hidden Content ,vật tư tự động hóa cũ và mới
    Liên hệ: Hidden Content
    website: Hidden Content
    __________________________________________________ ___________________
    Phone: 0912888729 - 0985888729
    Y.M: codientuhd

  5. #5
    vandung
    Guest
    Chương trình PLC
    main program

    network 1
    LD SM0.1
    CALL SBR_0
    R M0.0, 1
    R M0.1, 1

    network 2
    LD M0.0
    = Q0.0
    R M0.1, 1
    network 3
    LD M0.1
    = Q0.1
    R M0.0, 1
    network 4 // truyền kí tự A
    LD I0.0
    EU
    XMT VB100, 0

    //chương trình SBR_0 , vong quet dau config che do freeport va move ki tu A vao VB101 truyen
    network1
    LD SM0.0
    MOVB 16#09, SMB30
    network2
    LD SM0.0
    ATCH Rcv_comp_interrupt, 8
    ENI
    network3 // ki tu truyen la A
    LD SM0.0
    MOVB 1, VB100
    MOVB 16#41, VB101

    //chuong trinh ngat su kien 8
    network 1 /neu ki tu truyen la A
    LDB= SMB2, 16#41
    S M0.0, 1
    network 2 //neu ki tu nhan la B
    LDB= SMB2, 16#42
    S M0.1, 1

    // Đây là code Vb,
    //Cổng com
    Private Sub MSComm1_OnComm()
    Dim buffer As Variant
    If MSComm1.CommEvent = comEvReceive Then
    Text2.Text = Text2.Text + MSComm1.Input
    End If
    End Sub

    //nút send
    Private Sub Command1_Click()
    MSComm1.Output = Hex$(41)
    'hoặc
    'buffer = Trim(Text1.Text)
    'MSComm1.Output = buffer
    End Sub

    'cấu hình cổng com

    Private Sub Form_Load()
    MSComm1.CommPort = 2
    MSComm1.Settings = "9600,N,8,1"
    MSComm1.PortOpen = True
    cmdsend.Caption = "&Send"
    Text1.Text = ""
    Text2.Text = ""
    cmdexit.Caption = "&Exit"
    With MSComm1
    .Settings = "9600,N,8,1"
    .CommPort = 2 'chon cong com 2
    .RThreshold = 1

    .SThreshold = 0
    .InputMode = comInputModeText
    .InputLen = 0
    .Handshaking = comNone
    .InBufferSize = 1024
    .OutBufferSize = 1024
    If .PortOpen = False Then
    .PortOpen = True
    End If
    End With
    End Sub

    Bác xem giúp em. cảm ơn bác nhiều.

  6. #6
    pop.ptit
    Guest
    Có ai pro tham gia hỗ trợ phần này không? Mình cũng đang có nhiều vấn đề chổ này đây! ai có thể cho cái giao diện VB mẫu hay code mẫu để anh em tham khảo tí

  7. #7
    vandung
    Guest
    Phia trên là code cho VB và PLC đó . Bác Anh cho em hỏi, em định dùng cáp PC/PPI của siemens thay cho cáp (USB/RS232 và RS232/RS485 ). Cáp PC/PPI đó có giao tiếp được VB và PLC không bác? Cảm ơn đã quan tâm đến topic này. Mong sự giúp đỡ của tất cả các bác.

  8. #8
    ngthanhluan06d2
    Guest
    Mình cũng đang quan tâm về vấn đề này! Mình đang làm viết giao diện VB kết nối với PLC để điều khiển. Mình nghĩ là dùng cáp PC/PPI kết nối ok. Vấn đề là viết code cho VB để thực hiện vc mình muốn điều khiển từ VB mà PLC đáp ứng. Đơn giản như mình ấn 1 nút ấn trên VB thì sẽ truyền dữ liệu gì xuống PLC và làm sao PLC hiểu là lấy cái đó để làm gì? PLC mình dùng là S7 200. Mình hỏi các bạn 1 vấn đề nữa là VB có cơ sở dữ liệu k vì mình muốn lập cơ sở dữ liệu rùi in hóa đơn PLC làm vc hằng ngày thì phải làm như thế nào? Mong các bạn nào đã làm rùi chia sẽ ít kinh nghiệm....Sẻ chia giá trị, sánh bước thành công mà...Best regards!

  9. #9
    Thành viên Đồng
    Ngày tham gia
    Mar 2011
    Đang ở
    Nếu có vấn đề gì hỏi thì làm ơn đưa lên diễn đàn nhé
    Bài viết
    1,879
    Thanks
    159
    231 lượt trong 198 bài viết
    việc ấn một nút ấn trên VB thực chất bạn mã hóa nút ấn đó thôi, ví dụ: ấn nút ấn bạn gửi mã chữ A xuống PLC. nhận được chữ A, PLC bạn sẽ viết chương trình thực hiện một công việc gì đó.
    Việc VB kết nối được với cơ sở dữ liệu để cho bạn in hóa đơn, cái này tôi đã làm nhưng chưa thành công thì chuyển sang wincc dùng cho lẹ. VB khá phức tạp nên không nghiên cứu sâu nữa.
    Cung cấp Hidden Content ,Hidden Content ,vật tư tự động hóa cũ và mới
    Liên hệ: Hidden Content
    website: Hidden Content
    __________________________________________________ ___________________
    Phone: 0912888729 - 0985888729
    Y.M: codientuhd

  10. #10
    Thành viên Đồng
    Ngày tham gia
    Mar 2011
    Đang ở
    Nếu có vấn đề gì hỏi thì làm ơn đưa lên diễn đàn nhé
    Bài viết
    1,879
    Thanks
    159
    231 lượt trong 198 bài viết
    Trích dẫn Gửi bởi vandung Xem bài viết
    Chương trình PLC
    main program

    network 1
    LD SM0.1
    CALL SBR_0
    R M0.0, 1
    R M0.1, 1

    network 2
    LD M0.0
    = Q0.0
    R M0.1, 1
    network 3
    LD M0.1
    = Q0.1
    R M0.0, 1
    network 4 // truyền kí tự A
    LD I0.0
    EU
    XMT VB100, 0

    //chương trình SBR_0 , vong quet dau config che do freeport va move ki tu A vao VB101 truyen
    network1
    LD SM0.0
    MOVB 16#09, SMB30
    network2
    LD SM0.0
    ATCH Rcv_comp_interrupt, 8
    ENI
    network3 // ki tu truyen la A
    LD SM0.0
    MOVB 1, VB100
    MOVB 16#41, VB101

    //chuong trinh ngat su kien 8
    network 1 /neu ki tu truyen la A
    LDB= SMB2, 16#41
    S M0.0, 1
    network 2 //neu ki tu nhan la B
    LDB= SMB2, 16#42
    S M0.1, 1

    // Đây là code Vb,
    //Cổng com
    Private Sub MSComm1_OnComm()
    Dim buffer As Variant
    If MSComm1.CommEvent = comEvReceive Then
    Text2.Text = Text2.Text + MSComm1.Input
    End If
    End Sub

    //nút send
    Private Sub Command1_Click()
    MSComm1.Output = Hex$(41)
    'hoặc
    'buffer = Trim(Text1.Text)
    'MSComm1.Output = buffer
    End Sub

    'cấu hình cổng com

    Private Sub Form_Load()
    MSComm1.CommPort = 2
    MSComm1.Settings = "9600,N,8,1"
    MSComm1.PortOpen = True
    cmdsend.Caption = "&Send"
    Text1.Text = ""
    Text2.Text = ""
    cmdexit.Caption = "&Exit"
    With MSComm1
    .Settings = "9600,N,8,1"
    .CommPort = 2 'chon cong com 2
    .RThreshold = 1

    .SThreshold = 0
    .InputMode = comInputModeText
    .InputLen = 0
    .Handshaking = comNone
    .InBufferSize = 1024
    .OutBufferSize = 1024
    If .PortOpen = False Then
    .PortOpen = True
    End If
    End With
    End Sub

    Bác xem giúp em. cảm ơn bác nhiều.
    đoạn code này bạn gửi kẻm cho tôi cái file vb nữa, để coi? dạo này mình bận quá nên không thể xem được chương trình ? bạn gửi kèm theo file VB để test nhé
    Cung cấp Hidden Content ,Hidden Content ,vật tư tự động hóa cũ và mới
    Liên hệ: Hidden Content
    website: Hidden Content
    __________________________________________________ ___________________
    Phone: 0912888729 - 0985888729
    Y.M: codientuhd

Trang 1 của 4 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