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.

Bài viết liên quanXem thêm...

Tìm kiếm trên google