PLC的仿真程序是什么

PLC的仿真程序是什么,第1张

PLC的仿真程序是指PLC在编程软件上进行防真。

仿真实例

(1)启动编程软件GX Developer,创建一个“新工程”。

(2)编写一个简单的梯形图。

(3)可以通过“菜单栏”启动仿真。

(4)也可以通过“快捷图标”启动仿真。

启动仿真后,程序开始在电脑上模拟PLC写入过程

并且可以通过“在线”中的“软元件测试”来强制一些输入条件ON或者OFF。监控程序的运行状态。

点击工具栏“在线(O)”,d出下拉菜单,点击“调试(B)”→“软元件测试(D)”或者直接点击“软元件测试”快捷键,

则d出“软元件测试”对话框。

在该对话框中“位软元件”栏中输入要强制的位元件,如X0,需要把该元件置ON的,就点击“强制ON”按钮,如需要把该元件置OFF的,就点击“强制OFF”按钮。同时在“执行结果”栏中显示被强制的状态。

梯形图监视执行中………

接通的触点和线圈都用蓝色表示,同时可以看到字元件的数据在变化。

(5)各位元件的监控和时序图监控。

(6)位元件监控

点击“启动仿真窗口”的“菜单起动S”,→“继电器内存监视(D)”d出如图窗口,

点击“软元件D”→“位元件窗口(B)”→“Y”。

如图即可监视到所有输出Y的状态,置ON的为黄色,处于OFF状态的不变色。用同样的方法,可以监视到PLC内所有元件的状态,对于位元件,用鼠标双击,可以强置ON,再双击,可以强置OFF,对于数据寄存器D,可以直接置数。对于T、C也可以修改当前值,因此调试程序非常方便。

(7)时序图监控

点击“仿真窗口”的“菜单起动S”,→点击“时序图(T)”→起动“(R)”,则出现“时序图监控”。

可以看到程序中各元件的变化时序图。

(8)PLC的停止和运行。

点击“仿真窗口”中的“STOP”,PLC就停止运行,再点击“RUN”,PLC又运行。

(9)退出PLC仿真运行。

在对程序仿真测试时,通常需要对程序进行修改,这时要退出PLC仿真运行,重新对程序进行编辑修改。退出方法:先点击“仿真窗口”中的“STOP”,然后点击“工具”中的“梯形图逻辑测试结束”。

点击“确定”即可退出仿真运行,但此时的光标还是蓝块,程序处于监控状态,不能对程序进行编辑,所以需要点击快捷图标“写入状态”,光标变成方框,即可对程序进行编辑。

方法/步骤

首先电脑中应该安装有三菱编程软件及仿真软件,我们安装为以下版本GX Developer-7.08;GX Simulator6-C。

然后打开编程软件。

请点击输入图片描述

从工程菜单中创建新工程,并选择我们使用plc的系列及类型。

请点击输入图片描述

请点击输入图片描述

我们编写一个简单的自锁程序,编写完毕后点击“程序变换”图标。

请点击输入图片描述

请点击输入图片描述

变换之后我们运行仿真程序,这时点击“梯形图逻辑测试”图标,这时我们编写的程序将传送至“模拟PLC”。

请点击输入图片描述

请点击输入图片描述

请点击输入图片描述

传送完毕点击模拟窗口的“寄电器内存监视”然后从d出的对话框选择软元件“X”和“Y”,这时我们看到的是所有输入和输出软元件的仿真按钮。

请点击输入图片描述

请点击输入图片描述

请点击输入图片描述

我们双击X0,这时即可看到输出Y0灯亮,同时自锁,Y0常亮。即使再次双击X0关闭,Y0仍然处于点亮状态。

请点击输入图片描述

我们点击停止按钮X1,这时Y0才能够断开。

这就是整个程序的仿真过程。通过仿真我们就可以判断程序是否正确,非常方便!

请点击输入图片描述

白噪声序列并不是m序列。但是m序列是一种特殊的白噪声序列。m序列的特性决定它在信号编码处理中的广泛应用。例如CDMA,码分多路复用。

下面详细介绍m序列的特性,产生方式和Mablab例程。

m序列是最基本的PN序列。PN序列就伪随机序列。 伪随机序列的存在是因为在实际中并不存在完美的随机序列。m序列是最长线性反馈移位寄存器序列的简称。这就说明了,m序列是由反馈移位寄存器来产生的。例如n=9的m序列产生移位寄存器如下图所示:

移位寄存器的形式,取决于n的值。

m序列特性的特性:

1. m序列每一周期中 1 的个数比 0 的个数多 1 个

2. 相异m序列,按模2相加所得的序列仍为m序列

3. m序列的自相关函数为近似脉冲狄拉克δ函数,n越大,越理想。这一点是m序列的关键。

Mablab例程

以下以n=7为例,来演示m序列的产生

%===================================

n = 7

taps=2

tap1=1

tap2=7

flag = 0

rand('state',sum(100*clock))

while 1

abuff = round(rand(1,n))

%make sure not all bits are zero

if find(abuff==1)

break

end

end

for i = (2^n)-1:-1:1

xorbit = xor(abuff(tap1),abuff(tap2)) %feedback bit

abuff = [xorbit abuff(1:n-1)]

y(i) = (-2 .* xorbit) + 1  %yields one's and negative one's (0 ->11 ->-1)

end

stem(y)

ylim([-2,2])

xlim([1,2^(n+1)])

figure

[c,lags]=xcorr(y)

plot(lags,c)

%===================================

运行结果:

m序列

m序列自相关:


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

原文地址: http://outofmemory.cn/yw/12013830.html

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

发表评论

登录后才能评论

评论列表(0条)

保存