第6章 S7-200功能指令
西门子S7-200 SMART PLC原理及应用教程课件第六章
3)动力头快进到工进位置时,输入信号I0.1有效;指令“SCRT SO.2"对应的状态继电器 SO.2的状态由“0”变为“1”,操作系统使状态继电器SO.1的状态由“1”变为“0”,快进活动步 变为静止步,状态继电器SO.1对应的SCR段程序不再被执行。系统从快进步转换到T进步,
输出信号QO.O变为OFF,QO.1变为ON,动力头工进。 4)动力头工进到位后,输入信号10.2有效;指令“SCRTSO.3"对应的状态继电器SO.3的状
5)动力头快退返回原位后,输入信号IO.O有效;指令“SCRT SO.O’’对应的状态继电器 SO.O的状态由“0”变为“1”,操作系统使状态继电器SO.4的状态由“1”变为“0”,动力头快 退步由活动步变为静止步,状态继电器SO.4对应的S(、R段程序不再被执行,输出信号
Q0.2变为OFF,动力头停止运行。系统从快退步转换到初始步,在原位等待起动信号。
表6-1 S7-200 PLC顺序控制指令
第三节 顺序控制的梯形图编程方法
使用S7-200 Smart系列PLC顺序流程指令需要注意以下几点。 1)顺序控制指令仅对状态继电器S有效,S也具有一般继电器的功能,对它还 可使用与其他继电器一样的指令。 2)SCR段程序(LSCR至SCRE之间的程序)能否执行,取决于该段程序对应的 态器S是否被置位。另外,当前程序SCRE(结束)与下一个程序LSCR(开始) 之间程序不影响下一个SCR程序的执行。 3)同一个状态器S不能用在不同的程序中,如主程序中用了S0.2,在子程序 中不能再使用它。 4)SCR段程序中不能使用跳转指令JMP和LBL,即不允许使用跳转指令跳人、 到ISCR程序或在SCR程序内部跳转。 5)SCR段程序中不能使用FOR.NEXT和END指令。 6)在使用SCRT指令实现程序转移后,前SCR段程序变为非活动步程序,该程 序的元件会自动复位,如果希望转移后某元件能继续输出,可对该元件使用 置位或复位指令在非活动步程序中,PLC通电常ON触点SMO.O也处于断开状 态。
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-200PLC第6章 PLC模拟量采集及闭环控制系统
模拟执行部件之前,必须将标准化的实数值转换成一个16位的标定整
数值。
• 3. PID回路表
•
用PID运算的参数,每个PID控制回路都 有一个确定起始地址(TBL)的回路表。
PID回路表
• 4. PID回路指令
• PID运算通过PID回路指令来实现。
化处理后写入回路表首单元VD200 ; • 5)执行PID回路运算指令; • 6)对PID回路运算的输出结果单元VD208进行数据转换后送入模拟
量输出。
• 参看教材图6-9 PID回路表及定时0中断初始化子程序实例
• 本章小结: • 作业:
•
谢谢收看!!
该电流通过250 电阻将其转换为1~5V电压,作为A/D转换 器的模拟量输入信号,A/D转换器输出的数字量信号可以直接 输入给计算机进行处理。
• 2 计算机闭环控制系统
被控设备(对象)输出的物理量(即被控参数或称系统输出参 数),经传感器、变送器、 A/D转换后反馈到输入端,与期望 值(即给定值或称系统输入参数)进行比较,当二者产生偏差 时,对该偏差进行决策或PID运算处理,其处理后的信号经D/A 转换器转换为模拟量输出,控制执行器进行调节,从而使输出 参数按输入给定的条件或规律变化。由于系统是闭和的,输出 量的变化经变送器反馈到输入端与输入量进行比较,由于反馈 的输出量与输入量相位相反,所以也称闭环控制负反馈系统。
• (2) 回路输入转换及标准化数据
• 每个PID回路有两个输入量,给定值(SP)和过程变量(PV)。 在PID指令对这些物理量进行运算之前,必须对它们及其它输入量进 行标准化处理,即通过程序将它们转换成标准的浮点型表达形式。
• (3) 回路输出值转换成标定数据
•
PID回路输出的是0.0~1.0之间标准化的实数值,回路输出在驱动
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指令表
2.5 S7---200PLC的指令2.5.1基本指令LD/LDN指令:LD和LDI指令是连接在母线连接的触点.表示操作开始.LD是常开触点,LDN是常闭触点.A/AN指令:A和AN指令是串联连接的触点,A是常开触点, AN是常闭触点.O/ON指令:O和ON指令是并联连接的触点,执行逻辑“或”的功能.OR是常开触点,ORI是常闭触点.= 指令:=是输出触点2.5.2复杂的逻辑指令OLD/ALD指令:OLD是电路块的并联。
ALD是电路块的串联。
2.5.3逻辑堆栈的操作LPS:逻辑入栈指令。
LRD: 逻辑出栈指令。
LPP:逻辑出栈指令。
2.5.4置位/复位指令S/R指令:S是置位指令。
R是复位指令,2.5.5边冲脉冲指令EU是上升沿指令,用—|P|—表示。
ED是下降沿,用—|N|—表示。
2.5.6定时器指令TON/TOF/TONR指令:TON:表示通电延时定时器。
TOF:表示断电延时定时器TONR:表示保持型通电延时定时器。
2.5.7计数器指定CTU/CTD/CTUD指令:CTU表示增计数器。
CTD:表示减数器。
CTUD:表示增/减数器。
程序控制指令2.5.8END/MEND结束指令:END表示条件结束指令,执行条件成立时结束住程序,返回主程序起点。
MEND表示无条件结束指令,结束住程序,返回主程序起点。
STOP指令:STOP表示停止指令2.5.9比较指令: CMP(Compare)的功能指令编号为FNC10,16位运算占7个程序步,32位运算占13个程序步.2.6.1传送指令:MOV的功能号为FNC12,它是将源操作数的内容传送目标操作数.2.6.2四则逻辑运算指令(1)二进制加法指令ADDADD的功能号为FNC20,它是将源操作数S1和S2中的16位二进制数相加,然后运算结果传送到指定的目标操作数中.(2) 二进制减指令SUBSUB的功能号为FNC21.它是将源操作数S1和S2中的16位二进制数相减,然后运算结果传送到指定的目标操作数中.(3) 二进制乘法指令MULMUL的功能号为FNC22.它是将源操作数S1和S2中的16位二进制数相乘,然后运算结果传送到指定的目标操作数为首地址的软元件中.(4) 二进制除法指令DIVDIV的功能号为FNC22.它是将源操作数S1和S2中的16位二进制数相除,然后运算结果传送到指定的目标操作数D中,余数传送到D+1中.。
S7-200PLC功能指令
S7-200PLC功能指令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。
西门子2000 第6章功能指令
6.3 局部变量表与子程序
6.3.1 局部变量表 1.局部变量与全局变量 程序中的每个程序组织单元POU(Program Organizational Unit)均有由64 字节L存储器组成的局部变量表。局部变量只在它被创建的POU中有效,全 局符号在各POU中均有效。局部变量有以下优点: (1) 尽量使用局部变量的子程序易于移植到别的项目。 (2) 如果使用临时变量(TEMP),同一片物理存储器可以在不同的程序 中重复使用。 2.局部变量的类型 TEMP (临时变量):暂时保存在局部数据区中的变量。主程序或中断程序 的局部变量表只有TEMP变量。 IN (输入变量):由调用它的POU提供的传入子程序的输入参数。 OUT(输出变量):子程序返回给调用它的POU的输出参数。 IN_OUT(输入_输出变量):其初始值由调用它的POU提供,并用同一变量将 子程序的执行结果返回给调用它的POU。
移位指令-双字左移和双字右移
SLD和SRD,双字左移和双字右移。指令盒与字节移 位比较,只有名称变为SHL_DW和SHR_DW,其他部分 完全相同。使能输入有效时,把双字型输入数据IN 左移或右移N位后,再将结果输出到OUT所指的双字 存储单元。最大实际可移位次数为32。 指令格式: SLD OUT, N (双字左移) SRD OUT, N (双字右移) 例: SLD MD0, 2 SRD LD0, 3
块传送
指令可用来进行一次多个(最多255个)数据的传送,数据块 类型可以是字节块、字块、双字块。 三条指令中N的寻址范围都是:VB、IB、QB、MB、SB、SMB、 LB、AC、*VD、*AC、*LD和常数。 使ENO断开的出错条件:SM4.3(运行时间);0006(间接寻 址);0091(数超界)。
西门子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第六章2
DIV-I EN ENO IN1 OUT IN2 /I IN1, OUT
DIV-DI EN ENO IN1 OUT IN2 /D IN1, OUT
DIV EN ENO IN1 OUT IN2 DIV IN1, OUT
返回
• 【例6-8】 在输入信号I0.4的上升沿,用模拟电位器0来设置 定时器T37的设定值(5~20s),即从SMB28读出的数字0~ 255对应于5~20s。设读出的数字为N,100ms定时器的设定 值为 • (200–50)×N / 255+50 =150×N / 255+50 (0.1s) • 网络1 • LD I0.4 • EU // 在I0.4的上升沿 • MOVB SMB28, AC0 • MUL +150, AC0 // 150乘以模拟电位器的转换 值 • /D +255, AC0 // 除以255,双整数除 法 • +I +50, AC0 // 加偏移量50(5s) • MOVW AC0, VW10 • 网络2 • LD I0.5 • TON T37, VW10 // T37以VW10中的数 值为设定值
链接 链接
2.高速计数器的工作模式
表7-1 高速计数器的工作模式和输入端子的关系 功能及说明 HSC0 高速计数器 HSC的 工作模 式 高速 I0.0 占用的输入端子及其功能 I0.1 I0.2 ×
HSC4 计 数 器 编 号
HSC1 HSC2 HSC3 HSC5
I0.3
I0.6 I1.2 I0.1 I0.4
6.5.3 逻辑运算指令
• • • • • • • 【例6-9】在I0.0的上升沿执行下面程序中的逻辑运算,运算 前后各存储单元中的值如图6-27所示。 LD I0.0 EU INVB VB0 // 字节取反指令 ANDB VB1, VB2 // 字节与指令 ORB XORB VB3, VB4 VB5, VB6 // 字节或指令 // 字节异或指令
西门子S7-200指令
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2还可以是HC和常数
/R IN1,OUT
两个32位实数相除,得到一个32位实数商。
执行结果:OUT/IN1=OUT(在LAD和FBD中为:IN1/IN2=OUT)
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2还可以是HC和常数
ORD IN1,OUT
将双字IN1和OUT按位作逻辑或运算,OUT输出结果
XORD IN1,OUT
将双字IN1和OUT按位作逻辑异或运算,OUT输出结果
INVD OUT
将双字OUT按位取反,OUT输出结果
两个16位带符号整数相乘,得到一个32位带符号整数。
执行结果:IN1*OUT=OUT(在LAD和FBD中为:IN1*IN2=OUT)
IN1,IN2:VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,*VD,*AC,*LD和常数
OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
两个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位带符号整数商,不保留余数。
IN1和IN2还可以是AIW和常数
S7-200可编程控制器原理及应用习题答案
可编程控制器原理及应用PLC习题解答(S7-200系列PLC)第一章可编程控制器概述1-1、简述可编程的定义答:可编程控制器是取代继电器控制线路,采用存储器程序指令完成控制而设计的装置,具有逻辑运算、定时、计数等功能,用于开关量控制、实际能进行逻辑运算,故称为可编程逻辑控制器,简称PLC。
87年新定义:可编程逻辑控制器是专为在工业环境下应用而设计的一种数字运算操作的电子装置,是带有存储器、可以编制程序的控制器。
它能够存储和执行命令,进行逻辑运算、顺序控制、定时、计数和算术运算操作。
并通过数字式和模拟式的输入、输出、控制各种类型的机械或生产过程。
1-2、可编程控制器的主要特点有哪些?答:可靠性高,PLC平均无故障时间达10万小时;控制功能强,具有数值运算、PID调节;数据通信、中断处理,对步进电机、数控机床、工业机器人实施控制;组建灵活:随时可扩展各种功能;操作方便:三种语言(LAD、STL、FBD)编程。
1-3、可编程控制器有哪几种分类方法?答:按I/O点数分类:小型机I/O<256点;中型机I/O在256~1024之间;大型机I/O>1024点;按结构分类:整体结构和模块结构;按用途分类:有通用型和专用型。
1-4、小型PLC发展方向有哪些?答:小型PLC向微型化和专业化方向发展:集成度更高、体积更小、质量更高更可靠、功能更强、应用更广泛。
第二章可编程控制器构成原理2-1PLC由哪几部分组成?答:PLC由五大部分组成:①、中央处理器CPU;②存储器;③基本I/O接口电路;④接口电路,即I/O扩展和通讯部分;⑤电源(+24V)。
2-2 PLC的I/O接口电路有哪几种形式?答:PLC的输入部分,有三种接口电路:①干结点式;②直流输入式;③交流输入式。
PLC的输出部分,有三种接口电路:①继电器式;②晶体管式;③晶闸管式输入、输出电路均采用光电隔离形式,以便保护PLC内部电路不受伤害。
2-3 PLC的主要技术指标有哪些?答:PLC的主要技术指标如下:①I/O点数、一般以输入、输出端子总和给出;②存储容量,有系统、用户、数据三种存储器,即用户可用资源;③扫描速度,即扫描周期,表示PLC运算精度和运行速度;④可扩展性:可扩展I/O接口、模数处理、温度处理、通讯、高速处理。
S7-200PLC教程第6章
6.3 共享数据块与复杂数据类型
6.3.1 共享数据块的生成与使用 生成数据块 数据块的两种显示方式 6.3.2 复杂数据类型的生成与使用 1.基本数据类型 基本数据类型包括位(Bool),字节(Byte)、字(Word)、双字(Dword)、整数 (INT)、双整数(DINT)和浮点数(Float,或称实数Real)等。 2.复合数据类型 日期和时间用8个字节的BCD码来存储。 8 BCD 字符串(STRING)由最多254个字符和2字节的头部组成。 3.数组 数组(ARRAY)由同一类型的数据组合而成。ARRAY[1..2,1..3]是一个二维数组,共有6 个整数元素。最多为6维。 数组元素”TANK”.PRESS[2,1]:TANK是数据块的符号名,PRESS是数组的名称。 数据视图方式的数组元素及初值,用数组定义数据块的大小。 4.结构 结构(STRUCT)是不同类型的数据的组合。可以用基本数据类型、复杂数据类型和UDT 作为结构中的元素,可以嵌套8层。 数据块TANK内结构STACK的元素AMOUNT表示为”TANK”.STACK.AMOUNT。
5.功能块(FB) 功能块是用户编写的有自己的存储区(背景数据块)的块,每次调用功能 块时需要提供各种类型的数据给功能块,功能块也要返回变量给调用它的块。 这些数据以静态变量(STAT)的形式存放在指定的背景数据块(DI)中,临时变量 存储在局域数据堆栈中。功能块执行完后,背景数据块中的数据不会丢失,但 是不会保存局部数据堆栈中的数据。 FB和FC的共性: 均为用户编写的子程序,局部数据变量均有IN、OUT、IN_OUT和TEMP。 FC的RET_VAL属于OUT变量。临时变量TEMP存储在局部数据堆栈中。调 用功能和功能块时要为形参(形式参数)指定实参(实际参数),执行FC 和FB时用实参代替形参。 FB和FC的区别: FB比FC多了静态变量STAT和背景数据块DI,后者用来保存TEMP之外的 变量。 可以在FB的变量声明表中给形参赋初值。 调用FB或SFB时,必须指定背景数据块。在编译FB或SFB时自动生成背 景数据块中的数据。一个功能块可以有多个背景数据块,用于不同的被控对 象。
S7-200 编程说明
• 功能:使能输入(EN)有效时,把从输入 (IN)字节开始的N个字节数据传送到以输 出字节(OUT)开始的N个字节、字或双字 中。
1、字节的数据块传送指令。使能输入EN有效时,把从输入 IN字节开始的N个字节数据传送到以输出字节OUT开始的N个 字节中。 2、字的数据块传送指令。使能输入EN有效时,把从输入IN 字开始的N个字的数据传送到以输出字OUT开始的N个字的存 储区中。 3、双字的数据块传送指令。使能输入EN有效时,把从输入 IN双字开始的N个双字的数据传送到以输出双字OUT开始的N 个双字的存储区中。
6.2 移位指令
• 移位指令分为类左、右移位和循环左、右移位及寄存器移 位指令三大类。 • 左、右移位和循环左、右移位指令按移位数据的长度又分 为字节型、字型、双字型三种。
• 左、右移位指令(SHL 、SHR )的功能:使能输入有效时, 将输入的字节、字或双字(IN)左、右移N位后(右、左端 补0),将结果输出到OUT所指定的存储单元中,最后一次 移出位保存在SM1.1。 • 循环左、右移位指令(ROL 、ROR )的功能:使能输入有 效时,字节、字或双字(IN)数据循环左移N位后,将结果 输出到OUT所指定的存储单元中,并将最后一次移出位送 SM1.1。
第六章 S7-200系列PLC的功能指令
• • • •
学习要求 熟悉各功能指令的格式 熟练掌握梯形图编程 会利用中断技术
综述:
• 本章主要介绍s7-200系列的PLC功能指令: 数据处理指令,算术/逻辑运算指令,表功能指 令,转换指令,中断指令,高速处理指令等常用 的功能指令 • 功能指令又称应用指令,它是指令系统应用 于复杂控制的指令.
6.3 字节交换/填充指令
• 1、字节交换指令(SWAY IN)
第6章 S7-200系列PLC的
END、STOP、WDR指令应用举例
☆ STOP与END指令通常在程序中用来处理突发应急事件,可以有 效避免实际生产中的重大损失。
6.3.4 跳转及标号指令
◆跳转指令(JMP)与标号(LBL)指 令可以在相同的代码段中(主程序、子 程序或中断程序)完成分支操作,将程 序流程跳转到标号(n)目的地。 ◆不能从主程序跳转至子程序或中断例 行程序中的标号,也不能从子程序或中 断例行程序跳转至该子程序或中断例行 程序之外的标号。 ◆可以在顺序控制SCR段中使用“跳转” 指令,但对应的“标号”指令必须位于 相同的SCR段内。
6.2.1 位逻辑指令
1.基本位操作指令
基本位操作指令操作数寻址范围:I,Q,M,SM,T,C,V, S,L等。指令助记符: LD(Load)、LDN(Load Not)、A(And)、 AN(And Not)、O(Or)、 ON(Or Not)、=(Out)。 【例题】位操作指令的程序应用,如图6-5所示。
3.间接寻址
● 间接寻址使用指针存取存储单元中的数据。可以用作指针的存储 器有变量存储器(V)、局部变量存储器(L)、累加器(A C)。 ● S7-200允许指针存取以下内存区:I、Q、V、M、S、T(仅限当前值) 和C(仅限当前值),但不能对独立的位(BIT)值或模拟量进行间接 寻址。 ● 用间接寻址方式存取数据需要作的工作有3种:建立指针、指针存 取数据和修改指针。 1)建立指针
【例题1】块操作指令程序应用,如图6-10所示。
6.2.2 逻辑堆栈指令
【例题2】栈操作指令应用程序,如图6-11所示。
想一想 练一练
将梯形图转换成语句表指令编程。
6.2.3 定时器指令
◆ S7-200 PLC 的 定 时器在程序中用于延 时 ◆有T0~T255共256 个定时器 ◆分为TON、TOF和 TONR 定 时 器 等 3 个 类型
第6章_S7-200顺序逻辑控指令及应用
称
开关 东西向绿灯 东西向黄灯 东西向红灯 南北向绿灯 南北向黄灯 南北向红灯
代 码 输入信号 SA 输出信号 HL1 HL2 HL3 HL4 HL5 HL6
地址编号 I0.0 Q0.0 Q0.1 Q0.2 Q0.3 Q0.4 Q0.5
22
顺序功能图的编程步骤: (2)PLC端子接线
23
(3)编制控制系统的功能图
9
6.1.3 功能图的构成规则
(1)状态与状态不能直接相连,必须用转移分开; (2)转移与转移不能直接相连,必须用状态分开; (3)状态与转移、转移与状态之间的连线采用有向线段, 画功能图的顺序一般是从上向下或从左到右,正常顺序 时可以省略箭头,否则必须加箭头。 (4)一个功能图至少应有一个初始状态。如果没有初始步, 无法表示初始状态,系统也无法返回等待其动作的停止 状态。 (5)功能图一般来说是由状态和有向线段组成的闭环,即 在完成一次工艺过程的全部操作之后,应从最后一步返 回到初始步,系统停在初始状态,在连续循环工作方式 时,应从最后一步返回下一工作周期开始运行的第一步。
单流程结构的功能图
15
单流程结构举例1
例6-1:三台电动机MA1、MA2、MA3 按启动按钮后,MA1立即启动,随后MA2、MA3按时间 顺序自动启动。 停止时,按停止按钮,MA3立即停止,随后MA2、 MA1按时间顺序自动停止。 顺序功能图的编程步骤: ①分析控制要求,找出控制设备现场的实际输入和输出 点,选择PLC型号并分配I/O 地址 ②PLC端子接线 ③编制控制系统的顺序功能图 ④将顺序功能图转化成梯形图或语句表
(a)
转移条件
转移条件
(b)
8
6.1.2 功能图的基本概念(续)
送料小车往复运动的功能图 运货小车的工作过程: 循环开始时,小车处于两电机之间,按 下启动按钮SF1,接触器QA1得电,左电 机MA1启动;小车此时处在中间位置处 开始向左快速运行,行至BG1处,行程开 关BG1动作,QA1失电,QA2得电,小车向 左慢速运行;当到达BG2处时,BG2动 作,QA2失电,小车静止,此时定时器T43 开始通电延时,同时给小车装货,1分钟装 货结束,QA3得电,小车开始向右快速运 行;当碰到行程开关BG3时,QA3断电,同 时QA4得电,小车开始向右慢速运行;当 到达BG4时,小车静止,QA4断电,此时 定时器T44开始延时,同时给小车卸货,1 分钟后,定时器T44动作,小车开始向左 快速运行,如此周而复始。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Harbin Institute of Technology PAGE - 1 -
第六章 S7-200功能指令
S7-200常用功能指令类型
1. 传送、移位和填充指令 2. 数学运算与逻辑运算指令 3. 数据转换指令 4.子程序
Harbin Institute of Technology PAGE - 2 -
(1) 一般乘法指令(Multiply)
对有符号数进行乘法操作,包括整数、双整数和实数加法。 LAD中,IN1 * IN2 = OUT;STL中, IN1 * OUT = OUT IN/OUT 的数据类型相同
(2)完全乘法指令(Multiply Integer to Double Integer)
©
Harbin Institute of Technology PAGE - 6 -
6.1传送、移位和填充指令
(3)字节立即传送(Move Byte Immediate)
(看门狗复位中使用过)
用于输入和输出的立即处理
传送字节立即读指令 BIR
立即读取单字节物理区数据IN,并传送到OUT所指的字节存储单元。 用于对输入信号的立即响应。 输入为IB,输出为字节。
4. 除法指令
(1)一般除法指令(Divide)
对有符号数进行除法操作,包括整数、双整数和实数加法。 LAD中,IN1/ IN2 = OUT;STL中, OUT / IN1 = OUT;不保留余数 IN/OUT 的数据类型相同
(2)完全除法指令(Divide Integer to Double Integer)
Harbin Institute of Technology PAGE - 7 -
传送字节立即写指令 BIW
立即将IN单元的字节数据写到OUT所指的字节存储单元的物理区及映像区 用于把计算出的Q结果立即输出到外部负载 输入为字节,输出为QB 。
©
©
Harbin Institute of Technology PAGE - 8 -
对无符号数(字节)或有符号数(字或双字)自动加1或减1
(1)增指令(Increment)
LAD中,IN + 1 = OUT ;STL中, OUT + 1 = OUT
Harbin Institute of Technology PAGE - 24 -
(2)减指令(Decrement)
LAD中,IN - 1 = OUT ;STL中, OUT - 1 = OUT
Harbin Institute of Technology PAGE - 4 ©
单一传送(MOVE)举例
©
Harbin Institute of Technology PAGE - 5 -
6.1传送、移位和填充指令
6.1传送、移位和填充指令
(2)块传送(BLOCK MOVE)
可进行一次多个(最多255个)数据的 传送 包括字节块传送、字块传送和双字块 传送 输入/输出的数据类型相同
©
6.1传送、移位和填充指令
(2)循环指令(Rotate)
包括字节型、字型和双字型循环指令 循环数据存储单元的移出端与另一端相连,同时与SM1.1(溢出)相连,最后被移出的位被放 到SM1.1,也同时放入存储单元另一端
循环右移指令
把输入数据循环右移N位,输出到OUT所指的存储单元 实际移位次数为设定值取以8(16或32)为底的模所得的结果 输入/输出均为字节(字或双字),N为字节型数据
对有符号两个单字进行乘法操作,产生一个32位结果 LAD中,IN1 * IN2 = OUT;STL中, IN1 * OUT = OUT,32位运算结果存储单元的 低16位运算前用于存放被乘数
Harbin Institute of Technology PAGE - 18 ©
6.2运算和数学指令
对有符号两个单字进行除法操作,产生一个32位结果;低16位为商,高16位为余数 LAD中,IN1/ IN2 = OUT;STL中,OUT / IN1 = OUT ,32位运算结果存储单元的 低16位运算前用于存放被除数
Harbin Institute of Technology PAGE - 19 ©
5. 时钟指令
6. 中断
©
描述功能指令的约定
1. 指令格式:梯形图和语句表 2. 功能描述及使用注意事项
3.字符含义
B:字节,W:字,I:整数,DW:双字(LAD中),DI:双整数(LAD中),D:双字或双整数(STL 中) R:实数
4. 数据类型
字节型,字型及INT型,双字型及DINT型,字符型字节 操作数分输入操作数(IN)和输出操作数(OUT),输出操作数(OUT)一般不包括常数
右移指令
Harbin Institute of Technology PAGE - 9 -
把输入数据右移N位,输出到OUT所指的存储单元 输入/输出均为字节(字或双字),N为字节型数据
左移指令
把输入数据左移N位,输出到OUT所指的存储单元 输入/输出均为字节(字或双字),N为字节型数据
Harbin Institute of Technology PAGE - 10 -
循环左移指令
把输入数据循环左移N位,输出到OUT所指的存储单元 实际移位次数为设定值取以8(16或32)为底的模所得的结果 输入/输出均为字节(字或双字),N为字节型数据
©
©
Harbin Institute of Technology PAGE - 11 -
(4)正弦(Sine)、余弦(Cosine)和正切(Tan)指令
将实数弧度值取正弦、余弦或正切,实数结果送到OUT 用MUL_R和DIV_R将角度转化为弧度(/180,)
©
Harbin Institute of Technology PAGE - 23 -
6.2运算和数学指令
6. 增/减指令
2. 减法指令(Subtract)
对有符号数进行减法操作,包括整数、双整数和实数加法。 LAD中,IN1 - IN2 = OUT;STL中, OUT - IN1 = OUT
©
Harbin Institute of Technology PAGE - 17 -
6.2运算和数学指令
3. 乘法指令
VW24=13
VW30=50,VW32=13。 注意LAD和语句表的差别
©
6.2运算和数学指令
算术运算指令应用实例(2)
图(a)和(b)的执行结果有何不同? 图(a)中用了上升沿脉冲输出指令,而图(b)中没有用上升沿脉冲输出指令。
©
Harbin Institute of Technology PAGE - 21 -
最好用LAD编程,清晰易懂
1. 加法指令(Add)
对有符号数进行加法操作,包括整数、双整数和实数加法。 LAD中,IN1 + IN2 = OUT;STL中, IN1 + OUT = OUT
©
Harbin Institute of Technology PAGE - 16 -
6.2运算和数学指令
©
6.2运算和数学指令
7. 逻辑运算指令
对字节、字或双字等逻辑数(无符号数)进行逻辑与、逻辑或、逻辑异或、取反等
(1)逻辑与运算指令(Logic And)
把两个逻辑数按位相与,得到一个逻辑数并输出到OUT
(2)逻辑或运算指令(Logic Or)
把两个逻辑数按位相或,得到一个逻辑数并输出到OUT
6.2运算和数学指令
算术运算指令应用实例(1)
若VW10=2000, VW12=150, 则执行完该段程序后, 各有关结果存储单元 的数值为: VW16=2150,
Harbin Institute of Technology PAGE - 20 -
VW18=185和循环指令举例
6.1传送、移位和填充指令
6.1传送、移位和填充指令
(3)寄存器移位指令(Shift Register)
分为正向移位和反向移位 每次EN有效,在每个扫描周期内整个移位寄存器移动一位 要用边沿跳变指令控制使能端的状态 三个数据输入端
数据输入DATA,将该位的值移入移位寄存器,BOOL型 移位寄存器的最低位端S_BIT, BOOL型 指定移位寄存器的长度N,字节型
字节传送指令应用举例
6.1传送、移位和填充指令
6.1传送、移位和填充指令
2. 移位与循环指令
包括左移和右移、左循环和右循环 过去常用于对顺序动作的控制,现在很少使用
(1)移位指令(Shift)
包括字节型、字型和双字型移位指令 移位数据存储单元的移出端与SM1.1(溢出)相连,最后被移出的位被放到SM1.1 移位时,移出的位进入SM1.1,;另一端补“0” 如果移位操作使数据变为“0”,零存储器标志位SM1.0自动置位
©
©
Harbin Institute of Technology PAGE - 13 -
寄存器移位指令举例
6.1传送、移位和填充指令
6.1传送、移位和填充指令
3. 字节交换(Swap Bytes)
将字型输入数据IN的高字节和低字节交换。
©
Harbin Institute of Technology PAGE - 14 -
Harbin Institute of Technology PAGE - 22 -
(3)指数指令(Natural Exponential)
把实数IN取以e为底的指数,实数的结果送到OUT 用指数指令和自然对数指令配合,可以完成以任意常数为 底和以任意常数为指数的计算