S7-200 SMART的功能指令

合集下载

S7-200SMART运动控制指令详解

S7-200SMART运动控制指令详解

S7-200SMART运动控制指令详解年初钜惠!想要plc程序案例撩我S7-200 smart 运动控制指令由编程软件向导生成,运动控制指令有很多条构成,且每条指令都带有很多接口参数,想要使用这些指令,要先知道接口是什么意思,虽然帮助文章都有解释,但读懂帮助文件也很费劲,今天就详细给大家介绍运动指令的使用。

S7-200 SMRAT 运动控制指令如下图生成:1、选择'运动'右键打开。

2、本次就以'轴0'为例。

3、命个名字。

4、数字1位选择工程单位,可以使工程单位,也可以使用脉冲。

数字2是电机旋转一圈的脉冲量,我目前步进拨码设定是10000个脉冲旋转一周数字3是单位,根据自己需要设定数字4是电机旋转一圈的工程量,我设定的是360度,也就是说10000个脉冲对应360度。

5、方向控制,我是用的脉冲加方向,所以选择单项2轴。

6、正负极限根据需要设定,我这个没有正负极限就没有选择。

7、零电位使用,走绝对位置和相对位置之前一定要定义好原点,否则绝对位置和相对位置不运行。

8、0脉冲位置,也可以使用此点定义0点。

9、停止根据需要选择,通过阅读STP就能理解什么意思。

10、停止根据需要选择,通过阅读TRIG就能理解什么意思。

11、禁用根据需要选择,通过阅读DIS就能理解什么意思。

12、最大速度和最小速度根据现场情况设定,我设定最大速度为360度/秒。

13、JOG命令也就是手动运行,根据需要设定速度,建议设定小一些,看看运行速度再调整。

14、此处设定加减速时间,也就是脉冲输出的加减速时间,根据现场情况设定。

15、急停补偿。

16、反冲补偿,也就是校准丝杠间隙。

17、参考点设定18、找零点时速度和方向设定。

19、偏移量设定20、搜索参考点方式选择21、从驱动器中读取绝对位置22、曲线设定,我这里没用曲线,没有生成曲线。

23、点'建议'自动分配地址。

24、组件25、映射显示26、完成,点击生成就完成了。

S7-200 SMART PLC指令系统

S7-200 SMART  PLC指令系统

S7-200 SMART指令中的立即数(常数)可以为字节、字或双字。CPU
可以以二进制方式、十进制方式、十六进制方式、ASCII方式、浮点数方
式来存储。
•十进制格式 [十进制数],
取值范围为 字节0~255、字0~65535、双字0~4294967295。
例如
255
•十六进制格式 16#[十六进制数],
取值范围为 字节0~FF、字0~FFFF、双字0~FFFF FFFF。
例如
16#100F
•实数或浮点格式 [浮点数],
例如:
2.05
+1.175495Eห้องสมุดไป่ตู้3
•ASCII码格式 “[ASCII码文本]”。
例如
“ABCDEF”
•二进制格式 2#[二进制数]。
例如
2#1010-0101-1010-0101
表5-2 标准触点指令语句表的表示方法
•输出操作 输出操作由输出线圈和位地址bit构成。输出操作由输出操作码“=” 和线圈位地址bit构成。输出操作用梯形图、语句表的表示如图5-9所 示。 输出操作是把前面各逻辑运算的结果复制到输出线圈,从而使输出线 圈驱动的输出常开触点闭合,常闭触点断开。输出操作时,CPU是通 过输入/输出映像区来读/写输出的状态的。输出操作的操作数范围:I、 Q、M、SM、T、C、V、S、L(位)。
机电一体化
1)S7-200 SMART PLC寻址方式 S7-200 SMART PLC编程语言的基本单位是语句,而语句的构成是指令。
CPU将信息存储在不同存储单元,每个位置均具有唯一的地址。每条指令有两 部分组成,一部分是操作码,另一部分是操作数。操作码是指出这条指令的功 能是什么,操作数则指明了操作码所需要的数据所在。所谓寻址,就是寻找操 作数的过程。寻址时,数据地址以代表存储区类型的字母开始,随后是表示数 据长度的标记,然后是存储单元编号;对于二进制位寻址,还需要在一个小数 点分隔符后指定位编号。S7-200 SMART CPU的寻址方式可以分为三种,即 立即寻址、直接寻址和间接寻址。 (1)立即寻址 在一条指令中,如果操作码后面的操作数就是操作码所需要的具体数据,这种 指令的寻址方式就叫做立即寻址。

可编程序控制器原理与应用基础 第3版 第4章 S7-200SMART指令系统

