西门子S7-1200PLC教程 课件 第8章 S7-1200指令系统介绍_第1页
西门子S7-1200PLC教程 课件 第8章 S7-1200指令系统介绍_第2页
西门子S7-1200PLC教程 课件 第8章 S7-1200指令系统介绍_第3页
西门子S7-1200PLC教程 课件 第8章 S7-1200指令系统介绍_第4页
西门子S7-1200PLC教程 课件 第8章 S7-1200指令系统介绍_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章S7-1200PLC的指令系统介绍位逻辑指令定时器指令计数器指令比较指令数学运算指令第8章S7-1200PLC的指令系统介绍

S7-1200PLC的指令分为基本指令、扩展指令、工艺指令、通信指令等。基本指令是学习S7-1200PLC指令系统中的最基本指令。基本指令包括:位逻辑运算、定时器操作、计数器操作、比较操作、数学函数、移动操作、转换操作、程序控制指令、字逻辑运算指令、移位和循环指令等。1位逻辑指令位逻辑指令:顾名思义是对位进行操作的指令,适合的数据类型为BOOL型的数据类型,使用时操作数的寻址方式为按位的方式进行寻址。1位逻辑指令——(线圈与触点指令)2位逻辑或运算1位逻辑与运算3位逻辑非运算1位逻辑指令——(单置位与复位指令)在S7-1200PLC中的PLC中置位复位指令主要包括三种指令:对单个位进行置位和复位的指令、对多个连续的位进行置位和复位的指令、置位优先和复位优先指令。置位指定操作数的信号状态位为1,复位指定操作数的信号状态为0。1位逻辑指令——(单个位的置位与复位指令)1位逻辑指令——(置位域与复位域指令)需要置位或复位的起始地址需要置位或复位的个数,最多为65535置位域复位域1位逻辑指令——(置位优先与复位优先指令)在置位优先指令(RS)或复位优先指令(SR)指在指令上既有置位信号输入端(S)又有复位信号输入端(R),根据输入S和R的信号状态,置位或复位指定操作数的位。如果输入S的信号状态为1且输入R的信号状态为0,则将指定操作数置位为1,如果输入S的信号状态为0且输入R的信号状态为1,则指定的操作数将复位为0。若输入端S和输入端R信号都为1,则置位优先的指令,操作数指定位为1,复位优先指令,操作数指定为0。1位逻辑指令——(置位优先与复位优先指令)

RS指令输入S1输入R输出OUT位00先前状态010101111

SR指令输入S输入R1输出OUT位00先前状态0101011101位逻辑指令——(置位优先与复位优先指令)1位逻辑指令——(沿脉冲指令)沿脉冲分为上升沿和下降沿,对于PLC的指向来讲,沿脉冲在PLC中只接通一个扫描周期的时间,在S7-1200中,沿脉冲指令分为四类:(1)扫描操作数信号上升沿(下降沿)指令,(2)在信号上升沿(下降沿)置位操作数,(3)扫描RLO的信号上升沿(下降沿)指令,(4)检测信号上升沿(下降沿)指令1位逻辑指令——(扫描操作数信号上升沿(下降沿)指令)该指令将比较输入位的当前信号状态与上一次扫描的信号状态(上一次扫描的信号状态保存在边沿存储器中)。如果该指令检测到状态结果从0变为1,则说明出现了一个上升沿,如果该指令检测到状态结果从1变为0,则说明出现一个下降沿。注意:该指令主要用来检测触点是否产生沿脉冲信号1位逻辑指令——(信号上升沿(下降沿)置位操作数指令)该指令将当前RLO与保存在边沿存储器位中上次查询的RLO进行比较,如果该指令检测到RLO从0变为1或(1变为0),则说明出现了一个信号上升沿或下降沿,则输出信号将在一个程序周期内置位为1,其他任何情况下状态都为0。1位逻辑指令——(扫描RLO的信号沿指令)该指令将比较RLO的当前信号状态与保存在边沿存储器中上一次查询的信号状态,如果该指令检测到RLO从0变为1(或者1变为0),则说明出现了一个信号上升沿或下降沿。如果检测到上升沿或下降沿,该指令输出的信号状态为1.在其他任何情况下,该指令输出的信号状态均为0。1位逻辑指令——(检查信号沿指令)检查信号上升沿或下降沿指令是一个FB块,使用时需要给其分配一个DB块。该指令可以检测输入(CLK)的当前状态与保存在指定DB块中上次查询的边沿存储器位进行对比,如果该指令检测到的输入CLK的状态从1变为0或从0变为1,则输出Q中生成一个上升沿或下降沿。1位逻辑指令——(位逻辑指令应用)例1设计一个一键启停的控制程序1位逻辑指令——(位逻辑指令应用)例1设计一个一键启停的控制程序1位逻辑指令——(位逻辑指令应用)例2一个按钮控制两盏灯,要求按下按钮时灯L1亮,再按下按钮时L1熄灭,灯L2亮。每次按下按钮,熄灭的灯点亮,亮的灯熄灭。1位逻辑指令——(位逻辑指令应用)例2一个按钮控制两盏灯,要求按下按钮时灯L1亮,再按下按钮时L1熄灭,灯L2亮。每次按下按钮,熄灭的灯点亮,亮的灯熄灭。2定时器指令S7-1200PLC中采用的是IEC标准的定时器和计数器,每个定时器都需要分配一个数据库块来保存定时器的数据,在编辑器中放置定时器指令时即可分配该数据块,使用定时器指令可以创建编程的时间延迟。选择定时器后,系统会自动给定时器分配一个DB块2定时器指令S7-1200PLC中的定时器主要分为以下几类:

