s7-200模拟量输入波动严重,如何解决

s7-200模拟量输入波动严重,如何解决,第1张

为什么模拟量是一个变动很大的不稳定的值?可能是如下原因:你可能使用了一个自供电或隔离的传感器电源,两个电源没有彼此连接,即模拟量输入模块的电源地和传感器的信号地没有连接。这将会产生一个很高的上下振动的共模电压,影响模拟量输入值。另一个原因可能是模拟量输入模块接线太长或绝缘不好。可以用如下方法解决:1)连接传感器输入的负端与模块上的公共M端以补偿此种波动。(但要注意确保这是两个电源系统之间的唯一联系。)背景是:模拟量输入模块内部是不隔离的;共模电压不应大于12V;对于60Hz干扰信号的共模抑制比为40dB。2)使用模拟量输入滤波器。

PLC的选择主要包括机型选择,容量选择,输入输出模块选择、电源模块选择等几个方面。

1、可编程控制器控制系统I/O点数估算

I/O点数是衡量可编程控制器规模大小的重要指标。根据被控对象的输入信号与输出信号的总点数,选择相应规模的可编程控制器并留有10%~15%的I/O裕量。估算出被控对象上I/O点数后,就可选择点数相当的可编程控制器。如果是为了单机自动化或机电一体化产品,可选用小型机,如果控制系统较大,输入输出点数较多,被控制设备分散,就可选用大、中型可编程控制器。

2、内存估计

用户程序所需内存容量要受到下面几个因素的影响:内存利用率;开关量输入输出点数;模拟量输入输出点数;用户的编程水平。

(1)内存利用率 用户编的程序是以机器语言的形式存放在内存中,同样的程序,不同厂家的产品,在把程序变成机器语言存放时所需要的内存数不同,我们把一个程序段中的接点数与存放该程序段所代表的机器语言所需的内存字数的比值称为内存利用率。高的利用率给用户带来好处。同样的程序可以减少内存量,从而降低内存投资。另外同样程序可缩短扫描周期时间,从而提高系统的响应。

(2)开关量输入输出的点数 可编程控制器开关量输入输出总点数是计算所需内存储器容量的重要根据。一般系统中,开关量输入和开关量输出的比为6:4。这方面的经验公式是根据开关量输入、开关量输出的总点数给出的。

所需内存字数=开关量(输入+输出)总点数10

(3)模拟量输入输出总点数 具有模拟量控制的系统就要用到数字传送和运算的功能指令,这些功能指令内存利用率较低,因此所占内存数要增加。

在只有模拟量输入的系统中,一般要对模拟量进行读入、数字滤波、传送和比较运算。在模拟量输入输出同时存在的情况下,就要进行较复杂的运算,一般是闭环控制,内存要比只有模拟量输入的情况需要量大。在模拟量处理中。常常把模拟量读入、滤波及模拟量输出编成子程序使用,这使所占内存大大减少,特别是在模拟量路数比较多时。每一路模拟量所需的内存数会明显减少。下面给出一般情况下的经验公式:

只有模拟量输入时:

内存字数=模拟量点数l00

模拟量输入输出同时存在时:

内存字数=模拟量点数200

这些经验公式的算法是在10点模拟量左右,当点数小于10时,内存字数要适当加大,点数多时,可适当减小。

(4)程序编写质量 用户编写的程序优劣对程序长短和运行时间都有较大影响。对于同样系统不同用户编写程序可能会使程序长度和执行时间差距很大。一般来说对初编者应为内存多留一些余量,而有经验的编程者可少留一些余量。

综上所述,推荐下面的经验计算公式:

总存储器字数=(开关量输人点数+开关量输出点数)l0+模拟量点数150。然后按计算存储器字数的25%考虑裕量。

3、响应时间

对过程控制,扫描周期和响应时间必须认真考虑。可编程控制器顺序扫描的工作方式使它不能可靠地接收持续时间小于扫描周期的输入信号。例如某产品有效检测宽度为125px,产品传送速度每分钟50m,为了确保不会漏检经过的产品,要求可编程控制器的扫描周期不能大于产品通过检测点的时间间隔60ms(T=125px /50m/60s)。

系统响应时间是指输入信号产生时刻与由此而使输出信号状态发生变化时刻的时间间隔。系统响应时间=输入滤波时间+输出滤波时间+扫描周期

4、功能、结构要合理

单机控制往往是用一台可编程控制器控制一台设备,或者一台可编程控制器控制几台小设备,例如对原有系统的改造、完善其功能等。单机控制没有可编程控制器间的通信问题;但功能要求全面。选择箱体式结构的可编程控制器为好。若只有开关量控制,可选择F1、F2、FX、GE-1、C-20、S5-101、TI100、EX-40等品种。另外,国产化CKY-40H、D-40、CF-40、PCZ-40、ACMY-S256品种也可与进口货相媲美。

