)FC105/FC106在哪里?
在編程界面下,在“程序元素”中的“庫——> Standard Library ——> TI-S7 Converting Blocks”中可以找到,見圖3.1:
圖3.1
圖3.2
注意:請不要使用“S5-S7 Converting Blocks”下的FC105,FC106,該路徑下的功能是用于S5輸入輸出模板的,在S7輸入輸出模板上無法使用。
2) FC105功能描述
SCALE(FC105)功能接受一個整型值(IN),并將其轉換為以工程單位表示的介于下限和上限(LO_LIM和HI_LIM)之間的實型值。將結果寫入OUT。SCALE功能使用以下等式:
OUT = [ ((FLOAT (IN) - K1)/(K2 - K1)) * (HI_LIM - LO_LIM)] + LO_LIM
常數K1和K2根據輸入值是BIPOLAR還是UNIPOLAR設置。
●BIPOLAR:假定輸入整型值介于-27648與27648之間,因此K1 = -27648.0,K2 = +27648.0
●UNIPOLAR:假定輸入整型值介于0和27648之間,因此K1 = 0.0,K2 = +27648.0
如果輸入整型值大于K2,輸出(OUT)將鉗位于HI_LIM,并返回一個錯誤。如果輸入整型值小于K1,輸出將鉗位于LO_LIM,并返回一個錯誤。
通過設置LO_LIM > HI_LIM可獲得反向標定。使用反向轉換時,輸出值將隨輸入值的增加而減小。
3)FC105的參數定義
參數 | 描述 | 數據類型 | 存儲區 | 描述 |
EN | 輸入 | BOOL | I、Q、M、D、L | 使能輸入端,信號狀態為1時激活該功能。 |
ENO | 輸出 | BOOL | I、Q、M、D、L | 如果該功能的執行無錯誤,該使能輸出端信號狀態為1。 |
IN | 輸入 | INT | I、Q、M、D、L、P、常數 | 欲轉換為以工程單位表示的實型值的輸入值。 |
HI_LIM | 輸入 | REAL | I、Q、M、D、L、P、常數 | 以工程單位表示的上限值。 |
LO_LIM | 輸入 | REAL | I、Q、M、D、L、P、常數 | 以工程單位表示的下限值。 |
BIPOLAR | 輸入 | BOOL | I、Q、M、D、L | 信號狀態為1表示輸入值為雙極性。信號狀態0表示輸入值為單極。 |
OUT | 輸出 | REAL | I、Q、M、D、L、P | 轉換的結果。 |
RET_VAL | 輸出 | WORD | I、Q、M、D、L、P | 如果該指令的執行沒有錯誤,將返回值W#16#0000。對于W#16#0000以外的其它值,參見"錯誤信息"。 |
故障信息:
如果輸入整型值大于K2,輸出(OUT)將鉗位于HI_LIM,并返回一個錯誤。如果輸入整型值小于K1,輸出將鉗位于LO_LIM,并返回一個錯誤。ENO的信號狀態將設置為0,RET_VAL等于W#16#0008。
4)FC105例子程序
如果輸入I0.0的信號狀態為1 (激活),則執行SCALE功能。在本例中,整型值22將轉換為介于0.0和100.0之間的實型值,并寫入OUT。如I2.0的信號狀態所示,該輸入值為BIPOLAR。
如果該功能的執行沒有錯誤,ENO和Q0.0的信號狀態將設置為1,RET_VAL等于W#16#0000。
執行前:
IN ----------------------> MW10=22
HI_LIM ---------------> MD20=100.0
LO_LIM --------------> MD30=0.0
OUT -------------------> MD40=0.0
BIPOLAR ------------> I2.0=TRUE
執行后:
OUT ------------------> MD40=50.03978588
5) FC106功能描述
UNSCALE(FC106)功能接收一個以工程單位表示、且標定于下限和上限(LO_LIM和HI_LIM)之間的實型輸入值(IN),并將其轉換為一個整型值。將結果寫入OUT。UNSCALE功能使用以下等式:
OUT = [ ((IN - LO_LIM)/(HI_LIM - LO_LIM)) * (K2 - K1) ] + K1
并根據輸入值是BIPOLAR還是UNIPOLAR設置常數K1和K2。
●BIPOLAR:假定輸出整型值介于-27648和27648之間,因此,K1 = -27648.0,K2 = +27648.0
●UNIPOLAR:假定輸出整型值介于0和27648之間,因此,K1 = 0.0,K2 = +27648.0
如果輸入值超出LO_LIM和HI_LIM范圍,輸出(OUT)將鉗位于距其類型(BIPOLAR或UNIPOLAR)的指定范圍的下限或上限較近的一方,并返回一個錯誤。
6)FC106的參數定義
參數 | 描述 | 數據類型 | 存儲區 | 描述 |
EN | 輸入 | BOOL | I、Q、M、D、L | 使能輸入端,信號狀態為1時激活該功能。 |
ENO | 輸出 | BOOL | I、Q、M、D、L | 如果該功能的執行無錯誤,該使能輸出端信號狀態為1。 |
IN | 輸入 | REAL | I、Q、M、D、L、P、常數 | 欲轉換為整型值的輸入值。 |
HI_LIM | 輸入 | REAL | I、Q、M、D、L、P、常數 | 以工程單位表示的上限值。 |
LO_LIM | 輸入 | REAL | I、Q、M、D、L、P、常數 | 以工程單位表示的下限值。 |
BIPOLAR | 輸入 | BOOL | I、Q、M、D、L | 信號狀態為1表示輸入值為雙極性。信號狀態0表示輸入值為單極。 |
OUT | 輸出 | INT | I、Q、M、D、L、P | 轉換結果。 |
RET_VAL | 輸出 | WORD | I、Q、M、D、L、P | 如果該指令的執行沒有錯誤,將返回值W#16#0000。對于W#16#0000以外的其它值,參見"錯誤信息"。 |
故障信息:
如果輸入值超出LO_LIM和HI_LIM范圍,輸出(OUT)將鉗位于距其類型(BIPOLAR或UNIPOLAR)的指定范圍的下限或上限較近的一方,并返回一個錯誤。ENO的信號狀態將設置為0,RET_VAL等于W#16#0008。
7)FC106例子程序
如果輸入I0.0的信號狀態為1 (激活),則執行UNSCALE功能。在本例中,標定于0.0和100.0之間的實型值50.03978588,將轉換為一個整型值,并寫入OUT。如I2.0的信號狀態所示,該輸入值為BIPOLAR。
如果該功能的執行沒有錯誤,ENO和Q0.0的信號狀態將設置為1,RET_VAL等于W#16#0000。
執行前:
IN ----------------------> MD10=50.03978588
HI_LIM ---------------> MD20=100.0
LO_LIM --------------> MD30=0.0
OUT -------------------> MW40=0
BIPOLAR ------------> I2.0=TRUE
執行后:
OUT ------------------> MW40=22
審核編輯:劉清
-
轉換器
+關注
關注
27文章
8715瀏覽量
147335 -
Bipolar
+關注
關注
0文章
6瀏覽量
6651 -
RET
+關注
關注
0文章
13瀏覽量
6682 -
LENO
+關注
關注
0文章
2瀏覽量
5380
原文標題:STEP 7 V5.x中模擬量輸入/輸出的編程
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論