Trích dẫn Gửi bởi cuongvcs Xem bài viết
Bạn vẫn phải dùng hàm Scale .bạn có thể tìm trong diễn đàn or xem hướng dẫn mình sưu tầm được :
Analog Signals in S7-200
- Trong S7-200 cũng có các hàm scale và unscale trong thư viện scale của nó.
+ S_ITR: Scaling the analog input in the output data format REAL
+ S_RTR:Scaling change to the data type format REAL
+ S_RTI:Converting to the analog output scaling format INTEGER
- Nếu không muốn sử dụng hàm trong thư viện bạn có thể tự viết các hàm scale và unscale của mình, giải tín hiệu như sau:
+ unipolar scaling: ( ví dụ: 0-20mA, 0-10V) thì tín hiệu số tương ứng nhận được là 0 đến 32000
+ unipolar scaling with a 20% offset: ( ví dụ: 4-20mA, 1-5V) thì tín hiệu số tương ứng nhận được là 6400 đến 32000
+ Bipolar scaling: ( ví dụ: -20-20mA, -10V-10V..) thì tín hiệu số tương ứng nhận được là -32000 đến 32000
Analog Signals in S7-300
- FC 105 là hàm scale, FC 106 là hàm unscale
- Nếu muốn tự viết hàm scale thì giải tín hiệu số tương ứng như sau:
+ unipolar scaling và unipolar scaling with a 20% offset: ví dụ ( 0-10V, 1-5V, 0-20mA, 4-20mA..) thì tín hiệu số tương ứng nhận được là 0-27648
+ Bipolar scaling: ví dụ (-20mA - +20mA, -10mA - +10mA, -5V - +5V, -10V - +10V..) thì tín hiệu số tương ứng nhận được là -27648 - +27648.
Phần này bạn phải tính toán cho phù hợp để cho tốc độ đúng or sai số it thôi.
good luck
cái 0 --> 15000 (mà vòng tua lớn dữ bạn )hihi.. thường là 0 -->1500. là tốc độ động cơ của bạn mún hiển thị lên HMI mà đúng không ?
bạn có mối quan hệ giữa giá trị điều khiển cho biến tần vầ tốc độ mà thì trong chương trình plc bạn có thể dùng hàm scale hoặc tự viết vài dòng công trừ nhân chia sau đó đưa vào một ô nhớ (Tag ) và hiện thị trên Hmi thôi chứ có gì đâu.

0 --- 32670
0-----15000
lập phương trình đường thẳng rồi thì cứ vậy mà quy ra. Nhớ phải chuyển về số thực mà tính nha, cái 0 --32670 là số nguyên đó để vậy mà tính thì bạn cũng biết kết quả sẽ sao rồi đó? hi mà tôi cũng không biết sao khi tính analog lại cứ phải convert nó về số thực cho mệt nhỉ.hi