西门子PLC指令教程 应用指令
西门子S7-200 PLC的指令系统及指令应用

说明: 根据控制要求,程序在 M0.1 处应该输出 Q0.1,在 M0.2 处也应该输出 Q0.1 如果在 M0.1 及 M0.2 处直接输出 Q0.1,则就范了上面程序双线圈错误, 因此在需要输出 Q0.1 的地方,输出不同的中间继电器,然后把中间继电器的常 开点并联起来,再集中输出一个 Q0.1 的线圈,这样就能避免双线圈的问题。 或者下面的程序也能正确的满足控制要求:
分析: 若 A 先按下按钮, 则 Q0.1 灯要亮, 并且一直亮, 直到主持人按下复位按钮 I0.0, 灯才会灭。其他人按下按钮,对应的灯也不会亮。 若 B 先按下按钮, 则 Q0.2 灯要亮, 并且一直亮, 直到主持人按下复位按钮 I0.0, 灯才会灭。其他人按下按钮,对应的灯也不会亮。 同理,C、D 一样 以下程序是分析后得出的:
地址:苏州吴中宝丰路 1 号
咨询: 400-8169-114
苏州天天自动化 PLC 培训中心
触点指令应用案例 3:
用一个按钮(I0.1)来控制三个输出(Q0.1、Q0.2、Q0.3) 。 当 Q0.1、Q0.2、Q0.3 都为 OFF 时,按第一下 I0.1,则 Q0.1 变为 ON, 按第二下 I0.1,则 Q0.1、Q0.2 变为 ON, 按第三下 I0.1,则 Q0.1、Q0.2、Q0.3 都变 ON 按第四下 I0.1,则 Q0.1、Q0.2、Q0.3 都变为 OFF 状态。 按第五下 I0.1,重复执行如上动作。 试用两种不同的程序设计方法设计其梯形图程序。 以下是分析后得出的程序:
上图梯形图中,”N”此条件只有当 I0.0 由接通→断开的瞬间(也就是上面波形 图中的过程 4 这个状态时)才会接通,其他时刻都不会接通。
应用案例 1:每按一下 I0.1 按钮,变量存储器的数值加 1
PLC功能指令及其应用(西门子) PPT课件

4.3.1算术运算指令
1.数据类型 (1)数据类型、长度及范围 S7-200系列PLC数据类型可以是字节、字、双字和实数型,
实数采用32位来表示,数据类型、长度及范围见表4-10。
(2)常数
在S7-200系列PLC编程中经常使用到常数,CPU以二进制形 式存储所有常数,但使用常数可以用二进制、十进制、十 六进制、ASCII码或实数等多种形式。常数的表示形式见表 4-11。
电器第0个字节,共8位。其中第0位是最低位,第7位为 最高位。其表示格式如图4-1所示。
(1)位
位表示格式为:Q [字节地址].[位地址]。如Q0.0表示输出继 电器第0个字节的第0位
(2)字节
字节表示格式为:QB[起始字节地址]。如QB0表示输出继 电器第0个字节,共8位。其中第0位是最低位,第7位为最 高位。其表示格式如图4-4所示
如图4-26所示为LED组成的七段数码管外形和内部结 构,七段数码管分为共阴极结构和共阳极结构。以 共阴极数码管为例,当a、b、c、d、e、f段接高电 平发光,g段接低电平不发光时,显示数字“0”。当 七段均接高电平发光时,则显示数字“8”。
十进制数码 g
f
七段显示电平
e
d
c
b
a
16进制显示 代码
2. 加/减运算指令 加∕减运算指令是对符号数的加∕减、双整数加∕减运算
和实数加∕减运算。 (1)加∕减运算指令格式 加/减运算6种指令的梯形图指令格式如表4-12所示。
3.乘∕除运算指令
乘∕除运算是对符号数的乘法运算和除法运算。包括 有整数乘∕除运算,双整数乘∕除运算,整数乘∕除双整 数输出运算和实数乘∕除运算等。
4.2.1 跳转指令及应用
西门子PLC的NEG_I指令功能和应用实例西门子plc