可编程序控制器原理与应用基础 第3版 第4章 S7-200SMART指令系统
PLC 应用基础
1
第4章 S7-200 SMART PLC
的指令系统
4.1 位逻辑指令 4.2 定时器和计数器指令 4.3 比较、传送及移位指令 4.4 数学运算指令 4.5 逻辑运算指令与转换指令 4.6 程序控制指令 4.7 逻辑堆栈指令
2
4.1 位逻辑指令
一、触点指令
位逻辑指令是对存储器或寄存器的“位”进行操作的指令。
VB33 7 6 5 4 3 2 1 0
VB33 7 6 5 4 3 2 1 0
VB34 7 6 5 4 3 2 1 0
VB34 7 6 5 4 3 2 1 0
VB35 7 6 5 4 3 2 1 0
N = +14
x SM1.1
VB35 7 6 5 4 3 2 1 0
N = - 14
DATA
24
例如:
3
二、取非指令
取非指令没有操作数,只是改变能流的状态。 能流到达取非触点时就停止;能流未到达取非触点时就通过。
举例:
将 I0.0 和 I0.1 的反变量相与的结果取非后,存在 Q0.0中。
4
三、正跳变和负跳变指令(微分指令)
正跳变和负跳变指令是用于检测输入信号的变化的指令, 统称为微分指令。
VD200 4 <=R
—12.6 I0.2
MB0 = =B MB2
I0.0
V30.0
( R)
8
Q1.0
()
V20.0
( S)
8
Q0.0
( R)
8
18
二、传送指令
19
三、移位指令
20
四、循环移位指令
循环右移前
SM1.1
21

【智】S7-200SMART运动控制指令详解带你启程!

【智】S7-200SMART运动控制指令详解带你启程!

【智】S7-200SMART运动控制指令详解带你启程!大家好,我是微控小智,今天又跟大家见面了。

学习需要坚持,做技术亦是如此,厚积才能博发。

小智写的程序都是进行反复测试过的,可以放心跟着操作,有疑问的地方可以留言。

S7-200SMART运动控制指令由编程软件向导生成,运动控制指令有很多条构成,且每条指令都带有很多接口参数,要想使用这些指令,先要知道接口是什么意思,虽然帮助文章都有解释,但读懂帮助文件也很费劲,那么今天,小智就来给大家介绍一下常用的S7-200SMART运动控制指令。

S7-200SMART运动控制指令向导如下图所示:1.启用并初始化轴AXISx_CTRL子程序(控制)启用和初始化运动轴,方法是自动命令运动轴每CPU更改为RUN模式时加载组态/曲线表。

在项目中只对每条运动轴使用此子程序一次,并确保程序会在每次扫描时调用此子程序。

使用SM0.0(始终开启)作为EN参数的输入。

管脚含义:MODE:启用模块。

1=可发送命令;0=中止进行中的任何命令Done:完成标志位Error:错误代码(字节)C_Pos:轴的当前位置(绝对定位或者相对定位),工程单位:Real型数据;相对脉冲:DINT型数据C_Speed:轴的当前速度,Real型数据C_Dir:轴的当前方向(1=反向,0=正向)2.手动控制轴AXISx_MAN子例程(手动模式)将运动轴置为手动模式。

这允许电机按不同的速度运行,或沿正向或负向慢进。

在同一时间仅能启用RUN、JOG_P或JOG_N输入之一。

管脚含义:RUN:1=轴手动运行(速度和方向分别由Speed和Dir管脚控制)0=停止手动控制JOG_P:1=正转点动控制JOG_N:1=反转点动控制Speed:RUN运行时的目标速度,Real型数据Dir:RUN运行时的方向Error:错误代码(字节)C_Pos:轴当前位置(绝对定位或者相对定位),工程单位:Real型数据;相对脉冲:DINT型数据C_Speed:轴当前速度,Real型数据C_Dir:轴的当前方向(1=反向,0=正向)3.绝对或者相对定位AXISx_GOTO子程序命令运动轴转到所需位置。

S7-200SMART中PID使用、调试方法和步骤

S7-200SMART中PID使用、调试方法和步骤

S7-200SMART中PID使用、调试方法和步骤01 PID回路控制概述PID控制器是应用最广泛的闭环控制器,它根据给定值与被控实测值之间的偏差;按照PID算法计算出控制器的输出量,控制执行机构进行调节,使被控量跟随给定量变化,并使系统达到稳定;自动消除各种干扰对控制过程的影响。

其中PID分别表示比例、积分和微分。

S7-200 SMART中PID功能实现方式有以下三种:PID指令块:通过一个PID回路表交换数据,只接受0.0 - 1.0之间的实数(实际上就是百分比)作为反馈、给定与控制输出的有效数值。

