课程中心
HOME
课程中心
正文内容
plc编程运行结果 通过一个示例来看看PLC程序语句执行顺序对运算结果的影响
发布时间 : 2024-11-23
作者 : 小编
访问数量 : 23
扫码分享至微信

通过一个示例来看看PLC程序语句执行顺序对运算结果的影响

大家都很清楚PLC的程序扫描时由头到尾的依次执行的,所以,在我们自己编写程序或修改程序时,一定要重视语句的执行顺序对逻辑运算结果的影响,这是我们常常会犯的错误,下面我就举个小小的示例来看看。

上图是一个很简单的小程序,本意呢就是想通过定时器T0每秒导通一次,那么C0和C1也会每隔1s就会加1。那么大家看看我上面的程序的结果会是什么样的?

下图就是运算的结果,C0计数正常而C1并未继续计数。

那么为什么会出现如上的结果呢?这就是本文前面提到的运算顺序的问题了?

简单分析下过程:为了更直观我们讲上面的LAD转换成STL来看看程序

当如下图所示红框中的第一个逻辑,定时器T0计时时间到后则重新计时,C0得到上升沿而进行计数。

当如下图所示篮框内的将开始重新的逻辑,T0不会产生上升沿,所示C1也就不进行计数。

那么针对本例,怎么修改呢?如下图所示即可。

再来看看修改后的STL程序:

修改后的程序更加精简。

当然了本文只是举个例子,提醒大家在编写程序或修改程序时,一定要遵循PLC程序执行的最基本原则。不要出现本文第一段程序中的“画蛇添足”。

PLC快速入门:从掌握这几个西门子经典编程案例开始!

01

小车往返运动

用S7-200实现小车往返的自动控制

控制过程为按下启动按钮 ,小车从左边往右边(右边往左边运动) 当运动到右边(左边)碰到右边(左边)的行程开关后小车自动做返回运动,当碰到另一边的行程开关后又做返回运动 。如此的往返运动,直到当按下停车按钮后小车停止运动。

➤I/O分配表

➤梯形图程序

➤PLC接线图

➤程序调试及结果分析

当按下SB2即i0.0(鼠标点击i0.0f)接通后,Q0.0接通,小车右行(即指示 灯 Q0.0 亮)。

当小车运行碰到右限位开关SQ2即i0.4(用鼠标点击i0.4f,模拟SQ2被压下)接通,此时小车左行(指示灯Q0.0灭,指示灯Q0.1亮),当运行到左边碰到左限位SQ1即i0.3(鼠标点击i0.3f)接通,此时小车又往右运行(指示灯Q0.1灭,指示灯Q0.0 亮)。

如此往返运动下去直到按下SB1即i0.2(鼠标点i0.2f)接通,小车停止运行。

附:

02

闪光电路

当按下启动按钮后,要求在两秒钟内有一秒亮有一秒灭,如此反复,灯一闪一闪 发光。

➤I/O分配表

➤梯形图程序

➤PLC接线图

➤程序调试及结果分析

把编写好的程序下载到西门子s7-200PLC中进行调试,观察运行结果和实验要求是否相同。通过在线控制面板进行调试,当按下在线控制面板上的I0.0f(即 I0.0 接通)此时Q0.0有输出 ,Q0.0所接负载灯就 ,同时启动定时器T37开始计时, 当计时一秒后因T37动作,其常闭触点断开,所以Q0.0无输出 ,所接负载灯 。灯灭的同时启动定时器 T38,T38 计时一秒后,把串联在定时器T37的常闭触点断开,所以T37复位,T37常闭触点恢复常闭。此时Q0.0 又有输出,所接负载灯又亮。

这样,输出Q0.0上所接的负载灯以接通一秒,断开一秒频率不停的闪烁,直到按下在线控制面板上的 I0.1f(即I0.1接通),闪光电路不再继续工作。

若想改变灯闪烁的频率只要改变定时器的时间就能够达到改变要求。

03

星三角降压启动

利用西门子S7-200的PLC实现星三角接法的降压启动。

➤PLC接线图

➤程序调试及结果分析

把编写好的程序下载在西门子S7-200的PLC中进行调试,下载好后我们打开在线控制面板进行调试,看运行结果是否符合要求

首先把控制面板上的i0.2f置位为按钮按下去,即i0.2 接通,表示断路器QF合上。按下启动按钮i0.0f(SB2)即i0.0接通此时电动机星形启动,Q0.0和Q0.1有输出,实验接线图中表示这两个的灯L1和L2都亮同时驱动时间计数器,当计时器计到10S时切换为三角型启动 ,此时Q0.1无输出,Q0.2有输出,则此时Q0.0和Q0.2 有输出,电机三角星运行。接线面板上的L 1和L3灯亮。按下在线面板上的i0.1f后(i0.1接通)此时电动机停止运行。所有的输出点都无输出。

04

彩灯控制

