S7-200_PLC的功能指令及运算指令
西门子s7-200PLC基本指令
15:33
14
15:33
15
2、保持型接通延时定器(TONR)
Txx IN TONR PT
•在输入(IN)收到能流时,从当前值开始计时; •当当前值达到预置值(PT)时,定时器位被置1; •当输入能流断开时停止计时,定时器位、当前值保持不变; •必须用复位指令才能清除定时器位和当前值; •定时器号(Txx)决定了定时器的分辨率。
???
② 置位线圈指令
(S) xxx
???位代表位起始地址
当指令收到能流时,则???指定位开始的XXX个位被置1;
当指令没收到能流时,则???指定的位状态不变 。
???
③ 复位线圈指令 (xRxx) ???位代表位起始地址
当指令收到能流时,则???指定位开始的XXX个位被置0;
当指令没收到能流时,则???指定的位状态不变 。
1. 基本逻辑指令 2. 堆栈操作指令* 3. 定时器指令 4. 计数器指令 5. 比较指令
15ห้องสมุดไป่ตู้33
2
一、基本逻辑指令
1、触点指令
???
① 检查闭指令 其中???位代表位地址 当???指定地址的数据为1时, 指令结果接通能流; 否则,指令结果断开能流。
???
② 检查开指令 其中???位代表位地址 当???指定地址的数据为0时, 指令结果接通能流; 否则,指令结果断开能流。
15:33
21
2、减计数器减计数指令(CTD)
Cxx CD CTD LD PV
从当前计数值开始,在每一个(CD)输入状态 的低到高时递减计数。
•当CXX的当前值等于0时,计数器位CXX置位。
s7-200plc基本逻辑指令
s7-200plc基本逻辑指令PLC(可编程逻辑控制器)作为现代工业自动化领域中的重要设备,可以实现对各类生产过程的自动控制。
S7-200PLC是西门子公司推出的一款经典型号,具备较高的性能和灵活的编程功能。
本文将重点介绍S7-200PLC的基本逻辑指令,包括输入/输出指令、计算指令、转移指令和比较指令等,以帮助读者更好地理解和应用该型号的PLC。
1. 输入/输出指令输入/输出指令用于读取外部信号并控制输出动作,是PLC程序中最常用的指令之一。
S7-200PLC提供了多种输入/输出指令,其中包括XIC、XIO、OUT、SET、RST等指令。
XIC指令用于判断输入信号是否为真,XIO指令则相反,用于判断输入信号是否为假。
OUT指令用于控制输出信号为真,SET指令用于设置某个输出信号为真,RST指令则相反,用于复位某个输出信号。
2. 计算指令计算指令主要用于对PLC中的数据进行运算和处理,以满足特定的控制要求。
S7-200PLC提供了多种计算指令,包括加法、减法、乘法、除法等。
比如,ADD指令用于两个数据相加,SUB指令用于两个数据相减,MUL指令用于两个数据相乘,DIV指令用于两个数据相除。
这些计算指令可以灵活应用于各类控制场景中,提高了PLC的控制能力和灵活性。
3. 转移指令转移指令用于根据特定条件执行不同的操作,是PLC程序中的决策和跳转指令。
S7-200PLC提供了多种转移指令,包括无条件转移、条件转移、循环转移等。
例如,JMP指令用于无条件转移到指定的程序段,JMPZ指令用于当某个数值为0时转移到指定的程序段,LOOP指令用于设置循环次数并执行指定的程序段。
通过合理应用转移指令,可以实现复杂的控制逻辑和流程控制。
4. 比较指令比较指令用于判断两个或多个数据之间的大小、相等关系,并根据判断结果执行不同的操作。
S7-200PLC提供了多种比较指令,包括大于、小于、等于等。
例如,GT指令用于判断某个数值是否大于另一个数值,LT指令用于判断某个数值是否小于另一个数值,EQ指令用于判断两个数值是否相等。
S7-200 SMART的功能指令
1.使能输入与使能输出 使能输入端EN有能流流入方框指令时,指令才能被执行。 EN输入端有能流且指令执行时无错误,则使能输出ENO将能流传递给下一 个方框指令或线圈。 语句表用AENO指令来产生与方框指令的ENO相同的效果。删除AENO指 令后,方框指令将由串联变为并联。
2.多重循环 循环最多可以嵌套8层。 在I0.6的上升沿,执行10次外 层循环,如果I0.7为ON,每执行 一次外层循环,将执行8次内层 循环。执行完后,VW10的值 增 加80。
4.4.3 其他指令
1. 条件结束指令与条件停止指令 条件结束指令END的逻辑条件满足时终 止当前的扫描周期。条件停止指令STOP使 CPU从RUN模式切换到STOP模式。 2. GET_ERROR(获取非致命错误代码) 指令很少使用。
【例4-3】压力变送器的压力计算公式为P = 10000×(N – 5530) / 22118(kPa),
N为整数。MUL指令得到的乘积为双整数。用右键菜单命令强制AIW16。
2.递增与递减指令 梯形图中IN + 1 = OUT,语句表中OUT+1=OUT
4.3.2 浮点数函数运算指令
浮点数函数运算指令的输入参数IN与输出参数OUT均为实数。 1.三角函数指令
3.计算程序中的数据转换 压力变送器的量程为0~10MPa,输出信号为0~10V,AI模块的量程为0~
10V,转换后的数字量为0~27648,设转换后的数字为N,压力值转换公式为 P =(10000 N)/ 27648 = 0.36169×N (kPa)
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个连 续的字。
S7-200系列PLC的运算和数学指令
这样可节省内存。
执行结果对特殊标志位的影响:
1.2 数学函数指令
(1)求平方根指令
指令
说明
SQRT
求平方根指令把32bit的实数取平方根后,将结果送到
EN
32bit的目标(OUT)中去,即 IN OUT
IN OUT
IN1-IN2=OUT 在语句表中,IN2的操作数与OUT同,且
IN1+IN2=IN2 IN2-IN1=IN2 在梯形图中,可以设定OUT和IN2指向同一内存单元,这 样可 节省内存。 执行结果对特殊标志位的影响: SM1.0(0),SM1.1(溢出),SM1.2(负)
(4)整数乘/除运算指令
指令
说明
MUL
整数乘法指令把两个16bit整数相乘后,将结果送到32bit
EN
的目标(OUT)中去。整数除法指令把两个16bit整数相
IN1
除后,将结果送到32bit的目标(OUT)中去。计算结果
IN2 OUT 的低16位为商,高16位为余数。
……
操作数:
MUL IN1, IN2
DIV EN IN1 IN2 OUT …… DIV IN1,IN2
双字的加1/减1指令把32bit源双字(IN)加1/减1后,将 结果送到32bit的目标(OUT)中去。
操作数:
IN:VD,ID,QD,MD,SMD,AC,HC,*VD ,
*AC,SC,常数。 OUT:VD,ID,QD,MD,SMD,AC,*VD,
*AC,SD。 在梯形图中, IN+1=OUT
IN-1=OUT 在语句表中,IN的操作数与OUT同,且
可编程控制器
S7-200系列PLC的数据处理指令
VW200 1110 0010 1010 1101
第一次循环移位后
溢出
第一次移位后
溢出
AC0
1010 0000 0000 0000
1 VW200 1100 0101 0101 1010
1
第二次循环移位后 AC0 0101 0000 0000 0000
0 标志位(SM1.0 )=0 溢出标志位(SM1.1 )= 0
中。
在梯形图中,可以设定OUT和IN指向同一内存单元,这
样
可节省内存。
(6)双字的循环右移/左移指令
指令
说明
ROR_ 双字的循环右移/左移指令把源双字IN指定的内容向右/左循环
DW 移N位,结果存入OUT指定的目标字中。
EN
操作数:
IN
IN:VD,ID,QD,MD,SMD,AC,HC,*VD,*AC,
可节省内存。
执行结果对特殊标志位影响。SM1.0(0),SM1.1 溢出
。
CPU212和CPU214无此指令。
(5) 字的循环右移/左移指令
指令
说明
ROR_W 字的循环右移/左移指令把源字IN指定的内容向右/左循环移
EN
N位,结果存入OUT指定的目标字中。
IN
操作数:
N OUT
IN:VW,T,C,IW,QW,MW,SMW,AC,AIW, 常
N:VB,IB,QB,MB,SMB,AC,常数,*VD ,
*AC,SB
(6)字的块传送指令
指令
说明
BLKMOV_W
字的块传送指令:
EN
将从IN开始的连续N个字的数据块的内容复制到
IN1
从字OUT开始的数据块里。N的有效范围是1~255
第8章 S7-200系列PLC的功能指令
1、BCD码转换成整数及整数转换成BCD码指令
2、双整数至整数、整数至双整数及双整数至实数指令
3、整数至字节及字节至整数指令
4、取整指令及截断指令
5、译码指令和编码指令
6、七段码显示指令
将字节型输入数据(IN)的低四位有效数字产生相应的七段显示码, 并将其输出到OUT指定的数据单元,直接在LED数码显示。
8.2.1 四则运算指令
2.乘法指令
当使能端EN有效时,将输入IN1、IN2中的数据有进行乘法运算, 结果存储在OUT指定的数据中。
8.2.1 四则运算指令
3.除法指令
当使能端EN有效时,将输入IN1、IN2中的数据有进行除法运算,结 果存储在OUT指定的数据中。
四则运算指令应用举例
执行图中程序,
8.1.2 移位指令
◆当使能端EN有效时,指令将输入数据(IN)向右或向左移动一定 的位数(N)。移动后的结果在输出寄存器 (OUT)中输出。 ◆移位指令属于开环移位,包括字节、字、双字等的右移或左移移位
8.1.3 循环移位指令
◆将输入数据(IN)按指定的移动位数(N)向右或向左循环移动,
结果输出到输出寄存器(OUT)中。
8.2.3 逻辑运算指令
将输入数据IN1、IN2对应位进行与(或、异或、取反)运算,结果输 出到OUT中去,指令格式说明如表8-10。
逻辑运算应用举例
想一想 练一练
设有一台5层电梯,使用PLC编写控制程序,轿厢内呼叫按 钮状态存储在IB0中,楼层上呼叫按钮状态存储在IB1,楼 层下呼叫按钮状态存储在IB2中,电梯目前停层的状态存储 在MB0中,试用逻辑运算指令编写电梯轿厢应答呼叫停层 程序。 编程思路:电梯轿厢应答呼叫停层是下面3个条件的“或”。 当IB0与MB0相与为1时; 当IB1与MB0相与为1且电梯保持上行状态时; 当IB2与MB0相与为1且电梯保持下行状态时。
6.S7-200 PLC的功能指令及使用
②字加1指令 梯形图:
语句表:INCW OUT 功能:当EN=1时,将单字长的有符号输入数IN加1, 结果为单字长有符号整数存入OUT 。
③双字加1指令 梯形图:
语句表:INCD OUT 功能:当EN=1时,将双字长的有符号输入数IN加1, 结果为双字长有符号整数存入OUT 。
(6)减1指令
①字节减1指令 梯形图:
SUB_I EN ENO SUB_DI EN ENO
VW300 VW400
IN1 OUT IN2 -I IN2, OUT
VW300
VD300 VD400
IN1 OUT IN2 -D IN2, OUT
V
减法指令可分为整数、双整数、实数减法,对应的
操作数分别是有符号整数、有符号双整数、实数。
① 整数减法指令
②字节传送立即写指令 梯形图:
语句表:BIW IN, OUT 功能:当EN=1时,将IN中的字节型数据传送到OUT指 定字节地址的物理输出点(QB),同时刷新相应的 输出映像寄存器。运算结果立即输出到负载。
读取输入IB1的物理值,将结果写到输出VB100
将VB100的值写入QB1的物理输出点
6.1.2 数学运算指令
语句表:*I IN1, OUT
②双整数乘法指令
梯形图:
语句表:*D IN1, OUT 功能:当EN=1时,将两个双字长的有符号整数IN1和I N2相乘,结果为双字长的有符号整数存入OUT 。
③实数乘法指令
梯形图:
语句表:*R IN1, OUT 功能:当EN=1时,将两个32位实数IN1和IN2相乘,结 果为32位实数存入OUT 。
四则运算举例 :
I0.0 ADD_I EN ENO AC1 IN1 AC0 IN2 EN AC1 VW102 IN1 IN2 EN VW202 VW120 IN1 IN2 DIV_R EN ENO VD300 VD130 IN1 IN2 OUT VD400 DIV ENO OUT VD200 MUL ENO OUT VD100 MUL AC1,VD100 OUT AC0 LD +I I0.0 AC1,AC0
西门子S7-200_PLC指令学习
西门子S7-200 PLC指令学习S7-200系列的基本逻辑指令与FX系列和CPM1A系列基本逻辑指令大体相似,编程和梯形图表达方式也相差不多,这里列表表示S7-200系列的基本逻辑指令(见表)。
表S7-200系列的基本逻辑指令S7-200系列PLC的比较指令在SIEMENS S7-200的编程软件STEP-7中,有专门的比较指令:IN1与IN2比较,比较的数据类型可以是B、I(W)、D、R,即字节、字整数、双字整数和实数;还可以有其他的比较式:>、<、≥、≤、<>等等。
当满足比较等式,则该触点闭合。
与LMODSOFT指令对照:在LMODSOFT中,没有直接的数的比较指令,但SUB指令可以通过其执行减法功能后的三个输出端的状态实现整数的比较功能。
若与LMODSOFT 中的SUB指令对应,则在STEP-7中应有三个比较指令:>、=、< 来分别对应SUB 指令的三个输出;若还要对应≥、≤、或<>,则根据SUB指令三个输出端的不同组合,均可找到对应的比较指令。
比如:①(30007)>(40030)②(30007)=(40030)③(30007)<(40030)①+②(30007)≥②+③(30007)≤(40030)①+③(30007)<>(40030)S7-200系列PLC的定时器指令类型、编号及分辨率TON——接通延时TONR——有记忆接通延时TOF——断开延时3种分辨率(时基):1ms、10ms、100ms——分别对应不同的定时器号定时器6个要素:指令格式(时基、编号等)预置值——PT使能——IN 复位——3种定时器不同当前值——Txxx 定时器状态(位)——可由触点显示定时值=时基×预置值PT。
由于定时器的计时间隔与程序的扫描周期并不同步,定时器可能在其时基(1ms、10ms、100ms)内任何时间启动,所以,未避免计时时间丢失,一般要求设置PT预置值必须大于最小需要的时间间隔。
第六章 S7-200PLC特殊功能指令
BLKMOV-DW
EN ENO IN N OUT
数据块传送指令把从输入 (IN)指定地址的N个连续 字节、字、双字的内容传送 到从输出(OUT)指定地址 开始的N个连续字节、字、 双字的存储单元中去。
VB20 VB21 VB22 VB23 VB24
数组1 30
31
32
33Βιβλιοθήκη 34VB100 VB101 VB102 VB103 VB104
LD I0.0 //T37产生周期为 AN T37 0.5s的移位脉冲 TON T37, +5
LD T37 //每来一个脉冲 RLB QB0, 1 彩灯循环左移1位
已知:I0.0接外部开关,Q0.0接指示灯,问下面的梯形图 实现什么功能?
(5)移位寄存器指令 移位寄存器指令可用来进行顺序控制、物流及数据流控制。
SM1.1 移位后 1 1010 1011 0011 0110 VW300
例题:用I0.0控制接在Q0.0~Q0.7上的8个彩灯循环移位,从左
到右以0.5s的速度依次点亮,保持任意时刻只有一个指示灯亮 ,到达最右端后,再从左到右依次点亮。 要求:使用循环移位指令。
LD SM0.1 //首次扫描时 MOVB 1, QB0 //置8位彩灯初态
I0.1
MOV-W
EN ENO
VVDW11000 IN OUT AC0
MSB
VW100
10
LSB
46
MSB AC0
LSB
10 46
MOVW VW100, AC0
若I0.1=1,则将VW100的数据传送到AC0
(2)数据块传送指令
BLKMOV-B
EN ENO IN N OUT
BLKMOV-W
西门子S7-200指令
表 S7-200系列的基本逻辑指令指令名称 指令符 功能操作数取 LD bit 读入逻辑行或电路块的第一个常开接点 Bit :I ,Q ,M ,SM ,T ,C ,V ,S取反 LDN bit 读入逻辑行或电路块的第一个常闭接点 和 A bit 串联一个常开接点 和非 AN bit 串联一个常闭接点 或 O bit 并联一个常开接点 或非ON bit并联一个常闭接点 电路块和 ALD 串联一个电路块 无电路块或 OLD 并联一个电路块 输出 = bit 输出逻辑行的运算结果 Bit :Q ,M ,SM ,T ,C ,V ,S 置位 S bit ,N 置继电器状态为接通 Bit :Q ,M ,SM ,V ,S 复位R bit ,N使继电器复位为断开表4-20 四则运算指令名称指令格式 (语句表)功能操作数寻址范围加法指令 +I IN1,OUT两个16位带符号整数相加,得到一个16位带符号整数。
执行结果:IN1+OUT=OUT (在LAD 和FBD 中为:IN1+IN2=OUT )IN1,IN2,OUT :VW ,IW ,QW ,MW ,SW ,SMW ,LW , T ,C ,AC ,*VD ,*AC ,*LDIN1和IN2还可以是AIW 和常数 +D IN1,IN2两个32位带符号整数相加,得到一个32位带符号整数。
执行结果:IN1+OUT=OUT (在LAD 和FBD 中为:IN1+IN2=OUT )IN1,IN2,OUT :VD ,ID ,QD ,MD ,SD ,SMD ,LD ,AC ,*VD ,*AC ,*LD IN1和IN2还可以是HC 和常数+R IN1,OUT两个32位实数相加,得到一个32位实数。
执行结果:IN1+OUT=OUT (在LAD 和FBD 中为:IN1+IN2=OUT )IN1,IN2,OUT :VD ,ID ,QD ,MD ,SD ,SMD ,LD ,AC ,*VD ,*AC ,*LD IN1和IN2还可以常数减法指令 -I IN1,OUT两个16位带符号整数相减,得到一个16位带符号整数。
PLC S7-200指令
算术运算指令
1.加法指令—对两个有符号数进行相加 操作
ADD-I
EN ENO IN1 IN2 OUT
ADD-DI
EN ENO IN1 IN2 OUT
ADD-R
EN ENO IN1 IN2 OUT
操作数
IN1 IN2
类型 BYTE INT DINT REAL
寻址范围 VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常数 VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,*VD,*AC,*LD和常数 VD,ID,QD,MD,SD,SMD,LD,HC,AC,*VD,*AC,*LD和常数 VD,ID,QD,MD,SD,SMD,LD,,AC,*VD,*AC,*LD和常数
I/O分配:
I0.0:停车 I0.1:启动 Q0.1:KM
FR KM
1L Q0.0 Q0.1 Q0.2 Q0.3 1M I0.0 I0.1 I0.2 I0.3
SB1 SB2
I/O分配决定PLC的端子接线图
I/O分配:
I0.0:停车 I0.1:启动 Q0.1:KM
PLC的端子接线方式又决定编 程语言
• ③ A(AND)指令:逻辑与 指令,用于动合触点的串联。
• ④ AN(AND NOT)指令: 逻辑与非指令,用于动断触点的 串联。
• ⑤ O(OR)指令:逻辑或指 令,用于动合触点的并联。
• ⑥ ON(OR NOT):逻辑或 非指令,用于动断触点的并联。
• ⑦ =(OUT)指令:用于线 圈输出。
LD I0.0
A
S7-200系列PLC的功能指令表
一般的逻辑控制系统用软继电器、定时器和计数器及基本指令就可以实现。
利用功能指令可以开发出更复杂的控制系统,以致构成网络控制系统。
这些功能指令实际上是厂商为满足各种客户的特殊需要而开发的通用子程序。
功能指令的丰富程度及其合用的方便程度是衡量PLC性能的一个重要指标。
S7-200的功能指令很丰富,大致包括这几方面:算术与逻辑运算、传送、移位与循环移位、程序流控制、数据表处理、PID指令、数据格式变换、高速处理、通信以及实时时钟等。
功能指令的助记符与汇编语言相似,略具计算机知识的人学习起来也不会有太大困难。
但S7-200系列PLC功能指令毕竟太多,一般读者不必准确记忆其详尽用法,需要时可可查阅产品手册。
表4-20 四则运算指令
表4-21 逻辑运算指令
表4-22 数据传送指令
表4-23 移位与循环移位指令
表4-24 交换和填充指令
表4-25 表操作指令
表4-26 数据转换指令
表4-27 特殊指令。
S7-200 PLC功能指令
4.4 S7-200 PLC的功能指令PLC的功能指令(Functional Instruction)或称应用指令,是指令系统中满足特殊控制要求的那些指令。
在本节中主要介绍数据处理指令、数据运算指令、转换指令、表功能指令、程序控制类指令、中断指令、高速计数器指令、高速脉冲指令等。
1.指令格式指令的梯形图格式主要以指令盒的形式表示,如图4-49所示:图4-49 指令的梯形图格式指令盒的顶部为该指令的标题,如MOV_B,一般由两部分组成,前面部分为指令的助记符,后面部分为参与运算的数据类型,B表示字节,W表示字,DW表示双字、R表示实数、I表示整数、DI表示双整数。
指令的指令表格式也分为两部分,如字节传送指令的指令表格式为:MOVB IN,OUT。
前面部分为指令的助记符,后面部分为指令的操作数,其中“IN”为源操作数,“OUT”为目的操作数。
为了节省篇幅,对每条功能指令的操作数的内容即数据类型做如下约定:字节型:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*LD、*AC和常数。
字型及INT型:VW、IW、QW、MW、SW、SMW、LW、AC、T、C、*VD、*LD、*AC和常数。
双字型及DINT型:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*LD、*AC和常数。
2.指令的执行条作和运行情况指令梯形图格式中的“EN”端是允许输入端,为指令的执行条件,只要有“能流流入EN 端,指令就执行。
要注意的是:只要条件存在,该指令会在每个扫描周期执行一次,如果希望只执行一次,要在“EN”前加一条跳变指令。
在语句表(STL)程序中没有EN允许输入端,允许执行STL语句的条件是栈顶的值必须是“1”。
4.ENO状态(用于指令的级联)指令盒的右边设有“ENO”使能输出,若EN端有“能流”且指令被准确无误地执行了,则ENO端会有“能流”输出,传到下一个程序单元,如果指令运行出错,ENO端状态为0。
S7-200系列plc基本指令及逻辑控制应用技术
三组抢答器梯形图:
//儿童组抢得逻辑,除 常闭触点Q1.2, Q1.3外 为基本启-保-停电路
//学生组抢得逻辑,除 常闭触点Q1.1, Q1.3外 为基本启-保-停电路
//教授组抢得逻辑,除 常闭触点Q1.1, Q1.2外 为基本启-保-停电路
//幸运抢得计时
//彩球逻辑,除定时器 T37触电外为基本 启-保-停电路
3) 按下鼓风机停止按钮I0.3, 鼓风机停止工作;
4) 按下引风机停止按钮I0.1, 引风机停止工作;
改进手动顺序起停控制梯形图:
1)把Q0.1的常开触点串联在Q0.2的支路当中, 使Q0.1得电之后,Q0.2才能得电;
2)把Q0.2的常开触点并联在Q0.1的支路当中, 使Q0.2失电之后,Q0.1才能失电;
最大当前值(s) 32.767 327.67 3276.7 32.767 327.67 3276.7
定时器号 T32,T96 T33-T36,T97-T100 T37-T63,T101-T225 T0,T64 T1-T4,T65-T68 T5-T31,T69-T95
定时时间的计算:T=PT×S(T为实际定时时间, PT为预设值,S为精度等级).
输入端口
输出端口
正向启动按钮:I0.0 停止按钮:I0.1
反向启动按钮:I0.2 正向限位开关:I0.3 反向限位开关:I0.4
正向运行控制 : Q0.0 反向运行控制: Q0.1
其他器件
自动往复限位控制梯形图:
自动往复限位控制带延时梯形图:
• 交流异步电动机Y-△降压起动PLC控制:
控制要求:一般大于7.5KW的交流异步电动机,在启动时常采用Y- △ 降压起动。要求按下启动按钮之后,电动机先进行星形连接启动,经 延时5s后,自动切换到三角形连接运转,按下停止按钮后,电动机停 止运转。
S7-200系列PLC的基本指令及应用
3.3.2 PLC编程举例 1. 汽车自动清洗装置 一台汽车自动清洗机的动作如下: 按下起动按钮后,打开喷淋阀门, 同时清洗机开始移动。当检测到汽 车到达刷洗范围时,启动旋转刷子 开始清洗汽车。当检测到汽车离开 清洗机时,停止清洗机移动、停止 刷子旋转并关闭阀门。当按下停止 按钮时,任何时候均立即停止所有 动作。
(2) 参数子程序调用的规则 常数参数必须声明数据类型。 输入或输出参数没有自动数据类型转换功能。 参数在调用时必须按照一定的顺序排列,先是输入参数, 然后是输入输出参数,最后是输出参数。 (3) 变量表使用 按照子程序指令的调用顺序,参数值分配给局部变量 存储器,起始地址是L0.0。使用编程软件时,地址分配是 自动的。 参数子程序调用指令格式为: CALL 子程序, 参数1, 参数2, … 参数n 3.2.7 “与”ENO指令 ENO是LAD中指令块的布尔能流输出端。如果指令块 的能流输入有效,且执行没有错误,ENO就置位,并将能 流向下传递。ENO可以作为允许位,表示指令成功执行。
3.1.9 计数器指令 计数器主要用于累计输入脉冲的次数。S7-200系列 PLC有三种计数器:递增计数器CTU、递减计数器CTD、 增减计数器CTUD。三种计数器共有256个。 1. 递增计数器CTU(Count Up) 指令格式如下: Cn
CU R PV CT U CT U Cn , PV
梯形图指令
3. SFC转换成梯形图 SFC一般不能被PLC软件直接接受,需要将SFC转 换成梯形图后才能被PLC软件所识别。 (1) 进入有效工作步 (2) 停止有效工作步 (3) 最后一个工作步 (4) 工作步的转移条件 (5) 工作步的得电和失电 (6) 选择性分支 (7) 并发性分支 (8) 第0工作步 (9) 动作输出
S7-200PLC的基本指令和程序设计
S7-200PLC旳基本指令及程序 设计
5.1 S7-200 PLC旳编程语言
1.梯形图(LAD)编程语言 梯形图是与电气控制电路图相呼
应旳图形语言。它起源于继电器逻辑 控制系统旳描述。
I0.1 Q0.0
I0.0
Q0.0
()
2.功能块图(FBD) 功能块图类似于一般逻辑概
念图,沿用了半导体逻辑电路旳 逻辑框图体现方式。
9、模拟量输入映像寄存器(AI) 模拟量输入模块将外部输入旳模拟信号旳模拟量转换成1个
字长旳数字量,存储在模拟量输入映像寄存器(AI)中,供CPU 运算处理。如AIW0,AIW2,AIW4等。
10、模拟量输出映像寄存器(AQ) CPU运算成果存储在模拟量输出映像寄存器(AQ)中,供
D/A转换器将1个字长旳数字量转换成模拟量。如AQW0,AQW2, AQW4等。
3)其他地址格式 数据区存储器区域中,还涉及定时器存储器(T)、计数
器存储器(C)、累加器(AC)、高速计数器(HC)等,它 们是模拟有关旳电器元件旳。它们旳地址格式为:Ay。
由区域标识符A和元件号y构成,例T24表达某定时器旳地 址,T是定时器旳区域标识符,24是定时器号。
5.3 编程元件
1、输入/输出继电器(I/Q)
3.数据区存储器旳地址表达格式 存储器是由许多存储单元构成,每个存储单元都有惟一旳
地址,能够根据存储器地址来存取数据。数据区存储器地址旳 表达格式有位、字节、字、双字地址格式。
1)、位地址格式 某一位旳地址由存储器区域标识符、字 节地址及位号构成,如V5.4,I0.0等。
图5-2 存储器中旳位字地址
FR
M 3~
注意调相
电动机旳正反转控制
S7-200PLC的功能指令和运算指令
SMB76
状态字节,在PTO方式下,跟踪 脉冲串的输出状态
SMB67
SMB77
控制字节,控制PTO/PWM脉 冲输出的基本功能
PTO/PWM的周期值,字型, SMW68 SMW78 范围:2~65535,16位无符号
数
Q0.0的 Q0.1的 寄存器 寄存器
名称及功能描述
SMW70
SMW80
PWM的脉宽值,字型,范围0 ~65535,16位无符号数
● 1个 16位的脉宽值(SMW70、 SMW80)
● 1个 32位的脉冲数量(SMD72、 SMD82) 对于多段 PTO,还有
● 1个 8位的段字节(SMW166、
这些参数存放在系统指定的特殊标志寄存器中
表7-17 相关寄存器功能表
Q0.0的 Q0.1的 寄存器 寄存器
名称及功能描述
SMB66
S7-200PLC 的复杂功能指令
§7-12 高速脉冲输出指令
1. 高速脉冲输出的几个概念 1) 高速脉冲输出的形式
● 高速脉冲串输出 PTO :
( Pulse Train Output )
输出指定数量,占空比为50% 的方波脉冲串 。
● 宽度可调脉冲输出 PWM :
( Pulse Width Modulation )
●单段PTO:定义一个脉冲串,输出一个脉冲 串 (特性参数通过特殊寄存器分别定义) 。
●多段PTO:集中定义多个脉冲串,按顺序输 出多个脉冲串(特性参数通过包络表集中定义) 。
▲单段PTO 实现的方法
用指定的特殊标志寄存器定义脉冲串特性参 数(每次定义一个脉冲串)。一个脉冲串输出 完成后,产生中断。在中断服务程序中再为下 一个脉冲串更新参数,输出下一个脉冲串。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3) PTO的种类
PTO方式下,要输出多段脉冲串时,允许脉
冲串排队。PTO输出多段脉冲的方式有两种:
●单段PTO:定义一个脉冲串,输出一个脉冲
串 (特性参数通过特殊寄存器分别定义) 。
●多段PTO:集中定义多个脉冲串,按顺序输
出多个脉冲串(特性参数通过包络表集中定义) 。
▲单段PTO 实现的方法 用指定的特殊标志寄存器定义脉冲串特性 参数(每次定义一个脉冲串)。一个脉冲串输 出完成后,产生中断。在中断服务程序中再为 下一个脉冲串更新参数,输出下一个脉冲串。 ◎优点: 各脉冲段可以采用不同的时间基准。 ◎缺点:单段PTO输出多段高速脉冲串时,编程 复杂,且参数设置不当会造成脉冲串之间的不平
C ○
C ○
采用多段PTO,脉冲串连续输出期间,按 启动按钮I0.0不起作用,不会出现脉冲串重复 排队输出的现象,脉冲串能够按照规定的顺序 输出完后,停止输出。
4.宽度可调的脉冲输出PWM
特点: PWM方式下,用户可以改变脉冲的周
期值 和 脉宽值 ,脉冲数不受限制。
1) 周期值和脉宽值
周期值:是一个16位无符号数据,单位:
● 设置控制字节SMB67 ,按照控制要求按位填 写:如使SMB67=16#A0。
PWM更新方式
多段PTO 下全为0
● 将包络表的起始地址写入 SMW168; ● 填写包络表中各段脉冲串的特性参数;
● 建立中断连接:用ATCH指令建立脉冲输
出完成中断事件与中断程序的联系。当PLS指 令输出完指定数量的脉冲串时,产生中断。 ● 用ENI全局开放中断; B. 有启动信号时,执行高速脉冲输出指令 PLS,按顺序输出多段脉冲串。 C. 有停止信号时,停止高速脉冲串输出。
SMD72 SMB166
SMW80
SMD82 SMB176
SMW168
SMW178
▲ 状态字节 PTO 方式下运行时,系统根据运行状态 使相应位置位。
表7-18
状 态 位
功 能 描 述
状态字节表
SM6.0~ SM6.3
SM6.4
SM6.5
SM6.6
SM6.7
不用
PTO包络因增量 PTO 包络因用 计算错误终止 户命令终止 0:无错, 0:无错, 1:终止 1:终止
● PTO指令执行时,当前输出段的段号由系
统填入 SMB166 或 SMB176 中。
多段PTO的优点: 编程简单,且在同一段脉冲串中其周期可 以均匀改变。
★ 多段 PTO 编程方法及步骤: A. 初始化操作(以PTO/PWM 0为例): a. 将 PTO 的输出点 Q0.0 复位; b. 调用初始化子程序SBR-0,完成下列 任务:
解:● 确定脉冲发生器及工作模式 要求PLC输出三段串脉冲。故采用多段PTO输出 方式。选择输出端为 Q0.0。 ● 填写控制字节SMB67:使SMB67=16#A0
● 将包络表首地址装入SMW168中。
● 填写包络表。
参数换算:
1 T f
起始频率:2 kHz ,起始周期值:500μs, 运行频率为10 kHz,运行周期值:100μs。 输出3段脉冲串,时基取μs,定义三段脉 冲串特性参数的包络表为:
※ 2个字节存放脉冲串的起始周期值 ※ 2个字节定义脉冲串的周期增量 ※ 4个字节存放该段脉冲串的脉冲数
● 包络表中的周期单位可以为 ms 或 μs, 但表中所有周期单位必须一致。 ● 周期增量的计算公式:
周期增量
T终止 T起始 脉冲数
● 多段PTO操作时,需把包络表的起始地址
装入标志寄存器 SMW168(或SMW178)中。
滑转换。
▲ 多段PTO 操作
多段PTO:集中定义多个脉冲串,并把各段 脉冲串的特性参数按照规定的格式写入变量存 储区用户指定的缓冲区中--称为包络表(见书表 5-19)。
包络表说明:
● 包络表由包络段数和各段构成。
● 第一个字节为需要输出的脉冲串总段数,
范围:1~255 ;
● 定义一段脉冲串的特性参数需要8个字节
▲ 修改脉冲串宽度的方法 ● 改写控制字节SMB67,将允许改脉宽值位 置1 ,其它位不变。 ● 向SMW70写入新的脉冲宽度值 ● 执行PLS,输出指定宽度的脉冲信号。
【例】 PWM 输出举例 要求 PWM0的脉冲周期是 T=10000ms, 开始时输出占空比为 10%的脉冲,当 I0.0=1时,输出占空比为 50%的脉冲 ,当 I0.2=1时,停止输出脉冲。
A.确定脉冲发生器: ※ 选择高速脉冲输出端(发生器); ※ 选择工作模式为PWM。 B. PWM的初始化 a. 将PWM的输出点(Q0.0或Q0.1)复位; b. 调用初始化子程序SBR-0,它所完成 的任务:
●按位填写控制字节(如SMB67):SMB67=16#DB
●向SMW68写入第一个脉冲串的周期值; ●向SMW70写入第一个脉冲串的脉宽值 ; ●执行PLS指令,输出指定宽度的脉冲信号。
SMW68
SMW78
Q0.0的寄 Q0.1的寄 存器 存器
名称及功能描述 PWM的脉宽值,字型,范围0~ 65535,16位无符号数 PTO的脉冲数,双字型, 范围:1~4294967295,32位无 符号数 多段管线PTO进行中的段的编号 ,8位无符号数 多段管线PTO包络表起始字节的 地址
SMW70
▲ 停止 PTO 输出的方法 PLS指令一经激发,就能完成指定脉冲串 的输出,故要停止PTO输出,必须先在控制字 节中禁止PTO输出,且执行PLS指令。
SMB67
停止按钮
【例】 多段PTO应用实例
已知步进电机的起动频率为2 kHz(A点),经 过400个脉冲加速后频率上升到10 kHz(B点和C 点),恒速转动的脉冲数为4000个,减速过程脉 冲数为200个,频率降为2 kHz(D点),其频率 特性如图所示。
4)高速脉冲输出适用机型 输出高频脉冲信号时,应选用晶体管输出 型 PLC。
2. 高速脉冲输出指令及特殊寄存器
1)高速脉冲输出指令( Pulse ) ●指令功能:EN 有一个上升 沿时,激活PLS,控制PLC从 Q0.0 或 Q0.1 输出高速脉冲。
X
PLS指令可以输出:
※ 高速脉冲串 PTO
※ 宽度可调的脉冲信号 PWM ● 数据类型:
这些参数存放在系统指定的特殊标志寄存器中 表7-17 相关寄存器功能表
Q0.0的寄 Q0.1的寄 存器 存器 SMB66 SMB67 SMB76 SMB77 名称及功能描述 状态字节,在PTO方式下,跟踪 脉冲串的输出状态 控制字节,控制PTO/PWM脉冲输 出的基本功能 PTO/PWM的周期值,字型,范围 :2~65535,16位无符号数常数 0 或 1。
※ EN:只接通一个扫描周期的短信号。
2)特殊寄存器
每个 PTO/PWM 都有一组配套参数: ● 1个 8位的状态字节(SMB66、SMB76) ● 1个 8位的控制字节(SMB67、SMB77) ● 1个 16位的周期值(SMW68、SMW78) ● 1个 16位的脉宽值(SMW70、SMW80) ● 1个 32位的脉冲数量(SMD72、SMD82) 对于多段 PTO,还有 ● 1个 8位的段字节(SMW166、SMW176) ● 1个 16位包络表起始地址(SMW168、 SMW178)
●脉冲数:是一个32位的无符号整数,取 值范围:1~4294967295。
2)高速脉冲串输出中断
PTO 方式下,当输出完指定数量的脉冲后, 产生高速脉冲串输出中断。 ● PTO/PWM 0 的中断事件号是19 ● PTO/PWM 1 的中断事件号是20 高速脉冲串输出完成时,CPU自动将PTO空 闲位SM66.7(或SM76.7)置1。
PTO PTO空闲 管线溢出 0:执行中 0:无溢出 1:空闲 1:溢出
▲ 控制字节 通过设置字节中各控制位,来定义高速脉 冲输出的特性.
控制字节中各控制位的功能
SMB67 SMB77
3.高速脉冲串输出PTO
特点:高速脉冲串输出(PTO)方式下,只能改 变脉冲的周期值和脉冲数。 1)周期和脉冲数 ●周期:单位:μs或ms。周期值为16位无符 号整数。变化范围:50~65535 μs或 2~ 65535 ms。
μs或ms;变化范围:50~65535μs或2~
65535 ms。
脉冲宽度:是一个16位无符号整数,单位: μs或ms;变化范围是0~65535 μs或ms。即 占空比在0%~100%之间变化。 2)PWM 更新方式
● 同步更新:在改变脉冲周期值和脉宽值时,
不改变时间基准。特点:同步更新时,波形的
输出数量不限,占空比可调的脉冲串信号。
2) 高速脉冲输出端子
每台CPU可以提供 2 个高速脉冲发生器 ● PTO/PWM 发生器0 的输出端子是 Q0.0 ● PTO/PWM 发生器1 的输出端子是 Q0.1
3) 高速脉冲输出优先权
有PTO/PWM 输出时,CPU 把输出端子Q0.0 、Q0.1 控制权交给 PTO/PWM 发生器,禁止普 通逻辑输出。 输出映像寄存器 Q 的状态会影响PTO/PWM 波形的起始电平, 高速脉冲输出前要先把Q0.0 、 Q0.1的状态清零。
变化发生在周期的边缘,输出波形进行平滑转
换。
● 异步更新:在改变脉冲周期值和脉宽值
时,改变时间基准。特点:采用异步更新会
使高速脉冲输出功能被瞬时禁止,这时输出
端交由输出映像寄存器Q控制,可能使 PWM
的波形不连续,引起被控制设备的振动。
结论:改变 PWM 波形的特性时应尽量
采用同步更新。
3)PWM的编程方法及步骤
2
●中断连接:高速脉冲输出完成时,产生中 断事件19,用ATCH指令将与中断事件与中断服 务程序INT0连接起来,并全局开中断(ENI)。 ● 执行PLS指令。 本控制程序的结构: