Khối hàm SCALE_X

libcode.net

SCALE_X


  • Mô tả câu lệnh:
    • Bạn có thể sử dụng hướng dẫn “SCALE_X” để chia tỷ lệ giá trị ở đầu vào VALUE bằng cách ánh xạ nó đến một phạm vi giá trị được chỉ định.
    • Khi lệnh “SCALE_X” được thực thi, giá trị dấu phẩy động ở đầu vào VALUE được chia tỷ lệ thành phạm vi giá trị được xác định bởi các tham số MIN và MAX.
    • Kết quả của việc chia tỷ lệ là một số nguyên, được lưu trong đầu ra OUT.
  • Hình sau cho thấy một ví dụ về cách các giá trị có thể được chia tỷ lệ:
  • Lệnh “SCALE_X” hoạt động với phương trình sau:

OUT = [VALUE ∗ (MAX – MIN)] + MIN

  • Kích hoạt đầu ra ENO có trạng thái tín hiệu “0” nếu áp dụng một trong các điều kiện sau:
    • Đầu vào kích hoạt EN có trạng thái tín hiệu “0”.
    • Giá trị ở đầu vào MIN lớn hơn hoặc bằng giá trị ở đầu vào MAX.
    • Giá trị của một số dấu phẩy động được chỉ định nằm ngoài phạm vi của các số chuẩn hóa theo IEEE-754.
    • Xảy ra tràn dữ liệu.
    • Giá trị ở đầu vào VALUE là NaN (Không phải là dạng số học hợp lệ).

Thông số khối lệnh:

Thông số Kiểu dữ liệu Mô tả
EN BOOL Kích hoạt đầu vào
ENO BOOL Trạng thái đầu ra
MIN Integers, floating-point numbers Giới hạn dưới của giá trị
VALUE Integers, floating-point numbers Giá trị đầu vào từ NORM_X
MAX Integers, floating-point numbers Giới hạn trên của giá trị
OUT Floating-point numbers Kết quả của SCALE_X

Ví dụ:

Bảng sau đây cho thấy cách hoạt động của lệnh bằng cách sử dụng các giá trị toán hạng cụ thể:

Thông số Toán hạng Giá trị
MIN Tag_MIN 10
VALUE Tag_Value 0.5
MAX Tag_MAX 30
OUT Tag_Result 20
  • Mô tả:
    • Nếu toán hạng “TagIn” có trạng thái tín hiệu “1”, lệnh được thực hiện.
    • Giá trị ở đầu vào “Tag_Value” được chia tỷ lệ thành phạm vi giá trị được xác định bởi các giá trị ở đầu vào “Tag_MIN” và “Tag_MAX”.
    • Kết quả được lưu trong đầu ra “Tag_Result”.
    • Nếu lệnh được thực thi mà không có lỗi, đầu ra kích hoạt ENO có trạng thái tín hiệu “1” và đầu ra “TagOut” được đặt.