若被控对象是开关量和模拟量共有,就要选择有相应功能可编程序控制器。模块式结构的产品构成系统灵活,易于扩充,但造价高,适于大型复杂的工业现场。

5、输入输出模块的选择

可编程控制器输入模块是检测并转换来自现场设备(按钮、限位开关;接近开关等)的高电平信号为机器内部电平信号,模块类型分直流5、12、24、48、60V几种;交流115V和220V两种。由现场设备与模块之间的远近程度选择电压的大小。一般5、12、24V属低电平,传输距离不宜太远,例如5V的输入模块最远不能超过10m,也就是说,距离较远的设备选用较高电压的模块比较可靠。另外高密度的输入模块如32点、64点,同时接通点数取决于输入电压和环境温度。一般讲,同时接通点数不得超过60%。为了提高系统的稳定性,必须考虑门槛(接通电平与关断电平之差)电平的大小。门槛电平值越大,抗干扰能力越强,传输距离也就越远。

输出模块的任务是将机器内部信号电平转换为外部过程的控制信号。对于开关频繁、电感性、低功率因数的负载,推荐使用晶闸管输出模块,缺点是模块价格高;过载能力稍差。继电器输出模块优点是适用电压范围宽,导通压降损失小,价格便宜,缺点是寿命短,响应速度慢。输出模块同时接通点数的电流累计值必须小于公共端所允许通过的电流值。输出模块的电流值必须大于负载电流的额定值。

6、结构型式的考虑

PLC的结构分为整体式和模块式两种。整体式结构把PLC的I/O和CPU放在一块大印刷电路板上,节省了插接环节,结构紧凑,体积小,每一I/O点的平均价格也比模块式的便宜,所以小型PLC控制系统多采用整体式结构。模块式PLC的功能扩展,I/O点数的增减,输入与输出点数的比例,都比整体式方便灵活。维修时更换模块,判断与处理故障快速方便。因此,对于较复杂的要求较高的系统,一般选用模块式结构。

7、对用户存贮器的要求

一般PLC都用CMOS RAM作用户存贮器,它具有静态消耗电流小(1/A)的特点。为了在停电时保护用户程序和现场数据,通常用锂电池作后备电源。

如果被控系统的工艺要求固定不变,所编程序经调试后己比较完善,不需要经常修改,为了防止他人随意改动控制程序,可以采用EPROM(选购件)将用户程序固化。

8、是否需要通讯联网的功能

大部分小型PLC都是以单机自动化为目的,一般没有和上位计算机通讯的接口。如果用户要求将PLC纳入工厂自动化控制网络,就应选用带有通讯接口的PLC。一般大、中型PLC都具有通讯功能。近年来,一些高性能的小型机(如FX、C40H、S5-100U等)也带有通讯接口,通过RS-232串行接口,与上位计算机或另一台PLC相连,也可以连接打印机、CRT等外部设备。

以上简要地介绍了PLC选型的依据和应考虑的几个问题,用户应根据生产实际的需要,综合考虑各种因素,选择性能价格比合适的产品,使被控对象的控制要求得到完全满足,也使PLC的功能得到充分发挥。

安回车键或者空格键即可。

plc编程中scrt是一种程序语言, *** 作系统回生成许多的脚本和其他的文件,也是顺序控制继电器转换(SCRT)指令,scrt的作用是识别要启用的SCR位(下一个要设置的n位)。当使能位进入线圈或FBD方框时,打开引用n位,并关闭LSCR指令(启用该SCR段)的n位。SCRT上面可以输入你要转往某步的地址。SCR是步开始SCRT是步转移SCRE是一步的结束。

因为不同的plc具体的 *** 作部同。湿度的控制于此雷同。PLC温度控制方法很多,说说最常用的方法。1:比较法,通过PLC模拟量口采集到信号,再和设定值比较后输出开关量信号,去控制负载的通断。2:PLC功能指令PID控制,先采集到温度信号,温度信号采集有很多方法,常用的有模拟量口和通讯,采集到的信号建议先做一级滤波程序,再用功能指令PID,三菱PID指令下有25个参数需要设置,但常用的参数不多。

欧姆龙做过几个案子,cp和cj的用过。但是不知道你说的是什么意思,plc滤波什么意思啊,要是数据采集的话不知道你采集的是什么东西,不过一般数据采集都是模拟量,需要模数转换的,滤波在这个环节做,plc自身不能滤波的。可以再问我,高手不敢当,可以一同探讨学习

台达的不清楚,常用的PLC比如欧姆龙这些模拟量输入本来就带平均化处理,勾上就行不用编程,可以看看台达的有没这个功能。如果没有就只能从程序中入手了,比如将连续的10组数据存成序列再做平均化,取平均化后的值作为采样值。

clc;clear all;

%归一化模拟切比雪夫I型低通滤波器的设计

Wp=2pi1000;Ws=2pi1500;rp=3;rs=30;%设计滤波器的参数  