脉冲定时(TP):可生成具有预设宽度时间的脉冲接通延时定时器(TON):接通延时定时器输出Q在预设的延时时间过后,设置为ON断开延时定时器(TOF):断开延时定时器输出Q在预设的延时时间过后,重置为OFF有记忆接通延时定时器(TONR):有记忆接通延时定时器输出Q在预设的延时过后设置为ON,在使用R输入重置进过的时间之前,会跨越多个定时时段一直累加经过的时间。注意:用户程序中可以使用定时器的个数仅受CPU存储器容量限制,每个定时器均使用16字节的IEC_Timer数据类型的DB结构来存储功能框或线圈指令顶部指定的定时器数据。2定时器指令——(脉冲定时器(TP)指令)

使用该定时器指令,可生成具有预设宽度时间的脉冲。可以保证输出端(Q)输出一段时间为1的状态。用途和何时为1

在输入端(IN)的状态从0变为1时,定时器启动并开始定时,定时器的当前值开始累加。何时开始定时

当定时器的当前值等于设定值时,输出端(Q)输出为0的状态。若此时定时器的输入端(IN)保持为1的状态,则定时器当前值保持不变,反之,当前值为0。何时为0

若定时器的当前值未达到定时器的设定值时,输入端(IN)的状态不管如何变化,对输出端(Q)的状态无影响。2定时器指令——(脉冲定时器(TP)指令)2定时器指令——(接通延时定时器(TON)指令)

当定时器的输入端(IN)的状态为1时,定时器启动并开始计时。何时开始定时

定时器的当前值开始累加,当定时器的当前值等于设定值时,定时器的输出端(Q)输出为1的状态,只要输入(IN)仍为1,输出(Q)就保持置位。何时为1

输入(IN)的信号状态为0时,将复位输出(Q),同时定时器的当前值变为0,在输入(IN)再次变为1时,该定时器功能将再次启动。何时为02定时器指令——(接通延时定时器(TON)指令)2定时器指令——(有记忆接通延时定时器(TONR)指令)

当定时器输入端(IN)的状态为1时,定时器开始定时。何时开始定时

当定时器的输入端(IN)的状态由1变回0时,定时器当前值保持不变,若定时器的输入端(IN)的状态变回1,则定时器的当前值继续累加。如果当前值达到设定值时,则输出端(Q)变为1的状态。何时为1

当复位端(R)的状态为1时,定时器的当期值清0,输出端(Q)变为0的状态。何时为02定时器指令——(有记忆接通延时定时器(TONR)指令)2定时器指令——(断开延时定时器(TOF)指令)

