Friday, February 21, 2014

Data Block trong S7-300


Tổng Quan

Data Block (DB) là khối vùng nhớ, nó được dùng để chứa một danh sách các biến được hỗ trợ trong S7-300. Trong S7-300 không có sẵn các khối DB. Ta phải tạo và cấu hình các khối DB trong Step7 rồi download xuống S7-300 giống như các khối OB, FB, FC.

Để truy cập vùng nhớ trong DB ta dùng cấu trúc địa chỉ dạng DBx.DBty hoặc DBx.Dbty.z với kiểu BIT. Trong đó x là chỉ số của khối DB (ví dụ DB1, DB2, …), t: là ký hiệu tương ứng với kiểu vùng nhớ như bảng dưới, y là địa chỉ BYTE của vùng nhớ trong khối DB, z là địa chỉ BIT của vùng nhớ trong khối DB.

Kiểu vùng nhớ
Ký hiệu t
Ví dụ
BIT
X
DB1.DBX0.0
BYTE
B
DB1.DBB1
WORD
W
DB1.DBW2
DOUBLE WORD
D
DB1.DBD4

Khi ta truy cập vùng nhớ DB, bắt buộc vùng nhớ đó phải tồn tại trong PLC tức là ta đã tạo vùng nhớ đó trong Step7 và download xuống PLC, nếu không PLC sẽ báo lỗi và chuyển PLC sang chế độ STOP. Ta có thể vẫn giữ PLC ở chế độ RUN bằng cách sử dụng các khối OB tương ứng, ta sẽ bàn về điều này trong một chủ đề khác.

Tạo và cấu hình DB

Bây giờ ta sẽ tạo một khối DB đơn giản trong Step7 Manager. Trước tiên ta mở lại project “example”. Right click trên biểu tượng “Blocks” rồi chọn “Insert New Object → Data Block“ để mở hộp thoại “Properties – Data Block”. Trong mục “Name and type”, ta nhập tên của khối DB là “DB1, chọn kiểu DB là “Shared DB”. Một khối DB với tên “DB1” được tajo ra trong thư mục “Blocks”.

Bây giờ ta mở khối “DB_EXAMPLE” trong “LAD/STL/FBD” bằng cách double click trên biểu tượng của nó trong cửa sổ “Objects”. Ta thấy giao diện như hình sau


Ta có các trường sau:
  • Address: Địa chỉ tương đối của biến trong khối DB.
  • Name: Tên biến
  • STRUCT: Kiểu biến (ví dụ REAL, WORD, …).
  • Initial value: Giá trị khởi tạo của biến. Đây là giá trị được gán cho biến khi ta download khối DB xuống PLC.
  • Comment: Chú thích cho biến.
Để thêm một biến, bạn nhập tên biến, kiểu dữ liệu, giá trị khởi tạo và chú thích nếu cần rồi bấm “ENTER”, Step7 tự động thêm một hàng mới để bạn thêm biến mới, hoặc bạn có thể right click trên hàng bất kỳ rồi chọn “Declaration Line …” để thêm biến mới. Trường địa chỉ được gán tự động, ta không thể nhập trường này. Dưới đây là một số biến ví dụ tôi đã nhập trong khối DB1, sau khi khai báo xong các biến, ta click nút “Save” để lưu cấu hình cho khối DB1.



Shared DB và Instance DB

Sharred DB là khối Data Block bình thường mà ta cấu hình như phần trên, nó chỉ là một khối DB độc lập dùng để lưu một danh sách biến và ta phải tạo danh sách biến này bằng tay.

Instance DB là một khối DB được sử dụng cho FB. FB (Function Block) là một khối lập trình cho phép ta viết lệnh trong đó để thực hiện một số công việc nhất định. FB cung cấp một giao diện (Interface) gồm các kiểu biến IN, OUT, IN_OUT, STAT, TEMP. Ngoại trừ kiểu TEMP, các kiểu khác được cấp vùng nhớ trong một khối DB đi kèm, tức là khi ta gọi một khối FB nào đó, ta phải gán địa chỉ của khối DB như một tham số đi kèm và danh sách biến của khối DB này hoàn toàn giống với danh sách biến mà ta cấu hình trong khối FB.

Ta không thể tạo các biến trong Instance DB bằng tay, các khối Instance được tạo tự động bằng Step7. Trước tiên tôi tạo một khối FB1 để làm ví dụ, các bạn có thể tự mình tạo một khối FB rồi làm tương tự như tôi theo một trong hai cách sau đây.
  • Right click trên “Blocks” rồi chọn “Insert New Object → Data Block” để hiển thị hộp thoại “Properties – Data Block”. Trong mục “Name and type” nhập tên là DB2, kiểu là Instance DB và khối FB tham chiếu là FB1 rồi click “OK”. Một khối DB2 được tạo ra trong thư mục “Blocks”.
  • Trong khối OB1 bạn gõ lệnh (CALL FB1, DB2) rồi bấm “ENTER”. Nếu DB2 đã có thì mọi việc bình thường, nếu DB2 chưa tồn tại thì một hộp thoại hiện ra như hình dưới, nhắc bạn có muốn tạo DB2 hay không. Bạn click “Yes” để tạo nó và hoàn tất. Kết quả là khối DB2 được tạo ra. 

Bây giờ ta mở khối DB2 trong “LAD/STL”FBD”, hộp thoại “Open Data Block” mở ra, bạn click “Yes” hay “No” đều được. Ta sẽ thấy danh sách biến như hình dưới.


Đây là danh sách biến được khai báo trong khối FB1, nó được tạo tự động trong khối DB2. Ở đây ta có thêm cột “Declaration” hiển thị biến đó là kiểu IN, OUT, IN_OUT, hay STAT.

Tóm lại, danh sách biến được khai báo trong FB sẽ được tạo tự động trong khối Instance DB tham chiếu tới nó, ta không thể chỉnh sửa danh sách biến này bằng tay.


8 comments:

  1. Replies
    1. Siemens Automation: Data Block Trong S7-300 >>>>> Download Now

      >>>>> Download Full

      Siemens Automation: Data Block Trong S7-300 >>>>> Download LINK

      >>>>> Download Now

      Siemens Automation: Data Block Trong S7-300 >>>>> Download Full

      >>>>> Download LINK vV

      Delete
  2. Add cho mình hỏi. trong 1 Db nếu mình muốn khai báo cho riêng cho kiểu DB1.DBX0.0. thì mình khai báo tối đa được bao nhiêu địa chỉ. và các kiểu khác còn lại cũng vậy?

    ReplyDelete
  3. DB TRONG S7-300...RIGHT CLICK __OBJECT PROPERTIES_TẠI MỘT HÀNG BẤT KÌ.HIỆN BẢNG PROPERTIES PARAMETER...CHO PHÉP GÁN CỜ VÀO ĐỐI TƯỢNG...VẬY CHO HỎI Ý NGHĨA VIỆC GÁN CỜ NÀY LÀ GÌ NHỈ..

    ReplyDelete
  4. Siemens Automation: Data Block Trong S7-300 >>>>> Download Now

    >>>>> Download Full

    Siemens Automation: Data Block Trong S7-300 >>>>> Download LINK

    >>>>> Download Now

    Siemens Automation: Data Block Trong S7-300 >>>>> Download Full

    >>>>> Download LINK IM

    ReplyDelete