模拟量精度及量程转换模拟量转换的分辨率分辨率是 A/D 模拟量转换芯片的转换精度,即用多少位的数值来表示模拟量模拟量模块的转换分辨率用于反映模拟量变化的***小单位精度 < 15 位时,将所有由“x”标识的位设置为“0”。
模拟量模块所支持的模拟值精度,如表1.1所示。
表1.1单极性输入范围(电压输入0~10V,对应值为0~27648),如表所示。
双极性输入范围(电压输入-10~10V,对应值为-27648~27648),如表所示。
表1.4中 12 位分辨率的模块,其数据从低字节的第四位(bit3)开始变化,其***小变化单位2的3次方= 8 ,bit0~bit2 则补“ 0 ”(红色图框为无效位)
设该模拟量通道类型为电压0~10V,满量程电压值10V对应数据27648,其能识别的***小电压值为:
STEP 7 V5.x中模拟量输入/输出的编程1)FC105/FC106 在哪里?在编程界面下,在 “程序元素”中的 “库——> Standard Library ——> TI-S7 Converting Blocks”中可以找到,见下图:
注意:请不要使用 “S5-S7 Converting Blocks”下的 FC105,FC106,该路径下的功能是用于 S5 输入输出模板的,在 S7 输入输出模板上无法使用2) FC105功能描述SCALE(FC105)功能接受一个整型值(IN),并将其转换为以工程单位表示的介于下限和上限(LO_LIM和HI_LIM)之间的实型值。
将结果写入OUTSCALE功能使用以下等式: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的参数定义
故障信息:如果输入整型值大于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=22HI_LIM ---------------> MD20=100.0LO_LIM --------------> MD30=0.0
OUT -------------------> MD40=0.0BIPOLAR ------------> I2.0=TRUE执行后:OUT ------------------> MD40=50.03978588
5) FC106 功能描述UNSCALE(FC106)功能接收一个以工程单位表示、且标定于下限和上限(LO_LIM和HI_LIM)之间的实型输入值(IN),并将其转换为一个整型值将结果写入OUTUNSCALE功能使用以下等式:。
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 的参数定义
故障信息:如果输入值超出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.03978588HI_LIM ---------------> MD20=100.0LO_LIM --------------> MD30=0.0
OUT -------------------> MW40=0BIPOLAR ------------> I2.0=TRUE执行后:OUT ------------------> MW40=22注意:通常在一个项目都有不只一个模拟量需要转换,FC105 和FC106 在程序中都可多次调用,调用的同上述例子程序。
TIA Portal 中模拟量输入/输出的编程1)SCALE/UNSCALE在哪里?在TIA Portal中指令SCALE/UNSCALE的功能和STEP7中的FC105/FC106功能相同,用于模拟量输入/输出的编程。
编程界面下,在 “指令” 中的“基本指令 ——> 转换操作”中可以找到,
电气相关知识和经验是用来分享,希望能对你有帮助。与人玫瑰,手留余香。欢迎大家关注,点赞,评论及转发。