Lệnh MOVE trong lập trình PLC Panasonic FP-X C14R

Các bài viết khác

Trong lập trình PLC Panasonic dòng FP-X (sử dụng phần mềm FPWIN Pro 7 hoặc FPWIN GR), lệnh MOVE được dùng để sao chép giá trị từ vùng nhớ này sang vùng nhớ khác.

Dưới đây là hướng dẫn chi tiết cách sử dụng lệnh này.

1. Cấu trúc lệnh (Syntax)

Lệnh MOVE trong PLC Panasonic thường được viết dưới dạng MOV hoặc FMOV (nếu là khối dữ liệu).

  • Lệnh MOV (16-bit): Sao chép giá trị 16-bit (từ -32,768 đến 32,767).

  • Lệnh DMV (32-bit): Sao chép giá trị 32-bit (số nguyên lớn hoặc số thực).

Cú pháp:

MOV(S, D)

  • S (Source): Nguồn dữ liệu (có thể là hằng số hoặc địa chỉ thanh ghi như DT, WR, SV, EV).

  • D (Destination): Đích đến (địa chỉ thanh ghi như DT, WR).

2. Cách thực hiện trong FPWIN Pro

Bạn có thể chèn lệnh này theo hai cách:

Cách 1: Sử dụng Ladder Diagram (Sơ đồ hình thang)

  1. Chọn công cụ Contact (tiếp điểm) để đặt điều kiện (ví dụ: X0).

  2. Chọn công cụ Box (hộp chức năng) và đặt tên là MOV.

  3. Kết nối X0 vào đầu vào của hộp MOV.

  4. Tại chân S, điền giá trị muốn chuyển (ví dụ: 100 hoặc DT10).

  5. Tại chân D, điền địa chỉ thanh ghi đích (ví dụ: DT20).

Logic: Khi X0 ON, giá trị tại DT10 sẽ được chép vào DT20.

Cách 2: Sử dụng Text (Structured Text)

Nếu bạn viết bằng ngôn ngữ ST:

Delphi

IF X0 THEN
    DT20 := DT10;
END_IF;

3. Các lưu ý quan trọng

  • Địa chỉ thanh ghi: Dòng FP-X C14R sử dụng vùng nhớ Data Register (DT). Hãy đảm bảo bạn không ghi đè lên các vùng nhớ hệ thống.

  • Điều kiện thực thi:

    • Nếu bạn dùng tiếp điểm bình thường, lệnh sẽ thực hiện liên tục mỗi chu kỳ quét (Scan cycle) chừng nào điều kiện vẫn ON.

    • Nếu chỉ muốn thực hiện 1 lần duy nhất khi nhấn nút, hãy dùng tiếp điểm xung cạnh lên (công cụ DF – Differential Up).

  • Định dạng dữ liệu: Đảm bảo kiểu dữ liệu giữa nguồn và đích đồng nhất (ví dụ: không nên dùng MOV cho giá trị 32-bit vì sẽ làm mất dữ liệu, hãy dùng DMV).

4. Ví dụ ứng dụng

Giả sử bạn muốn thiết lập thời gian cho một bộ Timer thông qua biến trong màn hình HMI:

  • Người dùng nhập giá trị vào DT100.

  • Trong chương trình, bạn dùng lệnh MOV(DT100, DT110) để gán giá trị đó vào giá trị cài đặt của Timer 0.

Chú ý khi kéo khối lệnh ra

Nếu kéo khối lệnh trực tiếp ra thì khối move chỉ hiện 2 dấu ? để nhập giá trị cần move. Đây là khối tự do nên không có chân điều khiển điều kiện .

Vì vậy nếu muốn có chân EN/ENO thì ngay tại khối lệnh MOVE, nhấp chuột phải và chọn With EN/ENO rồi mới kéo ra .

Hỗ trợ 💬