当定时器输入端(IN)的状态变为1时,则输出端(Q)输出为1的状态。何时为1

在输入端(IN)的状态变为0时,定时器开始定时,当前值开始累加,输出端(Q)保持为1的状态。何时开始定时

当定时器的当前值与设定值相等时,输出端(Q)变为0的状态。如果输入端(IN)在当前值未达到设定值时变为1的状态,则定时器的当前值清零,输出端(Q)的状态仍然保持为1的状态。何时为02定时器指令——(断开延时定时器(TOF)指令)2定时器指令——(定时器应用举例)控制要求:假设控制两台电机运行,按下启动按钮后,第一台电机启动运行,延时5秒后,第二台电机启动运行,当按下停止按钮后,第二台电机停止,延时5秒后第一台电机停止运行。2定时器指令——(定时器应用举例)2定时器指令——(定时器应用举例)3计数器指令计数器指令用作对内部程序事件和外部过程事件进行计数,S7-1200PLC有三种类型的计数器,加计数器(CTU)、减计数器(CTD)、加减计数器(CTUD)。每个计数器都使用数据块中存储的结构来保存计数器的数据,用户在编辑器中放置计数器指令时分配相应的数据块,这些指令使用的是软件计数器,软件计数器的最大计数器速率受PLC扫描周期的限制。若需要记录频率变化比较快的信号,需要使用高速计数器CTRL_HSC。用户程序中可以使用的计数器仅受CPU存储器容量限制。计数器占用以下存储空间:

对于Sint或USint数据类型,计数器指令占用3个字节。对于int或Uint数据类型,计数器指令占用6个字节。对于Dint或UDint数据类型,计数器指令占用12个字节。3计数器指令——(加计数器指令CTU)当参数CU的值从0变为1时,CTU计数器会使计数器加1。如果参数CV(当前计数值)的值大于或等于参数PV(预设计数值)的值,则计数器输出参数Q=1。

如果复位参数R的值从0变为1,则当前计数值重置为0。3计数器指令——(减计数器指令CTD)当参数CD的值从0变为1时,CTD计数器会使计数值减1如果参数CV的值等于或小于0,则计数器输出参数Q=1如果参数LD的值从0变为1,则参数PV的值将作为新的CV装载到计数器3计数器指令——(增减计数器指令CTUD)当加计数(CU)或减计数(CD)从0转到1时,CTUD计数器将加1或减1如果参数CV的值大于或等于参数PV值,则计数器输出参数QU=1如果参数CV的值小于或等于参数0,则计数器输出参数QD=1如果参数LOAD的值从0变为1,则参数PV的值将作为新的CV装载到计数器如果复位参数R的值从0变为1,则当前计数值重置为04比较指令——(触点比较指令)用于比较数据类型相同的两个数字的值,比较结果为TRUE时,该触点导通,指令格式如下关系类型满足以下条件时比较结果为真=IN1等于IN2<>IN1不等于IN2>=IN1大于或等于IN2<=IN1小于或等于IN2>IN1大于IN2<IN1小于IN2操作数IN1操作数IN24比较指令——(比较指令举例)控制要求:一个按钮控制三个指示灯,按下一次按钮,点亮一个指示灯,当全部点亮时,再按下一次按钮,所有指示灯熄灭,如此循环。4比较指令——(范围比较指令)5数学运算指令数学函数指令是在我们编写程序中常用的一种运算指令,S7-1200中数学函数指令主要有:5数学运算指令——(简单数学运算指令)5数学运算指令——(简单数学运算指令)5数学运算指令——(计算指令)使用计算指令,可以自己根据算法编写程序块5数学运算指令——(简单数学运算指令)5数学运算指令——(计算指令举例指令)

AnalogInputValueScaledOutputValue

5数学运算指令——(递增(INC)/递减(DEC)指令)执行时参数IN/OUT的值分别被加1和减1IN/OUT数据类型为各种有符号或无符号的整数用于计数时,通常配合沿脉冲

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论