如无跳转指令,则从第一条指令开始逐条顺序执行用户程序,直至程序结束罩纤,然后重新返回第一条指令,开始下一轮扫描,在每一次扫描过程中,还要完成对输入信号碰李的采样和对输出状态的刷新等工作。
控制器投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。完成上述三个阶段称作一个扫描周期,在整个运行期间,可编程逻辑控制器的CPU以一定的扫描速度重复执行上述三个阶段。
在可编程控制器输入采样阶段,可编程逻辑控制器以扫描方式依次地读入所有输入状态和数据,并将它们存入I/O映象区中的相应的单元内。输入采样结束后,转入用户程序执行和输出刷新阶段。在这两个阶段中,即使输入状态和数据发生变化。
I/O映象区中的相应单元的状态和数据也不会改变。因此如果输入是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能保证在任何情况下,该输入均能被读入。当扫描用户程序结束后,可编程逻辑控制器就进入输出刷新阶段。
在此期间CPU按照I/O映象区内对应的状态和数据刷新所有的输出锁存电路,再经输出电路驱动相应的外设,这时才是可编程逻辑控制器的真正输出。
下面的代码是用来按照频率取样法设计FIR高通数字滤波器的,你可以参考一下close all
clear all
clc
N1=23
wc=pi/3
Hk=[zeros(1,5) ones(1,N1) zeros(1,5)]
Y=0.2501
Hk(5)=Y
Hk(5+N1+1)=Y
N=length(Hk)
wk=0:2*pi/N:2*pi-2*pi/N
thetak=-pi*(N-1)*(0:N-1)/N%相位采样向量θ(k)=-(N-1)*pi*k/N, 0≤k≤N-1
Hdk=Hk.*exp(j*thetak)%构造频袭没歼察凳率采拍冲样向量Hd(k)
hn=real(ifft(Hdk))%hn=IDFT[H(k)],real只取实部,忽略计算误差引起的虚部
figure
plot(wk/pi*N/2,Hk)
hold on
scatter(wk/pi*N/2,Hk,'*')
grid
[H,w]=freqz(hn,1)
figure
AH=abs(H)
maxAH=max(AH)
subplot(211)
plot(w/pi,20*log10(abs(H)/maxAH))
axis([0 1 -80 5])
grid
subplot(212)
plot(w/pi,abs(H)/maxAH)
axis([0 1 -0.1 1.1])
grid
常用的写代码软件有以下几个:1、WebStorm。枣磨WebStorm是jetbrains公司旗下一款JavaScript开发工具。目前已经被广大中型岩渣国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScriptIDE”等。
2、SublimeText。SublimeText是一个代码编辑器也是HTML和散文先进的文本编辑器。
3、HBuilder。HBuilder是专为前端打造的开发工具,具有飞一样的编码、最全的语法库和浏览器兼容数据、可以方便的制作手机APP、最保护眼睛的绿柔设计等特点。卜悄
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)