第七讲_西门子PLC基本逻辑指令及其编程
- 格式:ppt
- 大小:1.60 MB
- 文档页数:87
西门子PLC的逻辑堆栈操作指令西门子S7—200系列plc使用一个9层堆栈来处理全部规律操作,它和计算机中的堆栈结构相同。
堆栈是一组能够存储和取出数据的暂存单元,其特点是“先进后出”。
每一次进行人栈操作,新值放人栈顶,栈底值丢失;每一次进行出栈操作,栈顶值弹出,栈底值补进随机数。
规律堆栈指令主要用来处理对触点进行的简单连接。
规律堆栈指令有:规律入栈LPS、规律读栈LRD和规律出栈LPP 指令。
上述三条指令的用法如图所示。
LPS(Logic Push):规律入栈指令(分支电路开头指令)。
在梯形图中的分支结构中,可以形象地看出,它用于生成一条新的母线,其左侧为原来的主规律块;右侧为若干个新的从规律块。
从堆栈使用上来讲,LPS指令的作用是把当前运算值复制后压人堆栈,以备后用。
对于右侧第一个新的从规律块,由于其之前的规律运算结果就是刚复制并入栈的运算值,因此可以直接在LPS指令之后连续编程。
LRD(Logic Read):规律读栈指令。
在梯形图分支结构中,当新母线左侧为主规律块时,经过右侧第一个新的从规律块的运算,主规律块运算结果已经不存在(但在此之前已经被LPS指令复制到堆栈中),要进行后续的从规律块编程时,就需要使用LRD指令从堆栈中读回主规律块运算结果,所以LRD指令用于其次个以后的从规律块编程。
从堆栈使用上来讲,LRD读取最近的LPS压人堆栈的内容,而不进行Push 和Pop工作。
LPP(Logic Pop):规律出栈指令(分支电路结束指令)。
在梯形图分支结构中,LPP用于LPS产生的新母线右侧的最终一个从规律块编程,它在读取完离它最近的LPS压入堆栈内容的同时复位该条新母线。
从堆栈使用上来讲,LPP把堆栈弹出一级,堆栈内容依次上移。
图LPS、LRD、LPP指令使用说明:(1)由于受堆栈空间的限制(9层堆栈),LPS、LPP指令连续使用时应少于9次。
(2)LPS和LPP指令必需成对使用,它们之间可以使用LRD指令。
西门子PLC标准触点的位逻辑指令标准触点:图1 标准触点当常开(NO)触点对应的存储器址位(bit)为1时,表示该触点闭合,常闭(NC)触点对应的存储器址位(bit)为0时,表示该触点闭合。
◆ LD:装入常开触点(LoaD)◆ LDN:装入常闭触点(LoaD Not)◆ A:与常开触点(And)◆ AN:与常闭触点(And Not)◆ O:或常开触点(Or)◆ ON:或常闭触点(Or Not)◆ NOT:触点取非(输出反相)◆ = :输出指令)1、装载与非装载指令——LD、LDN当常开触点或常闭触点起于左母线时,分别使用以上命令。
例:图2 例2、与、或及输出指令(1)常开触点的与、或——A、O例:图3 例(2)常闭触点的与、或——AN、ON例:图4 例以上指令的操作对象:I、Q、M、SM、T、C、V、S、L (3)输出指令—— =例:图5 例3、取非指令—— NOT图6 取非指令和时序4、正、负跳变指令—— EU、ED正跳变触点:在检测到每一次正跳变(从OFF到ON)之后,让能流接通一个扫描周期。
负跳变触点:在检测到每一次负跳变(从ON到OFF)之后,让能流接通一个扫描周期。
图7 跳变指令准时序5、置位和复位(N位)指令—— S、R执行置位(置1)和复位(置0)指令时,从bit或out指令的地址参数开头的N个点都被置位或复位。
置位、复位的点数N可以是1—255。
当用复位指令时,假如bit或OUT指令的是T或C位,那么定时器或计数器被复位,同时计数器或定时器当前值被清零。
图8 置位和复位指令准时序6、空操作指令—— NOP空操作指令不影响程序的执行,操作数N是一个0—255之间的数。
图9 空操作指令7、块操作指令—— ALD、OLDALD — 块串联,OLD — 块并联。
西门子PLC的基本指令程序设计西门子PLC基本指令程序设计1.概述本章节介绍西门子可编程逻辑控制器(PLC)的基本概念,并提供一个全局视图,以帮助读者对PLC程序设计的整体流程有一个清晰的理解。
2.硬件配置本章节详细介绍西门子PLC的硬件组成,包括CPU、输入/输出模块、内存模块等,并提供相应的连接示意图,以便读者正确组装和布线。
3.编程软件介绍本章节主要介绍西门子PLC的编程软件,以及其基本功能和特点。
涵盖安装、启动、创建新项目以及常用的编辑、调试和功能等。
4.PLC基本指令本章节详细介绍西门子PLC的基本指令,包括数据传输、逻辑运算、比较指令等。
每个指令都提供详细的语法说明和示例程序,以便读者理解和应用。
5.条件和循环指令本章节介绍条件和循环指令的用法,包括IF指令、CASE指令、FOR循环等。
每个指令都提供详细的语法说明和示例程序,以便读者掌握条件和循环控制流程。
6.定时器和计数器本章节介绍定时器和计数器的用法,包括单个定时器/计数器和多个定时器/计数器的应用。
提供具体的配置和使用示例,以便读者正确使用和调试。
7.运动控制本章节介绍西门子PLC的运动控制功能,包括定位控制、速度控制和力矩控制等。
提供相应的配置和程序示例,以便读者掌握运动控制的基本技术。
8.网络通信本章节介绍西门子PLC的网络通信功能,包括以太网、Profibus和Profinet等。
提供相应的配置和程序示例,以便读者实现PLC之间的数据交换和远程监控。
9.调试和故障排除本章节介绍PLC程序的调试和故障排除技巧,包括在线调试、错误代码解读和常见故障的排查处理方法。
帮助读者快速定位并解决问题。
10.参考资料本章节列出了相关的参考资料,包括西门子PLC官方文档、PLC编程手册、示例程序和常见问题解答等,以便读者进一步学习和参考。
附件:________本文档附带的附件包括示例程序、连接图和其他相关文档,以帮助读者更好地理解和应用PLC程序设计。
西门子PLC的数学运算指令梯形图编程 -西门子plc1.整数、双整数、浮点数的四则运算西门子S7-200/300/400plc的四则运算指令基本相同,主要是对两个操作数的加、减、乘、除运算,操作数可以是整数、双整数、浮点数等。
S7-200与S7-300/400的指令格式相像,梯形图程序格式如图10-7.1所示。
图中的IN1为四则运算中的被加数、被减数、被乘数、被除数;IN2为加数、减数、乘数、除数:OUT为运算结果存储器地址。
从图10-7.1可见,尽管S7-200与S7-300/400的梯形图指令相同,但从转换后的指令表可以看出两者在执行过程中存在差异。
S7-200的执行过程如下:①将操作数l(被加数、被减数、被乘数、被除数)移动到结果存储器;②将结果存储器(操作数1)与操作数2(加数、减数、乘数、除数)进行运算,并将运算结果存储到结果存储器中。
S7-300/400的执行过程如下:①将操作数l(被加数、被减数、被乘数、被除数)读入到累加器l 中:②将操作数2(加数、减数、乘数、除数)读入到累加器1中,原累加器1中的操作数l移动到累加器2中:③累加器2中的内容与累加器l运算,运算结果存储在累加器l中;④累加器1的运算结果传送到结果存储器中。
四则运算编程时应留意以下几点:①在S7-200中,整数、双整数的运算结果仍旧为整数与双整数,因此,在程序中应留意防止因运算结果溢出而导致的执行错误。
②在S7-200中整数、双整数的除法运算DIV—I、DIV- DI指令,以及S7-300/400的DIV_ DI指令,除法运算的结果不保留余数。
③对于S7-200的整数除法,假如需要余数,可以使用DIV指令。
DIV 指令要求的输出存储器OUT为32位,执行DIV指令后,两个整数的除法运算可以得到32位运算结果,输出存储器OUT的高16位用于存储余数,低16位用于存储商。
④S7-200的双整数除法无法保留余数。
⑤对于S7-300/400的整数除法,可以自动生成余数,执行DIV I指令后,累加器l的高16位存储余数,低16位存储商。
西门子PLC编程指令集大全,看完必有收获!西门子PLC编程指令包括:位逻辑指令,比较指令,转换指令等14个,相信很多初学的朋友们对这些指令了解的不是很全面,有些指令符号并不理解是什么意思。
那么小编为了大家更好的学习,整理出西门子PLC指令大全,希望对大家有帮助!一、位逻辑指令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 地址上升沿检测二、转换指令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 下取整三、比较指令1. CMP?R 实数比较2. CMP?I 整数比较3. CMP?D 双整数比较四、计数器指令1. S_CUD 加减计数2. S_CU 加计数器3. S_CD 减计数器4. -(SC) 计数器置初值5. -(CU) 加计数器线圈6. -(CD) 减计数器线圈五、逻辑控制指令1. -(JMP) 无条件跳转2.-(JMP) 条件跳转3. -(JMPN) 若非则跳转4. LABEL 标号六、数据块指令1. -(OPN) 打开数据块:DB或DI七、整数算术运算指令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 回送余数的双整数八、浮点算术运算指令一基础指令1. ADD_R 实数加法2. SUB_R 实数减法3. MUL_R 实数乘法4. DIV_R 实数除法5. ABS 浮点数绝对值运算二扩展指令1.SQR 浮点数平方2. SQRT 浮点数平方根3. EXP 浮点数指数运算4. LN 浮点数自然对数运算5. SIN 浮点数正弦运算6. COS 浮点数余弦运算7. TAN 浮点数正切运算8. ASIN 浮点数反正弦运算9. ACOS 浮点数反余弦运算10.ATAN 浮点数反正切运算九、程序控制指令1. -(Call) 从线圈调用FC/SFC(无参数)2. CALL_FB 从方块调用FB3. CALL_FC 从方块调用FC4. CALL_SFB 从方块调用SFB5. CALL_SFC 从方块调用SFC6. -(MCR<) 主控继电器接通7. -(MCR>) 主控继电器断开8. -(MCRA) 主控继电器启动9. -(MCRD) 主控继电器停止10. -(RET) 返回十、赋值指令1. MOVE 赋值2. 移位和循环指令十一、移位指令1.SHR_I 整数右移2. SHR_DI 双整数右移3. SHL_W 字左移4.SHR_W 字右移5. SHL_DW 双字左移6. SHR_DW 双字右移十二、循环指令1.ROL_DW 双字左循环2. ROR_DW 双字右循环十三、状态位指令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' 十四、定时器指令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) 断开延时定时器线圈十五、字逻辑指令1. WAND_W 字和字相'与'2. WOR_W 字和字相'或'3.WAND_DW 双字和双字相'与'4. WOR_DW 双字和双字相'或'5. WXOR_W 字和字相'异或'6. WXOR_DW 双字和双字相'异或。
PLC基本指令介绍PLC(可编程逻辑控制器)是一种常用于自动化控制系统的电子设备,它可以通过编程来实现不同的逻辑功能和控制操作。
PLC基本指令是PLC编程的基础,是PLC实现逻辑控制的基本工具。
1. LD(Load)指令:LD指令用于将逻辑输出输入的状态装载到PLC的存储器中,以供后续的逻辑运算和判断使用。
2.AND指令:AND指令用于进行逻辑与运算,当两个或多个输入信号同时为真时,输出信号为真,否则输出信号为假。
3.OR指令:OR指令用于进行逻辑或运算,当两个或多个输入信号中至少一个为真时,输出信号为真,否则输出信号为假。
4.NOT指令:NOT指令用于进行逻辑非运算,将输入信号取反,即如果输入信号为真,则输出信号为假,反之亦然。
5. BCD指令:BCD(Binary Coded Decimal)指令用于将二进制数转换为十进制数,或者将十进制数转换为二进制数。
6. ADD(Addition)指令:ADD指令用于进行加法运算,将两个输入信号相加,得到的结果保存在输出信号中。
7. SUB(Subtraction)指令:SUB指令用于进行减法运算,将一个输入信号减去另一个输入信号,得到的结果保存在输出信号中。
8. MUL(Multiplication)指令:MUL指令用于进行乘法运算,将一个输入信号乘以另一个输入信号,得到的结果保存在输出信号中。
9. DIV(Division)指令:DIV指令用于进行除法运算,将一个输入信号除以另一个输入信号,得到的结果保存在输出信号中。
10. JMP(Jump)指令:JMP指令用于跳转到程序中的指定位置,可以实现循环和分支等运算。
11. LBL(Label)指令:LBL指令用于标记程序中的位置,可以通过LBL指令实现程序的结构化管理。
12. OUT(Output)指令:OUT指令用于将输出信号发送到外部设备,实现对外部设备的控制。
13. ANI(Analog Input)指令:ANI指令用于读取模拟信号的输入值,可以读取温度、压力等模拟量。
plc常用的基本指令PLC常用的基本指令PLC(Programmable Logic Controller)是一种广泛应用于工业自动化领域的控制设备,它通过编程控制来实现对生产过程的监控和控制。
在PLC的程序中,常用的基本指令起着至关重要的作用,下面将介绍几个常用的基本指令及其功能。
一、常用的逻辑指令1. 与指令(AND):用于将两个逻辑量进行与运算,当两个逻辑量都为真时,输出为真。
在PLC程序中,与指令常用于实现多个条件同时满足时的控制逻辑。
2. 或指令(OR):用于将两个逻辑量进行或运算,当两个逻辑量中至少一个为真时,输出为真。
在PLC程序中,或指令常用于实现多个条件中至少一个满足时的控制逻辑。
3. 非指令(NOT):用于对一个逻辑量取反,当输入为真时,输出为假;当输入为假时,输出为真。
在PLC程序中,非指令常用于实现条件的取反操作。
二、常用的定时器指令1. 延时ON指令(TON):用于实现延时功能,当输入信号在规定的时间内保持为真时,输出信号才为真。
TON指令可以用于控制延时启动或延时关闭的设备。
2. 延时OFF指令(TOF):与TON指令相反,用于实现延时关闭功能。
当输入信号在规定的时间内保持为假时,输出信号才为真。
TOF指令常用于延时断电或延时停止设备。
三、常用的计数器指令1. 上升沿计数器指令(CTU):用于对输入信号的上升沿进行计数。
当输入信号从假变为真时,计数器的值加1。
CTU指令可以用于实现对事件发生次数的计数。
2. 下降沿计数器指令(CTD):与CTU指令相反,用于对输入信号的下降沿进行计数。
当输入信号从真变为假时,计数器的值减1。
CTD指令常用于实现对事件的倒计数。
四、常用的移位指令1. 左移位指令(SHL):用于将一个操作数向左移动指定的位数。
左移位指令常用于实现对数据的乘以2的幂次方运算。
2. 右移位指令(SHR):与SHL指令相反,用于将一个操作数向右移动指定的位数。
PLC基本指令介绍PLC(可编程逻辑控制器)是一种数字电子装置,用于控制机械或工业过程中的自动化设备。
PLC使用一种特定的编程语言来控制设备的运行,该编程语言基于一组基本指令。
在本文中,我们将介绍PLC的一些基本指令及其功能。
1. XIC(X输入座)指令:XIC指令用于检测输入是否为ON(或True)。
当输入位为ON时,该指令返回True。
该指令通常用于读取传感器状态或其他输入设备的状态。
2. XIO(X输入整反)指令:XIO指令与XIC指令相反。
它用于检测输入是否为OFF(或False)。
当输入位为OFF时,该指令返回True。
XIO指令通常在需要读取非激活状态的传感器或其他输入设备状态时使用。
3.OTE(输出通常开)指令:OTE指令将输出位设置为ON状态。
该指令通常用于控制继电器、马达或其他输出设备。
4.OTL(输出通常开锁存)指令:OTL指令类似于OTE指令,但会将输出锁定在ON状态,直到重置指令被执行。
这意味着即使在执行了其他指令之后,输出位仍然保持ON状态。
5.OTU(输出通常关锁存)指令:OTU指令与OTL指令相反。
它将输出位设置为OFF状态,并在锁存到OFF状态前保持OFF。
6.ONS(输出一次周转)指令:ONS指令用于完成一次输出操作。
当条件满足时,该指令仅执行一次输出操作。
7.OSF(输出一次输入锁存分子)指令:OSF指令类似于ONS指令,但它与输入相关联。
当条件满足时,OSF指令将读取输入状态并执行一次输出操作,然后锁存该输入状态直到被重置指令执行。
8.MOV(移动)指令:MOV指令用于将一个输件(或输入位)的状态复制到一个输出位。
这对于控制信号传递、使能信号或数据输入到输出等情况非常有用。
9.ADD(加法)指令:ADD指令用于将两个操作数相加,并将结果保存在指定的地址中。
这对于计算数据值或执行计数操作非常有用。
10.SUB(减法)指令:SUB指令用于将两个操作数相减,并将结果保存在指定的地址中。
“与”(A)、“与非”(AN)A:“与”指令适用于单个常开触点串联,完成逻辑“与”运算。
AN:“与非”指令适用于单个常闭触点串联,完成逻辑“与非”运算。
“与”(A)、“与非”(AN)指令由图可知,触点串联指令也用于串联逻辑行的开始。
CPU对逻辑行开始第1条语句如I1. 0的扫描称为首次扫描。
首次扫描的结果(I1.0的状态)被直接保存在RLO(逻辑操作结果位)中;在下一条语句,扫描触点Q5.3的状态,并将这次扫描的结果和RLO中保存的上一次结果相“与”产生的结果,再存入RLO中,如此依次进行。
在逻辑串结束处的RLO 可作进一步处理。
如赋值给Q4.2(=Q4.2)。
“或”(O)、“或非”(ON)O:“或”指令适用于单个常开触点并联,完成逻辑“或”的运算。
ON:“或非”指令适用于单个常闭触点并联,完成逻辑“或非”运算。
由图可知,触点并联指令也用于一个并联逻辑行的开始。
CPU对逻辑行开始第1条语句如I4.0的扫描称为首次扫描。
首次扫描的结果(I4.0的状态)被直接保存在RLO(逻辑操作结果位)中,并和下一条语句的扫描结果相“或”,产生新的结果再存入RLO中,如此一次进行。
在逻辑串结束处的RLO可用作进一步处理,如赋值给Q8.0(=Q8.0)。
此外,还有“异或”(X)、“异或非”(XN)、嵌套指令等等。
输出线圈输出线圈指令即逻辑串输出指令,又称赋值指令,该指令把RLO中的置赋给指定的位地址,当RLO变化时,相应位地址信号状态也变化 ,在LAD中,只能将输出指令放在触点电路的最右端,不能将输出指令单独放在一个空网络中。
下图是两个应用举例。
中间输出如图所示,中间输出指令被安置在逻辑串中间,用于将其前面的位逻辑操作结果(即本位置的RLO值)保存到指定地址,所以有时也称为“连接器”或“中间赋值元件”。
它和其他元件串联时,“连接器”指令和触点一样插入。
连接器不能直接连接母线,也不能放在逻辑串的结尾或分支结尾处。
置位指令、复位指令置位/复位指令也是一种输出指令。
图1 西门子PLC梯形图中的输入继电器2、输出继电器(Q)的标注西门子PLC梯形图中的输出继电器用“字母Q+数字”进行标识,每一个输出继电器均与PLC的一个输出端子对应,用于控制PLC外接的负载。
输出继电器可以由PLC内部输入继电器的触点、其他内部继电器的触点或输出继电器自己的触点来驱动,如图2所示。
图2 西门子PLC梯形图中的输出继电器3、辅助继电器(M、SM)的标注在西门子PLC梯形图中,辅助继电器有两种,一种为通用辅助继电器,一种为特殊标志位辅助继电器。
(1)通用辅助继电器的标注。
通用辅助继电器,又称为内部标志位存储器,如同传统继电器控制系统中的中间继电器,用于存放中间操作状态,或存储其他相关数字,用“字母M+数字”进行标识,如图3所示。
图3 西门子PLC梯形图中的通用辅助继电器由图3可以看到,通用辅助继电器M0.0既不直接接受外部输入信号,也不直接驱动外接负载,它只是作为程序处理的中间环节,起到桥梁的作用。
(2)特殊标志位辅助继电器的标注。
特殊标志位辅助继电器,用“字母SM+数字”标识,如图4所示,通常简称为特殊标志位继电器,它是为保存PLC自身工作状态数据而建立的一种继电器,用于为用户提供一些特殊的控制功能及系统信息,如用于读取程序中设备的状态和运算结果,根据读取信息实现控制需求等。
一般用户对操作的一些特殊要求也可通过特殊标志位辅助继电器通知CPU系统。
图4 西门子PLC梯形图中的特殊标志位辅助继电器4、定时器(T)的标注在西门子PLC梯形图中,定时器是一个非常重要的编程元件,用“字母T+数字”进行标识,数字从0~255,共256个。
不同型号的PLC,其定时器的类型和具体功能也不相同。
在西门子S7-200系列PLC中,定时器分为3种类型,即接通延时定时器(TON)、保留性接通延时定时器(TONR)、断开延时定时器(TOF),三种定时器定时时间的计算公式相同,即T=PT×S(T为定时时间,PT为预设值,S为分辨率等级)其中,PT预设值根据编程需要输入设定值数值,分辨率等级一般有1ms、10ms、100ms三种,由定时器类型和编号决定,见表3所示。