Tập lệnh di chuyển dữ liệu MOVE

Một phần của tài liệu LẬP TRÌNH PLC CHO NGƯỜI MỚI BẮT ĐẦU (Trang 51 - 53)

Bài 3 : Các tập lập điều khiển chương trình

2.1 Tập lệnh số học của PLC

2.1.1 Tập lệnh di chuyển dữ liệu MOVE

Ta sử dụng hàm MOVE để xử lý các vấn đề về di chuyển dữ liệu, gán dữ liệu từ vùng nhớ này sang vùng nhớ khác, chuyển đổi từ một kiểu dữ liệu này sang kiểu khác. Dữ liệu nguồn không bị thay đổi trong quá trình di chuyển.

Hình 3.1.Các lệnh di chuyển và di chuyển khối

MOVE: sao chép một phần tử dữ liệu được lưu trữ tại một địa chỉ xác định đến một địa chỉ mới.

MOVE_BLK: di chuyển có thể ngắt mà sao chép một khối các phần tử dữ liệu đến một địa chỉ mới.

UMOVE_BLK: di chuyển không ngắt được mà sao chép một khối các phần tử dữ liệu đến một địa chỉ mới.

MOVE

Thông số Kiểu dữ liệu Miêu tả

IN SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte,

OUT SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte,

Địa chỉ đích

MOVE_BLK, UMOVE_BLK

Thông số Kiểu dữ liệu Miêu tả

IN SInt, Int, DInt, USInt, UInt, UDInt, Real, Byte,

Địa chỉ bắt đầu nguồn

COUNT UInt Số lượng phần tử dữ liệu để sao

chép OUT SInt, Int, DInt, USInt, UInt,

UDInt, Real, Byte,

Địa chỉ bắt đầu đích Các quy tắc đối với hoạt động sao chép dữ liệu:

 Để sao chép kiểu dữ liệu Bool, sử dụng SET_BF, RESET_BF, R, S hoặc cuộn dây đầu ra (LAD).

 Để sao chép một kiểu dữ liệu cơ bản đơn lẻ, sử dụng MOVE.

 Để sao chép một mảng kiểu dữ liệu cơ bản, sử dụng MOVE_BLK hay UMOVE_BLK.

 Để sao chép một cấu trúc, sử dụng MOVE.  Để sao chép một chuỗi, sử dụng S_CONV.

 Để sao chép một ký tự đơn lẻ trong một chuỗi, sử dụng MOVE

 Lệnh MOVE_BLK và UMOVE_BLK không thể được dùng để sao chép các mảng hay cấu trúc đến các vùng nhớ I, Q hay M.

Lệnh MOVE sao chép một phần tử dữ liệu đơn lẻ từ một địa chỉ nguồn được xác định bởi thông số IN đến địa chỉ đích được xác định bởi thông số OUT.

Lệnh MOVE_BLK và UMOVE_BLK có một thông số thêm vào là COUNT. Thông số COUNT chỉ ra có bao nhiêu phần tử dữ liệu được sao chép. Số lượng các byte trong mỗi phần tử được sao chép phụ thuộc vào kiểu dữ liệu được gán cho tên gắn nhãn của thông số IN và OUT trong bảng gắn nhãn PLC.

Các lệnh MOVE_BLK và UMOVE_BLK khác nhau ở cách thức mà các ngắt được thực hiện:

 Các sự kiện ngắt được xếp hàng và được xử lý trong suốt việc thực thi MOVE_BLK. Sử dụng lệnh MOVE_BLK khi dữ liệu tại địa chỉ di chuyển đích không được sử dụng bên trong một chương trình con OB ngắt, hoặc nếu nó được sử dụng thì dữ liệu đích không bắt buộc phải là nhất quán. Nếu một hoạt động MOVE_BLK bị ngắt, phần tử dữ liệu sau cùng được di chuyển sẽ hoàn tất và nhất quán tại địa chỉ đích. Hoạt động MOVE_BLK được khôi phục lại sau khi thực thi OB ngắt hoàn tất.

Các lấy lệnh:

Hình 3.2.Lấy lệnh chuyển đổi dữ liệu

Các sự kiện ngắt được xếp hàng nhưng không được xử lýcho đến khi thực thi UMOVE_BLK hoàn tất. Sử dụng lệnh MOVE_BLK khi hoạt động di chuyển phải được hoàn tất và dữ liệu đích nhất quán, trước sự thực thi của một chương trình con OB ngắt.

ENO luôn luôn đúng theo sự thực thi của lệnh MOVE

Trạng thái ENO Điều kiện Kết quả

1 Không có lỗi Tất cả phần tử COUNT đã được sao

chép thành công. 0

Cả phạm vi nguồn (IN) hay phạm vi đích (OUT) vượt quá vùng nhớ có sẵn

Các phần tử phù hợp được sao chép. Các phần tử lẻ ra không được sao chép.

Một phần của tài liệu LẬP TRÌNH PLC CHO NGƯỜI MỚI BẮT ĐẦU (Trang 51 - 53)

Tải bản đầy đủ (PDF)

(102 trang)