西门子PLC的NEG_I指令功能和应用实例 -
西门子plc
plc的NEG_I指令符号
表1为NEG_I转换指令说明表。
表1 NEG_I转换指令说明表参数数据类型存储器区域说明 EN BOOL I、Q、M、L、D 允许输入 ENO BOOL I、Q、M、L、D 允许输出 IN INT I、Q、M、L、D 整型数输入 OUT INT I、Q、M、L、D 求输入整型数的负值 NEG_I(求整型数输入的负值)指令,读输入参数IN的内容,然后,实现求“2”的补码指令。
求“2”的补码指令等效于乘(-1),即转变“正/负”符号(例如:从一个正值变成负值)。
ENO总是与EN有相同的信号状态,只有以下状况是例外:假如EN的信号状态=“1”,而指令执行时消灭溢出,这时ENO的信号状态=“0”。
表2为NEG_I转换指令对状态位的影响。
表2 NEG_I转换指令对状态位的影响- BR CC1 CC0 OV OS OR STA RLO /FC 写状态位 x x x x x 0 x x 1 如图2所示,假如输入I0.0的信号状态为“1”,然后,MW8的值以相反的符号,由输出参数OUT输出到MW10。
例如:MW8=+10,执行指令后,MW10=-10。
假如转换指令没有执行(即ENO=EN =0),则输出Q4.0置成“1”。
假如信号状态EN =1以及消灭溢出,则ENO的信号状态置成“0”。
图2 NEG_I转换指令应用举例
1。
西门子PLC编程指令

