S7-200PLC编程及应用 教学课件 ppt 作者 廖常初 第6章

上传人:E**** 文档编号:89183961 上传时间:2019-05-20 格式:PPT 页数:26 大小:437.50KB
返回 下载 相关 举报
S7-200PLC编程及应用 教学课件 ppt 作者 廖常初 第6章_第1页
第1页 / 共26页
S7-200PLC编程及应用 教学课件 ppt 作者 廖常初 第6章_第2页
第2页 / 共26页
S7-200PLC编程及应用 教学课件 ppt 作者 廖常初 第6章_第3页
第3页 / 共26页
S7-200PLC编程及应用 教学课件 ppt 作者 廖常初 第6章_第4页
第4页 / 共26页
S7-200PLC编程及应用 教学课件 ppt 作者 廖常初 第6章_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《S7-200PLC编程及应用 教学课件 ppt 作者 廖常初 第6章》由会员分享,可在线阅读,更多相关《S7-200PLC编程及应用 教学课件 ppt 作者 廖常初 第6章(26页珍藏版)》请在金锄头文库上搜索。

1、第6章 PLC的功能指令,6.1 S7-200的指令规约 6.1.1 使能输入与使能输出,图6-1 EN与ENO LD I2.4 MOVW VW10, VW14 / VW10VW14 AENO /I VW12, VW14 / VW14/VW12VW14 AENO MOVB VB0, VB2 / VB0VB2 除数VW12为0时无能流流出。删除AENO后两个方框变为并联。,6.1.2 梯形图中的网络与指令 一个网络中只能有一块独立电路。 输入语句表指令时必须使用英文的标点符号。 6.2 程序控制指令 1条件结束指令与停止指令 2监控定时器复位指令 3循环指令,图6-2 循环程序,【例6-1】在I

2、0.5的上升沿,求VB10VB29中20个字节的异或值。 网络1 LD I0.5 EU / 在I0.5的上升沿 MOVB 0, AC0 / 清累加器0 MOVD &VB10, AC1 / 累加器1(存储区指针)指向VB10 FOR VW0, 1, 20 / 循环开始 网络2 LD SM0.0 XORB *AC1, AC0 / 字节异或 INCB AC1 / 指针AC1的值加1,指向下一个变量存储器字节 网络3 NEXT / 循环结束 网络4 LD I0.5 EU MOVB AC0, VB40 / 保存异或结果,6.3 局部变量表与子程序 6.3.1 局部变量表 1局部变量与全局变量 程序中的每

3、个程序组织单元POU(Program Organizational Unit)均有由64字节L存储器组成的局部变量表。局部变量只在它被创建的POU中有效,全局符号在各POU中均有效。局部变量有以下优点: (1) 尽量使用局部变量的子程序易于移植到别的项目。 (2) 如果使用临时变量(TEMP),同一片物理存储器可以在不同的程序中重复使用。 2局部变量的类型 TEMP (临时变量):暂时保存在局部数据区中的变量。主程序或中断程序的局部变量表只有TEMP变量。 IN (输入变量):由调用它的POU提供的传入子程序的输入参数。 OUT(输出变量):子程序返回给调用它的POU的输出参数。 IN_OUT

4、(输入_输出变量):其初始值由调用它的POU提供,并用同一变量将子程序的执行结果返回给调用它的POU。,3局部变量的赋值 4在局部变量表中增加新的变量 5局部变量的数据类型检查 6.3.2 子程序的编写与调用 1子程序的作用 子程序将程序分成容易管理的小块,使程序结构简单清晰,易于查错和维护。子程序调用是有条件的,可以多次调用,使用子程序可以减少扫描时间。 2子程序的创建 3子程序的调用,图6-5 局部变量表与模拟量计算子程序,图6-6 在主程序中调用子程序 LD I0.4 CALL 模拟量计算, AIW2, VW20, +2356, VD40 4子程序的有条件返回 5子程序中的定时器,6.4

