嵌入式开发-Lab3. RSLogix5000软件编程实例-_第1页
嵌入式开发-Lab3. RSLogix5000软件编程实例-_第2页
嵌入式开发-Lab3. RSLogix5000软件编程实例-_第3页
嵌入式开发-Lab3. RSLogix5000软件编程实例-_第4页
嵌入式开发-Lab3. RSLogix5000软件编程实例-_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、 Lab 3. RSLogix5000软件编程实例实验主题:创建项目(具体步骤参见实验一和实验二z创建RSLogix5000工程z配置模块z建立任务z建立程序和例程z建立TAG指令应用z位指令 XIC、XIO、OTE、OTL、OTU、ONS等z计时器和计数器 TON、TOF、CTU、CTD、RES等z输入输出指令-MSG等z比较指令 CMP、LIM、EQU、LES、GRT等z数据传送指令 MOV、MVM、COP等z函数计算指令 CPT、ADD、SUB、MUL、DIV、CLR等(注意溢出等问题z程序控制指令 JMP、JSR、RET等z PID指令张力控制(手动自动调节、KP、KI的设定、跟踪Ta

2、g名的定义及程序设计方法:怎样优化程序,提高程序的可读性z Tag命名的规范和标准z程序命名的规范z压缩程序,同一功能用统一程序z减少跳转如何编写大规模、复杂的程序z做好编程准备工作,了解程序的需求性z理清思路,做好功能分块z从单个设备开始,从最基本的逻辑开始z保证单动正确,然后加上连锁z安全第一,模拟运行如何保证安全z MCC测试位置运行z软件I/O强制z停止第一z必须有手动功能程序的修改z尽量避免下载程序,大规模在线修改技巧RSLogix5000指令应用实例:一、位指令XIC(检查是否闭合和XIO(检查是否断开是输入指令,OTE(输出激励、OTL(输出锁存和OTU(输出解锁是输出指令。位指

3、令要求操作数的数据类型都必须是BOOL。应用程序如下图所示(编程方法参见实验二: 当控制器处于运行或者远程运行状态时,可以在标记数据库的Monitor(监视页面中或者通过右键菜单改变某一个中间变量(非I/O点,指由用户自己定义的标签的值。点击这里 当输入条件发生变化时,测试输出结果如下所示:如果Limit_switch_1=1 并且Limit_switch_2=0,则Light_1灯亮;如果Limit_switch_3=1,则Light_2灯亮,并且锁存该状态,即使下一轮程序扫描到Limit_switch_3=0,Light_2灯依然点亮,如测试结果中的梯级1的输出状态所示。 如果Limit_

4、switch_1=1 并且Limit_switch_2=1,则回路中的常闭触点被打开, Light_1=0,灯灭。 如果Limit_switch_4=1,则Light_2灯的输出锁存被解除,灯灭。注意:程序的一行梯级中,可以只有输出指令,但不能只有输入指令,否则将产生逻辑错误。二、计时器和计数器指令TON(延时导通计时器、CTU(加计数器、RES(复位指令等指令都是输出指令。计时器指令要求操作数的数据类型必须是计时器结构体TIMER,该结构体中包含的元素如下表:元素数据类型说明.EN BOOL 使能位-标识计时器指令被使能.TT BOOL 计时位-标识计时操作正在进行.DN BOOL 完成位-

5、标识计时操作已完成.PRE DINT 预置值-用户预设的计时要求值.ACC DINT 累加值-标识指令被使能后经过的时间RSLogix5000中计时器的时间基为1ms,例如,如果用户需要一个2s的计时器,应当将预置值设置为2000。计数器指令要求操作数的数据类型必须是计数器结构体COUNTER,该结构体中包含的元素如下表:元素数据类型说明.CU BOOL 加计数使能位-标识加计数器指令被使能.OV BOOL 溢出位-标识计数值超过上限值2147483647.DN BOOL 完成位-标识计数值已等于或大于预设值.PRE DINT 预置值-用户预设的计数要求值.ACC DINT 累加值-标识指令被

6、使能已经计过的次数TON和CTU指令的应用程序如下所示: 当输入条件发生变化时,测试输出结果如下所示: 如果Limit_switch_1=1,计时器Timer_1开始计时,Timer_1.TT位被置1, Light_1灯亮。当计时器计时完成,Timer_1.DN位被置1,Light_2灯亮,计数器Counter_1计数一次。 当计数器计数达到5次后,计数工作完成,Counter_1.DN位被置1,Light_3 灯亮。 如果Limit_switch_2=1,计数器Counter_1被复位。三、比较指令CMP(比较表达式指令、EQU(等于指令、GRT(大于指令、LES(小于指令、LIM(极限比较

7、指令等指令都是输入指令。比较指令的应用程序如下图所示: 测试输出结果如下所示: 对于极限比较指令LIM,如果Low Limit < High Limit,则当测试值等于或在Low Limit和High Limit之间时,Light_4灯亮;如果Low Limit > High Limit,则当测试值等于或在Low Limit和High Limit之外时,Light_5灯亮。四、计算指令ADD(加法指令、SUB(减法指令、MUL(乘法指令、DIV(除法指令、CPT(表达式计算指令等指令是输出指令。计算指令的应用程序及测试结果如下图所示: 在使用计算指令的时候,要特别注意溢出问题,如测

8、试程序的梯级2的输出结果所示,Value3×1000所得的结果超出了RSLogix5000中整形数据的数值范围(最大值为2147483647,因此发生了溢出,得到了不正确的计算结果。计算指令支持混合数据类型变量的使用,但是这样会损失精度,也可能发生取整误差,而且指令执行时间长。最优的数据类型是DINT或REAL。五、数据传送指令MOV(传动指令、COP(文件复制指令等指令是输出指令。MOV、COP等指令支持混合数据类型变量的使用,但是这样会损失精度,也可能发生取整误差,而且指令执行时间长。最优的数据类型是DINT或REAL。数据传送指令的应用程序如下图所示: 当输入条件发生变化时,测

9、试输出结果如下所示: 如果Limit_switch_1=1,则Timer_1结构体被复制到Array_1数组中,覆盖的目标地址为Array_1的前三个元素。 如果Limit_switch_2=1,则Timer_1结构体的元素0、元素1和元素2分别被复制到Value0、Value1和Value2中。RSLogix5000的软件编程实例:简单的题目,经典的道理题目1:编写程序产生一个方波用于重复性控制条件题目2:编写程序产生一个脉宽可变的方波用于可变可调的比例控制题目3:无需手动控制,03号灯循环点亮,每个灯亮1S题目4:04号灯循环亮,每个灯亮1S,循环5次结束。规定地址start:循环开始;s

10、top:循环停止;OUT04表示灯如果有开关量输出模块输出到实际输出地址中,观察模块的状态灯。适用于周期性工作的设备,如果某些排渣阀题目5:写出传动程序中的爬行运行切换的程序。考察指令的灵活运用,是否实现功能,程序是否简单易读题目6:编写一阀门控制,完成自动循环动作,(有多个逻辑,手动控制,液位连锁,电机连锁,计时连锁,可选。考察学员如何编写程序实现多个条件的逻辑控制。Tag自己定义,要求简单易懂。程序逻辑明了例:除砂器冲洗程序:通过现场控制面板“本控/DCS”按钮控制中浓除砂器,当打到DCS时,起动按以下程序:1、检查顶部排渣阀门是否关闭,如果关闭,请到下一步;2、打开底部排渣阀;3、打开冲

11、洗水阀;4、延时15秒;5、关闭底部排渣阀;6、延时45秒;7、关闭冲洗水阀;8、检查底部排渣阀是否关闭,如果关闭,请到下一步;9、打开顶部排渣阀;10、600秒后; 11、关闭顶部排渣阀;回到步骤1编写程序应掌握一个原则,就是直接输出地址只能出现一次。即使逻辑正确也要避免同一直接输出地址出现多次。题目7:编写MCC电动机启动程序。地址:IN0:readyIN1:faultIN2:runningOUT0:start_command本题有简单-复杂的编辑方法,由简单到复杂体现到编程人员的考虑问题的全面性考察:程序的完整性,安全性(延时自动停止,全面的故障分类。题目8:有A,B两台电机,现在客户要

12、求:A停止时B要停止;B停止时A要停止。地址:IN0:A电机ready信号IN1:A电机running信号IN2:A电机fault信号IN3:B电机ready信号IN4:B电机running信号IN5:B电机fault信号OUT0:A电机输出OUT1:B电机输出可行性分析!题目9:有一油泵站,有两台电动机A,B互为备用,只有一组启动/停止按钮,要求和油压信号连锁,实现手动和自动启停,两台要循环启动,增加使用寿命。地址:IN0:A电机ready信号IN1:A电机running信号IN2:A电机fault信号IN3:B电机ready信号IN4:B电机running信号IN5:B电机fault信号I

13、N6:油压连锁信号,1=自动启动,0=自动停止OUT0:A电机输出,OUT1:B电机输出题目10:编写一浓度PID控制指令。完成PID调节-手自动切换-正反向调节-输出限幅考察:有没有手动/自动切换,切换有没有做到无扰动,有没有考虑连锁等题目11:编写流量的累积值考察:时间基准的应用,学会正确应用中间值,清零是否合理,有无防止溢出。题目12:有09号电机,由外部信号控制组启动和停止,按顺序间隔5S启动。编写程序考察:对比较大的程序的编写,启动/停止是否为脉冲,运行状态信号是否作为连锁条件,是否考虑到长时间启动不成功自动停止,外部连锁信号是否滤波等例:底浆粗选工段本工段设备包括:2#碎后池、2#

14、碎后池搅拌器M20、粗筛供浆泵M21、一段粗筛M53、浮选筛浆机M24、稳位箱、排渣分离机M25、二段粗筛M26, 浮选筛进料池搅拌器M22, 浮选筛浆机供浆泵M23。DCS总开机程序:1、联锁投入,总起动;2、设定二段粗筛良浆出口阀门FV3204 0%开度,排渣阀50%开度;3、设定浮选筛浆机良浆出口阀门FV3205 0%开度,轻渣排渣阀FV3203100%开度;4、设定一段粗筛良浆出口阀门FV3202 0%开度,排渣阀FV3201 50%开度;5、HC3201阀开,HC3205a阀开;6、起动排渣分离机电机M3207;7、延时5秒,起动二段粗筛电机M3208;8、延时5秒,二段粗筛排渣阀回

15、复动流量自动控制位置上,二段粗筛良浆出口阀在15秒内打到预设的25%的开度,然后打动流量自动控制位置上。9、延时5秒,起动浮选筛浆机电机M3205;10、延时5秒,起动一段粗筛电机M3201;11、浮选筛进料池液位等于或大于30%;12、浮选筛进料池搅拌器起动;延时5秒,起动浮选筛浆机供浆泵电机M3204;13、浮选筛浆机良浆出口阀门15秒内打到预设的25%的开度上,然后打到流量自动控制位置上,浮选筛浆机排渣阀回复到流量自动控制位置上;14、延时3秒,起动2#碎后池搅拌器电机M3110;15、延时5秒,起动一段粗筛供浆泵电机M3111;延时5秒,一段粗筛排渣阀回复动流量自动控制位置上,一段粗筛良浆出口阀在15秒内打到预设的25%的开度,然后打动流量自动控制位置上。联锁: 1、如果一段粗筛供浆泵电机M3111停止,一段粗筛良浆阀将马上关闭,且一段粗筛主电机只能运行2min;2、如果一段粗筛主电机M3201停止,一段粗筛供浆泵电机M3111将不能起动;3、如果二段粗筛电机M3208或浮选筛浆机电机M3205停止,浮选筛供浆泵电机M3204将停止;4、如果浮选筛浆机供浆泵电机

温馨提示

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

评论

0/150

提交评论