PID向导:方便地完成输入/输出信号转换/标准化处理。

PID指令同时会被自动调用。

根据PID算法自己编程S7-200 SMART CPU最多可以支持8个PID控制回路(8个PID指令功能块),根据PID算法自己编程没有具体数目的限制,但是我们需要考虑PLC的存储空间以及扫描周期等影响。

PID控制是负反馈闭环控制,能够抑制系统闭环内的各种因素所引起的扰动,使反馈跟随给定变化。

PID控制算法有几个关键的参数Kc(Gain,增益)Ti(积分时间常数),Td(微分时间常数)Ts(采样时间)在S7-200 SMART中PID功能是通过PID指令功能块实现。

通过定时(按照采样时间)执行PID功能块,按照PID运算规律,根据当时的给定、反馈、比例-积分-微分数据,计算出控制量。

由于PID可以控制温度、压力等等许多对象,它们各自都是由工程量表示,因此有一种通用的数据表示方法才能被PID功能块识别。

S7-200 SMART中的PID功能使用占调节范围的百分比的方法抽象地表示被控对象的数值大小。

在实际工程中,这个调节范围往往被认为与被控对象(反馈)的测量范围(量程)一致。

PID功能块只接受0.0 - 1.0之间的实数(实际上是0%--100%)作为反馈、给定与控制输出的有效数值,如果是直接使用PID功能块编程,必须保证数据在这个范围之内,否则会出错。

S7-200--SMART的功能指令

S7-200--SMART的功能指令
循环移位指令将输入 IN 中各位的值向右或向左循环移动 N 位后,送给输出 OUT指定的地址。被移出来的位将返回到另一端空出来的位置。移出的最后一 位的数值存放在溢出标志位SM1.1。 如果移动的位数N大于允许值,执行循环移位之前先对N进行求模运算。例 如字循环移位时,将N除以16后取余数,得到的有效移位次数为0~15。如果为 0则不移位。符号位也被移位。
4.2.5 实时时钟指令
1.用编程软件读取与设置实时时钟的日期和时间 单击“PLC”菜单功能区的“设置时钟”按钮,打开“CPU时钟操作”对 话框。可以读取PC、PLC的时钟,修改和下载日期时间。 2.读取实时时钟指令READ_RTC 从CPU的实时时钟读取当前日期和时间,8字节时间缓冲区依次存放年的低 2 位、月、日、时、分、秒、0 和星期的代码,星期日为1 。日期和时间的数 据类型为字节型BCD码。 3.设置实时时钟指令SET_RTC将8字节时间日期值写入CPU的实时时钟。
5.字节、字、双字的块传送指令 块传送指令将起始地址为IN的N个连续的存储单元中的数据,传送到从地址 OUT开始的N个存储单元,字节变量N = 1~255。 6.字节交换指令 字节交换指令SWAP用来交换输入字IN的高字节与低字节。应采用脉冲执行 方式。
4.2.2 移位与循环移位指令
移位位数N的数据类型为BYTE。 1.右移位和左移位指令 移位指令将输入IN中的数各位的值向右或向左移动N位后,送给输出OUT指 定的地址。移位指令对移出位自动补0,有符号的字和双字的符号位也被移位。 如果移位次数非0,“溢出”标志位SM1.1保存最后一次被移出的位的值。
【例4-1】 用接通延时定时器和比较指令组成占空比可调的脉冲发生器。 T37的常闭触点控制它的IN输入端,使T37的当前值按锯齿波变化。比较指 令用来产生方波,Q0.0为OFF的时间取决于比较指令第2个操作数的值。

S7-200 SMART PLC 系统功能说明(图文并茂)

S7-200 SMART PLC 系统功能说明(图文并茂)
存储卡
Page 1 of 58
存储卡
S 7 2 0 0S M A R TC P U支持商用M i c r o S D 卡(支持容量为4 G ,8 G ,1 6 G ):可用于程序传输,C P U 固件更新,恢复 C P U出厂设置。 打开C P U 本体数字量输出点上方的端子盖,可以看到右侧有一卡槽,将M i c r o S D 卡缺口向里插入,如图 1 所示:
S7-200 SMART 实时时钟
S 7 2 0 0S M A R T 的硬件实时时钟可以提供年、月、日、时、分、秒的日期/ 时间数据。 C P UC R 4 0A C / D C / R e l a y没有内置的实时时钟,C P US R 2 0 、C P US R 4 0 、C P US T 4 0 、C P US R 6 0 、C P US T 6 0 支持内置的实时时钟,C P U 断电 状态下可保持7 天。 S 7 2 0 0S M A R TC P US R 2 0 的时钟精度是± 1 2 0秒 /月,C P US R 4 0 、C P US T 4 0 、C P US R 6 0 、C P US T 6 0 的时钟精度是 1 2 0秒 /月。 S 7 2 0 0S M A R TC P U靠内置超级电容为实时时钟提供电源缓冲,保持时间为典型值7 天,最小值6 天。缓冲电源放电完毕后,再次上电后 时钟将停止在缺省值,并不开始走动。 注意:因为 C P UC R 4 0无内置超级电容,所以实时时钟无电源缓冲,尽管用户可以使用R E A D _ R T C和 S E T _ R T C指令设置日期/ 时间 数据,但是当 C P UC R 4 0断电并再次上电时,这些日期/ 时间数据会丢失,上电后日期时间数据会被初始化为2 0 0 0 年1 月1 日。 为了提高运算效率,应当避免每个程序周期都读取实时时钟。实际上可读取的最小时间单位是1 秒,可每秒读取一次(使用S M 0 . 5 上 升沿触发读取指令)。 使用程序读取的实时时钟数据为B C D 格式,可在状态表中使用十六进制格式查看。 要设置日期、时间值,使之开始走动,可以:

S7-200--SMART的功能指令讲解学习

S7-200--SMART的功能指令讲解学习

2.循环右移位和循环左移位指令 循环移位指令将输入IN中各位的值向右或向左循环移动N位后,送给输出 OUT指定的地址。被移出来的位将返回到另一端空出来的位置。移出的最后一 位的数值存放在溢出标志位SM1.1。 如果移动的位数N大于允许值,执行循环移位之前先对N进行求模运算。例 如字循环移位时,将N除以16后取余数,得到的有效移位次数为0~15。如果为 0则不移位。符号位也被移位。
3.移位寄存器指令 下图中的14位移位寄存器由V30.0~V31.5组成,在I0.3的上升沿,I0.4的值从 移位寄存器的最低位V30.0移入,寄存器中的各位左移一位,最高位V31.5的值 被移到溢出标志位SM1.1。 N为−14时,I0.4的值从最高位V31.5移入,寄存器 中的各位右移一位,从最低位V30.0移到溢出标志位SM1.1。
4.2.5 实时时钟指令
1.用编程软件读取与设置实时时钟的日期和时间 单击“PLC”菜单功能区的“设置时钟”按钮,打开“CPU时钟操作”对 话框。可以读取PC、PLC的时钟,修改和下载日期时间。 2.读取实时时钟指令READ_RTC 从CPU的实时时钟读取当前日期和时间,8字节时间缓冲区依次存放年的低 2位、月、日、时、分、秒、0和星期的代码,星期日为1。日期和时间的数 据类型为字节型BCD码。 3.设置实时时钟指令SET_RTC将8字节时间日期值写入CPU的实时时钟。
【例4-1】 用接通延时定时器和比较指令组成占空比可调的脉冲发生器。 T37的常闭触点控制它的IN输入端,使T37的当前值按锯齿波变化。比较指 令用来产生方波,Q0.0为OFF的时间取决于比较指令第2个操作数的值。
2.字符串比较指令 字符串比较指令比较ASCII码字符串相等或不相等。常数字符串应是比较 触点上面的参数,或比较指令中的第一个参数。 3.字节、字、双字和实数的传送 传送指令助记符中最后的B、W、DW(或D)和R分别表示操作数为字节、 字、双字和实数。 4.字节立即读写指令 字节立即读取指令MOV_BIR读取IN指定的一个字节的物பைடு நூலகம்输入,但是并不 更新对应的过程映像输入寄存器。字节立即写入指令MOV_BIW将一个字节 的数值写入OUT指定的物理输出,同时更新对应的过程映像输出字节。

S7-200-SMART定时器指令概述及应用举例

S7-200-SMART定时器指令概述及应用举例

S7-200 SMART定时器指令概述及应用举例定时器S7-200 SMART指令提供了下述三种类型的定时器。

●接通延时定时器(TON):用于定时单个时间间隔。

●有记忆的接通延时定时器(TONR):用于累积多个定时时间间隔的时间值。

●断开延时定时器(TOF):用于在 OFF(或 FALSE)条件之后延长一定时间间隔,例如冷却电机的延时。

定时器号和分辨率定时器对时间间隔计数。

定时器的分辨率(时基)决定了每个时间间隔的长短。

S7-200 SMART提供了256个可供使用的定时器,即用户可用的定时器号为T0-T255。

TON、TONR 和 TOF 定时器提供三种分辨率:1ms、10ms和100ms。

(当前值的每个单位均为时基的倍数。

例如,使用 10 ms 定时器时,计数 50 表示经过的时间为 500 ms )。