5、 数据处理指令 6.4.1 比较指令,图6-9 比较指令,图6-10 自复位接通延时定时器,6.4.2 数据传送指令 1字节、字、双字和实数的传送 2字节立即读指令MOV_BIR读取1个字节的物理输入, 字节立即写指令MOV_BIW写1个字节的物理输出。 3字节、字、双字的块传送指令 “BMB VB20, VB100, 4”指令将VB20VB23中的数据被传送到VB100VB103。 4字节交换指令 6.4.3 移位与循环指令 1右移位和左移位指令 2循环右移位和循环左移位指令,图6-12 移位与循环移位指令,图6-13 移位寄存器,6.4.4 数据转换指令 1段译码指令, 2数字转换指令 3

6、实数转换为双整数的指令 ROUND将实数四舍五入后转换为双字整数,TRUNC是截位取整指令。 4译码指令 5编码指令 6.4.5 表功能指令 1填表指令,图6-18 填表指令举例,图6-19 查表指令举例 命令参数CMD = 14,分别代表“=”、“”(不等于)、“”。,图6-20 先入先出指令举例,图6-21 后入先出指令举例,图6-22 填充指令,6.4.6 读写实时时钟指令 读实时时钟指令TODR从实时钟读取当前时间和日期,并把它们装入以T为起始地址的8字节缓冲区,依次存放年、月、日、时、分、秒、0和星期, 1为星期日,27为星期16。写实时时钟指令TODW将起始地址为T的 8字节缓冲区

7、中的时间和日期写入实时钟。,【例6-5】出现事故时,I0.0的上升沿产生中断,使输出Q1.0立即置位,同时将事故发生的日期和时间保存在VB10VB17中。 /主程序 OB1 LD SM0.1 / 第一次扫描时 ATCH 0, 0 / 指定在I0.0的上升沿执行0号中断程序 ENI / 允许全局中断,/中断程序0(INT_0) LD SM0.0 / 该位总是为ON SI Q1.0, 1 / 使Q1.0立即置位 TODR VB10 / 读实时时钟 6.5 数学运算指令 6.5.1 数学运算指令 梯形图:IN1 + IN2 = OUT,IN1-IN2 = OUT, IN1 * IN2 = OUT,I

8、N1 / IN2 = OUT 语句表:IN1 + OUT = OUT,OUT-IN1 = OUT, IN1 * OUT = OUT,OUT / IN1 = OUT 有16位整数运算、32位双整数运算、实数运算和加1、减1指令。 整数乘、除法的操作数为两个16位整数,乘积或商均为16位,不保留余数。双整数乘、除法的操作数和运算结果均为32位。此外还有 MUL:整数乘法产生双整数指令。 DIV:整数除法产生双整数指令。两个16位整数相除,结果的高16位为余数,低16位为商。,【例6-8】 在输入信号I0.4的上升沿,用模拟电位器0来设置定时器T37的设定值(520s),即从SMB28读出的数字02