利用PLC的Q0.0到Q0.7八个输出端控制 八个彩灯,使其每隔一秒亮一个并循环 。当接通I0.0后所有的灯都熄灭。当接通I0.1后又重新从Q0.0开始循环。

➤I/O分配表

➤梯形图程序

➤PLC接线图

➤程序调试及结果分析

把编写好的程序下载在PLC中进行调试,下载好后我们打开在线控制面板进行调试,看运行结果是否符合要求。

PLC一上电后sm0.0一直保持接通。所以t37进行延时计时,延时到后启动t38计时,t38计时到后t38常闭触点断开所以t37断开计时,t37常开触点恢复为常开所以t38也断开计时。此时t38的常闭触点恢复为常闭所以t37又重新计时,同时计数器C0开始计数一次。如此的反复计数。当计数为1时,Q0.0接通。计数器计数为2时Q0.1接通……

如此下去当计数器计数到8时Q0.7接通。当计数器计到9时计数器C0清零。当按下在线控制面板上的I0.0f(即I0.0)接通,此时计数器,和Q0.0~Q0.7都清零,即没有一个灯亮。当按下在线控制面板上的I0.1f(即I0.1接通)此时计数器开始重新计数,灯又从Q0.0开始重新一个接一个的往下亮。

05

比较指令

对进出仓库的货物进行记录。仓库最多可放6000箱货物,货物多于1000箱灯L1亮,多于 5000箱时灯L2亮。

➤I/O分配表

➤梯形图程序

➤程序调试及结果分析

把程序下载到S7-200的PLC中进行调试。在下载的之前我们先把程序中的数字进行缩小处理,以便在实验中我们能够更好的更快的观看到实验结果。

我们把L1的灯亮的时候设置为5。把L 2灯亮我们设置为10。这样我们就能够更快的看到实验结果。

当按下在线控制面板上的I0.0f的时候即I0.0接通,表示有货物进去。当我们点击在线控制面板上的I0.0f五次后,此时计时器中的计数值为5,(即表示仓库中已经有1000箱物品了)则灯L1要亮,即Q0.0有输出

当继续点击I0.0f后点击有十次后此时计数器的计数值位10(即表示仓库中有5000个物品),此时灯L2也亮即Q0.1有输出。当继续点击在线控制面板上的I0.0f。计数器中的计数值就继续往上增加。

当按下在线控制面板上的I0.1f后计数器就开始往下减。点击一次,计数器中的计数值就减少一次。当计数器中的值小于10时即表示仓库中的物品少有5000箱,此时灯L2灭(即Q0.1没有输出)。当继续点击I0.1f时计数器 中的计数值继续减少,当减少到小于5次时。表示仓库中的物品少于1000,此时灯L1灭。Q0.0就没有输出。当按下在线控制面板上的I0.2f时计数器清零。L1和L2都不亮,(即Q0.和Q0.1都没有输出)。

06

8个彩灯移位控制

用IO导线控制接在Q0.0到Q0.7上的八个彩灯循环移位,用t37定时,每0.5S移位一位,首次扫描时给Q0.0到Q0.7置初值,让Q0.0和Q0.2先有输出。用I0.1来控制彩灯位移的方向。

➤I/O分配表

➤梯形图程序

➤PLC接线图

➤程序调试及结果分析

把程序下载到西门子S7—200的PLC中进行调试,PLC一上电Q0.0和 Q0.2 就有输出,则Q0.0和Q0.2亮。

当把在线面板上的I 0.0f(表示 I0.0 有输入)置位开关按下后定时器T37开始计时每0.5秒后彩灯以Q0.0和Q0.2作为基础向右每次移移位。当按下在线控制面板上的I0.1f(表示I0.1有输人)使其置位时彩灯以同样的方式向左移动。

07

跳转指令

利用跳转指令控制两个灯L1和L2,分别接于Q0.0和Q0.1,切换开关位I0.0,两个灯的控制开关位I0.1和 I0.2.。手动时分别用两个灯的控制开关来控制。自动时,两个灯每隔一秒交替亮。

➤I/O分配表

➤梯形图程序

➤程序调试及结果分析

把编写好的程序下载到s7-200的PLC中进行调试。当I0.0为OF时,PLC运行手动程序按下在线控制面板上的置位按钮I0.1f和I0.2f 即表示(I 0.1和I0.2闭合)灯L1和L2亮,Q0.0 和Q0.1有输出。

当我们按下在线控制面板上的I0.0f时,此时I0.0为ON,此时程序跳转到自动程序运行。两个灯每隔一秒循环亮。先L1亮一秒后L2亮。 当在按下在线控制面板上的 I0.0f后即此时I0.0为OFF程序跳转到手动程序运行。

08

鼓风机和引风机的顺序启动控制

➤I/O分配表

➤梯形图程序

➤PLC接线图

▲PLC上电时的程序监控图,蓝色表示接通

➤程序调试及结果分析