wp=1;ws=Ws/Wp;                       %频带变换得到归一化滤波器

[N,wc]=cheb1ord(wp,ws,rp,rs,'s');    %计算滤波器阶数和3dB截止频率

[z,p,k]=cheb1ap(N,rp);               %计算归一化滤波器的零极点

[b,a]=zp2tf(z,p,k);                  %计算归一化滤波器系统函数的系数

w0=0:005pi:2pi;

[h0,w0]=freqs(b,a,w0);               %求频率响应

figure(1)

plot(w0,20log10(abs(h0)),'k');

title('归一化模拟且比雪夫I型低通滤波器');

xlabel('频率f/Hz');ylabel('幅度/dB');grid;

%一般低通切比雪夫低通滤波器的设计

[B,A]=lp2lp(b,a,Wp);                 %将归一化滤波器转换为一般模拟滤波器

w1=0:2pi100:2pi30000;

[h1,w1]=freqs(B,A,w1);

figure(2)

plot(w1/(2pi),20log10(abs(h1)),'k');

title('一般模拟且比雪夫I型低通滤波器');

xlabel('频率f/Hz');ylabel('幅度/dB');grid;

%冲激响应不变法设计低通巴特沃斯数字滤波器

Fs=10000;                            %采样频率

Wp1=Wp/Fs;Ws1=Ws/Fs;

rp1=3;rs1=30;                        %设计滤波器的参数

[N1,Wn]=cheb1ord(Wp,Ws,rp1,rs1,'s')  %计算滤波器阶数

[b1,a1]=cheby1(N1,rp1,Wn,'s');       %样本AF的系数函数的分子分母系数

[bz,az]=impinvar(b1,a1,Fs);          %冲激响应不变法从AF到DF变换

[C1,B1,A1]=dir2par(bz,az)            %直接形式转换为并联型

w2=[Wp1,Ws1];                        %数字临界频率

[H,f]=freqz(bz,az);                  %绘制数字滤波器的幅频特性和相频特性

[db,mag,pha,grd,f]=freqz_m(bz,az);   %扩展函数检验滤波器的其他特性

figure(3)

plot(f/pi,db,'k');

title('冲激响应不变法设计低通切比雪夫I型数字滤波器');

xlabel('角频率w/pi');ylabel('振幅/dB');

axis([0,035,-30,5]);grid;

%用设计好的滤波器对信号进滤波处理

figure(4)

f1=500;f2=4000;                      %输入信号的频率

N=100;                               %数据长度

dt=1/Fs;n=0:N-1;t=ndt;              %采样间隔和时间序列

x=sin(2pif1t)+05cos(2pif2t); %输入信号

subplot(2,1,1),plot(t,x),title('输入信号');

y=filtfilt(bz,az,x);                 %用滤波器进行滤波处理

y1=filter(bz,az,x);                  %进行滤波处理

subplot(2,1,2),plot(t,y,t,y1,':'),title('输出信号');xlabel('时间/s');

legend('filtfilt','filter')          %加图例

freqz_mm文件

function[db,mag,pha,grd,w]=freqz_m(b,a)

[H,w]=freqz(b,a,1000,'whole');

mag=abs(H);

db=20log10((mag+eps)/max(mag));

pha=angle(H);

grd=grpdelay(pha);

dir2parm文件

function [C,B,A] = dir2par(b,a)

M=length(b);N=length(a);

[r1,p1,C]=residuez(b,a);

p=cplxpair(p1,10000000eps);

I=cplxcomp(p1,p);

r=r1(I);

K=floor(N/2);B=zeros(K,2);A=zeros(K,3);

if K2==N;

  for i=1:2:N-2

      Brow=r(i:1:i+1,:);

      Arow=p(i:1:i+1,:);

      [Brow,Arow]=residuez(Brow,Arow,[]);

      B(fix((i+1)/2),:)=real(Brow);

      A(fix((i+1)/2),:)=real(Arow);

  end

  [Brow,Arow]=residuez(r(N-1),p(N-1),[]);

  B(K,:)=[real(Brow) 0];A(K,:)=[real(Arow) 0];

else

  for i=1:2:N-1

      Brow=r(i:1:i+1,:);

      Arow=p(i:1:i+1,:);

      [Brow,Arow]=residuez(Brow,Arow,[]);

      B(fix((i+1)/2),:)=real(Brow);

      A(fix((i+1)/2),:)=real(Arow);

  end

end

cplxcompm文件

function I=cplxcomp(p1,p2)

I=[];

for j=1:1:length(p2)

  for i=1:1:length(p1)

      if(abs(p1(i)-p2(j))<00001)

          I=[I,i];

      end

  end

end

I=I';

以上就是关于s7-200模拟量输入波动严重,如何解决全部的内容,包括:s7-200模拟量输入波动严重,如何解决、plc控制器质量控制、PLC中SCRT无法跳到下一个程序段等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9285827.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存