西门子PLC指令教程应用指令.ppt

上传人:tian****1990 文档编号:8004680 上传时间:2020-03-26 格式:PPT 页数:80 大小:778.50KB
返回 下载 相关 举报
西门子PLC指令教程应用指令.ppt_第1页
第1页 / 共80页
西门子PLC指令教程应用指令.ppt_第2页
第2页 / 共80页
西门子PLC指令教程应用指令.ppt_第3页
第3页 / 共80页
点击查看更多>>
资源描述
第5章应用指令知识 5 1程序控制类指令5 2特殊指令 5 1程序控制类指令 5 1 1空操作5 1 2结束及暂停5 1 3看门狗5 1 4跳转5 1 5子程序指令5 1 6程序循环5 1 7顺序控制继电器5 1 8与ENO指令 返回本章首页 5 1 1空操作 NOP 空操作指令 使能输入有效时 执行空操作指令 空操作指令不影响用户程序的执行 操作数N是标号 是一个0 255的常数 指令格式 NOPN例 NOP30程序如下图5 1所示 返回本节 5 1 2结束及暂停 1 结束指令结束指令有两条 END和MEND 两条指令在梯形图中以线圈形式编程 END 条件结束指令 使能输入有效时 终止用户主程序 MEND无条件结束指令 无条件终止用户程序的执行 返回主程序的第一条指令 用Micro Win32编程时 编程人员不需手工输入MEND指令 而是由软件自动加在主程序结尾 指令格式 END 无操作数 2 暂停指令STOP 暂停指令 使能输入有效时 该指令使主机CPU的工作方式由RUN切换到STOP方式 从而立即终止用户程序的执行 STOP指令在梯形图中以线圈形式编程 指令不含操作数 指令的执行不考虑对特殊标志寄存器位和能流的影响 指令格式 STOP 无操作数 返回本节 5 1 3看门狗 WDR 看门狗复位指令 当使能输入有效时 执行WDR指令 每执行一次 看门狗定时器就被复位一次 用本指令可用以延长扫描周期 从而可以有效避免看门狗超时错误 指令格式 WDR 无操作数 程序实例 指令STOP END WDR的应用如图5 2所示 图5 2停止 结束 看门狗指令 返回本节 5 1 4跳转 1 跳转指令与跳转相关的指令有下面两条 1 跳转指令JMP 跳转指令 使能输入有效时 使程序流程跳到同一程序中的指定标号n处执行 执行跳转指令时 逻辑堆栈的栈顶值总是1 2 标号指令LBL 标号指令 标记程序段 作为跳转指令执行时跳转到的目的位置 操作数n为0 255的字型数据 程序实例 如右图5 3所示 用增减计数器进行计数 如果当前值小于500 则程序按原顺序执行 若当前值超过500 则跳转到从标号10开始的程序执行 返回本节 图5 3程序跳转实例 5 1 5子程序指令 建立子程序2 子程序调用3 带参数的子程序调用 1 建立子程序 可用编程软件Edit菜单中的Insert选项 选择Subroutine 以建立或插入一个新的子程序 同时在指令树窗口可以看到新建的子程序图标 默认的程序名是SBR n 编号n从0开始按递增顺序生成 可以在图标上直接更改子程序的程序名 在指令树窗口双击子程序的图标就可对它进行编辑 2 子程序调用 1 子程序调用和返回指令子程序调用子程序条件返回 2 注意事项 3 应用实例 图5 4所示的程序实现用外部控制条件分别调用两个子程序 图5 4子程序调用举例 1 子程序参数变量名变量类型数据类型 2 参数子程序调用的规则 3 变量表使用 4 程序实例 3 带参数的子程序调用 以上面指令为例 局部变量表分配如表5 1所示 程序段如图5 5所示 表5 1局部变量表例 图5 5带参数的子程序调用 返回本节 5 1 6程序循环 循环开始循环结束3 程序实例 图5 6程序循环 1 返回本节 图5 6程序循环 2 5 1 7顺序控制继电器 1 顺序继电器指令 1 定义顺序段 2 段开始 3 段结束 4 段转移2 注意事项3 顺序结构4 程序实例 本例是用顺序继电器实现的顺序控制中的一个步的程序段 这一步实现的功能是使两个电机M1和M2起动运行20秒后停止 切换到下一步 程序如图5 7所示 返回本节 5 1 8与ENO指令 AENO 与ENO指令 ENO是梯形图和功能框图编程时指令盒的布尔能流输出端 如果指令盒的能流输入有效 同时执行没有错误 ENO就置位 将能流向下传递 当用梯形图编程时 且指令盒后串联一个指令盒或线圈 语句表语言中用AENO指令描述 指令格式 AENO 无操作数 图5 8与ENO指令 AENO指令只能在语句表中使用 将栈顶值和ENO位的逻辑与运算 运算结果保存到栈顶 程序如图5 8所示 返回本节 5 2特殊指令 5 2 1时钟指令5 2 2中断5 2 3通信5 2 4高速计数5 2 5高速脉冲输出5 2 6PID回路指令 返回本章首页 5 2 1时钟指令 1 读实时时钟TODR 读实时时钟指令 当使能输入有效时 系统读当前时间和日期 并把它装入一个8字节的缓冲区 2 写实时时钟TODW 写实时时钟指令 用来设定实时时钟 当使能输入有效时 系统将包含当前时间和日期 一个8字节的缓冲区将装入时钟 时钟缓冲区的格式如表5 2所示 表5 2时钟缓冲区 程序实例控制要求 编写一段程序 可实现读 写实时时钟 并以BCD码显示分钟 时钟缓冲区从VB100开始 程序中的子程序SBR 0为写时钟子程序 将当前时间写入从VB100开始的8字节时间缓冲区 时间设置如下表5 3所示 程序实现 读写时钟程序如图5 9所示 图5 9读写时钟 返回本节 5 2 2中断 1 中断源 1 中断源及种类中断源 即中断事件发出中断请求的来源 S7 200可编程序控制器具有最多可达34个中断源 每个中断源都分配一个编号用以识别 称为中断事件号 这些中断源大致分为三大类 通信中断 输入输出中断和时基中断 2 中断优先级中断优先级由高到低依次是 通信中断 输入输出中断 时基中断 每种中断中的不同中断事件又有不同的优先权 主机中的所有中断事件及优先级如表5 4所示 表5 4中断事件及优先级 2 中断调用即调用中断程序 使系统对特殊的内部或外部事件作出响应 系统响应中断时自动保存逻辑堆栈 累加器和某些特殊标志存储器位 即保护现场 中断处理完成时 又自动恢复这些单元原来的状态 即恢复现场 1 中断调用指令 2 注意事项 3 程序实例 3 程序实例控制要求 程序实现的功能是调用I0 1输入点的上升沿中断 若发现I O错误 则禁止本中断 用外部条件可以禁止全局中断 程序实现 本程序如图5 10所示 图5 10中断调用程序 3 中断程序 1 构成中断程序必须由三部分构成 中断程序标号 中断程序指令和无条件返回指令 2 要求 3 编制方法 4 注意事项 返回本节 5 2 3通信 通信指令包括 XMT 自由口发送指令RCV 自由口接收指令NETR 网络读指令NETW 网络写指令GPA 获取口地址指令 5 2 4高速计数 1 高速计数器介绍2 高速计数指令3 高速计数器的使用方法4 应用实例 1 高速计数器介绍 1 数量及编号 2 中断事件类型 3 工作模式及输入点 1 数量及编号高速计数器在程序中使用时的地址编号用HCn来表示 在非程序中有时用HSCn HC表编程元件名称为高速计数器 n为编号 HCn除了表示高速计数器的编号之外 还代表两方面的含义 高速计数器位和高速计数器当前值 编程时 从所用的指令可以看出是位还是当前值 不同型号的PLC主机 高速计数器的数量对应如表5 7所示 2 中断事件类型高速计数器的计数和动作可采用中断方式进行控制 与CPU的扫描周期关系不大 各种型号的PLC可用的高速计数器的中断事件大致分为3类 当前值等于预设值中断 输入方向改变中断和外部复位中断 所有高速计数器都支持当前值等于预设值中断 每个高速计数器的3种中断的优先级由高到低 不同高速计数器之间的优先级又按编号顺序由高到低 具体对应关系如表5 8所示 3 工作模式及输入点工作模式输入端连接高速计数器的工作模式共有12种 以模式4为例 时序如图5 11所示 图5 11模式4操作时序 选用某个高速计数器在某种工作模式下工作 高速计数器的输入端不是任意选择 必须按系统指定的输入点 如表5 9所示 2 高速计数指令 高速计数器指令有两条 HDEF和HSC 1 HDEF指令HDEF 定义高速计数器指令 使能输入有效时 为指定的高速计数器分配一种工作模式 即用来建立高速计数器与工作模式之间的联系 梯形图指令盒中有两个数据输入端 HSC 高速计数器编号 为0 5的常数 字节型 MODE 工作模式 为0 11的常数 字节型 2 HSC指令HSC 高速计数器指令 使能输入有效时 根据高速计数器特殊存储器位的状态 并按照HDEF指令指定的工作模式 设置高速计数器并控制其工作 梯形图指令盒数据输入端N 高速计数器编号 为0 5的常数 字型 每个高速计数器都有固定的特殊功能存储器与之相配合 完成高速计数功能 具体对应关系如表5 11所示 3 高速计数器的使用方法 每个高速计数器都有一个状态字节 程序运行时根据运行状况自动使某些位置位 可以通过程序来读相关位的状态 用以作为判断条件实现相应的操作 状态字节中各状态位的功能如表5 12所示 1 选择计数器及工作模式 2 设置控制字节 3 执行HDEF指令 4 设定当前值和预设值 5 设置中断事件并全局开中断 6 执行HSC指令 使用高速计数器时 要按以下步骤进行 表5 13控制位含义 4 应用实例 要对一高速事件精确控制 通过对脉冲信号进行增计数 计数当前值达到24产生中断 重新从0计数 对中断次数进行累计 计数方向用一个外部信号控制 并能实现外部复位 所用的主机型号为CPU221 设计步骤 选择高速计数器HSC0 并确定工作方式4 令SM37 16 F8 执行HDEF指令 输入端HSC为0 MODE为4 装入当前值 令SMD38 0 装入设定值 令SMD42 24 执行中断连接ATCH指令 输入端INT为INT0 EVNT为10 主程序 初始化子程序和中断程序分别如图5 12 图5 13和图5 14所示 图5 12主程序 图5 13初始化子程序 图5 14中断程序 返回本节 5 2 5高速脉冲输出 1 高速脉冲输出介绍 1 高速脉冲输出的形式 2 输出端子的确定 3 相关寄存器 4 脉冲输出指令 每个高速脉冲发生器对应一定数量特殊标志寄存器 这些寄存器包括控制字节寄存器 状态字节寄存器和参数数值寄存器 用以控制高速脉冲的输出形式 反映输出状态和参数值 各寄存器分配如表5 14所示 l状态字节每个高速脉冲输出都有一个状态字节 程序运行时根据运行状况自动使某些位置位 可以通过程序来读相关位的状态 用以作为判断条件实现相应的操作 状态字节中各状态位的功能如表5 15所示 控制字节每个高速脉冲输出都对应一个控制字节 通过对控制字节中指定位的编程 可以根据操作要求设置字节中各控制位 如脉冲输出允许 PTO PWM模式选择 单段 多段选择 更新方式 时间基准 允许更新等 控制字节中各控制位的功能如表5 16所示 2 高速脉冲串输出PTO 1 周期和脉冲数 2 PTO的种类 3 中断事件类型 4 PTO的使用 1 周期和脉冲数 周期 单位可以是微秒 s或毫秒ms 为16位无符号数据 周期变化范围是50 65535 s或2 65535ms 通常应设定周期值为偶数 若设置为奇数 则会引起输出波形占空比的轻微失真 如果编程时设定周期单位小于2 系统默认按2进行设置 脉冲数 用双字长无符号数表示 脉冲数取值范围是1 4294967295之间 如果编程时指定脉冲数为0 则系统默认脉冲数为1个 2 PTO的种类 PTO方式中 如果要输出多个脉冲串 允许脉冲串进行排队 形成管线 当前输出的脉冲串完成之后 立即输出新脉冲串 这保证了脉冲串顺序输出的连续性 单段管线多段管线 包络表由包络段数和各段构成 每段长度为8个字节 包括 脉冲周期值 16位 周期增量值 16位 和脉冲计数值 32位 以包络3段的包络表为例 包络表的结构如表5 17所示 3 中断事件类型 高速脉冲串输出可以采用中断方式进行控制 各种型号的PLC可用的高速脉冲串输出的中断事件有两个 如表5 18所示 4 PTO的使用 使用高速脉冲串输出时 要按以下步骤进行 确定脉冲发生器及工作模式设置控制字节写入周期值 周期增量值和脉冲数装入包络的首地址设置中断事件并全局开中断执行PLS指令 3 应用实例 1 控制要求步进电机转动过程中 要从A点加速到B点后恒速运行 又从C点开始减速到D点 完成这一过程时用指示灯显示 电机的转动受脉冲控制 A点和D点的脉冲频率为2kHz B点和C点的频率为10kHz 加速过程的脉冲数为400个 恒速转动的脉冲数为4000个 减速过程脉冲数为200个 工作过程如图5 15所示 图5 15步进电机工作过程 2 分析确定脉冲发生器及工作模式设置控制字节写入周期值 周期增量值和脉冲数装入包络表首地址中断调用执行PLS指令 3 程序实现本控制系统主程序如下图5 16所示 初始化子程序SBR 1如图5 17所示 包络表子程序如图5 18所示 中断程序如图5 19所示 图5 16主程序 图5 17初始化子程序SBR 1 图5 18包络表子程序SBR 0 1 图5 18包络表子程序SBR 0 2 图5 19中断程序 4 宽度可调脉冲输出PWM 1 周期和脉冲宽度 2 更新方式 3 PWM的使用 返回本节 5 2 6PID回路指令 PID算法2 PID指令3 应用实例 1 PID算法 1 PID算法如果一个PID回路的输出M t 是时间的函数 则可以看作是比例项 积分项和微分项三部分之和 即 用数字计算机处理这样的控制算式 连续的算式必须周期采样进行离散化 同时各信号也要离散化 公式如下 MPn Kc SPn PVn Kc Ts Ti SPn PVn MX Kc Td Ts PVn 1 PVn 回路表初始化程序实例 如果Kc为0 4 Ts为0 2秒 Ti为30分钟 Td为15分钟 则可以建立一个子程序SBR0用来对回路表进行初始化 程序如图5 20所示 图5 20回路表初始化子程序SBR0 PID PID回路指令 使能输入有效时 该指令利用回路表中的输入信息和组态信息 进行PID运算 梯形图的指令盒中有2个数据输入端 TBL 回路表的起始地址 是由VB指定的字节型数据 LOOP 回路号 是0 7的常数 指令影响的特殊标志存储器位 SM1 1 溢出 使能流输出ENO断开的出错条件 SM1 1 溢出 SM4 3 运行时间 0006 间接寻址 指令格式 PIDTBL LOOP 2 PID指令 3 应用实例 1 控制要求有一水箱有一条进水管和一条出水管 进水管的水流量随时间不断变化 要求控制出水管阀门的开度 使水箱内的液位始终保持在水满时液位的一半 系统使用比例积分微分控制 假设采用下列控制参数值 Kc为0 4 Ts为0 2秒 Ti为30分钟 Td为15分钟 2 分析本系统标准化时可采用单极性方案 系统的输入来自液位计的液位测量采样 设定值是液位的50 输出是单极性模拟量用以控制阀门的开度 可以在0 100 之间变化 3 程序实现本程序的主程序如图5 21所示 回路表初始化子程序SBR0如图5 22所示 中断程序INT0如图5 23所示 图5 21主程序 图5 22初始化子程序SBR1 图5 23中断子程序INT0 1 图5 23中断子程序INT0 2 返回本节
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!