让彩虹灯依次点亮和逆时停止的程序来了
学习程序的时候,我们首先要理解二进制的转换,当然我们没有必要去记住每一个数字的转换,可是我们要记住0-9之间二进制的转换还有很有必要的。
二进制0-9可以对应8位也可以对应16位,根据我们的需要合理组合,这就是二进制数值表。
我们在编程的时候,比如控制多盏灯光来照明,想要实现依次点亮,就会用到二进制数值。
我们的程序最后也是转换成二进制数值来进行运算,下面我们来看一个程序。
PLC外部接线在这里就不做介绍了,因为我们一目了然能够很熟练的接好灯与PLC的接线。
下面我们来进入程序的编写阶段,在程序中我们用到了INC自加一指令,是脉冲型的。
然后用到了一个组合复位指令,这个指令能够实现上述指示灯全部熄灭,用在复位情况下。
现在我们从第一段程序端可以看到,利用下降沿指令来控制组合位元件指令依次动作。
首先第一次按下松开的时候M0会点亮Y0,第二次按下松开的时候M1点亮Y0、Y1,,第三次按下松开的时候会点亮Y0、Y1、Y2。继续按下松开的时候Y0、Y1、Y2会依次熄灭。
如何遇到特殊情况下,我们要关闭全部的指示灯,这时候我们还是利用一个按钮开关就可以控制。
我们可以在程序中添加一个时间继电器就可以实现了。或者是按下松开第六次的时候就会全部熄灭。
在这里组合位元件的利用是一个难点也是一个重点,好了,根据今天的学习,我们大家对组合位元件已经有了一定的认识
西门子S7-200PLC程序控制类指令
1、系统控制类指令
2、跳转、循环指令
3、子程序调用指令
4、顺序控制指令
(1)系统控制类指令
1.1. 结束指令
结束指令有两条:END和MEND。两条指令在梯形图中以线圈形式编程。
END,条件结束指令。使能输入有效时,终止用户主程序。
MEND无条件结束指令。无条件终止用户程序的执行,返回主程序的第一条指令。
指令格式:END(无操作数)
1.2. 停止指令
STOP,暂停指令。使能输入有效时,该指令使主机CPU的工作方式由RUN切换到STOP方式,从而立即终止用户程序的执行。
STOP指令在梯形图中以线圈形式编程。指令不含操作数。
指令格式:STOP(无操作数)
1.3. 看门狗复位指令
WDR,看门狗复位指令。当使能输入有效时,执行WDR指令,每执行一次,看门狗定时器就被复位一次。用本指令可用以延长扫描周期,从而可以有效避免看门狗超时错误。
指令格式:WDR(无操作数)
实例:
(2)跳转、循环指令
2.1. 跳转指令
《1》跳转指令
JMP,跳转指令。使能输入有效时,使程序流程跳到同一程序中的指定标号n处执行。
《2》标号指令
LBL,标号指令。标记程序段,作为跳转指令执行时跳转到的目的位置。操作数n为0~255的字型数据。
应用实例:用跳转指令及置位复位指令实现单按钮起保停控制
说明:为了避免出现先置位后复位或者先复位后置位的两次动作,使用跳转指令JMP和标号LAB。
按序分析:PLC运行开始,Q0.0=0,因此不执行网络2,按下I0.0,执行网络5使得Q0.0置位。从而后不执行网络5,而执行网络2,再按I0.0实现停止。
2.2、循环指令
循环指令用于一段程序重复多次执行控制。重复执行的程序段从FOR语句开始至NEXT为止。
循环次数由循环计数器控制,每执行一次循环次数计数器加1,到达设定值时结束循环。其循环的次数为循环计数器的设定值-初始值。
使能输入EN有效,循环体开始执行,执行到NEXT指令时返回,每执行一次循环体,当前值计数器INDX增1,达到终止值FINAL时,循环结束。
使能输入无效时,循环体程序不执行。每次使能输入有效,指令自动将各参数复位。
由FOR和NEXT指令构成程序的循环体。FOR指令标记循环的开始,NEXT指令为循环体的结束指令。 INDX是当前值计数器即循环计数器,INIT是循序计数器的初始值,FINAL是循环终止值即设定值。 INDX、INIT、FINAL均为16位的字寄存器,如VW、IW、QW、MW、SW、SMW、LW、T、C、AC。
(3)子程序调用指令
在电气控制系统中,有时需要处理一些特定事件、突发事件等,这些事件处理还需要继续执行正常的工作。这种情况适合用子程序进行处理,当满足条件时执行子程序,不满足条件时子程序不被执行。其相关内容有:
1建立子程序
2.子程序调用
3.带参数的子程序调用
1. 建立子程序
(1)从“编辑”菜单,选择插入→子程序;
(2)从“指令树”,用鼠标右键单击“程序块”图标,并从弹出菜单选择插入→子程序;
(3)从“程序编辑器”窗口,用鼠标右键单击,并从弹出菜单选择插入→ 子程序。
2. 子程序调用
(1)子程序调用和返回指令
子程序调用 SBR
子程序条件返回 CRET
3. 带参数的子程序调用
(1)子程序参数
(2)局部变量的类型
(3)数据类型
(4)建立带参数子程序的局部变量表
(5)带参数子程序调用指令
注:带参数的子程序的概念及用途
从主程序进入子程序,有时主程序的某些参数需要传递到子程序当中,这在子程序调用指令中包含相应参数,它可以在子程序和调用程序之间传送。
如果子程序要传递参数和局部变量则称为带参数的子程序(可移动子程序),应尽量使用局部变量L,避免使用全局变量。
子程序的参数必须有一个符号名、一个变量类型和一个数据类型。
子程序最多可以传递16个参数,传递的参数在局部变量表中定义。
局部变量表
说明
变量类型:局部变量表中有IN、OUT、IN/OUT和TEMP四种类型。其中OUT和IN/OUT不允许使用常量。
前三种变量可以在子程序和调用程序之间传送。
TEMP是局部局部存储变量,只能用于子程序内部保存结果,不能在程序之间传送参数。
数据类型包括:能流、位、字节、字、双字,整数和实数型。
带参数子程序调用的指令格式
在子程序局部变量表中定义参数后自动生成调用指令块,指令块中自动包含子程序的输入参数和输出参数。
在主程序插入调用指令。
应用举例
多种工作方式的可编程控制彩虹灯。
方式1:左循环每次一位。
方式2:左循环每次两位。
方式3:右循环每次一位。
方式4:右循环每次二位。
方式5:左循环逐个点亮然后逐个熄灭。
方式6:右循环逐个点亮然后逐个熄灭。
可编程彩虹灯控制程序
4、顺序控制指令
功能流程图:
(1)顺序步开始指令 (LSCR)
(2)顺序步结束指令 (SCRE)
(3)顺序步转移指令 (SCRT)
相关问答
压屏机什么原理?
压屏机的原理是采用PLC作为整个系统的控制中心,来实现贴附全过程操作,PLC由特定的脉冲输出口输出脉冲控制气动原件,使LCD交替旋转平台按预定的位置做圆周方向...
网版贴合机原理?
一、贴合机工作原理:主要是采用plc作为整个系统的控制中心,来实现贴附全过程操作。plc由特定的脉冲输出口输出脉冲控制气动元件,pur块干粒子机,使lcd交替旋转...
喜欢物理的人是为什么会喜欢物理呢?
喜欢物理需要理由吗?“喜欢一个人需要理由吗?”“不需要吗?”“需要吗?”“不需要吗?”“没什么我只是想和你讨论一下。”———来自周星驰经典电影台...
请问液晶屏幕压屏机工作原理是怎么样的?哪位大神能告诉我?
[回答]我们压屏一定要学会如何去运用仪器,当你了解仪器设备的原理你就基本成功了一半,一般压屏机原理控制好,就可以了。压屏机的速度控制,压屏机我们一定...
独脚架怎么用?如何固定好独脚架?,有了解这个铝脚架的吗??
[回答]...我们将秉承“诚信,保障,热情”的经营理念,为广大用户提供有品质的产品和完善的服务。我们期待与您合作,创造出价值与财富,互惠互利,共谋发展。...
大仙们 谁能给我说一下:半自动PUR热熔胶贴合机型号参数及原...
[回答]展望兴科技,主要工作原理是采用PLC作为整个系统的控制中心,来实现贴附全过程操作,PLC由特定的脉冲输出口输出脉冲控制气动元件,使LCD交替旋转平台按...