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