a/Đổi Byte sang Int:
b/Đổi Int sang Byte:
EN: ngõ vào cho phép
Một số kiểu Byte ngõ vào được chuyển thành một số kiểu Int ở ngõ ra
Tương tự, ta có các hàm chuyển đổi sau:
I_DI: đổi số nguyên 16 bit sang số nguyên 32 bit DI_I: đổi số nguyên 32 bit sang số nguyên 16 bit DI_R: đổi số nguyên 32 bit sang số thực
BCD_I: đổi số BCD 16 bit sang số nguyên 16 bit I_BCD: đổi số nguyên 16 bit sang số BCD.
Trong trường hợp việc đổi từ số dung lượng nhỏ sang dung lương lớn hơn ( như từ Byte sang Int,từ Int sang Dint..) thì chương trình luôn thực thi.
Còn trường hợp ngược lại: Nếu giá trị chuyển bị tràn ô nhớ thì chương trình sẽ không thực thi và Bit tràn SM1.1 sẽ bật lên 1.
Ví dụ: Khi chuyển số Int sang Byte,mà số Int lớn hơn 255 (8Bit),thì chương trình sẽ không thực thi và Bit SM1.1 bật lên 1.
Khi I0.0 ON
Khi I3.0 ON:
1234 dạng BCD là : 0001 0010 0011 0100 1234 dạng số Int: 0000 0100 1101 0010
Khi thực hiện việc chuyển đổi giữa số Int và số BCD hoặc ngược lại,thì giá trị lớn nhất của số BCD là 9999 trong khi giá trị lớn nhất số Int là 216-1.
Lệnh đổi số ASCII sang số HEX và ngược lại: ATH: đổi số ASCII sang số HEX
HTA: đổi số HEX sang số ASCII
Ví dụ:
Khi I3.2 ON:
x: giá trị không bị thay đổi
Lệnh đổi nửa thấp của byte sang mã LED 7 đoạn: EN: ngõ vào cho phép IN: ngõ vào
LEN: chiều dài cần chuyển OUT: ngõ ra
Hoạt động:
Lệnh làm tròn: ROUND
Lệnh làm tròn xuống: TRUNC
Bài Tập: