Tập Lệnh GET

Tập lệnh PUT GET

Giới thiệu tập lệnh GET

Giới thiệu tập lệnh PUT


Mô tả câu lệnh GET:

  • Với lệnh “GET”, bạn có thể đọc dữ liệu từ CPU từ xa.
  • Lệnh được bắt đầu trên cạnh dương tại đầu vào điều khiển REQ:
    • Các con trỏ liên quan đến các khu vực được đọc (ADDR_i) sau đó được gửi tới CPU đối tác. CPU đối tác có thể ở chế độ RUN hoặc STOP.
    • CPU đối tác trả về dữ liệu:
      • Nếu câu trả lời vượt quá độ dài dữ liệu người dùng tối đa, điều này sẽ được hiển thị với mã lỗi “2” tại tham số TÌNH TRẠNG.
      • Dữ liệu đã nhận được sao chép vào vùng nhận được định cấu hình (RD_i) ở lần gọi tiếp theo.
    • Việc hoàn thành hành động này được biểu thị bằng thông số trạng thái NDR có giá trị “1”.
  • Việc đọc chỉ có thể được kích hoạt lại sau khi quá trình đọc trước đó đã hoàn thành. Lỗi và cảnh báo được xuất qua ERROR và STATUS nếu xảy ra sự cố truy cập trong khi dữ liệu đang được đọc hoặc nếu kiểm tra loại dữ liệu dẫn đến lỗi.
  • Các thay đổi trong vùng dữ liệu được xử lý trên CPU đối tác không được đăng ký bởi lệnh “GET”.

Hướng dẫn cấu hình:

  • Chức năng “Cho phép truy cập với giao tiếp PUT/GET từ đối tác từ xa” đã được kích hoạt trong các thuộc tính của CPU đối tác trong phần “Bảo vệ”.
  • Trong “Properties > Attributes“ của khối dữ liệu, hãy tắt quyền truy cập khối được tối ưu hóa (Optimized block access).
  • Đảm bảo rằng các khu vực được xác định bằng tham số ADDR_i và SD_i khớp nhau về số lượng, độ dài và loại dữ liệu.
  • Vùng được ghi (tham số ADDR_i) phải lớn bằng vùng gửi (tham số SD_i).

Hướng dẫn cấu hình khối hàm

Kết nối các PLC với nhau vào cùng 1 mạng LAN

Tập lệnh PUT GET
Kết nối PLC cùng mạng LAN

Chọn khối hàm ở mục S7-Communication trong bảng điều khiển

Tập lệnh PUT GET
Gọi tập lệnh PUT GET

Cấu hình tham số cho khối GET

Tập lệnh PUT GET
Cấu hình thông số khối GET
Tập lệnh PUT GET
Cấu hình thông số khối GET
  • Cấu hình truyền 1 giây 1 lần với xung mặc định của PLC 1Hz
  • Cấu hình nhận 8 byte bắt đầu từ byte số 0 của khối hàm DB2 tại PLC GET.
  • Địa chỉ truyền là 8 byte bắt đầu từ byte số 0 của khối hàm DB1 tại PLC PUT.
Tập lệnh PUT GET
Cấu hình thông số khối GET

Thông số:

Bảng sau đây hiển thị các tham số của lệnh “GET”:

Thông sốKiểu dữ liệuMô tả
REQBOOLKiểm soát yêu cầu tham số, kích hoạt trao đổi dữ liệu trên một cạnh tích cực.
IDWORDCác tham số địa chỉ để chỉ định kết nối với CPU đối tác.
NDRBOOLThông số trạng thái NDR:
• 0: Công việc chưa bắt đầu hoặc vẫn đang chạy.
• 1: Công việc hoàn thành thành công.
ERRORBOOLThông số trạng thái ERROR và STATUS, mã lỗi:
• LỖI=0 TÌNH TRẠNG có giá trị:
o Hiện mã 0000H: Không có cảnh báo cũng không có lỗi
o Khác mã <> 0000H: Cảnh báo, STATUS cung cấp thông tin chi tiết.
• LỖI=1 Một lỗi đã xảy ra. STATUS cung cấp thông tin chi tiết về loại lỗi.
STATUSWORD
ADDR_1REMOTECon trỏ tới các khu vực trên CPU đối tác sẽ được đọc. Khi con trỏ REMOTE truy cập một DB, DB phải luôn được chỉ định. Ví dụ: P#DB10.DBX5.0 Byte 10.
ADDR_2REMOTE
ADDR_3REMOTE
ADDR_4REMOTE
RD_1VARIANTCon trỏ tới các khu vực trên CPU cục bộ mà dữ liệu đọc được nhập vào.
RD_2VARIANT
RD_3VARIANT
RD_4VARIANT

Thông số LỖI và TÌNH TRẠNG:

Bảng sau chứa tất cả thông tin lỗi cụ thể cho lệnh “GET” có thể được xuất ra thông qua các tham số LỖI và TÌNH TRẠNG:

Mã lỗiMã trạng tháiMô tả chi tiết
011Cảnh báo: Công việc mới không hoạt động vì công việc trước đó vẫn đang bận.
025Truyền thông đã bắt đầu. Công việc đang được xử lý.
11Vấn đề giao tiếp, ví dụ:
• Mô tả kết nối không được tải (cục bộ hoặc từ xa)
• Kết nối bị gián đoạn (ví dụ: cáp, tắt CPU, CP ở chế độ STOP)
• Kết nối với đối tác chưa được thiết lập
12• Xác nhận tiêu cực từ thiết bị đối tác. Chức năng không thể được thực thi.
• Phản hồi từ trạm từ xa vượt quá độ dài dữ liệu người dùng tối đa (xem: Các tham số phổ biến của hướng dẫn giao tiếp S7).
• Bảo vệ truy cập được kích hoạt trên CPU đối tác. Tắt bảo vệ truy cập trong cài đặt CPU.
14Lỗi trong con trỏ tới bộ lưu trữ dữ liệu RD_i:
• Kiểu dữ liệu của tham số RD_i và ADDR_i không tương thích với nhau.
• Độ dài của vùng RD_i nhỏ hơn độ dài của dữ liệu của tham số ADDR_i sẽ được đọc.
18Lỗi truy cập trên CPU đối tác.
110Không thể truy cập vào bộ nhớ người dùng cục bộ (ví dụ: truy cập vào một DB đã bị xóa).
120• Đã vượt quá số lượng công việc song song tối đa.
• Công việc hiện đang được xử lý trong lớp ưu tiên với mức độ ưu tiên thấp (cuộc gọi đầu tiên).
1W#16#80C3(chỉ với S7-1500)
• Đã vượt quá số lượng công việc song song tối đa.
• Công việc hiện đang được xử lý trong lớp ưu tiên với mức độ ưu tiên thấp (cuộc gọi đầu tiên).

Tải ví dụ về code mẫu tại đây: https://libcode.net/lib/truyen-thong-put-get-trong-plc-siemens/