模擬量模塊所支持的模擬值精度,如表1.1所示。
表1.1
單極性輸入范圍(例如,電壓輸入0~10V,對應(yīng)值為0~27648),如表1.2所示。
表1.2
雙極性輸入范圍(例如,電壓輸入-10~10V,對應(yīng)值為-27648~27648),如表1.3所示。
表1.3
例如,表1.4中 12 位分辨率的模塊,其數(shù)據(jù)從低字節(jié)的第四位(bit3)開始變化,其最小變化單位 23 = 8 ,bit0~bit2 則補(bǔ)“ 0 ”(紅色圖框?yàn)闊o效位)
表1.4
設(shè)該模擬量通道類型為電壓0~10V,滿量程電壓值10V對應(yīng)數(shù)據(jù)27648,其能識別的最小電壓值為:
誤差是A/D轉(zhuǎn)換的實(shí)際值與真實(shí)值的接近程度。
模擬量轉(zhuǎn)換的誤差除了取決于A/D轉(zhuǎn)換的分辨率,還受到轉(zhuǎn)換芯片的外圍電路的影響。在實(shí)際應(yīng)用中,輸入的模擬量信號會(huì)有波動(dòng)、噪聲和干擾,內(nèi)部模擬電路也會(huì)產(chǎn)生噪聲、漂移,這些都會(huì)對轉(zhuǎn)換的值造成影響。這些因素造成的誤差要大于 A/D 芯片的轉(zhuǎn)換誤差。
例如,6ES7 331-7KF02-0AB0,其基本誤差限值如表2.1所示。
表2.1
目前常用的S7-300模板規(guī)格型號參見模板手冊,下載鏈接
1)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)功能接受一個(gè)整型值(IN),并將其轉(zhuǎn)換為以工程單位表示的介于下限和上限(LO_LIM和HI_LIM)之間的實(shí)型值。將結(jié)果寫入OUT。SCALE功能使用以下等式:
OUT = [ ((FLOAT (IN) - K1)/(K2 - K1)) * (HI_LIM - LO_LIM)] + LO_LIM
常數(shù)K1和K2根據(jù)輸入值是BIPOLAR還是UNIPOLAR設(shè)置。
● BIPOLAR:假定輸入整型值介于 -27648與27648之間,因此K1 = -27648.0,K2 = +27648.0
●UNIPOLAR:假定輸入整型值介于0和27648之間,因此K1 = 0.0,K2 = +27648.0
如果輸入整型值大于K2,輸出(OUT)將鉗位于HI_LIM,并返回一個(gè)錯(cuò)誤。如果輸入整型值小于K1,輸出將鉗位于LO_LIM,并返回一個(gè)錯(cuò)誤。
通過設(shè)置LO_LIM > HI_LIM可獲得反向標(biāo)定。使用反向轉(zhuǎn)換時(shí),輸出值將隨輸入值的增加而減小。
3) FC105的參數(shù)定義
參數(shù) |
描述 |
數(shù)據(jù)類型 |
存儲(chǔ)區(qū) |
描述 |
EN |
輸入 |
BOOL |
I、Q、M、D、L |
使能輸入端,信號狀態(tài)為1時(shí)激活該功能。 |
ENO |
輸出 |
BOOL |
I、Q、M、D、L |
如果該功能的執(zhí)行無錯(cuò)誤,該使能輸出端信號狀態(tài)為1。 |
IN |
輸入 |
INT |
I、Q、M、D、L、P、常數(shù) |
欲轉(zhuǎn)換為以工程單位表示的實(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 |
轉(zhuǎn)換的結(jié)果。 |
RET_VAL |
輸出 |
WORD |
I、Q、M、D、L、P |
如果該指令的執(zhí)行沒有錯(cuò)誤,將返回值W#16#0000。對于W#16#0000以外的其它值,參見"錯(cuò)誤信息"。 |
故障信息:
如果輸入整型值大于K2,輸出(OUT)將鉗位于HI_LIM,并返回一個(gè)錯(cuò)誤。如果輸入整型值小于K1,輸出將鉗位于LO_LIM,并返回一個(gè)錯(cuò)誤。ENO的信號狀態(tài)將設(shè)置為0,RET_VAL等于W#16#0008。
4) FC105例子程序
如果輸入I0.0的信號狀態(tài)為1 (激活),則執(zhí)行SCALE功能。在本例中,整型值22將轉(zhuǎn)換為介于0.0和100.0之間的實(shí)型值,并寫入OUT。如I2.0的信號狀態(tài)所示,該輸入值為BIPOLAR。
如果該功能的執(zhí)行沒有錯(cuò)誤,ENO和Q0.0的信號狀態(tài)將設(shè)置為1,RET_VAL等于W#16#0000。
執(zhí)行前:
IN ----------------------> MW10=22
HI_LIM ---------------> MD20=100.0
LO_LIM --------------> MD30=0.0
OUT -------------------> MD40=0.0
BIPOLAR ------------> I2.0=TRUE
執(zhí)行后:
OUT ------------------> MD40=50.03978588
5) FC106 功能描述
UNSCALE(FC106)功能接收一個(gè)以工程單位表示、且標(biāo)定于下限和上限(LO_LIM和HI_LIM)之間的實(shí)型輸入值(IN),并將其轉(zhuǎn)換為一個(gè)整型值。將結(jié)果寫入OUT。UNSCALE功能使用以下等式:
OUT = [ ((IN - LO_LIM)/(HI_LIM - LO_LIM)) * (K2 - K1) ] + K1
并根據(jù)輸入值是BIPOLAR還是UNIPOLAR設(shè)置常數(shù)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)的指定范圍的下限或上限較近的一方,并返回一個(gè)錯(cuò)誤。
6) FC106 的參數(shù)定義
參數(shù) |
描述 |
數(shù)據(jù)類型 |
存儲(chǔ)區(qū) |
描述 |
EN |
輸入 |
BOOL |
I、Q、M、D、L |
使能輸入端,信號狀態(tài)為1時(shí)激活該功能。 |
ENO |
輸出 |
BOOL |
I、Q、M、D、L |
如果該功能的執(zhí)行無錯(cuò)誤,該使能輸出端信號狀態(tài)為1。 |
IN |
輸入 |
REAL |
I、Q、M、D、L、P、常數(shù) |
欲轉(zhuǎn)換為整型值的輸入值。 |
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 |
輸出 |
INT |
I、Q、M、D、L、P |
轉(zhuǎn)換結(jié)果。 |
RET_VAL |
輸出 |
WORD |
I、Q、M、D、L、P |
如果該指令的執(zhí)行沒有錯(cuò)誤,將返回值W#16#0000。對于W#16#0000以外的其它值,參見"錯(cuò)誤信息"。 |
故障信息:
如果輸入值超出LO_LIM和HI_LIM范圍,輸出(OUT)將鉗位于距其類型(BIPOLAR或UNIPOLAR)的指定范圍的下限或上限較近的一方,并返回一個(gè)錯(cuò)誤。ENO的信號狀態(tài)將設(shè)置為0,RET_VAL等于W#16#0008。
7) FC106 例子程序
如果輸入I0.0的信號狀態(tài)為1 (激活),則執(zhí)行UNSCALE功能。在本例中,標(biāo)定于0.0和100.0之間的實(shí)型值50.03978588,將轉(zhuǎn)換為一個(gè)整型值,并寫入OUT。如I2.0的信號狀態(tài)所示,該輸入值為BIPOLAR。
如果該功能的執(zhí)行沒有錯(cuò)誤,ENO和Q0.0的信號狀態(tài)將設(shè)置為1,RET_VAL等于W#16#0000。
執(zhí)行前:
IN ----------------------> MD10=50.03978588
HI_LIM ---------------> MD20=100.0
LO_LIM --------------> MD30=0.0
OUT -------------------> MW40=0
BIPOLAR ------------> I2.0=TRUE
執(zhí)行后:
OUT ------------------> MW40=22
注意:通常在一個(gè)項(xiàng)目都有不只一個(gè)模擬量需要轉(zhuǎn)換,FC105 和FC106 在程序中都可多次調(diào)用,調(diào)用的方法同上述例子程序。
1)SCALE/UNSCALE在哪里?
在TIA Portal中指令SCALE/UNSCALE的功能和STEP7中的FC105/FC106功能相同,用于模擬量輸入/輸出的編程。
編程界面下,在 “指令” 中的“基本指令 ——> 轉(zhuǎn)換操作”中可以找到,見圖4.1:
圖4.1
2)SCALE/UNSCALE如何使用?
SCALE/UNSCALE指令的使用和FC105/FC106完全相同,對應(yīng)引腳的定義也完全相同,使用方法請參加章節(jié)3。
電話:13818569113 15721373211
郵箱:fushidianji@139.com
網(wǎng)址:http://www.jiansujiabc.com
地址:上海青浦區(qū)北青公路7171號111-112室