9、55对应于520s。设读出的数字为N,100ms定时器的设定值为 (20050)N / 25550 =150N / 25550 (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中的数值为设定值,6.5.2 浮点数函数运算指令 包括正弦指令SIN、余弦指令COS和正切指令TAN,自

10、然对数指令LN和自然指数指令EXP。角度的单位为弧度。 6.5.3 逻辑运算指令 【例6-9】在I0.0的上升沿执行下面程序中的逻辑运算,运算前后各存储单元中的值如图6-27所示。 LD I0.0 EU INVB VB0 / 字节取反指令 ANDB VB1, VB2 / 字节与指令 ORB VB3, VB4 / 字节或指令 XORB VB5, VB6 / 字节异或指令,6.6 中断程序与中断指令 6.6.1 中断程序 中断允许指令ENI允许处理所有被连接的中断事件。禁止中断指令DISI禁止处理所有中断事件。进入RUN模式时自动禁止中断,中断程序越短越好。 6.6.2 中断事件与中断指令 中断连

11、接指令ATCH建立中断事件(EVNT)与对应的中断程序(INT)的联系。中断事件由中断事件号指定(见表6-12),中断程序由中断程序号指定。 中断分离指令DTCH断开中断事件与中断程序之间的联系。 中断优先级(见表6-12)分组:通信(最高优先级)、I/O中断和定时中断。 I/O中断:I0.0I0.3上升沿、下降沿中断;HSC当前值等于设定值、计数方向改变和计数器外部复位中断;输出完指定的脉冲数时产生的中断。,图6-28 中断指令,定时中断0/1的周期为1255ms,分别写入SMB34和SMB35。每当定时时间到时,执行相应的定时中断程序。定时器T32/T96中断的时间周期最大为32.767s

12、。 【例6-11】在I0.0的上升沿通过中断使Q0.0立即置位。在I0.1的下降沿通过中断使Q0.0立即复位。 /主程序 OB1 LD SM0.1 / 第一次扫描时 ATCH INT_0, 0 / I0.0上升沿时执行0号中断程序 ATCH INT_1, 3 / I0.1下降沿时执行1号中断程序 ENI / 允许全局中断 /中断程序0(INT_0) LD SM0.0 / 该位总是为ON SI Q0.0, 1 / 使Q0.0立即置位 /中断程序1(INT_1) LD SM0.0 / 该位总是为ON RI Q0.0, 1 / 使Q0.0立即复位,【例6-12】用定时中断0实现周期为2s的高精度定时

13、。 / 主程序 OB1 LD SM0.1 / 第一次扫描时 MOVB 0, VB10 / 将中断次数计数器清0 MOVB 250, SMB34 / 设定时中断0的中断时间间隔为250ms ATCH INT_0, 10 / 指定产生定时中断0时执行0号中断程序 ENI / 允许全局中断 / 中断程序INT_0, 每隔250ms中断一次 LD SM0.0 / 该位总是为ON INCB VB10 / 中断次数计数器加1 LDB= 8, VB10 / 如果中断了8次(2s) MOVB 0, VB10 / 将中断次数计数器清0 INCB QB0 / 每2s将QB0加1,6.7 高速计数器与高速脉冲输出指

14、令 6.7.1 编码器 高速计数器一般与增量式编码器配合使用,双通道A、B相型编码器提供转速和转轴旋转方向的信息。三通道增量式编码器的Z相零位脉冲用作系统清零信号,或坐标的原点,以减少测量的积累误差。,图6-29 A、B相型编码器的输出波形 6.7.2 高速计数器的工作模式与外部输入信号 (1) 无外部方向输入信号的单相加/减计数器(模式02):用控制字节控制计数方向。 (2) 有外部方向输入信号的单相加/减计数器(模式35)。 (3) 有加计数时钟脉冲和减计数时钟脉冲输入的双相计数器(模式68)。 (4) A/B相正交计数器(模式911)。,图6-30 1倍速正交模式操作举例,图6-31 4

15、倍速正交模式操作举例 根据有无复位输入和启动输入,上述的4类工作模式又可以各分为3种。 高速计数器的外部输入信号见表6-16。 6.7.3 高速计数器的程序设计 【例6-13】用指令向导生成HSC0的初始化程序和中断程序,HSC0为无外部方向输入信号的单相加/减计数器(模式0),计数值为1000020000时Q4.0输出为1。 (用编程软件演示),6.7.4 高速脉冲输出与开环位置控制 占空比:脉冲宽度与脉冲周期之比。 脉冲列(PTO)功能提供周期与脉冲数目可以由用户控制的占空比为50%的方波脉冲输出。脉冲宽度调制 (PWM) 功能提供连续的、周期与脉冲宽度可以由用户控制的输出。 CPU有两个PTO/PWM发生器,分别通过Q0.0或Q0.1输出高速脉冲。 用脉冲输出向导生成PWM指令PWMx_RUN。,RUN为使能位,周期Cycle的数据类型为WORD,变化范围为265535。脉冲宽度Pulse的数据类型为WORD值,变化范围为065535。,图6-34 位置控制系统的速度与加减速时间,用位置控制向导组态脉冲列输出PTO的包络曲线。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号