Thông báo

Collapse
No announcement yet.

mở barrier sử dụng VB6.0 và PLC S7-200

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • mở barrier sử dụng VB6.0 và PLC S7-200

    Chào mọi người !
    mình có câu hỏi mong được giúp đỡ :
    trên giao diện VB6.0 mình có nút mở barrier ,code :

    Private form_load()
    MSComm1.CommPort = 1
    MSComm1.Settings = "9600,n,8,1"
    MSComm1.PortOpen = True
    End sub

    Private Sub mobarrier_Click() ' truyền ký tự A xuống PLC
    MSComm1.Output = Chr(65)
    End Sub
    trong PLC S7-200

    NETWORK 1:
    LD SM0.1
    MOVB 16#09,SMB30
    MOVD &VB300,AC1

    NETWORK 2:
    LD SM0.1
    ATCH INT_0, 8
    ENI
    trong chương trình con
    LD SM0.0
    MOVB SMB2,*AC1
    INCD AC1
    trong chương trình chính
    NETWORK 3
    LD SM0.0
    AB= VB300, 16#41 // lệnh so sánh kí tự A
    = Q0.0
    NETWORK 4
    LD SM0.0
    A Q0.0
    TON T37, 5
    NETWORK 5
    LD SM0.0
    A T37
    =Q0.1
    NETWORK 6
    LD SM0.0
    A I0.0 'CAM BIEN VAT ,KHI CO XE DI QUA
    R Q0.1, 1
    Đó là toàn bộ chương trình của mình ,vậy mình xin hỏi :
    - lệnh ngắt này khi SM0.1(chu kì đầu ), vậy nếu mình bấm nút barrier những lần sau đó có ảnh hưởng gì đến cấu trúc ko ? vì mình chưa test thử ,đưa lên tham khảo ý kiến mọi người .
    -đã có ai làm bài này thì cho ý kiến nhé ,việc sử dụng giao thức freeport trong PLC có độ ổn định và chính xác cao ko, có khả năng bị tràn hay lỗi kết nối ko ?
    xin chỉ giáo

  • #2
    Mình xin nói là dùng freeport rất ổn định bạn à. Còn trương trình của bạn thì mình nghĩ không có vấn đề gì đâu.
    Có điều trong chương trình VB nếu bạn muốn nhận data từ PLC gửi về thì trong Private form_load() cần thêm như sau (nếu bạn dùng sự kiện oncom)
    MSComm1.InputLen = 0
    MSComm1.RThreshold = 1
    Và câu lệnh MSComm1.Output = Chr(65) mình toàn dùng là MSComm1.Output = "A" chạy ngon mình test phần cứng rồi truyền nhận ok
    NGUYỄN XUÂN VŨ
    Mua bán, sửa chữa PLC, biến tần
    Vỉ mạch điện tử công nghiệp các loại
    0978462163

    Comment


    • #3
      Còn cầu hỏi của bạn về dùng SM0.1 có ảnh hưởng đến lần truyền từ PC xuống PLC tiếp theo không? Thì không sao đâu nên dùng như vậy để thiết lập giao thức freeport và gọi sự kiện ngắt và cho phép ngắt. Đây là code chương trình VB của mình viết test thử PC gửi tín hiệu xuống PLC, PLC nhận được thì làm gì tùy mình.


      Option Explicit
      Dim T As Variant
      '---------------CHUONG TRINH TEST -----------
      '**********************************************
      Private Sub cmdclose_Click()
      If MSComm1.PortOpen Then
      MSComm1.PortOpen = False
      End If
      End
      End Sub
      '------- THIET LAP CONG NOI TIEP --------
      Private Sub cmdopen_Click()
      MSComm1.Settings = "9600,n,8,1"
      MSComm1.CommPort = 1
      MSComm1.PortOpen = True
      MSComm1.InputLen = 0
      MSComm1.RThreshold = 1
      End Sub
      '-------- TRUYEN KY TU A RA CONG ----------
      Private Sub cmdstart_Click()
      Dim datasend As String
      datasend = "A"
      MSComm1.Output = datasend
      End Sub
      '-------- TRUYEN KY TU B RA CONG ----------
      Private Sub cmdstop_Click()
      Dim datasend1 As String
      datasend1 = "B"
      MSComm1.Output = datasend1
      End Sub

      Private Sub Form_Load()
      Text1.Text = ""
      End Sub
      ' ********** SU KIEN ONCOM MOI**************
      Private Sub MSComm1_OnComm()
      If (MSComm1.CommEvent = comEvReceive) Then
      T = MSComm1.Input
      Text1.Text = T
      End If
      End Sub
      NGUYỄN XUÂN VŨ
      Mua bán, sửa chữa PLC, biến tần
      Vỉ mạch điện tử công nghiệp các loại
      0978462163

      Comment

      Về tác giả

      Collapse

      luckystar Tìm hiểu thêm về luckystar

      Bài viết mới nhất

      Collapse

      Đang tải...
      X