I PS 3071 OA |6ES7 307-1KA00-QAA
2. Hàm SFC 66 “XRCV”
-Hàm SFC 66 “X_RCV” được dùng đế nhận dữ liệu gửi bởi một hay nhiều đối tác truyền thơng ngồi trạm S7 địa phương. Những đổi tác truyền thơng này sử dụng hàm SFC 65 “X SEND”. Với SFC 66 “X_RC V”, ta cịn cĩ thể kiểm tra hoặc la dữ liệu đã được nhận hoặc là đang đợi đế được copy. Dữ liệu nhận được đưa vào trong bộ đệm nhận bởi hệ điều hành. Ta cĩ thể copy khối dữ liệu cũ nhất trong hàng đến vùng nhận lựa chọn .
V Các thơng sổ của hàm SFCX_RCV: PHỤ LỤC 2
V Gọi hàm SFC X_RCỴ với EN DT =0:
-Ngay khi dữ liệu từ một đối tác truyền thơng đi đến, chúng được đưa vào trong bộ đệm bởi hệ điều hành theo đúng thứ tự mà chúng được nhận.
-Neu muốn kiếm tra cĩ ít nhất một khối dữ liệu trong bộ đệm, ta gọi hàm SFC X_RCV với EN_DT=0 và ước lượng thơng số ra NDA như sau :
+NDA=0 : bộ đệm khơng chứa bất kì khối dữ liệu nào. Thơng số REỌ ID khơng đáng kể, thơng số RET VAL = w#16#7000.
+NDA=1 : Cĩ ít nhất một khối dữ liệu trong bộ đệm. Trong trường hợp này, ta cũng nên ước lượng thơng số ra RET VAL và REQ ID. Thơng số RET VAL chứa độ dài của khối dữ liệu, thơng số REQ_ID chứa “số cơng việc” của khối dữ liệu gửi.
V Đưa dữ liệu vào vũng nhận với EN_DT=1:
-Khi ta gọi hàm SFC 66 “X_RCV” với EN_DT=1, khối dữ liệu nhận cũ nhất trong bộ đệm được copy đến vùng được chỉ định bởi RD. Thơng số RD phải cĩ kích thước lớn hơn hoặc bằng vùng gửi được xác định bởi thơng số SD của hàm SFC 65 “X SEND” tương ứng. Neu thơng số vào SD cĩ kiểu dữ liệu BOOL, RD cũng phải cĩ kiếu dữ liệu BOOL... . Neu khơng cĩ lỗi khi dữ liệu được copy, RET VAL chứa độ dài của khối dữ liệu copy và một sự thừa nhận rõ ràng được gửi đến Trạm gửi (the sender).
Entering Data from the Queue
Queue Transíer da ta
“V
Hình IV. 7 : Gọi X_RCV với EN_DT = 1
V Sự huỷ bỏ dữ liệu
-Neu ta khơng muốn ghi dữ liệu từ bộ đệm thì gán giá trị RD = N1L. Trong trường hợp này, Trạm gửi nhận một sự khơng thừa nhận (RET VAL của SFC 65 “X SEND” tương ứng cĩ giá trị W#1680B8). RET VAL của hàm SFC 66 “X_RCV” cĩ giá trị “0”
V Độ ốn định của dữ liệu
-Ta khơng được đọc dữ liệu của vùng nhận cho đến khi cơng việc nhận được hồn thành. Neu khơng thì, ta cĩ thế đọc dữ liệu bị sai vì dữ liệu khơng ơn định.
V Sự chuyến đến trạng thải STOP
-Neu CPU chuyến đến trạng thái STOP, tất cả những dữ liệu mới ghi vào bộ đệm nhận đều khơng thừa nhận. Tất cả những dữ liệu đã ghi vào bộ đệm nhận đều khơng thừa nhận nếu: .
+ Neu trạng thái Stop được theo sau bởi restart ấm hay lạnh, tất cả những khối dữ liệu đều được huỷ bỏ.
+ Neu trạng thái Stop được theo sau bởi restart nĩng (khơng cĩ trên S7-300 và S7-400). Khối dữ liệu cũ nhất trong hàng được đưa vào chương trình úng dụng, nếu nĩ được địi hỏi trước khi sự thay đổi đến trạng thái STOP (Bởi việc gọi SFC 66 “X_RCV” với EN_DT=0). Những trường hợp cịn lại, nĩ được huỷ bỏ. Tất cả những khối dữ liệu khác được huỷ bỏ.
V Kết nổi bãi bỏ
-Neu kết nối được kết thúc, theo sau đĩ, bộ đệm cũng được huỷ bỏ. Ngoại trừ, khối dữ liệu cũ nhất trong hàng cĩ thể được ghi vào trong vùng nhận với EN_DT=1 nếu khi trước, ta đã xác định sự hiện diện của nĩ bởi việc gọi hàm SFC 66 “X_RCV” với EN_DT=0.