定时器号的分辨率(时基)及最大计数时间,如下表:表1. 定时器号和分辨率定时器号决定了定时器的分辨率(时基),并且分辨率在指令块上标出。

注意:同一个定时器编号不能同时用于 TON 和 TOF 定时器。

例如,不能同时使用 TON T32和 TOF T32。

不同分辨率的定时器按以下规律刷新:❖1ms:1ms分辨率的定时器,定时器位和当前值的更新不与扫描周期同步。

对于大于1ms的程序扫描周期,在一个扫描周期内,定时器位和当前值刷新多次。

❖10ms:10ms分辨率的定时器,定时器位和当前值在每个程序扫描周期的开始刷新。

定时器位和当前值在整个扫描周期过程中为常数。

在每个扫描周期的开始会将一个扫描累计的时间间隔加到定时器的当前值上。

❖100ms:100ms分辨率的定时器,定时器位和当前值在指令执行时刷新。

因此为了保证正确的定时值,要确保在一个程序扫描周期中,只执行一次100ms定时器指令。

注意:要确保最小时间间隔,请将预设值 (PV) 增大 1。

例如:使用 100 ms 定时器时,为确保最小时间间隔至少为 2100 ms,则将 PV 设置为22。

S7-200Smart运动控制指令讲解

S7-200Smart运动控制指令讲解

S7-200Smart运动控制指令讲解S7-200Smart是西门子的一款小型PLC,价格便宜,功能强大,从而爱到大家的喜爱,今天给大家讲解一下运动控制方面的设置,直接上干货:PS:小编这里用的软件版本为2.4一、运动控制向导设置如下1、在运动控制向导中打开运动控制设置界面2、选择要组态的轴,这里选择轴0,点击下一步3、轴命名为轴0,点击下一步4、测量系统设置,分别为选择测量系统:工程单位电机每转脉冲数:800(步进电机细分设置)测量单位:mm电机转动一圈进给(丝杠螺距):5.05、方向控制,这里是源型输出6、正向极限LMT+(非必选)7、反向极限LMT-(非必选)8、原点信号RPS(原点回归用)9、零点信号ZP,用伺服电机时选择这个,用步进电机时关闭此功能10、停止信号STP11、曲线中停止信号(非必选)12、使能输出13、启动速度14、点动速度15、加减速时间16、急停时间17、反冲补偿18、参考点功能(回原点用,必选)19、原点回归速度及方向设置20、偏移量设置21、原点回归方式设置,其中3、4项需要ZP点,需伺服电机用,这里我们选122、读取位置,需配合西门子伺服用,不选23、曲线,这里可以添加自定义的运动轨迹24、存储区为系统存储上面参数的地址,注意不要和其它地址冲突,这里选择VD1000开始25、自动生成的了函数,可以根据需要进行选择,这里全选26、IO映设表,前面选择的IO点27、最后一页,选择完成二、设置完成后,了例程中出现如下例程,这里就可以直接调用了。

三、刚才生成的子例程的功能如下,我们逐一进行讲解1、AXISx_CTRL 子例程(控制)启用和初始化运动轴,方法是自动命令运动轴每次 CPU 更改为 RUN 模式时加载组态/曲线表。

在您的项目中只对每条运动轴使用此子例程一次,并确保程序会在每次扫描时调用此子例程。

使用SM0.0(始终开启)作为EN 参数的输入。

2、AXISx_MAN 子例程(手动模式)将运动轴置为手动模式。

S7-200SMART时钟指令

S7-200SMART时钟指令

S7-200SMART时钟指令如何正确应用?一、导读(1)时钟指令的认识西门子S7-200SMART时钟指令分为设置时钟和读取时钟两类,通过设置时钟指令可对CPU的系统时钟进行修改而通过读取时钟指令可读取CPU的系统时钟,时钟指令分为读取和设置时钟指令与读取和设置扩展时钟指令,如图1所示。

图1:时钟指令(左侧为读取时钟指令,右侧为设置时钟指令)①读取时钟指令:当指令EN端条件满足时读取实时时钟指令从CPU 读取当前时间和日期,并将其装载到从字节地址T 开始的8字节时间缓冲区中。

②设置时钟指令:设置实时时钟指令通过由T 分配的8字节时间缓冲区数据将新的时间和日期写入到CPU。

需要注意的是读取出来的值和需要设定的值均需要进行数据格式的转换才行。

