西门子PLC经典案例,用两种编程方法实现两灯交替闪烁
今天给大家说一个西门子案例——西门子S7-200SMART PLC怎么实现两灯交替闪烁
我们先来看看这个案例的具体要求:
使用定时器Q0.0和Q0.1,当按下启动按钮时Q0.0亮,1秒后Q0.0灭,同时Q0.1亮,再过两秒后Q0.1灭。以此循环,直到按下停止按钮,Q0.0和Q0.1全灭
首先画时序图。再用定时器加比较的方法会把很多复杂的东西简单化
时序图就是表示地址或变量根据时间的变化而变化的图形
整个占用的时间为3秒,需要用到100毫秒定时器
设:定时器的当前值为X,0≦X﹤10的时候,Q0.0亮;当10≦X﹤30时,Q0.1亮。
接下来就是循环的问题,循环就是用最后一个状态作为第一个状态的启动条件。
定时器PT值为3秒(数值计作30),使用TNO接通延时定时器,当当前值=设定值,状态输出为1时,即定时器状态位T37=1时,就去复位定时器,再从0开始,这个就是自复位,就是自己复位自己,到了3秒就从0开始。
最后梳理下编写程序的思路:
1、 启停控制——输出启动标志位,输出为1,并保持(自锁)
2、 定时器控制——用启动标志位去接通定时器,让其工作
3、 比较——0-1秒Q0.0输出,1-3秒Q0.1输出
于是程序如图:
此外还有第二种方法哦,会使用到震荡电路(闪烁电路)以及两个定时器交替控制,一个控制接通时间,一个控制断开时间,一起来看看。
看完这段程序,建议大家还是自己动手 操作一遍,效果会更好哦!
238道低压/初级电工考试题,2017和2018版(附答案)
用S7-1200 PLC实现循环彩灯的控制,含源程序
在S7-1200型PLC的实际编程工作中,无论是经验设计法还是顺序控制设计法对于要求比较复杂的任务都会产生大量的程序段,可读性差。本实例通过常见的循环彩灯控制为例,了解学习S7-1200型PLC程序块的应用。
相关知识:移动操作相关指令
(1) 移动值MOVE指令
MOVE指令用于将IN输入端的源操作数(数值或地址中的数据)赋值给输出端OUT1指定的地址中,指令执行后源操作数保持不变。该指令支持的数据类型为除Bool型数据之外的所有数据类型。
如下图程序段是PLC上电后将Q0口数值清零,一般用于系统的上电复位。
如果输入 IN 数据类型的位长度超出输出 OUT1 数据类型的位长度,则源值的高位会丢失。如果输入 IN 数据类型的位长度低于输出 OUT1 数据类型的位长度,则目标值的高位会被改写为 0。
小提示: 移动指令MOVE一般用于批量给输出寄存器Q赋值,或者在输入信号较多的情况下批量读取输入寄存器I中的数据。
例1:控制Q1.0~Q1.7上连接的8位彩灯隔一跳一点亮
再加一个按位操作的程序进行对比
例2:读取一位拨码开关输入的数值并保存在辅助寄存器M中
再加一个按位操作的程序进行对比
通过以上对比可以看出,在一些特定情况下使用MOVE指令可以可以大量简化程序步骤。
任务布置
选用5个点动按键S0~S4给PLC的输入信号,作为花样功能选择键,8个发光二极管LED0~LED7作为PLC的输出信号,编写程序实现8个发光二极管闪烁花样的切换显示。
按下按键S1,发光二极管点亮1个,并向右循环移动点亮,每秒移动1位;
按下按键S2,发光二极管点亮2个,并向右循环移动点亮,每秒移动1位;
按下按键S3,发光二极管点亮3个,并向右循环移动点亮,每秒移动1位;
按下按键S4,发光二极管点亮4个,并向右循环移动点亮,每秒移动1位;
按下按键S5,发光二极管点亮5个,并向右循环移动点亮,每秒移动1位;
任务实施
(1) 任务分析
1)在实际应用中压力传感器是将水的压力值转换成电压信号输入给PLC、单片机等控制系统,这个输入信号是模拟量。在模块中用可调电位器来模拟了压力传感器,电位器输出的电压范围是0~5V,对应的压力量程为0~0.1MPa。S7-1200PLC集成了两路模拟信号输入,传感器将电压信号输入PLC后会经过A/D转换成范围0~27648的数字量保存在IW64中。所以在本任务中要设法将地址IW64中采集的数字信号值还原成以Pa为单位的压力值。
2)系统要求有手动和自动两种工作模式,不同工作模式由点动按键ME进行切换,因此在梯形图程序编写时采用手动单步运行程序和自动连续运行程序两个函数块进行调用,具体转换条件如下图所示。
(2)I/O地址分配表
该系统共有5个输入,3个输出,资源分配如下表。
按照I/O分配表设置PLC变量,在Portal V13 软件中设置PLC变量表如下图所示
(3)硬件接线图 按照任务控制要求和I/O地址分配表画出硬件接线图并插接导线。
此处就略过不再详细解释了
(4)梯形图程序
重点难点详解:该任务有自动连续运行和手动单步运行两种工作模式,并由点动按键ME作为切换条件,设置以下4个函数功能块:
完整梯形图参考程序
OB1中的程序
FC1 上电初始化
FC4 300ms脉冲信号
FC3跑马灯循环
FC4控制循环次数
相关问答
西门子PLC单灯循环编程?
比较简单的方法,程序长,抛砖引玉,大家考虑用简单的。图片不好显示全,步骤是这样的。1、按键按下后置位一个标志位。用这个标志位去控制下面的计数器。2、用...
信捷plc跑马灯循环程序怎么维持?
信捷PLC的跑马灯循环程序可以通过设置计时器来实现。具体步骤如下:1.在程序中定义跑马灯所需的IO口,并初始化。2.创建一个计时器,设置定时时间为跑马...
用PLC实现彩灯的顺序循环点亮控制?
要用PLC实现彩灯的顺序循环点亮控制,可以按照以下步骤进行:1.确定需要控制的彩灯数量和控制顺序,设计电路连接方式,并将彩灯的正极连接到PLC的输出端口上。...
设置三个灯,每个灯亮两秒依次循环,用plc的梯形图怎么表示?
启动按钮S1后接第一个灯的输出控制,同时在输出上并联上一个2S的定时器T1,用T1作为第二个灯的启动,同样的在第二个灯的输出上并联T2,用T2作为灯3的启动,在灯...
跑马灯编程怎么编?
要编写一个跑马灯程序,你可以使用循环和延迟来实现。首先,你需要定义一个字符串,其中包含你想要在跑马灯上显示的文本。然后,使用一个无限循环来不断输出字符...
PLC怎么编辑无限循环点动?
PLC可以通过编写无限循环点动程序来实现对设备的持续控制。具体操作步骤为:首先确定需要控制的设备输入输出口地址,然后设置一个无限循环程序,将控制信号输出...
plc如何实现不同程序循环?
要用PLC实现程序的无限循环,我们可以使用时间顺序循环的指令,指令如下:1、用时间继电器T0驱动T1。2、再由T1驱动T2。3、T2驱动T3。4、直到最后一个,用TN...
plc编程灯亮1秒灭2秒再亮3秒灭4秒,用三菱的编?
我做了一个。看看可以吗,Y1是输出灯,X1启动,X2停止,启动后灯循环工作,直到按压X2才停止,需要在一个循环后自动停止,把T3的常闭触头和X2串在一起就可以了...
plc中灯闪烁用程序怎么表示?
如果要在PLC中实现灯闪烁的功能,需要编写一个简单的程序。首先,需要定义一个变量来控制灯的状态,例如将其设置为布尔类型的变量。接下来,在主程序中使用一个...
西门子plc循环指令?
使用这条指令时,当你设定好当前循环计数(INDX)、起始值(INIT)和结束值(FINAL)后,每次I0.1动作,就会执行一次FOR到NEXT之间的循环,循环结束后INDX值就会...使...