月澤
時間嘛!就象乳溝,擠一擠總歸還是有的!
級別: 工控俠客
精華主題: 1 篇
發(fā)帖數(shù)量: 1285 個
工控威望: 2921 點
下載積分: 4511 分
在線時間: 642(小時)
注冊時間: 2009-03-28
最后登錄: 2024-06-12
查看月澤的 主題 / 回貼
樓主  發(fā)表于: 2011-04-06 21:40
OUT 是怎么算出來=50.03978588

I2.0=0   和   I2.0=1   有什么區(qū)別?   =1  是表示BIPOLAR  雙極性嗎?  =0 是表示UNIPOLAR 單極性嗎?


OUT = [ ((FLOAT (IN) -K1)/(K2-1)) * (HI_LIM-O_LIM)] + LO_LIM  


這是計算公式 我怎么就算不出 OUT=50.03978588


公式有問題嗎?



揭開神秘的工控面紗
QQ:2631001081
Emal:strong20671713@163.com
ak47m16u571
苦海無邊,柴米似鞭。歡樂無限,煩擾靠邊。得逍遙處且逍遙
級別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 669 個
工控威望: 590 點
下載積分: 1580 分
在線時間: 630(小時)
注冊時間: 2008-01-01
最后登錄: 2024-10-22
查看ak47m16u571的 主題 / 回貼
1樓  發(fā)表于: 2011-04-06 22:14
FC105  
先貼全了,再解釋



描述

SCALE功能接受一個整型值(IN),并將其轉換為以工程單位表示的介于下限和上限(LO_LIM和HI_LIM)之間的實型值。將結果寫入OUT。SCALE功能使用以下等式:

OUT = [ ((FLOAT (IN) ?K1)/(K2朘1)) * (HI_LIM朙O_LIM)] + LO_LIM

常數(shù)K1和K2根據(jù)輸入值是BIPOLAR還是UNIPOLAR設置。

?BIPOLAR:假定輸入整型值介于 ?7648與27648之間,因此K1 = ?7648.0,K2 = +27648.0

?UNIPOLAR:假定輸入整型值介于0和27648之間,因此K1 = 0.0,K2 = +27648.0

如果輸入整型值大于K2,輸出(OUT)將鉗位于HI_LIM,并返回一個錯誤。如果輸入整型值小于K1,輸出將鉗位于LO_LIM,并返回一個錯誤。


通過設置LO_LIM > HI_LIM可獲得反向標定。使用反向轉換時,輸出值將隨輸入值的增加而減小。


FC105參數(shù)


參數(shù)    說明    數(shù)據(jù)類型    存儲區(qū)    描述
EN    輸入    BOOL    I、Q、M、D、L    使能輸入端,信號狀態(tài)為1時激活該功能。
ENO    輸出    BOOL    I、Q、M、D、L    如果該功能的執(zhí)行無錯誤,該使能輸出端信號狀態(tài)為1。
IN    輸入    INT    I、Q、M、D、L、P、常數(shù)    欲轉換為以工程單位表示的實型值的輸入值。
HI_LIM    輸入    REAL    I、Q、M、D、L、P、常數(shù)    以工程單位表示的上限值。
LO_LIM    輸入    REAL    I、Q、M、D、L、P、常數(shù)    以工程單位表示的下限值。
BIPOLAR    輸入    BOOL    I、Q、M、D、L    信號狀態(tài)為1表示輸入值為雙極性。信號狀態(tài)0表示輸入值為單極性。
OUT    輸出    REAL    I、Q、M、D、L、P    轉換的結果。
RET_VAL    輸出    WORD    I、Q、M、D、L、P    如果該指令的執(zhí)行沒有錯誤,將返回值W#16#0000。對于W#16#0000以外的其它值,參見"錯誤信息"。
錯誤信息

如果輸入整型值大于K2,輸出(OUT)將鉗位于HI_LIM,并返回一個錯誤。如果輸入整型值小于K1,輸出將鉗位于LO_LIM,并返回一個錯誤。ENO的信號狀態(tài)將設置為0,RET_VAL等于W#16#0008。

實例

如果輸入I0.0的信號狀態(tài)為1 (激活),則執(zhí)行SCALE功能。在本例中,整型值22將轉換為介于0.0和100.0之間的實型值,并寫入OUT。如I2.0的信號狀態(tài)所示,該輸入值為BIPOLAR。

如果該功能的執(zhí)行沒有錯誤,ENO和Q0.0的信號狀態(tài)將設置為1,RET_VAL等于W#16#0000。
ak47m16u571
苦海無邊,柴米似鞭。歡樂無限,煩擾靠邊。得逍遙處且逍遙
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 669 個
工控威望: 590 點
下載積分: 1580 分
在線時間: 630(小時)
注冊時間: 2008-01-01
最后登錄: 2024-10-22
查看ak47m16u571的 主題 / 回貼
2樓  發(fā)表于: 2011-04-06 22:20
手冊里面給的BIPOLAR=1,所以就是雙極性,范圍-27648與27648之間,因此K1 = -27648.0,K2 = +27648.0

IN=22,

工程量(就假設是溫度):
HI_LIM   (最高)     100
LO_LIM  (最低)     0

所以:
OUT = [ ((FLOAT (IN) -K1)/(K2-1)) * (HI_LIM-O_LIM)] + LO_LIM
代入
OUT = [ ((FLOAT (22) -(-27648.0))/(27648.0-(-27648.0))) * (100-0)] + 0=50.03


已經(jīng)狠詳細啦!
能看懂吧?
呼呼。。。喘口氣
本帖最近評分記錄:
  • 下載積分:+5(月澤) 優(yōu)秀文章
    ak47m16u571
    苦海無邊,柴米似鞭。歡樂無限,煩擾靠邊。得逍遙處且逍遙
    級別: 家園常客
    精華主題: 0
    發(fā)帖數(shù)量: 669 個
    工控威望: 590 點
    下載積分: 1580 分
    在線時間: 630(小時)
    注冊時間: 2008-01-01
    最后登錄: 2024-10-22
    查看ak47m16u571的 主題 / 回貼
    3樓  發(fā)表于: 2011-04-06 22:36
    不過有一點要注意
    當你的IN為0時,你的實際溫度OUT是50度。。。
    IN=27648,OUT100=度。