S7-1200 PLC循环移位指令做流水灯控制
案例详解 | S7-1200 PLC循环移位指令做流水
灯控制
在S7-1200 PLC中的移位和循环移位指令指令包括了移位指令SHL和SHR,循环移位指令ROL和ROR。
这几个指令跟S7-200/200 SMART PLC是一样的,如果学习过这几个指令的同学也可以重新温习一下,或者直接拉到后面看流水灯控制的程序案例编写~
下面我们就分别来看一下这几个指令吧。
1、移位指令
移位指令分为左移指令SHL和右移指令SHR这两个,它们执行的过程是一致的,只是移动的方向不同而已,左移指令是由低位往高位移动,右移指令是由高位往低位移动。
我们以左移指令来看一下,指令中的N是移位的位数,是将输入操作数IN中的二进制位按N位向左进行移位,从而输出到输出端OUT中,注意移位指令移出的位是自动丢去的,而低位中空出的位是自动补零的。
关于移位指令使用时支持的数据类型,除了支持位字符串的数据类型之外,还可以支持整数的数据类型。
2、循环移位指令
循环移位指令分为循环左移ROL和循环右移ROR这两个指令,同样的它们的移动方向是不同的,循环左移指令是由低位往高位移动,循环右移指令是由高位往低位移动。
关于循环移位指令支持的数据类型只要位字符串的数据类型哦。
下面我们以循环左移指令来看一下指令的执行过程,指令中的N同样的是用于指定移动的位数,指令是将输入操作数IN中的二进制位按N位进行循环左移,这个指令和移位指令的区别是,循环移位指令移出的位并不会丢失,而是会放回到地位中
空出的位置中的。
我们下面讲一个流水灯控制,是以循环移位指令实现的,主要是为了让大家能够熟悉指令的使用哦。
下面就先看看控制要求吧!
控制要求:有八盏指示灯分别对应于PLC输出Q0.0~Q0.7,按下启动按钮,从第一盏灯开始每隔1s点亮,点亮下一盏的同时熄灭上一盏。
当第八盏灯点亮后延时5秒,然后以反反向点亮,回到第一盏时又延时5秒进
行下一轮循环,按下停止按钮所有指示灯都熄灭。
我们分析一下以上的程序,当按下启动按钮时,M20.0接通,M20.0接通同时随1s 时钟脉冲每隔一秒进行向左移位,依次点亮一盏灯并熄灭上一盏灯,当第八盏灯点亮了则Q0.7接通,置位切换方向信号M20.1,M20.1触点接通并开始延时5秒,5秒时间到后M20.2线圈接通,M20.2触点接通同时随1s 时间脉冲每隔1秒进行向右移位,直到点亮第一盏灯时,不再执行ROR 右移指
令,而去执行程序段5,Q0.0触点接通,定时器开始延时5秒时间,延时时间到后复位M20.1,也就是复位切换方向的信号,同时置位启停标志M20.0,接着又开始下一次的轮回。
当按下停止按钮时,MOVE指令将0移动到QB0,进行清零,使所有输出都复位,指示灯全部熄灭,同时也将启停标志M20.0和切换方向信号M20.1都复位掉。
基于PLC控制的流水灯的设计与制作毕业设计
毕业设计(论文)基于PLC控制的流水灯的设计与制作Based on PLC control water lights design and production班级应用电子092学生姓名学号指导教师职称副教授/副教授导师单位徐州工业职业技术学院论文提交日期2011 年11 月23日徐州工业职业技术学院毕业设计(论文)任务书课题名称基于PLC控制的流水灯的设计与制作课题性质设计与制作班级应用电子092学生姓名学号指导教师导师职称一.选题意义及背景流水灯控制电路是灯光控制器的一个分支,由于流水灯所具有的特有流动感而广泛应用于广告控制及人们生活中,给人们一种美感,为人们生活带来乐趣。
在现代生活中,大型楼宇的轮廓装饰或大型晚会的灯光布景,由于其变化多、功率大,数字电路则不能胜任。
针对PLC日益得到广泛应用的现状,本设计采用PLC设计流水灯,灯的亮灭、闪烁时间及流动方向的控制均通过PLC控制来达到控制要求。
作为电类专业即将毕业的学生在学习完全部专业课程后,应该能独立地设计制作一种实用而又具有一定复杂程度的控制装置。
通过本设计制作,培养学生的设计机电控制装置的思路,学会制定设计方案,掌握PLC的综合应用以及一般机电控制装置设计的方法,培养学生综合分析问题的能力和提高工程实践的能力。
二、毕业设计(论文)主要内容合理选择PLC类型、LED型号,设计流水灯控制电路,具体要求如下:1、画出流水灯控制流程图;2、合理选择PLC的型号;3、合理分配PLC的I/O接口;4、画出相应的PLC接线图;5、编写控制程序并上机模拟调试。
(提示:选用我院实验室具备的FX2N—48MR可编程控制器,以便调试)。
三、计划进度四、毕业设计(论文)结束应提交的材料1、制作实物并调试成功;2、提交设计论文(设计的电路图中的符号必须符合图形符号的国标规范,论文格式必须符合文字出版物国家规范)。
指导教师:张明金教研室主任:张明金2011年10月12日2011年10月12日论文真实性承诺及指导教师声明学生论文真实性承诺本人郑重声明:所提交的作品是本人在指导教师的指导下,独立进行研究工作所取得的成果,内容真实可靠,不存在抄袭、造假等学术不端行为。
PLC应用技术项目教程(西门子S7-1200)项目3 彩灯控制系统设计
任务3.1 彩灯控制系统设计
知识点2 移位与循环移位指令
SIMATIC S7-1200的移位和循 环指令包含向右移位指令、向 左移位指令、循环向右移位指 令、循环向左移位指令。
任务3.1 彩灯控制系统设计
知识点2 移位与循环移位指令
任务3.1 彩灯控制系统设计
知识点3 比较指令
等 于 指 令 CMP== 、 不 等 于 指 令 CMP>< 、 大 于 或 等 于 指 令 CMP>= 、 小 于 或 等 于 指 令 CMP<=、大于指令CMP>、小于 指令CMP<等六条指令的上方为操 作数1,下方为操作数2。
六条指令分别在操作数1等于、不 等于、大于或等于、小于或等 于、大于、小于操作数2时,返回 运算结果1,否则返回0。
任务3.1 彩灯控制系统设计
知识点2 移位与循环移位指令
循环移位指令用于将输入 IN 中 操作数的内容按位向右循环移 位 , 并 在 输出 OUT 中查 询 结 果。参数 N 用于指定循环移位 中待移动的位数。用移出的位填 充因循环移位而空出的位。
注意: ✓ 如果参数 N 的值为“0”,则将输入 IN 的值复制到输出 OUT 的操作数中。 ✓ 如果参数 N 的值大于可用位数,则输入 IN 中的操作数值仍会循环移动指定位数。
任务3.1 彩灯控制系统设计
知识点1 移动指令
“移动块”指令将一个存储区 (源范围)的数据移动到另一 个存储区(目标范围)中。使 用输入 COUNT 可以指定将移 动到目标范围中的元素个数。 可通过输入 IN 中元素的宽度 来定义元素待移动的宽度。
任务3.1 彩灯控制系统设计
S7-1200 PLC的指令
2020/3/4
26
扩展指令——日期时间指令—日期时间的数据类型
数据类型Time的长度为4B,取值范围为: T#-24d_20h_31m_23s_648ms T#24d_20h_31m_23s_648ms -2147483648ms 2147483647ms
数据结构DTL(日期时间)如表:
数据 年 月 日 星期
字节数 取值范围 数据
2
19702554
h
1
1 12
min
1
1 31
s
1 17(周日周六) ns
字节数 取值范围
1
023
1
059
1
059
4 0999999999
2020/3/4
27
扩展指令——日期时间指令—时间转换、相加、相减、时间差
T_CONV(时间转换)用于将数据类型Time转换为DInt,或者作反向的转换。IN和OUT 参数均可以去数据类型Time转换为Dint。
7
基本指令——比较指令——举例 1/2
用接通延时定时器和比较指令组成占空比可调的脉冲发生器。
M2.0和接通延时定时器TON组成一个脉冲发生器,使MD4中TON的已耗时间从0到 3000不断变化。
2020/3/4
8
基本指令——比较指令——举例 2/2
M2.0
一个扫描周期
Q0.0
2s
3s
Q0.0为0的时间取决于比较触点下面的操作数的值。
2020/3/4
2
基本指令——比较指令 2/2
2020/3/4
3
基本指令——比较指令——举例 1/2
用比较和计数指令编写开关灯程序,要求灯控按钮I0.0按下一次,灯Q4.0亮,按下两 次,灯Q4.0,Q4.1全亮,按下三次灯全灭,如此循环。
任务26流水灯显示PLC控制
(三)“流水灯显示PLC控制”程序分析==循环移位指令
18
(三)“流水灯显示PLC控制”程序分析==寄存器移位指令
19
(四)“流水灯显示PLC控制”调试检修
调试:在老师的现场监护下进行通电调试,验证是否符合设计 要求。 (1)编写梯形图程序,编译后将编译好的梯形图程序下载到 PLC中。 (2)按下启动按钮SB1,输出端口QB0指示灯L1~L8间隔1s依 20 次循环点亮,按下停止按钮SB2,输出端口QB0指示灯L1~L8 全部熄灭 。
检修:如出现故障,学生应独立完成检修调试,直至能够正常工作。 (1)检修线路连接是否正确。 (2)梯形图程序编写中移位指令及数据传送指令使用是否正确 。
思考:
21
1.八盏流水灯PLC控制:PLC输出端口控制8个指示灯L1~ L8(任意时刻仅有1个灯点亮),启动开关闭合后指示灯间隔1s自 L1到L8依次循环点亮,启动开关断开后指示灯间隔1s自L8到L1依 次循环点亮。按下停止开关指示灯熄灭。
例程 :单数据传送指令
数 据 传 送 指 令
6
I0 .0→ VW200=1800 I0 .1→ VW200=1200 I0 .2→ VW200=600
例程 :数据块传送指令
数
据 7
传
送
指 令
VW0 → VW6=1
VW2 → VW8=2
/
例程 :字节交换/填充指令
字 节 交
8
换 填 充 指 16#1A23 → VW100 = VW102 令
案
过依次移位逐个点亮输出端口QB0的八盏灯 。
Q0.7 Q0.6 Q0.5 Q0.4 Q0.3 Q0.2 Q0.1 Q0.0
00000001
S71200PLC的指令
2020/3/23
10
6.3 基本指令——数学运算指令——四则运算指令
方法1:双整数运算。乘法运算的结果可能会大于一个字能表示的最大值,因此使用 双整数的乘法和除法。
方法2:浮点数运算。
2020/3/23
11
基本指令——数学运算指令——其他整数数学运算指令
MOD指令:除法指令只能得到商,余数被丢掉,MOD指令可以用来求除法的余数。 NEG指令:将输入IN的值取反,保存在OUT中。 INC和DEC指令:参数IN/OUT的值分别加1和减1。 绝对值指令ABS:求输入IN中有符号整数或实数的绝对值。
2020/3/23
2020/3/23
14
基本指令——数学运算指令——浮点数函数运算指令 3/3
c a2 b2
2020/3/23
15
基本指令——数据传送指令 1/2
2020/3/23
17
基本指令——数学运算指令——转换指令
2020/3/23
18
基本指令——取整指令
由于浮点数的数值范围远远大于32位整数,有点浮点数不能成功转换为32位整数,此 时ENO为0状态。
2020/3/23
19
基本指令——标定指令
SCALE_X指令的浮点数输入值被线性转换为下限和上限定义数值范围之内的整数:
OUT=VALUE*(MAX-MIN)+MIN
2020/3/23
20
基本指令——标准化指令
三角函数和反三角函数指令中的角度均为以弧度为单位的浮点数。
2020/3/23
13
基本指令——数学运算指令——浮点数函数运算指令 2/3
11.S7-1200指令(比较、移位等)
5.1.1 比较指令——例1
注意比较指令针对的数据类型是Time
5.1.1 比较指令——例2
用比较和计数指令编写开关灯程序。要求灯控 按钮I0.0按下第一次,灯Q4.0亮,按下第二次, 灯Q4.0、Q4.1全亮,按下第三次灯全灭。如此 循环。
关键点:在程序中所用计数器为加法计数器,当加到3 时,必须复位计数器。
模拟量输入的规范化
规范化的最大最小值与模拟量输入 0.0和 1.0 之间的值,然 后将其换算到 0 到 27648 之间或 -27648 到 27648之间
模拟量输出的规范化
Scale的最大最小值与模拟量输出通道的极性有关
5.1.4 数据传送指令
“1”);若执行有误,则能流就此中止 ➢ ENO可作为下一个方框的EN输入
哪些指令有EN和ENO? 传送与转换指令、数学运算指令、移位与循环指令、字 逻辑运算指令
5.1.3 数据转换指令
• 几种数据转换指令
1)CONV 数据类型转换
2)浮点数取整 浮点数转换为双字整数
3)SCALE_X 按比例,将百分比小数(浮点数)变为整数
比较指令都可以等效为一个触点,因为比较
的结果仅有两种情况:TRUE or False
5.1.1 比较指令
5.1.1 比较指令
1)基本的比较指令
• 功能:比较数据类型相同的两个数IN1和IN2的大小有符 号数或无符号数的大小,进而输出。
• 两个要素:比较符、数据类型 ➢ 比较运算符有6种:==、>=、<=、>、< 和 <> ➢ IN1和IN2数据类型(按长度分):字节(有符号、 无符号)、字(有符号、无符号)、双字整数(有 符号、无符号)、实数、字符和字符串、时间等
1200plc移位指令
1200plc移位指令移位指令是可编程逻辑控制器(PLC)中一种常用的指令,用于对数据进行位移操作。
在1200plc中,移位指令有着丰富的分类和广泛的应用。
本文将详细介绍1200plc移位指令的分类、应用实例以及编程技巧,以帮助读者更好地理解和使用这些指令。
一、移位指令的概述移位指令是将数据按照指定的位数进行左移或右移的操作。
在PLC编程中,移位指令常用于对输入信号进行处理,或者对中间结果进行位操作。
根据移位方向的不同,移位指令可分为左移指令和右移指令。
二、1200plc移位指令的分类及应用1.左移指令(SHL)左移指令将指定的数据向左移动指定的位数,最高位(符号位)不变。
左移指令在1200plc中的表示为:SHL [位地址],[移位位数]。
应用场景:当需要对一个二进制数进行多次加法操作时,可以使用左移指令将每次加法操作的结果左移一位,以实现高位补零的效果。
2.右移指令(SHR)右移指令将指定的数据向右移动指定的位数,最低位(符号位)不变。
右移指令在1200plc中的表示为:SHR [位地址],[移位位数]。
应用场景:当需要对一个二进制数进行多次减法操作时,可以使用右移指令将每次减法操作的结果右移一位,以实现低位补零的效果。
三、移位指令的编程实例以下是一个使用移位指令的编程实例:假设有两个16位的二进制数A和B,分别存储在地址100和200中。
我们需要对这两个数进行按位与操作,并将结果左移4位。
编程步骤:1.定义变量C,地址为300,用于存储运算结果。
2.编写移位指令:SHL 300, 43.使用与指令(AND)对A和B进行按位与操作,并将结果存储在C中:AND 100, 200, 300四、移位指令在实际工程中的应用技巧1.合理选择移位位数:根据实际需求选择合适的移位位数,既能满足功能需求,又能减少程序复杂度。
2.结合其他指令使用:移位指令可以与其他指令(如逻辑与、或、非等)结合使用,实现更复杂数字逻辑控制。
S7-1200第08讲:移动操作,转换,程序控制,字逻辑运算,移位与循环移位指令
移动指令:
VariantGet:读取 SRC 参数所指向的变量,并将其写入到 DST参数的变 量中。
VariantPut:将 SRC 参数所引用的变量写入到 DST参数所指向的变量中。
CountOfElements:计算 IN参数指向的数组中所含数组元素的数目。
GET_ERR_ID:指示发生程序块执行错误,并报告错误的 ID(标识符代 码)。
RUNTIME:测量整个程序、各个块或命令序列的运行时间。
字逻辑运算指令:
AND、OR 和 XOR 逻辑运算指令: 所选数据类型将 IN1、IN2 和 OUT 设置为
相同的数据类型。 IN1 和 IN2 的相应位值相互组合,在参数
NORM_X:标准化通过参数 MIN 和 MAX指定的值范围内的参数 VALUE: OUT = (VALUE - MIN) / (MAX - MIN),其中 (0.0 <= OUT <= 1.0)
程序控制指令:
JMP:RLO(逻辑运算结果)= 1 时跳 转:如果有能流通过 JMP 线圈 (LAD), 则程序将从指定标签后的第一条指令 继续执行。
FLOOR:将实数(Real 或LReal)转换为小于或等于所选实数的最大整数 (IEEE“向负无穷取整”)。
TRUNC:TRUNC 用于将实数转换为整数。实数的小数部分被截成零(IEEE - 取整为零)。
SCALE_X:按参数 MIN 和 MAX所指定的数据类型和值范围对标准化的实 参数 VALUE(其中,0.0 <= VALUE <=1.0)进行标定: OUT = VALUE (MAX - MIN) + MIN
流水灯的PLC控制
任务二PLC接线
活动四 根据接线图完成输入输出接线
FX2N 48MT
K0
L0
X0
Y0 L1
-
K1
Y1
X1
L2 Y2
K2 X2
Y3 L3
COM1
K3 X3
Y4 L4
L5
COM
Y5
COM2
1.先将所有首端与Y连 2.尾端相连接电源 3.最后回公共端
任务三 运行程序让流水灯亮起来PLC接线
观察程序运行,总结PLC输入输出控制原理: 外接开关闭合时,相应输入继电器线圈通电,获得输 入信号,触点动作;
指示灯L2 Y2
指示灯L3 Y3
指示灯L4 Y4
指示灯L5 Y5
任务二PLC接线
活动三 K0 K1
根据地址分配表画接线图
接线规则
X0 X1 COM
FX2N 48MT
-
L0 Y0
L1 Y1
L2 Y2 Y3 L3
COM1
Y4 L4 L5
Y5
COM2
1.将按钮串接在对应X 端子与COM端子之间。
2. 将指示灯、电源串 联连接在对应Y端子与 对应输出公共端子之 间
3. 两组输出端子使 用同一电源时,可 将两个公共端连接 在一块
任务二PLC接线
活动四 根据接线图完成输入输出接线
输入接线
断电操作 轻拔轻插
先将所有元件首端与X端子连 接,然后尾端相连回COM 不回COM
任务二PLC接线
活动四 根据接线图完成输入输出接线 接线方法
FX2N 48MT
K0
L0
X0
Y0 L1
-
K1
Y1
X1
L2 Y2
电气控制与PLC技术 第六章 S7-1200PLC的编程指令
电气控制与PLC技术(S7-1200)
--|NOT|--:取反RLO
该指令不会影响 RLO。线圈输入的 RLO 将直接发送到输出。
电气控制与PLC技术(S7-1200)
启保停控制程序
电气控制与PLC技术(S7-1200)
- 6.1.2 置位和复位指令
--(S)--: 置位输出
使用“置位输出”指令,可将指定操作数的信号状态置位为“1”。仅当线圈输入的逻辑运算结果 (RLO) 为“1”时,才执行该指令。如果信号流通过线圈(RLO=“1”),则指定的操作数置位为“1” 。如果线圈输入的 RLO 为“0”(没有信号流过线圈),则指定操作数的信号状态将保持不变。
两个或多个常开触点串联时,将逐位进行“与”运算。串联时,所有触点都闭合后才产 生信号流。
常开触点并联时,将逐位进行“或”运算。并联时,有一个触点闭合就会产生信号流。
电气控制与PLC技术(S7-1200)
--|/|--:常闭触点
常闭触点的激活取决于相关操作数的信号状态。当操作数的信号状态为“1”时,常闭触点将打开, 同时该指令输出的信号状态复位为“0”。
电气控制与PLC技术(S7-1200)
1.脉冲定时器(TP) TP指令可用于生成具有预定宽度时间的脉冲。
电气控制与PLC技术(S7-1200)
--|N|--:扫描操作数的信号下降沿
使用“扫描操作数的信号下降沿”指令,可以确定所指定操作数(<操作数 1>)的信号状态是 否从“1”变为“0”。该指令将比较 <操作数 1> 的当前信号状态与上一次扫描的信号状态,上一 次扫描的信号状态保存在边沿存储器位 <操作数 2> 中。如果该指令检测到逻辑运算结果 (RLO) 从 “1”变为“0”,则说明出现了一个下降沿。
