gk-auto 发表于 2018-11-15 20:08:43

西门子plc模拟量转换实例

对于自动化控制系统来说,主要处理对象无外乎数字量和模拟量,很多刚接触自动化的新人对于模拟量可能还不是很熟悉,这里以西门子plc300为例详细讲一下,其实模拟量处理如很简单。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-S7Converting Blocks 中就可以找到,见下图:http://5b0988e595225.cdn.sohucs.com/images/20181115/0978d31e11134a9ab4330e459ad7f45f.jpg模拟量http://5b0988e595225.cdn.sohucs.com/images/20181115/907d4ea5d2d94994bac53f2d21356459.jpg模拟量注意: 请不要使用 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.com版权所有!反向定标的实现是通过定义 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 来设置。http://5b0988e595225.cdn.sohucs.com/images/20181115/d84db57c13814d0ba58a1a9d6258050c.png程序中调用的FC105执行前:IN----------------------MW10=22HI_LIM---------------MD20=100.0LO_LIM--------------MD30=0.0OUT-------------------MD40=0.0BIPOLAR------------I2.0=TRUE执行后:OUT------------------MD40=50.03978588

clg845958 发表于 2018-11-15 20:11:43

楼主加油,我们都看好你哦。

李红 发表于 2018-11-15 20:16:58

党的好公民,人民的好公仆。。。

manyoushijie 发表于 2018-11-15 20:25:32

感恩无私的分享与奉献 :)

dp19980902 发表于 2018-11-15 20:56:39

谢谢您的分享!

庆~黄 发表于 2018-11-15 20:58:24

看了楼主的帖子,不由得精神一振,豁然开朗,牛掰

zhengliu20 发表于 2018-11-15 21:03:15

加油,加油,不要沉下去,我是最热贴

snnyh 发表于 2018-11-15 21:15:30

大家都不容易!

崔清涟漪 发表于 2018-11-15 21:21:48

我顶,我顶,我顶顶顶

吴磊 发表于 2018-11-15 22:05:54

老师四个微信公众号都可以关注吗?是否有免费资料下载!
页: [1] 2 3 4
查看完整版本: 西门子plc模拟量转换实例