




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第 十五十五 讲讲 控制功能指令控制功能指令控制功能指令 程序控制指令用于对程序流转的控制,可以控制程序的结束、分支、循环、子程序或中断程序调用等。通过程序控制指令的合理应用,可以使程序结构灵活、层次分明,增强程序功能。1. 读转换开关位置指令读转换开关位置指令2. I/O控制指令控制指令3. 主控继电器指令主控继电器指令4. 跳转指令跳转指令5. 循环指令循环指令6. 子程序子程序7. 中断程序中断程序8. 转鼓指令转鼓指令思考:使用带参数的子程序实现一位数加法计算器计算结果使用带参数的子程序实现一位数加法计算器计算结果的显示:的显示:(1)计算结果存放在)计算结果存放在%R00001中,
2、数据类型为中,数据类型为INT型;型;(2)第一个数码管显示计算结果的十位数,第二个)第一个数码管显示计算结果的十位数,第二个数码管显示计算结果的个位数。数码管显示计算结果的个位数。I/O分配表输入输入功能说明功能说明输出输出功能说明功能说明I00201I00201数字数字1 1按钮按钮Q00001Q00001个位数数码管个位数数码管a a段段I00202I00202数字数字2 2按钮按钮Q00002Q00002个位数数码管个位数数码管b b段段I00203I00203数字数字3 3按钮按钮Q00003Q00003个位数数码管个位数数码管c c段段I00204I00204数字数字4 4按钮按钮
3、Q00004Q00004个位数数码管个位数数码管d d段段I00205I00205数字数字5 5按钮按钮Q00005Q00005个位数数码管个位数数码管e e段段I00206I00206数字数字6 6按钮按钮Q00006Q00006个位数数码管个位数数码管f f段段I00207I00207数字数字7 7按钮按钮Q00007Q00007个位数数码管个位数数码管g g段段I00208I00208数字数字8 8按钮按钮Q00008Q00008Q00014Q00014十位数十位数a a段段g g段段I00209I00209数字数字9 9按钮按钮I00210I00210数字数字0 0按钮按钮I00211
4、I00211+ +(加)号(加)号I00215I00215= =(等号)号(等号)号分析:DDDDCCCCBBBBAAAA数码管数码管显示显示0 00 00 00 0M100 00 00 01 1M110 00 01 10 0M120 00 01 11 1M130 01 10 00 0M140 01 10 01 1M150 01 11 10 0M160 01 11 11 1M171 10 00 00 0M181 10 00 01 1M191、编写数字显、编写数字显示子程序示子程序第一步:第一步:BCD译译为一个位变量为一个位变量第二步:位变量第二步:位变量译为数码管显示译为数码管显示码码分析分
5、析:0123456789输出输出M10M11M12M13M14M15M16M17M18M19aabbccddeeffgg参考子程序:参考主程序:参考主程序:7. 中断程序中断程序1 1)由)由CPUCPU产生,中断的时间间隔由用户指定。如果产生,中断的时间间隔由用户指定。如果设定了初始延时,则在完成停止设定了初始延时,则在完成停止- -运行转换并经过初始延运行转换并经过初始延时时间后,开始计算中断时间。时时间后,开始计算中断时间。2 2)I/OI/O中断由中断由I/OI/O模块发出,模块发出,I/OI/O中断用于指示离散中断用于指示离散输入状态的改变输入状态的改变( (上升沿上升沿/ /下降沿
6、下降沿) ),模拟量范围限制,模拟量范围限制( (高高/ /低报警低报警) )和高速计数器事件。和高速计数器事件。3 3)模块中断由)模块中断由VMEVME模块产生。每个模块支持单个中模块产生。每个模块支持单个中断。断。注意:注意:中断驱动块执行后能中断非中断驱动块的执中断驱动块执行后能中断非中断驱动块的执行。如果正在中断的逻辑和已中断的逻辑访问相同的数行。如果正在中断的逻辑和已中断的逻辑访问相同的数据,会产生不可预期的错误。需要的话,在共享数据正据,会产生不可预期的错误。需要的话,在共享数据正在被访问时,服务请求程序在被访问时,服务请求程序17 17 或服务请求程序或服务请求程序32 32
7、可以可以临时屏蔽临时屏蔽I/O I/O 和定时中断程序的执行。和定时中断程序的执行。用于启动程序块的用于启动程序块的3 种中断类型种中断类型中断程序中断程序中断设置中断设置 定时中断块第一次执行的时间为:CPU 进入运行模式后(延时*时间基准) + (时间间隔*时间基准)时间基准(Time Base)设定的时间间隔和延时的最小时间单元。时间基准可以设定为1 秒,0.1 秒和0.001 秒时间间隔(Interval)设定值*时间基准后,得到的值为程序块两次执行的时间间隔延时(Delay) (可选择)设定值*时间基准后,得到的值为延时多长时间开始第一次执行程序块1)定时中断:系统上电后定期执行的中
8、断程序块)定时中断:系统上电后定期执行的中断程序块中断设置中断设置 程序块可以由某些硬件输入的中断信号触发。例如,24 VDC,32 路的输入模块(IC697MDL650),不管输入信号是上升沿还是下降沿,第一次输入时都发出一个中断。如果模块配置中将中断功能使能,则中断可以触发执行一个程序块。I/O 中断在程序块属性栏中配置,触发必须使用全局变量%I, %AI 或者%AQ。2)I/O 中断中断如果在模块硬件配置中将VME 中断参数使能,程序块可以由VME 模块输入的中断信号触发。PAC 系统CPU 允许每个模块有一个中断。要配置模块中断,在程序块属性栏中标明模块所在的机架/槽号/中断ID即可。
9、3)模块中断)模块中断举例:完成功能:输出继电器Q00001以1秒为周期通断。思考:思考:主程序为如下梯形主程序为如下梯形图时绘制图时绘制Q00001的时序。的时序。并编程计算扫描周期并编程计算扫描周期优先级程序块时序优先级程序块时序优先级时序允许你为每一个触发指定一个优先级。优先级数值范围为1-16,1优先级最高。单个模块可以有多个优先级不同的中断,也可以有多个优先级相同的中断。将接收到的中断级别和正在执行的程序块的中断级别进行比较后,会按如下方式执行程序:如果接收到的中断级别高于正在执行的程序块的中断级别,则停止执行当前程序块,转而执行和新收到的中断相关的程序块。如果接收到的中断级别等同于
10、正在执行的程序块的中断级别,则继续执行当前程序块。将新收到的中断放入队列中。如果接收到的中断级别低于正在执行的程序块的中断级别,则将新收到的中断放入队列中。返回8. 转鼓指令转鼓指令 Drum 功能块象机械转鼓排序一样。转鼓排序器在一组潜在输出位组之间移步,然后选择其中基于输入的一个进功能块。选择的值被复制到一组16 位离散的输出基准地址。 机械转鼓机械转鼓 转鼓指令操作数功能功能许用许用操作数操作数描述描述?R, P, L, W, 符号地址(控制块) 一个包含转鼓排序器控制块的5字数组的起始地址。控制块的内容将在下面叙述。?常数(长度)步数的指定值,在1到 128之间。?样本长度样本长度 S
11、流 步数输入端。用于正向顺序进入下一步。当功能块接收到能流,S 从 OFF 到 ON 跳变,转鼓排序器移动一步。当R激活,功能块忽略S。 R流 复位输入端。用于选择指定顺序中的步数。当DRUM和 R都接收到能流,DRUM复制控制块中的预设步数到控制块的活动步地址里。然后,功能块复制预设步地址中的值到Q地址的位里。当R激活,功能块忽略S。 PTN除常数和S、SA-SC数字量数据之外的任何操作数。 (样本) 字组的起始地址。字数由长度(?)操作数指定。每个字表示一步。对于控制块中活动步字的值表示设想的控制块中活动步的特值输出组合。第一个元素对应第一个活动步值,最后一个元素对应最后一个活动步值。程序
12、软件不能自动生成字组,必须给PTN提供足够的内存空间。转鼓指令操作数功能功能许用许用操作数操作数描述描述DT除了常数和S、SA-SC数字量数据之外的任何操作数。(暂停时间 )使用DT操作数,也必须使用DTO操作数,反之亦然。DT操作数是存储器的字长的起始地址。这里的长度就是步数。每个DT字对应一个PTN字。每个字的值表示对应转鼓排序器对应步的停留时间,单位是0.1秒。给定步的停留时间一到, DTO位置位。 如果暂停时间固定,转鼓排序器要等停留时间到才能进入下一步。程序软件不能自动生成字组,必须给DT提供足够的内存空间。FTT除了常数和S、SA-SC数字量数据之外的任何操作数。(故障超时)如果使
13、用FTT操作数,也必须使用TFT操作数,反之亦然。FTT操作数是存储器的字长的起始地址。这里的长度就是步数。每个FTT字对应一个PTN字。每个字的值表示对应转鼓排序器对应步的故障暂停时间,单位始0.1秒。故障暂停时间一到,FTT位置位。程序软件不能自动生成字组,必须给FTT提供足够的内存空间。Q除了常数和S之外的任何操作数。存储器中一个字,包含对应当前活动步的PTN元素。 转鼓指令操作数功能功能许用许用操作数操作数描述描述DRC除了S之外的任何操作数。(Drum 线圈 )只要功能块使能激活,活动步不等于预设步,DRC置位。 DTO除了常数和S之外的任何操作数。停顿超时用DTO操作数,也必须使用
14、DT操作数,反之亦然。当前步的暂停时间一到,DTO被置位。TFT同上(超时) 如果使用TFT操作数,也必须使用FTT操作数,反之亦然。如果DRUM功能块在处于一个特殊步长于该步的故障暂停时间,TFT被置位。FF同上(首位跟踪 )存储器的(Length/8+1)字节字节起始地址,这里的Length就是步数。如果MOD(Length/8+1) 0,FF有(Length/8+1)个字节。FF里字节字节的位每个位对应PTN的一个字。只是FF里字节的位任何时候只有一个是ON,该位对应活动步的值。第一位对应活动步1的值,最后一个使用的位对应指定活动步的值。转鼓指令控制块说明Address?活动步 活动的值
15、指定样本数组里的元素复制进输出存储单元。该值作为进入样本、暂停时间、故障超时、和首位跟踪操作数数组的索引使用。可写需预置address+1预设步 当R为ON 时,复制进活动步输出的一个输入字。可写需预置address+2步控制 用于检测 Step 输入和Enable 输入从OFF 到ON 跳变的一个字。步控制字留着供功能块专用,必须不被写进。不可写自动生成address+3定时器控制 两个数据字,用于保存运行定时器必须的值。定时器控制留着供功能块专用,必须不被写进不可写自动生成例:首先预置一些必要的数据,即控制块、样首先预置一些必要的数据,即控制块、样本、停顿超时、故障超时等数据本、停顿超时、
16、故障超时等数据。例:%R0100中放置控制块数据;中放置控制块数据;%R0200中为样本数据;中为样本数据;%R0300中为停顿超时数据;中为停顿超时数据;%R0400中为故障超时数据。中为故障超时数据。思考:使用转鼓指令实现,思考:使用转鼓指令实现,16位流水灯的显示。要求,位流水灯的显示。要求,16个个灯依次亮。灯依次亮。例:点阵显示控制要求:在1616的点阵上显示“GE”分析参考程序:返回思考:关于三台电机启动停止的问题:关于三台电机启动停止的问题:(1 1)用一个点动按钮实现电机的启动和停止控制,即:第一)用一个点动按钮实现电机的启动和停止控制,即:第一次按动按钮,三台电机分别隔次按动按钮,三台电机分别隔2 2秒顺序启动;第二按动按钮,秒顺序启动;第二按动按钮,三台电机分别隔三台电机分别隔2 2秒反序停止。秒反序停止。(2 2)第一次按动按钮,第一台电机启动;)第一次按动按钮,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度跨境电商合作合同终止与解除执行办法
- 二零二五年度家庭自用井承包使用协议
- 2025年度车间出租与智能化生产管理系统合同
- 二零二五年度文化旅游资源开发用工劳务合同模板
- 2025年度烧烤店转让合同含独家配方及设备
- 2025年度艺术品抵押借款合同协议
- 二零二五年度汽车零部件制造厂房产权移交合同
- 二零二五年度瑜伽舞蹈工作室店铺铺面租赁协议
- 发言稿组织委员
- 2025年安徽货运从业资格考试题目大全答案
- 2024年12月重庆大学医院公开招聘医生岗位2人(有编制)笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 主题班会:新学期 新起点 新期待
- 统编版历史 选择性必修二第12课 《水陆交通的变迁》课件(共27张)
- 小学生双拥活动国防教育
- 《得胜的基督新妇》课件
- 消防风道风管施工方案
- 烟囱拆除工程施工方案设计及安全措施
- 2025年湖南省烟草专卖局系统招聘336人高频重点提升(共500题)附带答案详解
- 交通安全劝导讲座课件
- 和利时DCS系统课件
- 2.2 生态脆弱区的综合治理 课件 【知识精研】高二地理人教版(2019)选择性必修2
评论
0/150
提交评论