(2)时钟指令存储区格式说明所有日期和时间值必须采用BCD格式(BCD码通俗的说法是用16进制的形式来表示2进制数)分配(例如,16#12 代表2012年)。

00至99的BCD值范围可分配范围为2000至2099的年份;时间缓冲区如图2所示。

图2时钟指令的管脚T就是缓冲区的起始字节地址,可以由用户自由设置(在CPU 允许的V存储区范围内)。

如果设置T为VB10,那么读取时钟后,“年”的信息就会保存在VB10中,“月”保存在VB11中。

二、时钟指令应用接下来我们通过一个简单的应用示例来充分理解时钟指令;要求读取CPU实时时间显示在上位机上,同时还可以在上位机上设定CPU时间。

读取时间如图3所示。

图3:时钟读取调用时钟读取指令并以系统时钟SM0.5触发,由于读取出来的均是BCD码,因此需要通过转换指令进行转换过后才是最终的日期时间。

另外还需要进行时间的设定,由于我们需要在上位机上进行时间的设定,考虑到设定的数据格式依然是BCD码,但是上位机上通常使用的是十进制数,因此我们同样需要进行转换之后,再使用其设定地址的低字节进行传送至各个字节地址中,如图4所示。

图4:设定时钟三、结语通过本示例的分享,相信大家已经掌握了其基本的使用。

西门子S7-200SMARTPLC功能指令学习及实例分析

西门子S7-200SMARTPLC功能指令学习及实例分析

西门⼦S7-200SMARTPLC功能指令学习及实例分析01⼀、定时器1、S7-200 SMART CPU提供了接通延时定时器、(TON)、保持型接通延时定时器(TONR)、断开延时定时器(TOF)三种定时器。

2、定时器编号与分辨率3、定时器实例分析①接通延时定时器 TON②保持型接通延时定时器 TONR③断开延时定时器 TOF02⼆、计数器1、S7-200 SMART CPU提供了加计数器(CTU)、减计数器(CTD)、加减计数器(CTUD)三种计数器。

2、计数器实例分析①加计数器 CTU②减计数 CTD③加减计数器 CTUD03三、循环指令1、S7-200 SMART CPU提供了FOR-NEXT循环指令⽤于重复执⾏程序段。

每条FOR指令需要使⽤⼀条NEXT指令,FOR指令表⽰循环体的开始,NEXT指令表⽰循环体的结束。

FOR-NEXT循环指令循环嵌套深度可达8层。

2、循环指令⽰例分析通过调⽤FOR - NEXT 指令对VW100、VW102、......、VW108 5个INT变量进⾏求和,求和的结果存放到VW200中。

04四、移位和循环指令1、指令概览2、⽰例分析①移位指令和循环移位指令的⽰例分析②移位寄存器位指令综上所述,每当M0.0有⼀个上升沿到来时,从V200.4开始向⾼地址⽅向数的9个位会朝⾼地址⽅向移位,I0.0的状态会被送到V200.4中。

今天给⼤家推荐⼀个课程:主要为⼤家讲解各功能指令的使⽤、库指令的创建及使⽤、⼦程序、中断程序、间接寻址的使⽤等。

扫码⼆维码,⽴即试看西门⼦S7-200SMART功能指令应⽤课程介绍指令分为基本的指令应⽤,如“位逻辑指令,定时器何计数器指令”等,当在设计程序时,基本的位逻辑指令⽆法满⾜或⽐较⿇烦时,此时使⽤功能指令就可很⽅便的实现,另外我们也可⾃⼰通过使⽤“位逻辑指令及相应的功能指令”搭建成⼀些特定的功能块进⾏使⽤,该功能块可做成对应的库指令⽅便后续使⽤。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【例4-2】用实时时钟定时控制设备。 LD SM0.0 TODR VB70 //小时分钟值在VW73 LDW>= VW73, VW78 //VW78中是起始时、分值 AW< VW73, VW80 //VW80中是结束时、分值 = Q0.2 //在设置的时间范围内, Q0.2为1状态
4.3 数学运算指令 4.3.1四则运算指令与递增递减指令
4.5 局部变量与子程序 4.5.1 局部变量
1.局部变量与全局变量 每个程序组织单元(POU )均有由64字节局部(L)存储器组成的局部变 量。局部变量只在它被创建的POU中有效,全局符号在各POU中均有效。局 部变量有以下优点: 1) 尽量使用局部变量的子程序易于移植到别的项目。 2) 同一级POU的局部变量使用公用的物理存储区。 3 )局部变量用来在子程序和调用它的程序之间传递输入参数和输出参数。 2.查看局部变量表 单击“视图”菜单的“组件”按钮,再单击打开的下拉式菜单中的“变量表”。 3.局部变量的类型 临时变量(TEMP)是暂时保存在局部数据区中的变量。主程序或中断程序只 有TEMP变量。 IN (输入参数) 用来将调用它的POU提供的数据值传入子程序。 OUT(输出参数)用来将子程序的执行结果返回给调用它的POU。
【例4-6】 用跳转指令实现图4-28中的流程图的要求。4源自4.2 循环指令1.单重循环
驱动FOR指令的逻辑条件满足时,反复执行 FOR与NEXT之间的指令。执行到NEXT指令时, INDX 的值加 1 ,如果 INDX 的值小于等于结束 值 FINAL ,返回去执行 FOR 与 NEXT 之间的指 令。如果INDX的值大于结束值,循环终止。 【例4-7】在I0.5的上升沿,求VB130~ VB133 这 4 个字节的异或值,用 VB134 保存。首先将 VB134清0,并设置地址指针AC1的初始值。 第 一 次 循 环 将 指 针 AC1 所 指 的 VB130 与 VB134 异 或 , 然 后 将 指 针 值 加 1 , 指 针 指 向 VB131,为下一次循环的异或运算做好准备。 VB130~VB133同一位中1的个数为奇数时, VB134对应位的值为1,反之为0。
【例4-3】压力变送器的压力计算公式为P = 10000×(N – 5530) / 22118(kPa), N为整数。MUL指令得到的乘积为双整数。用右键菜单命令强制AIW16。
2.递增与递减指令 梯形图中IN + 1 = OUT,语句表中OUT+1=OUT
4.3.2 浮点数函数运算指令
浮点数函数运算指令的输入参数IN与输出参数OUT均为实数。 1.三角函数指令 输入值是以弧度为单位的浮点数,角度值乘以π/180转换为弧度值。 2.自然对数和自然指数指令 3.平方根指令将正实数开平方
2.循环右移位和循环左移位指令 循环移位指令将输入 IN 中各位的值向右或向左循环移动 N 位后,送给输出 OUT指定的地址。被移出来的位将返回到另一端空出来的位置。移出的最后一 位的数值存放在溢出标志位SM1.1。 如果移动的位数N大于允许值,执行循环移位之前先对N进行求模运算。例 如字循环移位时,将N除以16后取余数,得到的有效移位次数为0~15。如果为 0则不移位。符号位也被移位。
2.多重循环 循环最多可以嵌套8层。 在I0.6的上升沿,执行10次外 层循环,如果 I0.7 为 ON ,每执 行一次外层循环,将执行8次内 层循环。执行完后,VW10的值 增加80。
4.4.3 其他指令
1.条件结束指令与条件停止指令 条件结束指令 END 的逻辑条件满足时终 止当前的扫描周期。条件停止指令STOP使 CPU从RUN模式切换到STOP模式。 2.GET_ERROR(获取非致命错误代码) 指令很少使用。 3.监控定时器复位指令 T32等组成一个脉冲发生器,从I0.4的上 升沿开始, M0.2 输出一个宽度等于 T32 预 设值的脉冲。在脉冲期间反复执行 JMP 指 令,因此扫描时间略大于 T32 的预设值。 扫描周期超过 500ms时,CPU自动切换到 STOP模式。 可用WDR指令重新触发监控定时器,以 扩展允许使用的扫描时间。
4.4 程序控制指令 4.4.1 跳转指令
1.跳转与标号指令 JMP线圈通电时,跳转条件满足,跳转指令使程序流程跳转到对应的标号 处。JMP与LBL指令的操作数n为常数0~255,只能在同一个程序块中跳转。 I0.3的常开触点断开时,跳转条件不满足,顺序执行下面的指令。 I0.3的常开触点接通时,跳转到标号LBL 2处,不执行第二个程序段。
3.移位寄存器指令 下图中的14位移位寄存器由V30.0~V31.5组成,在I0.3的上升沿,I0.4的值从 移位寄存器的最低位V30.0移入,寄存器中的各位左移一位,最高位V31.5的值 被移到溢出标志位SM1.1。 N为−14时,I0.4的值从最高位V31.5移入,寄存器 中的各位右移一位,从最低位V30.0移到溢出标志位SM1.1。
4.2.5 实时时钟指令
1.用编程软件读取与设置实时时钟的日期和时间 单击“PLC”菜单功能区的“设置时钟”按钮,打开“CPU时钟操作”对 话框。可以读取PC、PLC的时钟,修改和下载日期时间。 2.读取实时时钟指令READ_RTC 从CPU的实时时钟读取当前日期和时间,8字节时间缓冲区依次存放年的低 2 位、月、日、时、分、秒、0 和星期的代码,星期日为1 。日期和时间的数 据类型为字节型BCD码。 3.设置实时时钟指令SET_RTC将8字节时间日期值写入CPU的实时时钟。
【例4-1】 用接通延时定时器和比较指令组成占空比可调的脉冲发生器。 T37的常闭触点控制它的IN输入端,使T37的当前值按锯齿波变化。比较指 令用来产生方波,Q0.0为OFF的时间取决于比较指令第2个操作数的值。
2.字符串比较指令 字符串比较指令比较 ASCII 码字符串相等或不相等。常数字符串应是比较 触点上面的参数,或比较指令中的第一个参数。 3.字节、字、双字和实数的传送 传送指令助记符中最后的 B、W 、DW (或D)和R分别表示操作数为字节、 字、双字和实数。 4.字节立即读写指令 字节立即读取指令MOV_BIR读取IN指定的一个字节的物理输入,但是并不 更新对应的过程映像输入寄存器。字节立即写入指令 MOV_BIW 将一个字节 的数值写入OUT指定的物理输出,同时更新对应的过程映像输出字节。
4.解码指令与编码指令 解码指令 DECO根据输入字节 IN 的最低 4 位表示的位号,将输出字OUT 对应 的位置为1,输出字的其他位均为0。16#0008=2#0000 0000 0000 1000。 编码指令 ENCO 将输入字 IN 中的最低有效位(为1 的位)的位编号写入输出 字节OUT的最低4位。16#0210=2#0000 0010 0001 0000。 存储器填充指令FILL用输入参数IN指定的字值填充从地址OUT开始的N个连 续的字。
2.梯形图中的指令 条件输入指令必须通过触点电路连接到左侧母线上。不需要条件的指令必 须直接连接在左侧母线上。键入语句表指令时,必须使用英文的标点符号。 3.能流指示器 双箭头是开路能流指示器,必须解决开路问题,程序段才能成功编译。可 将其他梯形图元件附加到ENO端的可选能流指示器。没有在该位置添加元件, 程序段也能成功编译。
4.3.3 逻辑运算指令
1.取反指令 取反指令将多位二进制数逐位取反,各位由0变为1,由1变为0。
2.逻辑运算指令
字节、字、双字“与”运算时,如果两个操作数的同一位均为 1 ,运算结 果的对应位为 1,否则为0 。“或”运算时如果两个操作数的同一位均为 0, 运算结果的对应位为0,否则为1。“异或”(Exclusive Or)运算时如果两个 操作数的同一位不同,运算结果的对应位为1,否则为0。
4.2 数据处理指令 4.2.1 比较指令与数据传送指令
1.字节、整数、双整数和实数比较指令 比较触点中间的 B、I、D、R、S分别表示无符号字节、有符号整数、有 符号双整数、有符号实数和字符串比较。满足比较关系式给出的条件时, 比较指令对应的触点接通。字符串比较指令的比较条件“x”只有==和<>。 整数和双整数比较指令比较两个有符号数。IN1在触点的上面,IN2在触 点下面。
4.1.2 S7-200 的指令规约
1.使能输入与使能输出 使能输入端EN有能流流入方框指令时,指令才能被执行。 EN输入端有能流且指令执行时无错误,则使能输出ENO将能流传递给下一 个方框指令或线圈。 语句表用 AENO 指令来产生与方框指令的 ENO 相同的效果。删除AENO 指 令后,方框指令将由串联变为并联。
5.字节、字、双字的块传送指令 块传送指令将起始地址为IN的N个连续的存储单元中的数据,传送到从地址 OUT开始的N个存储单元,字节变量N = 1~255。 6.字节交换指令 字节交换指令SWAP用来交换输入字IN的高字节与低字节。应采用脉冲执行 方式。
4.2.2 移位与循环移位指令
移位位数N的数据类型为BYTE。 1.右移位和左移位指令 移位指令将输入IN中的数各位的值向右或向左移动N位后,送给输出OUT指 定的地址。移位指令对移出位自动补0,有符号的字和双字的符号位也被移位。 如果移位次数非0,“溢出”标志位SM1.1保存最后一次被移出的位的值。
1.加减乘除指令 梯形图IN1 + IN2 = OUT,IN1–IN2 = OUT,IN1 * IN2 = OUT,IN1 / IN2 = OUT 语句表IN1+OUT = OUT,OUT–IN1 = OUT,IN1*OUT = OUT,OUT/IN1=OUT 指令影响 SM1.0 (零标志)、 SM1.1 (溢出标志)、 SM1.2 (负数标志)和 SM1.3(除数为0)。MUL将两个16位整数相乘,产生一个32位乘积。DIV指令将 两个16位整数相除,运算结果的高16位为余数,低16位为商。
4.2.3 数据转换指令
1.标准转换指令 除了解码、编码指令之外的10条指令属于标准转换指令。输入参数IN指定的 数据转换后保存到输出参数OUT指定的地址。BCD码与整数相互转换的指令中, 整数的有效范围为0~9999。 如果转换后的数值超出输出的允许范围,溢出标志位SM1.1被置为ON。
相关文档
最新文档