西门子siemens 300 fc105 fc106功能详解及定义
- 格式:pdf
- 大小:664.43 KB
- 文档页数:8


目的:FC105的使用1、FC105是处理模拟量(1~5V、4~20MA等常规信号)输入的功能块,在中,打开Libraries\standard library\Ti-S7 Converting Blocks\fc105,将其调入OB1中,给各个管脚输入地址;如下:其中,管脚的定义如下:IN---------模拟量模块的输入通道地址,在硬件组态时分配;HI_LIM---现场信号的最大量程值;LO_LIM--现场信号的最小量程值;BIPOLAR—极性设置,如果现场信号为+10V~-10V(有极性信号),则设置为1,如果现场信号为4MA~20MA(无极性信号);则设置为0;OUT-------现场信号值(带工程量单位);信号类型是实数,所以要用MD200来存放;RET_V AL-FC105功能块的故障字,可存放在一个字里面。
如:MW50;2、热电偶、热电阻信号的处理,该类信号实际值是通道整数值的1/10;3、FB41 PID控制模块的使用;PID模块是进行模拟量控制的模块,可以完成恒压、恒温等控制功能在中,打开Libraries\standard library\ PID Control block\FB41,将其调入OB1中,首先分配背景数据块DB41,再给各个管脚输入地址;如下:4、脉冲输出模块FB43,该模块是将模拟量转换成比率的脉冲输出。
Libraries\standard library\PID Control block\FB43,将其调入OB1中,首先分配背景数据块DB43,再给各个管脚输入地址;如下:5、果现场是阀门等执行机构,只需要将通道地址输入PID的输出通道,如下:6、如果单独控制变量输出通道,可使用FC106模块,FC106是处理模拟量(1~5V、4~20MA等常规信号)输出的功能块,在中,打开Libraries\standard library\Ti-S7 Converting Blocks\fc106,将其调入OB1中,给各个管脚输入地址;如下:。
S7300PLC之旅——模拟量输入、输出标准化FC105、FC106【引言】有小伙伴想了解一下FC105的用法,鉴于FC105和FC106实际上是一对“好基友”,所以,这里大概的探讨一下这两个块的功能与用法。
一、FC105、FC1061、FC105FC105的块名叫“scale”,中文的意思是模拟量输入的标准化。
SCALE功能接受一个整型值(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可获得反向标定。
使用反向转换时,输出值将随输入值的增加而减小。
2、FC106FC106的块名叫“unscale”,中文的意思是模拟量输出的标准化。
UNSCALE功能接收一个以工程单位表示、且标定于下限和上限(LO_LIM和HI_LIM)之间的实型输入值(IN),并将其转换为一个整型值。
将结果写入OUT。
UNSCALE功能使用以下等式:OUT = [ ((IN-LO_LIM)/(HI_LIM-LO_LIM)) * (K2-K1) ] + K1常数K1和K2根据输入值是BIPOLAR还是UNIPOLAR设置。
•双极性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)的指定范围的下限或上限较近的一方,并返回一个错误。
FC105、FC106参数设置中文说明1、FC105SCALE功能接受一个整型值(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。
实际液位值的工程转换与FC105功能 - 西门子plc1、规范化现场的过程信号(如本案例中的液位信号)是具有物理单位的工程量值,模/数转化后输入通道得到的是-27648~+27648的数字量,该数字量不具有工程量值的单位,在程序处理时带来不便利。
因此,工程中经常期望将数字量-27648~+27648直接转化为实际工程量值,这一个过程称为“模拟量的规范化”。
本案例中,当液位为0米时,传感器输出信号为4mA,对应的模拟量输入通道转换值为0;液位为0.5米(具体参考传感器具体规格,这里只是举例)时,传感器输出信号为20mA,对应的模拟量输入通道转换值为27648。
假如程序中读取到的数值为10000时,那么实际液位到底是多少米呢?为了解决这个问题,在这里引入了FC105功能。
调用FC105的具体路径如图1所示。
图1 FC105调用路径 2、FC105功能的输入输出定义图2所示为FC105(即SCALE功能)的LAD调用框图,它接受一个整型值(IN),并将其转换为以工程单位表示的介于下限和上限(LO_LIM和HI_LIM)之间的实型值,并将结果写入OUT。
图2 FC105调用框图SCALE功能的输入输出参数如表1所示。
表1 FC105的输入输出含义 3、调用FC105实例在一般状况下,调用FC105功能可以在OB35等周期性中断中进行编程,这样就能确保模拟量输入信号被定时转换。
以液位传感器为例,假如输入20mA信号表示500mm液位,4mA信号表示0mm液位,则执行SCALE功能后的程序如图3所示。
假如FC105功能的执行没有错误,ENO的信号状态将设置为1,RET_VAL等于W#16#0000,OUT输出为实际液位值,这也能回答了“假如程序中读取到的数值为10000时,那么实际液位到底是多少米呢?”的问题,即180.845mm液位。
图3 FC105调用实例当M0.0信号=0时,依据图4进行变换;当M0.0信号=1时,依据图5进行变换。