Tự động hóa IoT
Nhà cung cấp thiết bị truyền thông, viễn thông, tự động hóa IoT chuyên nghiệp, liên hệ: Tel/Zalo +84 904 251 826, sales@mctt.com.vn

Part 9. Phần mềm SCADA – ODBC

Lượt xem: 360

Part 9. Phần mềm SCADA – ODBC

Trong “Part 9” chúng ta cùng tìm hiểu về thiết lập kết nối cơ sở dữ liệu mở  “ODBC” trong phần mềm Cimon-SCADA

CIMON-SCADA có thể liên kết với các hệ thống dữ liệu quan hệ như Access và Oracle bằng cách sử dụng tính năng này. Những dữ liệu khác của CIMON-SCADA có thể được đăng ký với cơ sở dữ liệu quan hệ. Để sửa đổi, đăng kí, xóa và đọc dữ liệu trong cơ sở dữ liệu, sử dụng tiêu chuẩn và giao dịch SQL được  thực hiện thông qua cơ chế ODBC.

Câu lệnh truy vấn SQL được phân loại thành câu lệnh SELECT và các câu lệnh khác. Câu lênh SELECT dùng để đọc nhiều bản ghi. Các câu lệnh Others dùng để đọc một bản ghi, đăng kí, xóa một bản ghi.v.v.

1. Thiết lập cửa sổ ODBC

Nếu chọn “ODBC” trong menu “Tools” của CimonD, cửa sổ sau sẽ xuất hiện. Của sổ này dùng để liên kết CIMON-SCADA với các hệ thống cơ sở dữ liệu quan hệ. DSN của hệ thống cơ sở dữ liệu chung được liên kết và các truy vấn cho mỗi DSN được hiển thị trên của sổ cây bên trái màn hình. Ở bên phải màn hình hiển thị thông tin DSN truy vấn.

1.1. New DBMS

Sử dụng để thiết lập DSN của DBMS mới được liên kết với hệ thống CIMON-SCADA. Nếu bạn chọn biểu tượng này, một hộp thoại DBMS Configuration sẽ xuất hiện.

  • DB Name: Nhập ODBC DSN. Tên này phải giống với tên DSN được đăng kí bởi chương trình “ODBC”  trong “Setup”-“Control panel” của Window.
  • User ID: Nhập ID người dùng để liên kết với cơ sở dữ liệu đã đăng kí ở trên. ID này có quyền quản lý các truy vấn. Trong trường hợp không cần sử dụng thì hãy để trống User ID.
  • Password: Trong trường hợp banh đã chỉ định User ID, mục này sử dụng để đặt mật khẩu cho ID.
  • Description: Chú thích về cơ sở dữ liệu hiện được đặt.

1.2. New SQL

Sau khi đăng kí một DBMS trong “DBMS Configuration”, mục này sử dụng để thiết lập truy vấn cho DBMS.

  • Query Name: Sử dụng để nhập tên truy vấn.
  • Description: Chú thích về truy vấn đã đặt.
  • Query Type: Chỉ định loại truy vấn giữa “SELECT Statement”  và “Others”. Câu lệnh SELECT được sử dụng để đọc nhiều bản ghi. Những câu lệnh “Others” được sử dụng để đọc một bản ghi, để gia hạn, thêm và xóa một bản ghi.
  • Create SQL: Nếu bạn nhấn nút này, hộp thoại để chỉnh sửa SQL sẽ được bật lên.
  • How To Run Query: Cách chạy truy vấn
    • Regular Interval: Sử dụng để tự động chạy câu lệnh truy vấn đã chỉnh sửa trong ‘Create SQL’ một cách thường xuyên.
    • On Time: Được sử dụng để chạy truy vấn vào một thời điểm cụ thể.
    • Event: Điều này được sử dụng để chạy truy vấn nếu các điều kiện cụ thể được thỏa mãn. Gán điều kiện để chạy truy vấn bằng cách sử dụng biểu thức có điều kiện.
    • Run By Comm-and Function: Sử dụng để chạy truy vấn bởi hàm trong một tập lệnh hoặc biểu thức lệnh.

