http://plcvietnam.com.vn/showthread....3%A2m-C%C4%90T
các bạn tham khảo tài liệu ở đây nữa nhé. coi trong chương 4 có phần analog
http://plcvietnam.com.vn/showthread....3%A2m-C%C4%90T
các bạn tham khảo tài liệu ở đây nữa nhé. coi trong chương 4 có phần analog
Không biết bạn có nhầm không. Theo mình là dùng FC 105 chứ không phải FC35. Cho mình xin lỗi nếu mình có nói sai nha.
Chức năng của hàm FC 105 có tác dụng chuyển đổi giá trị số nguyên được vào ngõ IN và chuyển nó thành giá trị sử dụng kỹ thuật nằm trong khoảng LO_LIM và HI_LIM. Và ngỏ OUT sẽ được xuất ra. Dựa theo công thức:
OUT=[((FLOAT (IN) - K1)/(K2-K1)) * (HI_LOW - LO_LIM) + LO_LIM
Trong đó: hằng số K1 và K2 được xác định dựa theo giá trị là đơn cực hay lưỡng cực (tức là BIPOLAR hay UNIPOLAR)
- Lưỡng cực: giá trị số nguyên đặt vào nằm trong khoảng K1= -27648 đến K2= 27648
- Đơn cực: giá trị số nguyên đặt vào nằm trong khoảng K1= 0 đến K2= 27648
Vinh - 0935 501 812
thầy hiếu,em có một cảm biến đưa tín hiệu 4-20mma em đọc về piw256.em có thể sử lý luôn ma ko sử dụng fc105 dc không thầy.em muốn điều khiển bơm .em muốn điều khiển biến tần em không dung fc106 vậy em dung hàm nào để có thể out put ra điêu khiển biến tần
SET // if(BIPOLAR=0)
A #BIPOLAR // .
JC EL01 // {
L 0.000000e+000 // K1=0
T #K1 // .
JU EI01 // } else {
EL01: L -2.764800e+004 // K1=-27648.0
T #K1 // .
EI01: NOP 0 // }
L 2.764800e+004 // K2=+27648.0
T #K2 // .
// convert input (IN) to real
L #IN // ACC1=IN
ITD // convert to double integer
DTR // convert to real
T #IN_REAL // IN_REAL-IN as a real
// determine SPAN = HI_LIM - LO_LIM
L #HI_LIM // SPAN=HI_LIM-LO_LIM
L #LO_LIM // .
-R // .
T #SPAN // .
// If the input value is outside the K1 and K2 range, the output
// is clamped to the nearer of either the LO_LIM or the HI_LIM
// and an error is logged. If the input value is exactly at a limit the
// output will be set to the computed limit with no error returned.
// changed 2/14/00 by ERI per RQ210693
L #IN_REAL // if(IN_REAL<K1)
L #K1 // .
>=R // .
JC EL02 // {
L 8 // error
T #RET_VAL // .
L #LO_LIM // ACC1=LO_LIM
T #OUT // OUT=ACC1
JU FAIL // error
EL02: POP // } else {
L #K2 // if(IN_REAL>K2)
<=R // .
JC EI04 // {
L 8 // error
T #RET_VAL // .
L #HI_LIM // ACC1=HI_LIM
T #OUT // OUT=ACC1
JU FAIL // error
EI04: NOP 0 // }
NOP 0 // }
// scale the input
L #K2 // TEMP1=K2-K1
L #K1 // .
-R // .
T #TEMP1 // .
L #IN_REAL // IN_REAL-K1
L #K1 // .
-R // .
L #TEMP1 // divide by TEMP1
/R // .
L #SPAN // multiply by SPAN
*R // .
L #LO_LIM // add LO_LIM
+R // .
T #OUT // OUT=scale(IN_REAL)
// set BR bit : no error-set BR bit to 1; with error-set BR bit to 0.
L 0 // return error code 0
T #RET_VAL
SET // RLO = 1 (NO ERROR)
JU SVBR //
FAIL: CLR // RLO = 0 (ERROR)
SVBR: SAVE // BR = RLO
Xin lỗi bạn, tôi không nghĩ tôi dùng "đề nghị", "cảm ơn bạn nhiều" có nghĩa là ra lệnh. Take it easy! Dù sao cũng xin tiếp thu và rút kinh nghiệm ạ!
Tôi nhờ chủ topic chỉ dẫn là vì link tài liệu : http://plcvietnam.com.vn/showthread....3%A2m-C%C4%90T
không vào được
Lần sửa cuối bởi van8x10, ngày 02-05-2013 lúc 04:56 PM.
Đánh dấu