[App.] Ứng dụng Visual Basic 6.0 kết nối với PLC của LSIS (Korea)
Theo Bạn với phần mềm lập trình VB6.0, Bạn sẽ làm được những gì ????
I. Giới thiệu Visual basic 6.0 :
Visual Basic là gì? Phần "Visual" đề cập đến phương phàp được sử dụng để tạo giao diện đồ họa người dùng (Graphical User Interface hay viết tắc là GUI) . Có sẵn những bộ phận hình ảnh, gọi là controls, bạn tha hồ sắp đặt vị trí và quyết định các đặc tính của chúng trên một khung màn hình, gọi là form. Nếu bạn đã từng sử dụng chương trình vẽ chẳng hạn như Paint, bạn đã có sẵn các kỹ năng cần thiết để tạo một GUI cho VB6.
Phần "Basic" đề cập đến ngôn ngữ BASIC (Beginners All-Purpose Symbolic Instruction Code), một ngôn ngữ lập trình đơn giản, dễ học, được chế ra cho các khoa học gia (những người không có thì giờ để học lập trình điện toán) dùng.
Visual Basic đã được ra từ MSBasic, do Bill Gates viết từ thời dùng cho máy tính 8 bits 8080 hay Z80. Hiện nay nó chứa đến hàng trăm câu lệnh (commands), hàm (functions) và từ khóa (keywords). Rất nhiều commands, functions liên hệ trực tiếp đến MSWindows GUI. Những người mới bắt đầu có thể viết chương trình bằng cách học chỉ một vài commands, functions và keywords. Khả năng của ngôn ngữ này cho phép những người chuyên nghiệp hoàn thành bất kỳ điều gì nhờ sử dụng ngôn ngữ lập trình MSWindows nào khác.
Người mang lại phần "Visual" cho VB là ông Alan Cooper. Ông đã gói môi trường hoạt động của Basic trong một phạm vi dễ hiểu, dễ dùng, không cần phải chú ý đến sự tinh xảo của MSWindows, nhưng vẫn dùng các chức năng của MSWindows một cách hiệu quả. Do đó, nhiều người xem ông Alan Cooper là cha già của Visual Basic.
Visual Basic còn có hai dạng khác: Visual Basic for Application (VBA) và VBScript. VBA là ngôn ngữ nằm phía sau các chương trình Word, Excel, MSAccess, MSProject, .v.v.. còn gọi là Macros. Dùng VBA trong MSOffice, ta có thể làm tăng chức năng bằng cách tự động hóa các chương trình.
VBScript được dùng cho Internet và chính Operating System.
Dù cho mục đích của bạn là tạo một tiện ích nhỏ cho riêng bạn, trong một nhóm làm việc của bạn, trong một công ty lớn, hay cần phân bố chương trình ứng dụng rộng rãi trên thế giới qua Internet, VB6 cũng sẽ có các công cụ lập trình mà bạn cần thiết.
II. Ứng dụng Visual basic 6.0 kết nối với PLC củaLSIS :
Giới thiệu đến các Bạn một chương trình được thực hiện trên nền VB6.0 để giao tiếp với PLC của LSIS thông qua cổng RS-232 để điều khiển Servo Motor trong quá trình kiểm tra số lượng sản phẩm trên băng truyền.
Một số hình ảnh của chương trình :
Đọan code dùng Cnet để giao tiếp giữa máy tính và PLC :
Private Sub ConnectPLC()
On Error GoTo E3
Dim Buffer1 As String
Dim Buffer2 As String
Dim Length As Long
Dim lRefTime As Long
Dim Rx1, Rx2, RxCounter, RxTimer As String
Dim rxT0, rxT1 As String
Dim i, j, n, m As Integer
Dim D100, D101, D102 As String
Dim D200, D201, D202 As Double
Dim dataIn As String
Dim aa As String
Dim bb As String
'--------------------------------------------------------Xu ly gia tri nhap
D100 = Convert_Hex(txtData2.text)
D101 = Convert_Hex(txtPos.text)
D102 = Convert_Hex(txtSpeed.text)
aa = mBit6 & mBit5 & mBit4 & mBit3 & mBit2 & mBit1
bb = Convert_BtoD(aa)
dataIn = Convert_Hex(bb)
' M10: Word cho input; D100 = Cai dat gia tri dem; D101 = Pos ; D102 = Toc do
' D200 = Gia tri dem; D201 = Gia tri dem tong; D202 = Toc do xung dem
If sT = True Then
MSC.Output = Chr$(5) + "00RSS0306%DW20006%DW20106%DW202" + Chr$(4)
Else
MSC.Output = Chr$(5) + "00WSS0406%MW010" & dataIn & "06%DW100" & D100 & "06%DW101" & D101 & "06% DW102" & D102 + Chr$(4)
End If
lRefTime = GetTickCount()
Do
DoEvents
If MSC.PortOpen = False Then
Exit Sub
End If
If sT = False Then
Buffer1$ = Buffer1$ & MSC.Input ' Lay chuoi Data1 ve PC
Length = InStr(Buffer1$, Chr$(3))
Else
Buffer2$ = Buffer2$ & MSC.Input ' Lay chuoi Data2 ve PC
Length = InStr(Buffer2$, Chr$(3))
End If
If ((GetTickCount() - lRefTime) > 1500) Then ' Kiem tra TimeOut
MsgBox " Duong truyen thong bi loi !!!" & Chr$(13) & " 1. Kiem tra lai thong so truyen thong " _
& Chr$(13) & " 2. Kiem tra lai cable truyen giua PC <-> PLC " _
& Chr$(13) & " Cam on ! ", vbOKOnly, "Error"
tmConnect = False
MSC.PortOpen = False
cmdOpen.Caption = "MÔÛ PORT"
lblSTT.Caption = " Coång RS-232 ñaõ bò ngaét..."
End If
Loop Until (Length)
If sT = True Then
Text2.text = Buffer2$ & MSC.Input
txtData1.text = Convert_Dec(Mid(Buffer2$, 11, 4))
txtData3.text = Convert_Dec(Mid(Buffer2$, 17, 4))
txtData4.text = Convert_Dec(Mid(Buffer2$, 23, 4))
End If
E3:
If Err.number = 8021 Then
If MsgBox("Da thao cong COM, Ban co muon tiep tuc?", vbQuestion + vbYesNo, "Error") = vbNo Then
End
Else
MSC.PortOpen = False
tmConnect.Enabled = False
End If
End If
End Sub
'------------------------------------------------------------------------------------
Nếu cần hỗ trợ kỹ thuật, hãy liên lạc với Chúng tôi :
Mr. Pham Dinh Hai
E-mail: dinhhai@hantech.vn
Phone: 0903.609.435
Y!M: phamd_hai