关于S7-200高速计数器的问题

已知流量计上发出来的脉冲为300升/小时(对应脉冲数为6000个),请问我怎么样在PLC程序里处理这个数据,换算到这个值.

问题补充:
请问东方红,那是不是每个周期计算完成后都要复位计数值呀,而且S7-200的高速计数器的计数值必须由外部信号来复位,是不是太麻烦了,有没有简单的点的呀

最佳答案

1 S7-200的高速计数器的计数值可以在程序内复位。 具体见手册或帮助文件。
 2 根据工艺要求确定采样周期,确定定时中断时间。
 3 使用2个中间变量分别保存高速计数上次值和时间计数。如果采样周期大于255 则还需要一个中间变量累计中断次数。
 4 当时间计数=采样时间时,在中断中读取高速计数器当前值,复位时间计数,(当前值-上次值)/采样时间就是瞬时流量 ,将上次值赋值为当前值。
 5 建议计算不要作在中断中,读出数据写到临时变量中就可以了。
 6 信号转换参考一下文章 

 信号变换中的数学问题

 信号的变换需要经过以下过程:物理量-传感器信号-标准电信号-A/D转换-数值显示。

 声明:为简单起见,我们在此讨论的是线性的信号变换。同时略过传感器的信号变换过程。

 假定物理量为A,范围即为A0-Am,
 实时物理量为X;标准电信号是B0-Bm,
 实时电信号为Y;A/D转换数值为C0-Cm,
 实时数值为Z。

 如此,B0对应于A0,Bm对应于Am,Y对应于X,及Y=f(X)。由于是线性关系,
 得出方程式为Y=(Bm-B0)*(X-A0)/(Am-A0)+B0。又由于是线性关系,
 经过A/D转换后的数学方程Z=f(X)可以表示为Z=(Cm-C0)*(X-A0)/(Am-A0)+C0。
 那么就很容易得出逆变换的数学方程为X=(Am-A0)*(Z-C0)/(Cm-C0)+A0。
 方程中计算出来的X就可以在显示器上直接表达为被检测的物理量。

 
 PLC中逆变换的计算方法

 以S7-200和4-20mA为例,经A/D转换后,我们得到的数值是6400-32000,及C0=6400,Cm=32000。
 于是,X=(Am-A0)*(Z-6400)/(32000-6400)+A0。

 例如某温度传感器和变送器检测的是-10-60℃,用上述的方程表达为X=70*(Z-6400)/25600-10。
 经过PLC的数学运算指令计算后,HMI可以从结果寄存器中读取并直接显示为工程量。

 用同样的原理,我们可以在HMI上输入工程量,然后由软件转换成控制系统使用的标准化数值。

 在S7-200中,(Z-6400)/25600的计算结果是非常重要的数值。这是一个0-1.0(100%)的实数,
 可以直接送到PID指令(不是指令向导)的检测值输入端。PID指令输出的也是0-1.0的实数,
 通过前面的计算式的反计算,可以转换成6400-32000,送到D/A端口变成4-20mA输出。

提问者对于答案的评价:

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc357997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

发表回复

登录后才能评论