1.3. Viết một câu lệnh SELECT

Nếu loại truy vấn trong hộp thoại ‘Query Configuration’ được chỉ định là SELECT, có thể truy vấn thông qua hộp thoại sau.

  • SELECT (DISTINCT): Sử dụng để không tạo bản ghi cho cùng một dữ liệu.
  • New Field: Sử dụng để xác định trường bản ghi được tạo bằng cách chạy truy vấn. Nếu nhấn nút này, hộp thoại ‘Bind’ sẽ xuất hiện. Trong hộp thoại trường của bản ghi được gắn với tag của CIMON-SCADA.

Sử dụng để thiết lập tag được liên kết với kết quả chạy của SQL hoặc nội dung của một câu lệnh.

    • Field Name: Trong trường hợp một câu lệnh SELECT được viết, mục này sẽ được nhập vào. Gán tên trường được xác định vào bảng cơ sở dữ liệu.
    • Tag Name: Sử dụng để chỉ định tên thẻ. Sử dụng thẻ ảo để hoạt động chính xác.
    • Browse: Nếu bạn nhấn nút này, hộp thoại sau đây sẽ xuất hiện để đọc các tag hiện tại đã đăng kí trong cơ sở dữ liệu của CIMON-SCADA. Chọn một trong số các tag được hiển thị để chỉ định làm tên thẻ.

    • Data Type: Gán kiểu dữ liệu cho trường. Các kiểu dữ liệu có sẵn là ble of a database. The available data types are CHAR, DECIMAL, SMALLINT, REAL, INTERGER, FLOAT, DOUBLE, NUBERIC, VARCHAR, LONGVARCHAR, BIT, TINYINT, BIGINT, DATE, TIME, TIMESTAMP.
    • Description: Chú thích về trường này.
  • Edit: Sử dụng để chỉnh sửa trường đã đặt.
  • Delete: Sử dụng để xóa các trường đã chọn.
  • ▲ Button: Sử dụng để di chuyển thứ tự của trường đã chọn lên trên.
  • ▼ Button: Sử dụng để di chuyển thứ tự của trường đã chọn xuống dưới.
  • FROM: Gán tên bảng các trường thuộc SELECT. Tên bảng này phải giống tên bảng được sử dụng trong cơ sở dữ liệu thực tế.
  • WHERE: Sử dụng để gán câu lệnh SQL có thể tìm kiếm dữ liệu mong muốn.  Sử dụng chuẩn SQL.
  • ORDER BY: Sử dụng để chỉ định cách sắp xếp các bản ghi được tạo khi chạy truy vấn.

1.4. Viết câu lệnh Other

Nếu loại truy vấn được chỉ định trong ‘Query Configuration’ là loại Other, một truy vấn có thể được viết thông qua hộp thoại sau:

  • Binding: Gán tag thay thế cho nội dung của SQL dưới đây. Khi bạn chỉnh sửa một SQL, hãy viết một giá trị dưới dạng “[n]” (n là số nguyên thập phân). Khi nó chạy, phần này được thay thế bằng giá trị tag tương ứng với giá trị n.
  • New Tag: Sử dụng để đăng kí tag được liên kết với nội dung của câu lệnh SQL. Nếu bạn chọn nút này, hộp thoại ‘Bind’ sẽ bật lên. Chọn một thẻ trong hộp thoại này.

