西门子S7-200 PLC指令学习
- 格式:doc
- 大小:337.00 KB
- 文档页数:26
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-200SMARTPLC常用编程指令汇总
01一、定时器
1、S7-200 SMART CPU提供了接通延时定时器、(TON)、保持型接通延时定时器(TONR)、断开延时定时器(TOF)三种定时器。
2、定时器编号与分辨率
3、定时器实例分析
(1)接通延时定时器TON
(2)保持型接通延时定时器TONR
(3)断开延时定时器TOF
02二、计数器
1、S7-200 SMART CPU提供了加计数器(CTU)、减计数器(CTD)、加减计数器(CTUD)三种计数器。
2、计数器实例分析
(1)加计数器CTU
(2)减技数CTD
(3)加减计数器CTUD
03三、循环指令
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、示例分析
(1)移位指令和循环移位指令的示例分析
(2)移位寄存器位指令
综上所述,每当M0.0有一个上升沿到来时,从V200.4开始向高地址方向数的9个位会朝高地址方向移位,I0.0的状态会被送到V200.4中。
西门子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-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位带符号整数。
SIEMNS PLC S7-200指令合集一、基本位操作指令1. 逻辑取(装载)及线圈驱动指令(1)LD(load):常开触点逻辑运算的开始。
LDN(load not):常闭触点逻辑运算的开始(对操作数的状态取反)=(OUT):线圈驱动(赋值指令)。
对同一元件只能使用一次。
(2)指令格式2. 触点串联指令A(And),AN(And not)(1)A(And):串联连接常开触点。
AN(And not)串联连接常闭触点。
(2)指令格式3. 触点并联指令:O(OR),ON(ORNOT)(1)O(OR):并联连接常开触点。
ON:并联连接常闭触点。
(2)指令格式4. 逻辑环节(电路块)的串联指令ALD(1)ALD(And load) :用于串联连接并联触点组成的电路块。
(2)指令格式5. 逻辑环节(电路块)的并联指令OLD(1)OLD(OR load) :用于并联连接串联触点组成的电路块。
(2)指令格式6. 置位/复位指令S/R(1)置位指令S:使能输入有效后从起始位S-bit开始的N个位置“1”并保持。
复位指令R:使能输入有效后从起始位S-bit开始的N个位清“0”并保持。
(2)指令格式7. 脉冲生成指令EU/ED(1)EU指令:在EU指令前的逻辑运算结果有一个上升沿时(由OFF→ON)产生一个宽度为一个扫描周期的脉冲,驱动后面的输出线圈。
ED指令:在ED指令前有一个下降沿时产生一个宽度为一个扫描周期的脉冲,驱动其后线圈。
(2)指令格式8. 定时器指令(1)通电延时定时器(TON)、有记忆的通电延时定时器(TONR)和失电延时定时器(TOF)(2)指令格式9. 计数器指令(1)增计数器(CTU)、减计数器(CTD)和增/减计数器(CTUD)。
(2)指令格式10. 比较触点指令(1)比较指令与基本逻辑指令LD、A、O进行组合后编程,当比较结果为真时,将栈顶值置为1。
== 等于>= 大于等于<= 小于等于>大于<小于<>不等于(2)指令格式11.循环指令(1)使能输入端(EN)有效,循环体开始执行,执行到NEXT指令时返回。
S7-200编程指令1、位逻辑(1)标准输入(2)立即输入(3)逻辑堆栈指令(不适合LAD和FBD)(4)NOT指令(5)上升沿和下降沿(6)输出和立即输出(7)置位和复位(8)置位和复位优先稳态触发器(9)NOP空指令2、定时器(1)定时器指令(TON、TONR、TOF)定时器类型分辨率最大值定时器编号TON、TOF1ms 32.767s T32、T9610ms 327.67s T33—T36、T97—T100100ms 3276.7s T37—T63、T101—T255 TONR1ms 32.767s T0、T6410ms 327.67s T1—T4、T65—T68100ms 3276.7s T5—T31、T69—T953、计数器(1)计数器指令(2)高数计时器4、程序控制(1)FOR-NEXT循环(2)JMP(跳转指标号)(3)SCR(顺控继电器)(4)看门狗定时器复位指令(5)获取非致命代码5、比较(1)数值比较(2)数据类型(3)功能图(4)比较字符串6、传送(1)字、字节、双字、实数传送(2)快传送(3)交换字节(4)字节立即传送7、移位和循环移位(1)移位和循环移位(2)移位寄存器位8、逻辑运算(1)取反指令(2)与、或、异或9、中断(1)中断指令10、转换(1)标准转换指令(2)格式(3)段码指令(4)ASCII码与十六进制转换(5)数字值转换ASCII字符(6)数值转化为ASCII字符串(7)ASCII字符串转化成数值(8)编码和解码11、数学运算(1)加减乘除(2)产生双整数的整数乘法和带余数的整数除法(3)三角函数、自然对数/自然指数和平方根(4)递增和递减(5)PID回路12、字符串(1)获取长度、复制和链接(2)从字符串中复制子字符串(3)在字符串中查找字符串和第一个字符13、子程序14、表(1)添表(2)先进先出和后进后出(3)储存器填充(4)查表15、脉冲输出(1)指令(2)脉宽调制PWM16、时钟(1)读取和设置实时时钟(2)读取和设置实时时钟17、通信(1)发送和接受(RS485/RS232自由端口)(2)获取端口地址和设置端口地址(RS232/RS485上的PPI协议)(3)获取IP地址和设置IP地址(以太网)文档为自己整理,源文件来自/share/link?shareid=1192470169&uk=118148775。
西门子S7-200 PLC指令学习S7-200PLC数据传送指令数据传送指令如表4-22所示。
S7-200系列的基本逻辑指令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预置值必须大于最小需要的时间间隔。
例如:使用10ms时基定时器实现140ms 延时(时间间隔),则PT应设置为15(10ms×15=150ms)。
2)功能(1)接通延时定时器TON——一般用于单一时间间隔的定时指令格式:见图,编号与分辨率及定时器类型有关。
(见教材P221:Fig8-3-3a)使能:——IN:I2.0 =“1”当前值——T33,当在线(Online)时,此处显示当前值预置值——PT=3,即定时时间=10ms×3=30ms复位——IN:I2.0 = “0”定时器状态(位)——“1”或“0”与MODICON PLC的定时器指令对照:区别:对MODICON PLC,当10001=“0”,10002=“1”时,定时器当前值保持;当计时时间到,即(40040)= 30时,只要10002=“1”,定时器也是保持对S7-200 PLC,只要I0.0=“1”,即计时,当T33当前值=3时,定时器继续计时,直至I0.0=“0”,定时器复位(相当于10002=“0”)(1)断开延时定时器TOF——一般用于故障时间后的时间延时指令格式:见图,编号与分辨率及定时器类型有关。
注意:定时器状态(位)=“1”(置位)及当前值复0与使能.I0.0=“1”同步;计时开始与使能I0.0从“1”→“0”(断开)同步,且当计时时间到而使能仍=“0”时,当前值保持。
(2)有记忆接通延时定时器TONR——一般用于累计许多时间间隔(指令功能及时序图见教材P222:Fig8-3-3c)指令格式:见图,编号与分辨率及定时器类型有关。
注意:定时器状态(位)=“1”(置位)及当前值复0与使能.I0.0=“1”同步;计时开始与使能I0.0从“1”→“0”(断开)同步,且当计时时间到而使能仍=“0”时,当前值保持。
(3) 有记忆接通延时定时器TONR——一般用于累计许多时间间隔S7-200系列PLC的计数器指令1)类型及编号CTU——增计数CTD——减计数C0~C255CTUD——增减计数计数器6个要素:指令格式(类型、编号等)预置值——PV使能——CU、CD 复位——R、LD当前值——Cxxx 计数器状态(位)——与定时器类似2)功能、时序图及应用示例此例为一个增减计数器的应用示例,其与MODICON PLC计数器指令的比较,同学可自己进行,并注意到,计数器指令的使能均是采样上升沿(“0”→“1”)。
S7-200系列PLC其它常用指令1.脉冲产生指令EU/ED的应用EU指令在EU指令前的逻辑运算结果由OFF到ON时就产生一个宽度为一个扫描周期的脉冲,驱动其后面的输出线圈。
2 .逻辑堆栈的操作LPS为进栈操作,LRD为读栈操作,LPP为出栈操作。
S7-200系列PLC中有一个9层堆栈,用于处理逻辑运算结果,称为逻辑堆栈。
3 .NOT、NOP和MEND指令NOT、NOP及MEND指令的形式及功能如表4-19所示。
NOT为逻辑结果取反指令,在复杂逻辑结果取反时为用户提供方便。
NOP为空操作,对程序没有实质影响。
MEND为无条件结束指令,在编程结束时一定要写上该指令,否则会出现编译错误。
调试程序时,在程序的适当位置插入MEND指令可以实现程序的分段调试。
4.比较指令比较指令是将两个操作数按规定的条件作比较,条件成立时,触点就闭合。
比较运算符有:=、>=、<=、>、<和<>。
(1)字节比较字节比较用于比较两个字节型整数值INl和IN2的大小,字节比较是无符号的。
比较式可以是LDB、AB或OB后直接加比较运算符构成。
如:LDB=、AB<>、OB>=等。
整数INl和IN2的寻址范围:VB、IB、QB、MB、SB、SMB、LB、*VD、*AC、*LD和常数。
指令格式例如:LDB= VBl0,VBl2(2)整数比较整数比较用于比较两个一字长整数值INl和IN2的大小,整数比较是有符号的(整数范围为16#8000和16#7FFF之间)。
比较式可以是LDW、AW或OW后直接加比较运算符构成。
如:LDW=、AW<>。
OW>=等。
整数INl和IN2的寻址范围:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常数。
指令格式例如:LDW= VWl0,VWl2(3)双字整数比较双字整数比较用于比较两个双字长整数值INl和IN2的大小,双字整数比较是有符号的(双字整数范围为16#80000000和16#7FFFFFFF之间)。
比较式可以是LDD、AD或OD后直接加比较运算符构成。
如:LDD=、AD<>、OD>=等。
双字整数INl和IN2的寻址范围:VD、ID、QD、MD、SD、SMD、LD、HC、AC、*VD、*AC、*LD和常数。
指令格式例如:LDD= VDl0,VDl2(4)实数比较实数比较用于比较两个双字长实数值INl和IN2的大小,实数比较是有符号的(负实数范围为-1.175495E-38和-3.402823E+38,正实数范围为+1.175495E-38和+3.402823E+38)。
比较式可以是LDR、AR或OR后直接加比较运算符构成。
如:LDR=、AR<>、OR>=等。
实数INl和IN2的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD 和常数。
指令格式例如:LDR= VDl0,VDl2S7-200PLC功能指令概述般的逻辑控制系统用软继电器、定时器和计数器及基本指令就可以实现。
利用功能指令可以开发出更复杂的控制系统,以致构成网络控制系统。
这些功能指令实际上是厂商为满足各种客户的特殊需要而开发的通用子程序。
功能指令的丰富程度及其合用的方便程度是衡量PLC性能的一个重要指标。
S7-200的功能指令很丰富,大致包括这几方面:算术与逻辑运算、传送、移位与循环移位、程序流控制、数据表处理、PID指令、数据格式变换、高速处理、通信以及实时时钟等。
功能指令的助记符与汇编语言相似,略具计算机知识的人学习起来也不会有太大困难。
但S7-200系列PLC功能指令毕竟太多,一般读者不必准确记忆其详尽用法,需要时可可查阅产品手册。
S7-200PLC四则运算指令介绍四则运算指令如表4-20所示。
西门子S7-200 PLC指令学习(2] S7-200PLC逻辑运算指令逻辑运算指令如表4-21所示。
S7-200PLC移位与循环移位指令移位与循环移位指令如表4-23所示。
表4-23 移位与循环移位指令S7-200PLC交换和填充指令交换和填充指令如表4-24所示。
表4-24 交换和填充指令S7-200PLC 表操作指令表操作指令如表4-25所示。
表4-25 表操作指令S7-200PLC 数据转换指令数据转换指令如表4-26所示。
表4-26 数据转换指令S7-200PLC 特殊指令特殊指令如表4-27所示。
PLC中一些实现特殊功能的硬件需要通过特殊指令来使用,可实现特定的复杂的控制目的,同时程序的编制非常简单。
表4-27 特殊指令西门子S7-200 PLC指令学习(4)(2)有记忆接通延时定时器TONR——一般用于累计许多时间间隔(指令功能及时序图见教材P222:Fig8-3-3c)指令格式:见图,编号与分辨率及定时器类型有关。
注意:定时器状态(位)=“1”(置位)及当前值复0与使能.I0.0=“1”同步;计时开始与使能I0.0从“1”→“0”(断开)同步,且当计时时间到而使能仍=“0”时,当前值保持。
(3) 有记忆接通延时定时器TONR——一般用于累计许多时间间隔S7-200系列PLC的计数器指令1)类型及编号CTU——增计数CTD——减计数C0~C255CTUD——增减计数计数器6个要素:指令格式(类型、编号等)预置值——PV使能——CU、CD 复位——R、LD当前值——Cxxx 计数器状态(位)——与定时器类似2)功能、时序图及应用示例此例为一个增减计数器的应用示例,其与MODICON PLC计数器指令的比较,同学可自己进行,并注意到,计数器指令的使能均是采样上升沿(“0”→“1”)。
S7-200系列PLC其它常用指令1.脉冲产生指令EU/ED的应用EU指令在EU指令前的逻辑运算结果由OFF到ON时就产生一个宽度为一个扫描周期的脉冲,驱动其后面的输出线圈。
2 .逻辑堆栈的操作LPS为进栈操作,LRD为读栈操作,LPP为出栈操作。
S7-200系列PLC中有一个9层堆栈,用于处理逻辑运算结果,称为逻辑堆栈。
3 .NOT、NOP和MEND指令NOT、NOP及MEND指令的形式及功能如表4-19所示。