Sm0.1的特点在扫描的第一个周期接通,以后不接通 。当按下在线控制面板上的i0.0f时即 i0.0接通,此时Q0.0接通输出。(即指示灯Q0.0亮)引风机启动,同时定时器T37接通并开始计时,当定时器计数到50即(即指示灯Q0.1亮)鼓风机启动。此时两台风机都运行。

当按下在线控制面板上的I0.1f时,即接通I0.1此时鼓风机停止运行,(即指示灯Q0.1灭)同时定时器T38接通并开始计时,定时5s后引风机停止运行。(即指示灯Q0.0灭)。

09

液体混合

用S7-200实现液体混合的自动控制。当按下启动按钮后,液体阀A 打开 ,液体A流入搅拌机里面。当液位达到中限位时阀A关闭 ,同时打开液体阀B ,液体B流入搅拌机里面。当液位达到上限位时,阀B关闭 ,此时启动电动机进行搅拌。

搅拌一分钟后电动机停止同时阀门C打开,混合液体流出。当液位到达下限位时再过5S容器放空,关闭阀门C。同时打开阀门A,注入液体A。如此周期性的循环。若按下停止按钮后必须要等一个周期循环完后才停止。

➤I/O分配表

➤梯形图程序

➤PLC接线图

➤程序调试及结果分析

当按下在线控制面板上的I0.03f 即(I0.3闭合)阀A打开(即Q0.0亮),当按下在线控制面板上I0.0f(即I0.0中限位闭合)阀A关闭,阀B打开(即Q0.0灭,Q0.1 亮)

当按下在线控制面板上I0.1f(即上限位I0.1闭合)此时阀B关闭,电动机启动开始进行搅拌 ,(即Q0.1灭,Q0.2亮)同时定时器T37开始定时一分钟,一分钟后搅拌机停止搅拌,阀C打开(即Q0.2灭,Q0.3亮)当液位到达下限位后阀C继续打开(即Q0.3亮)同时定时器T38开始定时。

5s后阀C关闭。阀A打开,(即Q0.3灭,Q0.0亮),进入下一个循环周期。按下在线控制面板上的I0.4f(即表示停止的I0.4闭合),此时系统不会立即停止,而是当运行完一个周期后才停止

免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!

如何获取 电气热门资料?

操作指引如下!

相关问答

为什么plc程序写入后用不了?

PLC程序写入后无法使用的原因可能有很多种。以下是一些可能的原因:程序错误:在编写PLC程序时,可能会出现语法错误、逻辑错误或其他问题。这些问题可能导致程序...

plc的run模式,扫描周期有哪五个阶段?

plc(可编程逻辑控制器)的运行模式通常包括扫描周期的五个阶段。以下是每个阶段的详细介绍:1.输入扫描阶段:在这个阶段,plc会读取外部输入信号,例如传感器...

plc运行的三个阶段是什么啊?

当PLC处于正常运行时,它将不断重复扫描过程。分析上述扫描过程,如果对远程I/O、特殊模块和其他通讯服务暂不考虑,这样扫描过程就只剩下“输入采样”、“程序执...

plc程序上传后plc里还有程序吗?

上传后PLC里还有程序。原因:因为PLC上传只是将编程软件里的程序下载到PLC硬件中,PLC本身是没有存储功能的,程序只能下载到PLC中才能被执行,如果不刻意将程序...

西门子编程后电脑有输出但plc输出灯不亮出-ZOL问答

1.如果将原来程序删除,然后强制PLC的该点输出,如果没有输出,则说明是PLC坏了。2、如果有输出,查看原程序,看看你所说的输出点地址是不是多次被作为线圈调用了...

西门子200PLC程序上传到电脑后,PLC里头的程序还在吗-ZOL问答

除非是写入,否则不会对PLC里面的程序有任何的修改的。SIEMENS的S7-200系列PLC,用编程软件STEP7MicroWIN执行上传后,只是是将PLC内存中的数据复制一份到电脑。...

plc程序写好怎么没反应了?

1、首先看看主模块运行在什么位置,是STOP还是RUN状态,应该是RUN状态,如果不在RUN状态,设备肯定不能运行,自然也就没有输出。2、确认输出指示灯的逻辑程序没...

怎么样计算plc程序运行周期?

你好,PLC程序的运行周期取决于PLC的处理器速度和程序的复杂程度。一般来说,PLC程序运行周期可以通过以下公式计算:运行周期=程序执行时间+扫描时间其中...

plc电脑编程plc怎么运行?

PLC电脑编程是指通过编程软件为PLC(ProgrammableLogicController,可编程逻辑控制器)编写控制程序,使PLC能够根据预设的程序自动控制设备的运行。以下是PLC运...

plc程序读取了怎么不显示?

如果程序你能够被打开但看不了,先先查看一下是否显示出来了所有的硬件配置,如果不能需网上更新硬件驱动,程序块不能打开,一、可能写保护了,一般会在块上有个...

 大连79中  皇庭波西塔诺 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部