Sử dụng để thiết lập tag được liên kết với kết quả chạy hoặc nội dung của một câu lệnh SQL.

    • Tag Name: Chỉ định tên tag. Giá trị của giá trị tag được chỉ định sẽ thay thế bằng phần hiển thị dưới dạng “[n]” trong câu lệnh SQL.
    • Browse: Nếu bạn nhấn nút này, hộp thoại sau đây sẽ xuất hiện để đọc các tag  hiện tại đã đăng kí trong cơ sở dữ liệu của CIMON-SCADA. Chọn một trong số các tag được hiển thị để chỉ định làm tên tag.
    • Data Type: Gán kiểu dữ liệu cho trường. Các kiểu dữ liệu có sẵn là ble of a database. The available data types are CHAR, DECIMAL, SMALLINT, REAL, INTERGER, FLOAT, DOUBLE, NUBERIC, VARCHAR, LONGVARCHAR, BIT, TINYINT, BIGINT, DATE, TIME, TIMESTAMP.
    • Description: Chú thích về tag này.
  • Edit: Dùng để chỉnh sửa tag đã chọn giữa các tag sắp xếp phía bên trái.
  • Delete: Xóa tag đã chọn.
  • ▲ Button: Sử dụng để di chuyển thứ tự của tag đã chọn lên trước.
  • ▼ Button: Sử dụng để di chuyển thứ tự của tag đã chọn về sau.
  • SQL: Viết ra một SQL tiêu chuẩn. Có thể chỉ định phần tương ứng với giá trị “[n]”. Phần này được thay thế bằng giá trị tag có cùng số với n trong số các tag đã đăng ký trong ‘Binding’.
  • Edit: Sử dụng để chỉnh sửa một DBMS hoặc truy vẫn đã chọn.
  • Delete: Sử dụng để xóa một DBMS hoặc truy vẫn đã chọn.

2. Ví Dụ

Để sử dụng chức năng ODBC, nhấp vào [Microsoft Office] => [Microsoft Access 2010] và làm như sau.

2.1. Làm việc với Microsoft Access 2010

Viết ‘myDM.mdb’ tại File Name

Nhấp vào [Table1] => [Design View] và viết tên bảng tại ‘Table1’.

Sau đó viết Field Name và Data Type như hình

  • Field Name : im_ID, im_name, im_major
  • Data Type : Văn bản
  • Thay đổi Thuộc tính Trường bằng im_ID như sau:
  • Required (Bắt buộc): No & Yes
  • Allow Zero Length (Cho phép độ dài bằng 0): Yes & No
  • Thuộc tính trường của im_name và im_major là mặc định (Bạn không cần phải thay đổi chúng)

Nhấp đúp vào ‘Table1’ và sau đó viết ID, name và major như hình bên dưới.

Click vào “Save” và đóng Access 2010

2.2. Thiết lập ODBC tại Windows

Nhấp vào [Start] => [Control Panel] => [Administrative Tools]

Click [Data Sources (ODBC)] =>  [Add] để thêm đăng ký cơ sở dữ liệu đã thực hiện.

Chọn Microsoft Access Driver (*. Mdb) và sau đó nhấp vào [Finish]

Nhấp vào [Select] và tìm ra các Thư mục bạn đã lưu myDB.mdb.

Nếu bạn nhìn thấy hình ảnh đầu tiên, có Thư mục C:\Users\Marketing\Documents\

Viết ‘myDB’ tại [Data Source Name] và sau đó nhấp ‘OK’

Mở CimonD => đăng ký tag và thiết lập ODBC.  Đăng ký 4 tag như sau:

  • Name : ID, IDSEARCH, NAME và MAJOR
  • Type : String

Click [Tools] => [ODBC]

Nhấp vào biểu tượng [New DBMS] và viết ‘myDB’ tại [DB Name] và nhấp ‘OK

Nhấp vào biểu tượng [New Query] và thiết lập như sau:

  • Query Name :SelectQ
  • Query Type : loại SELECT
  • How to Run Query : Run By Command Function (Làm thế nào để chạy truy vấn: chạy theo chức năng lệnh)
  • Nhấp vào “Tạo SQL”

Nhấp vào [New Field] => đăng ký 3 Tên trường như sau:

  • Field Name: im_ID
  • Tag Name: ID
  • Data Type: VARCHAR
  • Field Name: im_name
  • Tag Name: NAME
  • Data Type: VARCHAR
  • Field Name: im_major
  • Tag Name: MAJOR
  • Data Type: VARCHAR

  • Viết “Table1” tại [FROM] và “im_ID=’[IDSEARCH]’” tại [WHERE]

