西门子plc模拟量转换实例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西门子plc模拟量转换实例
对于自动化控制系统来说,主要处理对象无外乎数字量和模拟量,很多刚接触自动化的新人对于模拟量可能还不是很熟悉,这里以西门子plc300/400为例详细讲一下,其实模拟量处理如很简单。
1、模拟量输入/输出量程转换的概念
实际工程中,我们要面对很多工程量,如压力、温度、流量、物位等,他们要使用各种类型传感器开展测量,传感器再将测量值通过输出标准电压、电流、温度或电阻信号供PLC 采集,PLC的模拟量输入模板将该电压、电流、温度、或电阻信号等模拟量转换成数字量—整形数(INT) 。
在PLC 程序内部要对相应的信号开展比较、运算时,常需将该信号转换成实际物理值,这样这个数值才具有实际意义。
相反,我们要控制一些执行机构(如比例阀,电动阀等)需要将控制值转换成与实际工程量对应的整形数,再经模拟量输出模板转换成电压、电流信号去控制现场执行机构。
要完成输入、输出模拟量转换,就需要在程序中调用功能块完成量程转换。
例如一个压力调节回路中,压力变送器输出4-20mA DC 信号到SM331 模拟量输入模板,SM331 模板将该信号转换成0-27648 的整形数,然后在程序中要调用FC105 将该值转换成0-10.0 (MPa )的工程量(实数),经PID 运算后得到的结果仍为实数,要用FC106 转换为对应阀门开度0-100% 的整形数0-27648 后,经SM332 模拟量
输出模板输出4-20mA DC 信号到调节阀的执行机构。
2、STEP 7调用FC105,FC106开展模拟量转换编程
2.1 FC105/FC106 在哪里
在编程界面下,在Program elements 中的Libraries 下的Standard Library 下的TI-S7
Converting Blocks 中就可以找到,见下列图:模拟量
模拟量
注意:请不要使用S5-S7 Converting Blocks 下的FC105, FC106 ,该路径下的功能是用于S5输入输出模板的,在S7 输入输出模板上无法使用。
2.1.1 FC105 功能描述
SCALE (FC105 )功能将一个整形数INTEGER (IN)转换成上限、下限之间的实际的工程值(LO_LIM and HI_LIM) ,结果写到OUT 。
公式如下:
OUT = [ ((FLOAT (IN) –K1)/(K2 –K1)) * (HI_LIM –LO_LIM)] + LO_LIM
常数K1 和K2 的值取决于输入值(IN)是双极性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 ,并返回错误代码。
diangon 版权所有!反向定标的实现是通过定义LO_LIM > HI_LIM 来实现的。
反向定标后的输出值随着输入值的增大而减小。
2.1.2 FC106 功能描述
UNSCALE (FC106 )功能将一个实数REAL (IN) 转换成上限、下限之间的实际的工程值
(LO_LIM and HI_LIM) ,数据类型为整形数。
结果写到OUT 。
公式如下:
OUT = [ ((IN –LO_LIM)/(HI_LIM –LO_LIM)) * (K2 –K1) ] + K1
常数K1 和K2 的值取决于输入值(IN)是双极性BIPOLAR 还是单极性UNIPOLAR 。
如果输入值在下限LO_LIM 和上限HI_LIM 的范围以外,输出(OUT) 限位到与其相近的上限或下限值(视其单极性UNIPOLAR 或双极性BIPOLAR 而定),并返回错误代码。
2.2下面给大家举个例子:
如输入I0.0 为1,SCALE 功能被执行。
下面的例子中,整形数22 将被转换成0.0 到100.0 的实数并写到
OUT。
输入是双极性BIPOLAR ,用I2.0 来设置。
程序中调用的FC105
执行前:
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
FC106与上同,不在举例了。
注意:通常在一个项目都有不只一个模拟量需要转换,FC105 和FC106 在程序中都可多次调
用,调用的方法同上述例子程序。