回复:关于s7-300 FC105,106的使用问题

barry

  • 帖子

    272
  • 精华

    1
  • 被关注

    160

论坛等级:侠圣

注册时间:2007-06-06

黄金 黄金 如何晋级?

发布于 2010-01-27 13:35:44

2楼

1、FC105
SCALE功能接受一个整型值(IN),并将其转换为以工程单位表示的介于下限和上限(LO_LIM和HI_LIM)之间的实型值。将结果写入OUT。SCALE功能使用以下等式:

OUT = [ ((FLOAT (IN) -K1)/(K2-1)) * (HI_LIM-O_LIM)] + LO_LIM

常数K1和K2根据输入值是BIPOLAR还是UNIPOLAR设置。

BIPOLAR:假定输入整型值介于 7648与27648之间,因此K1 = -7648.0,K2 = +27648.0

UNIPOLAR:假定输入整型值介于0和27648之间,因此K1 = 0.0,K2 = +27648.0

如果输入整型值大于K2,输出(OUT)将钳位于HI_LIM,并返回一个错误。如果输入整型值小于K1,输出将钳位于LO_LIM,并返回一个错误。


通过设置LO_LIM > HI_LIM可获得反向标定。使用反向转换时,输出值将随输入值的增加而减小。


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。

实例
如果输入I0.0的信号状态为1 (激活),则执行SCALE功能。在本例中,整型值22将转换为介于0.0和100.0之间的实型值,并写入OUT。如I2.0的信号状态所示,该输入值为BIPOLAR。

如果该功能的执行没有错误,ENO和Q0.0的信号状态将设置为1,RET_VAL等于W#16#0000。


2、FC106

UNSCALE功能接收一个以工程单位表示、且标定于下限和上限(LO_LIM和HI_LIM)之间的实型输入值(IN),并将其转换为一个整型值。将结果写入OUT。
UNSCALE功能使用以下等式:

OUT = [ ((IN-O_LIM)/(HI_LIM-O_LIM)) * (K2-1) ] + K1

,并根据输入值是BIPOLAR还是UNIPOLAR设置常数K1和K2。

BIPOLAR:假定输出整型值介于 ?7648和27648之间,因此,K1 = -7648.0,K2 = +27648.0

UNIPOLAR:假定输出整型值介于0和27648之间,因此,K1 = 0.0,K2 = +27648.0

如果输入值超出LO_LIM和HI_LIM范围,输出(OUT)将钳位于距其类型(BIPOLAR或UNIPOLAR)的指定范围的下限或上限较近的一方,并返回一个错误。


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。

实例

如果输入I0.0的信号状态为1 (激活),则执行UNSCALE功能。在本例中,标定于0.0和100.0之间的实型值50.03978588,将转换为一个整型值,并写入OUT
。如I2.0的信号状态所示,该输入值为BIPOLAR。

如果该功能的执行没有错误,ENO和Q0.0的信号状态将设置为1,RET_VAL等于W#16#0000。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。