Nếu bạn nhấp vào “OK”, bạn có thể thấy “SelectQ” tại [Query Name]

Nhấp vào biểu tượng [New Query] và thiết lập như sau:

  • Query Name (Tên truy vấn): InsertQ
  • Query Type (Loại truy vấn): Others
  • How to Run Query : Run By Command Function (Làm thế nào để chạy truy vấn: chạy theo chức năng lệnh)
  • Nhấp vào “Tạo SQL”

Nhấp vào [New Field] và đăng ký 3 tên trường sau:

  • Tag Name: ID
  • Data Type: VARCHAR
  • Tag Name: NAME
  • Data Type: VARCHAR
  • Tag Name: MAJOR
  • Data Type: VARCHAR

  • Viết “Insert Into Table1(im_ID, im_name, im_major) Values(‘[1]’, ‘[2]’, ‘[3]’)” sau đó nhấp “OK”

Nhấp vào biểu tượng [New Query] và thiết lập như sau:

  • Query Name : UpdateQ
  • Query Type : Others
  • How to Run Query : Run By Command Function
  • Click “Create SQL”
  • Click [New Field] và đăng ký 3 tên trường sau:
    • Tag Name: ID
    • Data Type: VARCHAR
    • Tag Name: NAME
    • Data Type: VARCHAR
    • Tag Name: MAJOR
    • Data Type: VARCHAR
  • Viết  “Update Table1 Set im_name=’[2]’, im_major=’[3]’, Where im_ID=’[1]’” tại SQL và nhấp vào “OK

Nhấp vào biểu tượng [New Query] và thiết lập như sau:

  • Query Name : DeleteQ
  • Query Type : Others
  • How to Run Query : Run By Command Function
  • Click “Create SQL”
  • Click [New Field] và đăng kí tên trường sau:
    • Tag Name: ID
    • Data Type: VARCHAR
  • Viết “Delete From Table1 Where im_ID=’[1]’” tại  SQL sau đó click “OK”

Sau khi thiết lập ODBC, tạo Script để chạy chức năng Chọn, Chèn, Cập nhật và Xóa.

Click [Tools] => [Script] và thực hiện 4 lệnh như sau:

  • Select Script; (Chọn)

Sub SelectS()

CSqlOpen(“SelectQ”)

CSqlClose(“SelectQ”)

End Sub

  • Insert Script; (Chèn)

Sub InsertS()

CSqlRun “InsertQ”

End Sub

  • Update Script; (Cập nhật)

Sub UpdateS()

CSqlRun “UpdateQ”

End Sub

  • Delete Script; (Xóa)

Sub DeleteS()

CSqlRun “DeleteQ”

End Sub

Để kiểm tra ODBC, hãy tạo một trang như sau:

  • Tạo 3 tag động: ID, name và major (hộp màu đỏ)
    • Config: EntryData
    • Action: Text

  • Tạo 1 tag động: IDSEARCH (hộp màu vàng)
    • Config: EntryData
    • Action: Text

  • Tạo 4 đối tượng hình chữ nhật chứa văn bản: Chèn, Cập nhật, Xóa và Chọn
    • Config: Touch
    • Action: Command Expression
    • Command Down:
      • RunScript(“InsertS”)
      • RunScript(“UpdateS”)
      • RunScript(“DeleteS”)
      • RunScript(“SelectS”)

Lưu trang và chạy CimonX sử dụng khóa DS.

Nếu bạn nhấp đúp vào tag động và viết ID rồi nhập vào “Select”, bạn có thể xem thông tin cơ sở dữ liệu của nó.

Nếu bạn nhập đúp vào tag động và viết ID, name, major sau đó nhấp vào “Insert”, bạn có thể thấy cơ sở dữ liệu mới được chèn vào trong Access 2010 như hình:

Bạn có thể kiểm tra các chức năng khác như Update và Delete tương tự.

Bình luận