西门子PLC编程指令1、位逻辑指令(1)-||-常开接点(地址)(2)-|/|-常闭接点(地址)(3)XOR位异或(4)-|NOT|-信号流反向(5)-()输出线圈(6)-(#)-中间输出(7)-(R)线圈复位(8)-(S)线圈置位(9)RS复位置位触发器(10)RS置位复位触发器(11)-(N)-RLO下降沿检测(12)-(P)-PLO上升沿检测(13)-(SAVE)将RLO存入BR存储器(14)MEG地址下降沿检测(15)POS地址上升沿检测2、比较指令(1)CMP?I整数比较(2)CMP?D双整数比较(3)CMP?R实数比较3、转换指令(1)BCD_IBCD码转换为整数(2)I_BCD整数转换为BCD码(3)I_DINT整数转换为双整数(4)BCD_DIBCD码转换为双整数(5)DI_BCD双整数转换为BCD码(6)DI_REAL双整数转换为浮点数(7)INV_I整数的二进制反码(8)INV_DI双整数的二进制反码(9)NEG_I整数的二进制补码(10)NEG_DI双整数的二进制补码(11)NEG_R浮点数求反(12)ROUND舍入为双整数(13)TRUNC舍去小数取整为双整数(14)CEIL上取整(15)FLOOR下取整4、计数器指令(1)S_CUD加减计数(2)S_CU加计数器(3)S_CD减计数器(4)-(SC)计数器置初值(5)-(CU)加计数器线圈(6)-(CD)减计数器线圈5、数据块指令(1)-(OPN)打开数据块:DB或DI6、逻辑控制指令(1)-(JMP)无条件跳转(2)-(JMP)条件跳转(3)-(JMPN)若非则跳转(4)LABEL标号7、整数算术运算指令(1)ADD_I整数加法(2)SUB_I整数减法(3)MUL_I整数乘法(4)DIV_I整数除法(5)ADD_DI双整数加法(6)SUB_DI双整数减法(7)MUL_DI双整数乘法(8)DIV_DI双整数除法(9)MOD_DI回送余数的双整数8、浮点算术运算指令(1)基础指令①ADD_R实数加法②SUB_R实数减法③MUL_R实数乘法④DIV_R实数除法⑤ABS浮点数绝对值运算(2)扩展指令①SQR浮点数平方②SQRT浮点数平方根③EXP浮点数指数运算④LN浮点数自然对数运算⑤SIN浮点数正弦运算⑥COS浮点数余弦运算⑦TAN浮点数正切运算⑧ASIN浮点数反正弦运算⑨ACOS浮点数反余弦运算⑩ATAN浮点数反正切运算9、赋值指令(1)MOVE赋值10、程序控制指令(1)-(Call)从线圈调用FC/SFC(无参数) (2)CALL_FB从方块调用FB(3)CALL_FC从方块调用FC(4)CALL_SFB从方块调用SFB(5)CALL_SFC从方块调用SFC(6)-(MCR<)主控继电器接通(7)-(MCR>)主控继电器断开(8)-(MCRA)主控继电器启动(9)-(MCRD)主控继电器停止(10)-(RET)返回11、移位和循环指令(1)移位指令①SHR_I整数右移②SHR_DI双整数右移③SHL_W字左移④SHR_W字右移⑤SHL_DW双字左移⑥SHR_DW双字右移(2)循环指令①ROL_DW双字左循环②ROR_DW双字右循环12、状态位指令(1)OV-||-溢出异常位(2)OS-||-存储溢出异常位(3)UO-||-无序异常位(4)BR-||-异常位二进制结果(5)==0-||-结果位等于"0"(6)<>0-||-结果位不等于"0" (7)>0-||-结果位大于"0"(8)<0-||-结果位小于"0"(9)>=0-||-结果位大于等于"0" (10)<=0-||-结果位小于等于"0"13、定时器指令(1)S_PULSE脉冲S5定时器(2)S_PEXT扩展脉冲S5定时器(3)S_ODT接通延时S5定时器(4)S_ODTS保持型接通延时S5定时器(5)S_OFFDT断电延时S5定时器(6)-(SP)脉冲定时器线圈(7)-(SE)扩展脉冲定时器线圈(8)-(SD)接通延时定时器线圈(9)-(SS)保持型接通延时定时器线圈(10)-(SF)断开延时定时器线圈14、字逻辑指令(1)WAND_W字和字相"与"(2)WOR_W字和字相"或"(3)WAND_DW双字和双字相"与" (4)WOR_DW双字和双字相"或" (5)WXOR_W字和字相"异或" (6)WXOR_DW双字和双字相"异或“。
西门子S7-200 PLC指令简介及实例分析

数据处理、运算指令及应用本章要点✍ 数据传送、字节交换、字节立即读写、移位、转换指令的介绍、应用及实训 ✍ 算术运算、逻辑运算、递增/递减指令的介绍、应用及实训✍ 表的定义、填表指令、表取数指令、填充指令、表查找指令的介绍5.1 数据处理指令5.1.1 数据传送指令1. 字节、字、双字、实数单个数据传送指令MOV数据传送指令MOV ,用来传送单个的字节、字、双字、实数。
指令格式及功能如表5-1所示。
表5-1单个数据传送指令MOV 指令格式使EN O = 0即使能输出断开的错误条件是:SM4.3(运行时间),0006(间接寻址错误)。
【例5-1】将变量存储器VW10中内容送到VW100中。
程序如图5-1所示。
LD I0.1MOVW VW10, VW100图5-1例5-1题图2. 字节、字、双字、实数数据块传送指令BLKMOV数据块传送指令将从输入地址IN 开始的N 个数据传送到输出地址OUT 开始的N 个单元中,N 的范围为1至255,N 的数据类型为:字节。
指令格式及功能如表5-2所示。
表5-2 数据传送指令BLKMOV 指令格式使ENO= 0的错误条件:0006(间接寻址错误)0091(操作数超出范围)。
【例5-2】程序举例:将变量存储器VB20开始的4个字节(VB20- VB23)中的数据,移至VB100开始的4个字节中(VB100-VB103)。
程序如图5-2所示。
LAD STLLD I0.0BMB VB20 ,VB100, 4图5-2 例5-2图程序执行后,将VB20~VB23中的数据30、31、32、33送到VB100~VB103。
执行结果如下:数组1数据 30 31 32 33数据地址 VB20 VB21 VB22 VB23块移动执行后:数组2数据 30 31 32 33数据地址 VB100 VB101 VB102 VB1035.1.2 字节交换、字节立即读写指令1. 字节交换指令字节交换指令用来交换输入字IN 的最高位字节和最低位字节。
西门子PLC的基本指令程序设计

西门子PLC的基本指令程序设计西门子PLC的基本指令程序设计1. 引言2. 输入输出指令西门子PLC的输入输出指令用于控制PLC与外部设备(如传感器、执行器等)之间的数据交换。
其中,最常用的输入输出指令是电平指令、边沿指令和计时指令。
2.1 电平指令电平指令用于检测输入信号是否处于高电平或低电平状态。
常用的电平指令有:`I`指令:用于检测输入信号是否为高电平;`IB`指令:用于检测输入信号是否为低电平。
2.2 边沿指令边沿指令用于检测输入信号的变化。
常用的边沿指令有:`I8`指令:用于检测输入信号从低电平到高电平的上升沿;`I9`指令:用于检测输入信号从高电平到低电平的下降沿。
2.3 计时指令计时指令用于对输入信号的时间进行计时。
常用的计时指令有:`TON`指令:用于对输入信号的累计时间进行计时;`TOF`指令:用于对输入信号的间隔时间进行计时。
3. 逻辑运算指令逻辑运算指令用于进行逻辑判断和运算。
常用的逻辑运算指令有:`AND`指令:进行与运算;`OR`指令:进行或运算;`XOR`指令:进行异或运算;`NOT`指令:进行非运算。
4. 数据处理指令数据处理指令用于对数据进行处理和转换。
常用的数据处理指令有:`MOV`指令:用于将一个值从一个寄存器复制到另一个寄存器;`ADD`指令:用于对两个操作数进行相加运算;`SUB`指令:用于对两个操作数进行相减运算;`MUL`指令:用于对两个操作数进行相乘运算;`DIV`指令:用于对两个操作数进行相除运算。
5. 定时器指令定时器指令用于进行时间控制和延时操作。
常用的定时器指令有:`TON`指令:用于进行延时操作;`TOF`指令:用于进行时间控制。
6. 计数器指令计数器指令用于进行计数操作。
常用的计数器指令有:`CTU`指令:用于正向计数;`CTD`指令:用于逆向计数。
7. 程序控制指令程序控制指令用于控制程序的执行顺序和跳转。
常用的程序控制指令有:`JSR`指令:用于子程序调用;`JMP`指令:用于无条件跳转;`LBL`指令:用于标记指令。
西门子PLC的基本指令及程序设计

(4)RI,立即复位指令
用立即复位指令访问输出点时,从指令所指出的位(bit)开始的
N个(最多为128个)物理输出点被立即复位,同时,相应的输出映像
寄存器的内容也被刷新。
用法:RI bit, N
例: RI
Q0.0, 1
LD I0.0
//装 入 常 开 触 点
=
Q0.0
//输 出 触 点 , 非 立 即
新值放入栈顶,栈底值丢失;每一次进行出栈操作,
栈顶值弹出,栈底值补进随机数。逻辑堆栈指令主
要用来完成对触点进行的复杂连接。
S7-200中把ALD、OLD、LPS、LRD、LPP指令都
归纳为栈操作指令。
1. 栈装载与指令
ALD,栈装载与指令(与块)。在梯形图中用于将并联电 路块进行串联连接。
在语句表中指令ALD执行情况如表所示。
用法: S
bit, N
例: S
Q0.0, 1
(2)R,复位指令
将位存储区的指定位(位bit)开始的N个同类存储器位复位。当用复位
指令时,如果是对定时器T位或计数器C位进行复位,则定时器位或计数
器位被复位,同时,定时器或计数器的当前值被清零。
用法: R
bit, N
例: R
Q0.2, 3
LD
I0.0
//装入常开触点
LPS、LRD、LPP指令使用举例4
LD I0.0 O I2.2 LD I0.1 LD I2.0 A I2.1 OLD ALD = Q5.0 LD I0.0 LPS A I0.5 = Q7.0 LRD LD I2.1 O I1.3 ALD = Q6.0 LPP LD I3.1 O I2.0 ALD = Q1.3
5.1.8 脉冲生成指令
西门子PLC程序指令注意点

PLC程序详解(图文并貌)一、时间继电器:TON 使能=1计数,计数到设定值时(一直计数到32767),定时器位=1。
使能=0复位(定时器位=0)。
TOF 使能=1,定时器位=1,计数器复位(清零)。
使能由1到0负跳变,计数器开始计数,到设定值时(停止计数),定时器位=0。
如下图:图1:使能=1时,TOF(T38)的触点动作图图2:使能断开后,计数到设定值后,TOF(T38)的触点动作图(其中T38常开触点是在使能由1到0负跳变后计数器计时到设定值后变为0的)TONR 使能=1,计数器开始计数,计数到设定值时,计数器位=1。
使能断开,计数器停止计数,计数器位仍为1,使能位再为1时,计数器在原来的计数基础上计数。
以上三种计数器可以通过复位指令复位。
正交计数器 A相超前B相90度,增计数B相超前A相90度,减计数当要改变计数方向时(增计数或减计数),只要A相和B相的接线交换一下就可以了。
二、译码指令和编码指令:译码指令和编码指令执行结果如图所示:DECO是将VW2000的第十位置零(为十进制的1024),ENCO输入IN最低位为1的是第3位,把3写入VB10(二进制11)。
三、填表指令(ATT)S7-200填表指令(ATT)的使能端(EN)必须使用一个上升沿或下降沿指令(即在下图的I0.1后加一个上升沿或下降沿),若单纯使用一个常开触点,就会出现以下错误:这一点在编程手册中也没有说明,需要注意。
其他的表格指令也同样。
四、数据转换指令使用数据转换指令时,一定要注意数据的范围,数据范围大的转换为数据范围小的发注意不要超过范围。
如下图所示为数据的大小及其范围。
(1)BCD码转化为整数(BCD_I)关于什么是BCD码,请参看《关于BCD码》。
BCD码转化为整数,我是这样理解的:把BCD码的数值看成为十进制数,然后把BCD到整数的转化看成是十进制数到十六进制数的转化。
如下图所示,BCD码为54,转化为整数后为36。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•第5章 应用指令
•AENO指令只能在语句表中使用,将栈顶值和 ENO位的逻辑与运算,运算结果保存到栈顶。程 序如图5.8所示。
LD +I AENO ATCH
I0.0 VW200, VW204
INT_0, 10
//使能输入 //整数加法指令,VW200+VW204=VW204 //与ENO指令,判断整数加法指令执行是否出错 //如果加法指令执行正确,则调用中断程序INT_0 //中断事件号为10
LD
T50
S C RT S 0.6
SCRE
//延 时 时 间 到 //作 为 切 换 条 件 //步 转 移 //切 换 到 下 一 步 //同 时 关 本 步 // //本 步 结 束 标 志
返回本节
•第5章 应用指令
5.1.8 与ENO指令
AENO,与ENO指令。ENO是梯形图和功能框 图编程时指令盒的布尔能流输出端。如果指令 盒的能流输入有效,同时执行没有错误,ENO 就置位,将能流向下传递。当用梯形图编程时, 且指令盒后串联一个指令盒或线圈,语句表语 言中用AENO指令描述。
指令格式:STOP
(无操作数)
返回本节
•第5章 应用指令
5.1.3 看门狗
WDR,看门狗复位指令。当使能输入有效时, 执行WDR指令,每执行一次,看门狗定时器就 被复位一次。用本指令可用以延长扫描周期, 从而可以有效避免看门狗超时错误。
指令格式:WDR
(无操作数)
程序实例:指令STOP、END、WDR的应用如 图5.2所示。
•表5.1 局部变量表例
•第5章 应用指令
LD CALL
I0.0
//装入常开触点
SBR_0,I0.2,VB20,VD30// //调用子程序SBR_0
//含有3个参数:
//分别为布尔、字节
//和双字型
•图5.5 带参数的子程序调用
返回本节
•第5章 应用指令
5.1.6 程序循环
1. 循环开始 2. 循环结束 3. 3. 程序实例
LD WDR
A
M 0.4
I0.2
//用 触 点 重 新 触 发 //看 门 狗 定 时 器
//
•图5.2 停止、结束、看门狗指令
返回本节
•第5章 应用指令
5.1.4 跳转
1. 跳转指令 与跳转相关的指令有下面两条: (1)跳转指令 JMP,跳转指令。使能输入有效时,使程序流程跳到 同一程序中的指定标号n处执行。执行跳转指令时,逻 辑堆栈的栈顶值总是1。 (2)标号指令 LBL,标号指令。标记程序段,作为跳转指令执行时跳 转到的目的位置。操作数n为0~255的字型数据。
•第5章 应用指令
(2)中断优先级 中断优先级由高到低依次是:通信中断、输入 输出中断、时基中断。每种中断中的不同中断 事件又有不同的优先权。 主机中的所有中断事件及优先级如表5.4所示。
•第5章 应用指令
•表5.4 中断事件及优先级
•第5章 应用指令
•第5章 应用指令
2. 中断调用 即调用中断程序,使系统对特殊的内部或外部 事件作出响应。系统响应中断时自动保存逻辑 堆栈、累加器和某些特殊标志存储器位,即保 护现场。中断处理完成时,又自动恢复这些单 元原来的状态,即恢复现场。
NEXT
//循 环 结 束 指 令
•图5.6 程序循环(2)
返回本节
•第5章 应用指令
5.1.7 顺序控制继电器
1. 顺序继电器指令 (1)定义顺序段(2)段开始 (3)段结束 (4)段转移 2. 注意事项 3. 顺序结构 4. 程序实例
•第5章 应用指令
本例是用顺序 继电器实现的 顺序控制中的 一个步的程序 段,这一步实 现的功能是使 两个电机M1和 M2起动运行20 秒后停止,切 换到下一步。
•第5章 应用指令
程序实例: 如右图5.3所示。用增减计数器进行计数, 如果当前值小于500,则程序按原顺序执 行,若当前值超过500,则跳转到从标号 10开始的程序执行。
返回本节
•第5章 应用指令
LD LD LD CTUD
I0.0
//增 计 数 输 入 端
I0.1
//减 计 数 输 入 端
I0.2
IN T_1, 2
//中 断 调 用 //中 断 程 序 //为 IN T_1 //事 件 号 为 2 //全 局 开 中 断 //
LD DTCH
SM 5.0 2
//检 查 I/O 错 //若 I/O 有 错 //断 开 本 中 //断 连 接
LD
I0.5
D ISI
//外 部 条 件 //全 局 中 断
•第5章 应用指令
LD EU CALL
LD TODR
MOVB
I0.4
//装入触点
//上跳沿触发
SBR_0
//调用子程序 //子程序 SBR_0
//作用为写时钟
SM0.0 VB100
//运行有效 // 从 VB100
//读时钟值
//
//
VB104, QB0 //传送指令 //将分钟值 //从 QB0 输出
(1)中断调用指令 (2)注意事项 (3)程序实例
•第5章 应用指令
(3)程序实例
控制要求:
程序实现的功能是调 用 I0.1输 入点 的 上 升 沿中断,若发现I/O错 误,则禁止本中断, 用外部条件可以禁止 全局中断。
程序实现:本程序如 图5.10所示。
LD
I0.4
//使 能 输 入
ATC H ENI
返回本节
•第5章 应用指令
5.1.2 结束及暂停
1. 结束指令
结束指令有两条:END和MEND。两条指令在 梯形图中以线圈形式编程。
END,条件结束指令。使能输入有效时,终 止用户主程序。
MEND无条件结束指令。无条件终止用户程序 的执行,返回主程序的第一条指令。
用Micro/Win32编程时,编程人员不需手工输
•第5章 应用指令
2. 子程序调用
(1)子程序调用和返回指令 ➢ 子程序调用 ➢子程序条件返回
(2)注意事项 (3)应用实例
•第5章 应用指令
图5.4所示的程序实现用外部控制条件分别调用 两个子程序。
LD
I0.0
CALL S2
//使能输入 //调用子程序S2 //
LD CALL
I0.0 SBR_1
•图5.8 与ENO指令
返回本节
•第5章 应用指令
5.2 特殊指令
5.2.1 时钟指令 5.2.2 中断 5.2.3 通信 5.2.4 高速计数 5.2.5 高速脉冲输出 5.2.6 PID回路指令
返回本章首页
•第5章 应用指令
5.2.1 时钟指令
1. 读实时时钟 TODR,读实时时钟指令。当使能输入有效时, 系统读当前时间和日期,并把它装入一个8字节 的缓冲区。
可 用 编 程 软 件 Edit 菜 单 中 的 Insert 选 项 , 选 择 Subroutine,以建立或插入一个新的子程序, 同时在指令树窗口可以看到新建的子程序图标, 默认的程序名是SBR_n,编号n从0开始按递增 顺序生成,可以在图标上直接更改子程序的程 序名。在指令树窗口双击子程序的图标就可对 它进行编辑。
•第5章 应用指令
LD FOR
M0.0 // 使能输入 VW10, +1, +20 //循环开始
//与第 2 个 NEXT //之间为一级循环体
LD FOR
M0.1 //使能输入
VW20, +1, +5
//循环开始
//与第 1 个 NEXT
//之间为二级循环体
•图5.6 程序循环(1)
•第5章 应用指令
•第5章 应用指令
5.2.4 高速计数
1. 高速计数器介绍 2. 高速计数指令 3. 高速计数器的使用方法 4. 应用实例
•图5.9 读写时钟
返回本节
•第5章 应用指令
5.2.2 中断
1. 中断源 (1)中断源及种类 中断源,即中断事件发出中断请求的来源。S7200可编程序控制器具有最多可达34个中断源, 每个中断源都分配一个编号用以识别,称为中 断事件号。这些中断源大致分为三大类:通信 中断、输入输出中断和时基中断。
LD CALL
I0.0 SBR_0
//使 能 输 入 //调 用 子 程 序 0 //本 梯 级 为 二 级 //循 环 体 的 功 能 段
NEXT
//循 环 结 束 指 令
LD IN C W
SM 0.0 VW 100
//使 能 输 入 //字 增 指 令 //每 执 行 一 次 一 级 //循 环 体 , V W 100 //的 值 增 1
2. 写实时时钟 TODW,写实时时钟指令。用来设定实时时钟。 当使能输入有效时,系统将包含当前时间和日 期,一个8字节的缓冲区将装入时钟。
•第5章 应用指令
时钟缓冲区的格式如表5.2所示。
•表5.2 时钟缓冲区
•第5章 应用指令
程序实例 控制要求: 编写一段程序,可实现读、写实时时钟,并以BCD码显示分钟。时 钟缓冲区从VB100开始。 程序中的子程序SBR_0为写时钟子程序,将当前时间写入从VB100 开始的8字节时间缓冲区,时间设置如下表5.3所示。程序实现:读 写时钟程序如图5.9所示。
程序如图5.7所 示。
L S C R S 0.5
//由 S0.5 控 制 的 //顺 序 步 的 开 始 //
LD
S M 0.0
S
Q 1.2, 2
TON T50, +200
//装 入 常 开 触 点 //将 Q 1.2 和 Q 1.3 //置 1 //通 电 延 时 //本 步 的 持 续 时 间 //为 20s