FC105的参数定义

描述

)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

原文标题:STEP 7 V5.x中模拟量输入/输出的编程

文章出处:【微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。  

      审核编辑:彭静

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分