Đăng Ký
Trang 2 của 3 Đầu tiênĐầu tiên 123 CuốiCuối
Kết quả 11 đến 20 của 30
  1. #11
    Thành viên cấp 2
    Ngày tham gia
    May 2012
    Bài viết
    50
    Thanks
    8
    7 lượt trong 7 bài viết
    Trích dẫn Gửi bởi anhnamhm Xem bài viết
    Bạn có thể vao trang siemens. Hoặc vào phần của Wincc để có nhưng code ví dụ của nó. Sau đó phát triển thêm.
    Mình vẫn chưa hiểu " viết dữ liệu của bạn" bạn muốn làm gì
    Viết nhận và gửi dữ liệu giữa wincc và sql đó ạ.
    Nguyễn Văn Phú
    Sinh Viên Đại Học Công Nghiệp TPHCM
    email: Hidden Content

  2. #12
    Thành viên cấp 3
    Ngày tham gia
    Sep 2012
    Bài viết
    254
    Thanks
    21
    30 lượt trong 30 bài viết
    Ô mình bảo với bạn rồi. Khi bạn tạo được liên kết với SQL như mình bảo 2 cách trên. Thì Wincc đã thông với Database. Bjo để hiện giá trị bnaj chỉ cần viết đoạn code để đẩy giá trị nào vào thôi mà.

  3. #13
    Thành viên cấp 2
    Ngày tham gia
    May 2012
    Bài viết
    50
    Thanks
    8
    7 lượt trong 7 bài viết
    Trích dẫn Gửi bởi anhnamhm Xem bài viết
    Ô mình bảo với bạn rồi. Khi bạn tạo được liên kết với SQL như mình bảo 2 cách trên. Thì Wincc đã thông với Database. Bjo để hiện giá trị bnaj chỉ cần viết đoạn code để đẩy giá trị nào vào thôi mà.
    Dạ em biết rồi. Cái quan trọng là em viết hoài nó ko ra đó chứ
    'VBS108a
    Dim objConnection
    Dim objCommand
    Dim objRecordset
    Dim strConnectionString
    Dim strSQL
    Dim lngValue
    Dim lngCount
    strConnectionString = "Provider=MSDASQL;DSN=SampleDSN;UID=;PWD=;"
    strSQL = "select TagValue from WINCC_DATA where ID = 1"
    Set objConnection = CreateObject("ADODB.Connection")
    objConnection.ConnectionString = strConnectionString
    objConnection.Open
    Set objRecordset = CreateObject("ADODB.Recordset")
    Set objCommand = CreateObject("ADODB.Command")
    objCommand.ActiveConnection = objConnection
    objCommand.CommandText = strSQL
    Set objRecordset = objCommand.Execute
    lngCount = objRecordset.Fields.Count
    If (lngCount>0) Then
    objRecordset.movefirst
    lngValue = objRecordset.Fields(0).Value
    HMIRuntime.Tags("dbValue").Write lngValue
    Else
    HMIRuntime.Trace "Selection returned no fields" & vbNewLine
    End If
    Set objCommand = Nothing
    objConnection.Close
    Set objRecordset = Nothing
    Set objConnection = Nothing

    Cái tag1 ở trên đó là tag bên trong wincc minh tạo hả bạn.
    Nguyễn Văn Phú
    Sinh Viên Đại Học Công Nghiệp TPHCM
    email: Hidden Content

  4. #14
    Thành viên cấp 1
    Ngày tham gia
    Feb 2012
    Bài viết
    46
    Thanks
    1
    34 lượt trong 10 bài viết
    What's DataAccessHelper?
    Giúp bạn thực hiện việc thao tác với CSDL bằng ngôn ngữ VBScript một cách nhanh chóng, hiệu quả.
    Tránh việc viết đi viết lại nhiều lần câu lệnh tạo đối tượng kết nối, đối tượng lệnh(Command), đối tượng chứa tập kết quả trả về từ một câu lệnh truy vấn Select (Recordset).

    1. Trong DataAccessHelper có Config.bmo chứa thông tin cấu hình kết nối CSDL và thông tin về tác giả(Thư viện)

    Code:
    ' Thong tin ve tac gia.
    Public Const Author = "HOANG VAN LUU"  ' Ten tac gia
    Public Const Mobile = "0934353510"  ' So dien thoai
    Public Const Email = "[email protected]" ' Hop thu dien tu.
    Public Const Profile = "ISS" ' Profile
    
    ' Thong tin Server.
    Private	Const SERVER_NAME  = "HOANGLUU-PC\WINCC" ' Ten Server
    Private	Const DATABASE_NAME = "ODBC_SQL_SERVER_ADVANCE" ' Ten CSDL.
    Private	Const USER_NAME = "itda" ' Ten nguoi su dung.
    Private	Const PASSWORD = "123456" ' Mat khau nguoi su dung.
    
    ' Ham doc chuoi ket noi Csdl.
    Function GetSQLConnectionString(Byref SQLConnectionString)
    	
    	' Ket noi Csdl thong qua OLEDB.
    	SQLConnectionString = "Provider=SQLOLEDB.1; Data Source ="& SERVER_NAME &"; uid=" & USER_NAME & "; pwd=" & PASSWORD & "; Initial Catalog = " & DATABASE_NAME & ";" 
    	
    	' Ket noi Csdl thong qua DNS.
    	'SQLConnectionString = "Provider=MSDASQL;DSN=ODBC_SQL_SERVER_ADVANCE;UID=;PWD=;" 
    							
    End Function
    2. Trong Management có EmployeeManagement với các Function AddEmployee, UpdateEmployee, DeleteEmployee, SelectEmployees(Sử dụng cho việc test thư viện DataAccessHelper)

    Chú ý các Tags:
    EmpId : kiểu Int
    EmpName : kiểu String
    EmpAge: kiểu Int.


    Code:
    ' Khai bao bien va hang so.
    Const TableName = "tblEmployee"
    Const EmpId = "EmpId"
    Const EmpName = "EmpName"
    Const EmpAge = "EmpAge"
    	
    ' Them moi nhan vien.
    Public Function AddEmployee()		
    	Dim columnNames ' Ten cot trong csdl.
    	Dim values	    ' Gia tri ban can insert vao csdl.
    	
    	' Gan gia tri cho mang columnNames, values.
    	columnNames = Array(EmpId, EmpName, EmpAge)
    	values = Array(HMIRuntime.Tags(EmpId).Read, HMIRuntime.Tags(EmpName).Read, HMIRuntime.Tags(EmpAge).Read)			
    	
    	' Goi ham insert vao csdl.
    	Call Insert(TableName, columnNames, values)
    End Function
    
    ' Cap nhat thong tin nhan vien.
    Public Function UpdateEmployee()
    	Dim columnNames ' Ten cot trong csdl.
    	Dim values	    ' Gia tri ban can insert vao csdl.
    	Dim keyColumns	' Cot dieu kien.
    	Dim keyValues	' Cot gia tri dieu kien.
    		
    	' Gan gia tri cho mang columnNames, values, keyColumns va keyValues.
    	columnNames = Array(EmpName, EmpAge)
    	values = Array(HMIRuntime.Tags(EmpName).Read, HMIRuntime.Tags(EmpAge).Read)		
    	
    	keyColumns = Array(EmpId)	
    	keyValues = Array(HMIRuntime.Tags(EmpId).Read)
    	
    	' Goi ham update vao csdl.
    	Call Update(TableName, columnNames, values, keyColumns, keyValues)
    End Function
    
    ' Xoa nhan vien.
    Public Function DeleteEmployee()
    	Dim keyColumns	' Cot dieu kien.
    	Dim keyValues	' Cot gia tri dieu kien.
    	
    	keyColumns = Array(EmpId)	
    	keyValues = Array(HMIRuntime.Tags(EmpId).Read)	
    	
    	' Gan gia tri cho mang keyColumns va keyValues.
    	Call Delete(TableName, keyColumns, keyValues)
    End Function
    
    ' Doc danh sach nhan vien.
    Public Function SelectEmployees()
    	Dim strSQLParam 	' Chuoi truy van csdl.
    	Dim objRecordset	' Tap ket qua sau khi thuc hien truy van.
    	
    	On Error Resume Next
    	strSQLParam = "SELECT * FROM " & TableName		
    	' Goi Ham Selects tu csdl.
    	Call Selects(strSQLParam, objRecordset)
    	Do While objRecordset.EOF = False
    		HMIRuntime.Trace objRecordset.Fields("EmpId").Value & ": " & objRecordset.Fields("EmpName").Value & ": " & objRecordset.Fields("EmpAge").Value &vbCrLf
    		objRecordset.MoveNext			
    	Loop
    		
    	If Err.Number <> 0 Then
    		MsgBox  CStr(Err.Number) & Err.Description, vbOKOnly, "Thong bao"
    		Err.Clear	
    	End If		
    	
    	Call CloseConnection() ' Goi ham dong ket noi voi csdl.
    
    End Function
    3. Tải ví dụ mẫu: http://www.mediafire.com/?79oo0s0lxfug9r7
    Tải xong giả nén, mở file "ODBC_SQL_SERVER_ADVANCE_QUERY" trong thư mục vừa giả nén bằng SQL Server 2005/2008/2012 rồi nhần F5 hoặc nhấn Execute trên thanh công cụ của IDE SQL Server để tạo DataBase và bảng CSDL để test.
    Mở Project "SQL_SERVER_UTILS" trong thư mục vừa giả nến để chạy test thử thao tác với CSDL SQL Server là OK.

    4. Hướng dẫn sử dụng thư viện:
    1. Tạo 1 Project từ IDE của WINCC.
    2. Tải 2 files DataAccessHelper.rar và Management.rar về rồi giả nén.
    3. Copy 2 thư mục vừa giả nén vào ScriptLib bên trong thư mục project bạn vừa tạo là có thể sử dụng được.
    File đính kèm File đính kèm
    Lần sửa cuối bởi luuhoang, ngày 10-28-2013 lúc 11:08 PM.

  5. The Following 4 Users Say Thank You to luuhoang For This Useful Post:


  6. #15
    Thành viên Mới
    Ngày tham gia
    May 2011
    Bài viết
    8
    Thanks
    0
    Thanked 1 Time in 1 Post
    có bạn nào sử dụng vb, hoặc visua c# lập trình opc liên kết với plc. mình có thể dùng cách đó để đọc và ghi các biến trong plc và thao tác với cơ sở dữ liệu sql hoặc access cũng rất dễ dàng. Bạn nào đang làm cái này rồi cho mình trao đổi với nhé

  7. Bài viết của "vodanh3011" đã được cám ơn bởi các thành viên:


  8. #16
    Thành viên cấp 1
    Ngày tham gia
    Apr 2011
    Bài viết
    18
    Thanks
    0
    3 lượt trong 3 bài viết
    Mình cũng đang viết chương trình giám sát cho vb thông qua OPC để giám sát và điều khiển PLC. mô phỏng thì cũng ok rồi. có chạy thực tế với PLC S7200 Với PCacess thấy cũng ổn định. Bạn đã làm thực tế với nó bao giờ chưa. Còn việt đọc dữ liệu từ Wincc thì có lệnh VB rất đơn giản thôi. Khi muốn ghi dữ liệu ở 1 Tag của Wincc vào Database mình tạo ra và sau đó xử lý ở trên đó cũng được. Lúc này Wincc chính là 1 OPC và chỉ việc đọc và hiển thị dữ liệu mà thôi. Code để mình tìm lại sau

  9. #17
    Thành viên Mới
    Ngày tham gia
    Aug 2011
    Bài viết
    1
    Thanks
    0
    0 lượt trong 0 bài viết
    Chao ae.hien tai trong nha may minh co he thong dieu khien PCS7. Bay gio minh muon lay du lieu qua trinh trong wincc(tich hop trong PCS7) ra excel thi minh lap trinh VBS trong global script va tao database trong sql 2000.Nhung khi tao nut an (button) trong wincc de goi file excel ra thi trong file excel nay khong co gia tri qua trinh. Mong ae cao thu nao da lam ve cai nay roi to giup minh voi. thanks

  10. #18
    Thành viên cấp 1
    Ngày tham gia
    Feb 2012
    Bài viết
    35
    Thanks
    6
    8 lượt trong 7 bài viết
    Bác hungsiemen có thể tìm hiểu về OLE DB, cái này có hẳn 1 file excel sẵn, đáp ứng đủ các yêu cầu của bác. Có điều sửa code thế nào lại là vấn đề @@. Em cũng đang làm cái dự án liên quan chủ yếu về report , mà chính là database, nhưng nản với mấy cái thư viện trong vb quá, không hiểu =="

  11. #19
    Thành viên cấp 1
    Ngày tham gia
    Feb 2012
    Bài viết
    35
    Thanks
    6
    8 lượt trong 7 bài viết
    http://www.mediafire.com/download/66...arm+Export.xls
    Đây là file excel OLE-DB , trong file này đã có code lấy dữ liệu từ database, và giao diện. Các bác có thể xem và nghiên cứu code @@.

  12. Bài viết của "yami1973" đã được cám ơn bởi các thành viên:


  13. #20
    Thành viên cấp 3
    Ngày tham gia
    Sep 2012
    Bài viết
    254
    Thanks
    21
    30 lượt trong 30 bài viết
    Trích dẫn Gửi bởi yami1973 Xem bài viết
    http://www.mediafire.com/download/66...arm+Export.xls
    Đây là file excel OLE-DB , trong file này đã có code lấy dữ liệu từ database, và giao diện. Các bác có thể xem và nghiên cứu code @@.
    Oh cái này Giống cái của luuhoang

Trang 2 của 3 Đầu tiênĐầu tiên 123 CuốiCuối

Đá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