RSlogix500编程SJTU-RockwellAutomationLab2007.03LiuLeilei主要内容熟悉编程环境及功能梯形图程序原理介绍组织工程介绍系统介绍指令子程序编程介绍中断介绍RSlogix500编程环境及功能熟悉编程环境及功能主菜单常用工具条Online指令工程窗口梯形图编辑窗口信息窗口状态栏主菜单最主要的菜单项“Comms”,SystemComms:与控制器建立通信WhoActive…:建立通信并OnlineGoOnline:跟踪控制器状态Upload:上载控制器中的程序Download:将程序下载到控制器Mode:设置控制器运行模式其它的菜单项遵从Windows风格常用工具条Windows标准工具条打开指令快捷窗口查询快捷工具校验梯形图程序缩放梯形图显示Online菜单Offline、Online、Upload、Download快捷菜单ForcesI/O数据操作,用于程序调试,清除Forces控制器在线编辑状态ForcesEnable或Disable指令菜单指令分组显示菜单指令分组选项卡工程管理窗口与主菜单的Help一样数据监视梯形图程序文件,最多255个I/O数据强制各种类型的数据文件分类数据监视趋势图集中管理各种数据数据文件控制结构数据文件系统状态文件计时器数据文件输出数据文件整数数据文件计数器数据文件位数据文件输入数据文件已使用数据文件浮点数文件RSlogix功能通过工程管理窗口几乎实现所有功能:控制器属性、通信设置、I/O组态梯形图程序文件管理程序数据管理程序数据监视控制器属性通信通道属性设置I/O组态校验电源创建新程序文件创建新数据文件程序数据监视梯形图程序原理梯形图程序原理概述梯形图程序是在原电器控制系统中常用的接触器、继电器梯形图基础上演变而来的梯形图形象、直观,对于熟悉继电器控制的人来说,非常容易接受它是一种应用最为广泛的编程方式,适应于顺序逻辑控制、离散量控制和定时/计数控制等梯形图的格式梯形图由多个不同的阶梯(RUNG)组成,每一个阶梯又有输入指令及输出指令组成输入指令是阶梯的条件判断指令,只有当条件为真才执行输出指令,输入指令可并联和串连输出指令是真正产生控制的指令,只可以并联,不可串连梯形图的I/O映像和循环扫描原理循环扫描原理I/O映像:每个I/O量在PLC的内存中都有映像备份,程序扫描时用的是内存中的映像,等到输出扫描才实际输出控制输入扫描内务处理程序扫描输出扫描组织工程、编程并上机试验步骤(试验一)打开RSlogix500创建一个新的工程保存工程组态I/O编写梯形图程序校验程序下载程序运行打开RSlogix500打开RSlogix500:StartProgramsRockwellSoftwareRSLogix500EnglishRSLogix500English新建工程打开“File”菜单,选择“NEW”,弹出“SelectProcessorType”窗口,修改控制器名字“SLC500”,选择控制器类型“1747-L553B64K”,单击“OK”确定保存工程打开“File”菜单,选择“NEW”,弹出窗口“SaveProgramAs…”,修改名字为“Control”,单击“保存”确定组态通信打开“Comms”菜单,选择“SystemComms…”,弹出窗口“Communications”,在左边窗口选择控制器,单击“OK”确定。这样,RSlogix500就可以将程序Download到SLC500控制器,或Upload程序组态I/O在工程管理窗口打开“Controller”文件夹,双击,弹出窗口“I/OConfiguration”,可以手动将右边窗口的I/O模块加到左边机架槽,也可以自动组态I/O自动组态I/O在“I/OConfiguration”窗口单击“ReadIOConfig”按钮,弹出“ReadIOConfig……”窗口,单击“ReadIOConfig”按钮,将会通过网络自动组态I/O组态I/O高级属性在“I/OConfiguration”窗口中,先选中要进行高级属性设置的模块,单击“AdvConfig”按钮,弹出“AdvancedI/OConfiguration”窗口,可以对模块进行一些高级设置编写梯形图程序我们的目标是编写一个电机启动/停止控制程序,电机起停的逻辑为,首先开总电源,再启动电源,输出都是控制接触器,所以需要保持增加阶梯单击指令,添加一个新阶梯增加指令XIC左键选取指令按住。并将它拖到阶梯预定的位置,当符号变为绿色时,松开左键设置指令地址打开“INPUT”数据文件,将对应的地址“I:2.0Offset0”拖拽到指令上方,直到指令右边出现绿色方块增加指令OTE用同样的方法添加指令OTE增加新阶梯和指令设置指令地址选中阶梯0的OTE指令,将其地址托拽到阶梯1的XIC指令上方,知道左边出现绿色方块后松开增加分支选择分支指令,并将它托拽到预定的位置,选中分支指令右边的红色方块,将它托拽到预定位置,直到出现绿色方块后松开添加描述选中要添加描述的指令并单击右键,在弹出的快捷菜单中选择“EditDescription-I:2/0”,在弹出的窗口中输入“电源开关按钮”按下校验按钮校验最终结果阶梯一:当总电源开关按钮按下时,总电源接触器闭合阶梯二:当总电源接通且启动按钮按下时,电机接触器闭合并保持,电机开始运转,当停止按钮按下时,电机接触器断开,电机停止程序下载打开菜单“Download”,弹出版本号确认窗口,单击“OK”,弹出确认窗口,单击“是”确认程序下载确认下载之后,弹出下载进度窗口,下载完成,弹出窗口确认是否“Online”,选择“Yes”以便监测程序运行运行打开“Online”工具栏,选择“Run”,在弹出的确认窗口中选择“Yes”,运行的程序视图如下,两边的绿色竖条表示对应的阶梯正在被执行按照刚才步骤上机试验Micrologix1000指令介绍主要介绍各种指令是用来干什么的?具体怎么应用只能自己发时间去摸索部分重要指令详细介绍用法Micrologix1000指令分类Bit指令:实现继电器逻辑Timer/Counter:用于实现顺序控制Input/Output:通信、I/O处理和I/O中断处理Compare:数学比较判断指令Move/Logical:赋值和逻辑运算指令Compute/Math:数学计算指令TrigFunction/AdvancedMath:数学函数指令AsciiControl/AsciiString:Ascii通信和格式ProgramControl:程序跳转和调用File/Misc/Sequencer:数组、队列和中断等Bit(继电器)指令(重要)XIC:输入,判断是否闭合XIO:输入,判断是否断开OTE:输出,无记忆输出OTL:输出,锁存输出OTU:输出,解锁,与OTL配合OSR:输入,判断上升沿并保持一周期FBC和DDT:数组数据按位比较,用于故障诊断,DDT的Reference会跟着Sourse变化,而FBC不会Timer/Counter指令(重要)TON/TOF:输出,延时导通/断开RTO:输出,带记忆延时导通RES:输出,复位Timer和CounterCTU/CTD:输出,上升/下降沿计数RHC:输出,读高速时钟Input/Output指令BTR/BTW:输出,块传送,用于RIO通信MSG:输出,处理器通道通信指令SVC:输出,MSG通信立即刷新Input/Output指令IIM/IOM:输出,带屏蔽立即输入/输出指令REF:输出,通信、I/O立即刷新IIE/IID/RPI:I/O事件中断控制,使能/屏蔽/清除挂起的中断RMP:输出,产生有规律的曲线Compare指令EQU/MEQ/NEQ:输入,相等/屏蔽相等/不等LES/LEQ/GRT/GEQ:输入,小于/小于等于/大于/大于等于LIM:输入,范围比较Move/Logical指令MOV/MVM:输出,赋值/屏蔽赋值AND/OR/XOR:输出,与/或/异或NOT/CLR:输出,取反/清除Compute/Math指令ADD/SUB/MUL/DIV:输出,加/减/乘/除SQR/NEG:输出,绝对值开方/取反TOD/FRD:输出,转换为BCD码/转换为整数Compute/Math指令(重要)CPT(Compute):输出,按照Expression算式计算,并将结果保存到Dest,Expression表达式每行最多28个字符,总共最多255个字符TrigFunctions指令SIN/COS/TAN:输出,三角函数正弦/余弦/正切ASN/ACS/ATN:输出,反三角函数AdvancedMath指令LN/LOG:输出,指数函数指令XPY/ABS:输出,对数函数/绝对值指令SWP/TDF:输出,将字数组的高低字节交换/计算时间差(由RHC指令获取的时间)AdvancedMath指令DEG/RAD:输出,度-弧度DCD/ENC:输出,译码/编码SCP:输出,参数整定AsciiString处理指令ACI/AIC:输出,字符串-十进制整数ASC/AEX/CAN:输出,搜索字符串/抽取字符串/链接字符串ASR:输入,字符串比较AsciiControl通信指令ABL/ACB:输出,检查接受缓冲区数据ARL/ARD:输出,读取接受缓冲区数据AsciiControl通信指令AWT/AWA:输出,Ascii通信发送AHL/ACL:输出,发送握手信号/清除缓冲区和通信读写指令ProgremControl指令(重要)JMP/LBL:输出,程序跳转JSR/SBR/RET:输出,程序调用与返回TND/MCR/SUS:输出,用于调试,程序热结束/Disable非记忆输出(成对使用)/程序挂起File/Misc指令(重要)COP/FLL:输出,数组填充STS/STE/STD/INT:输出,可选定时中断置位/使能/屏蔽/中断子程序开始标识DDV/PID/SCL:输出,双字除/PID控制/数据整定Sequencer循环操作SQC:输出,循环比较SQO:输出,循环输出SQL:输出,循环输入FileShift顺序操作(重要)BSR/BSL:输出,位右移/左移FFL/FFU:输出,FIFO输入/输出,成对使用LFL/LFU:输出,LIFO输入/输出,成对使用指令总结用于顺序或逻辑控制的指令:继电器指令、计时计数指令、顺序操作和循环操作指令用于程序控制的指令:程序跳转指令、子程序指令、中断控制指令用于通信和I/O处理的指令:控制器内置通信口通信、RIO通信、Ascii通信、I/O立即刷新指令数学运算指令:数学比较、逻辑运算、简单数学运算、复杂函数指令其它:PID、高速计数、PWM输出等指令子程序介绍RSlogix500子程序对于Micrologix1000,总共可以有15个程序文件。其中0号文件为系统文件,1号保留,2号为梯形图主程序文件,3号是用户故障中断子程序,4号是高速计数中断子程序,5号是可选定时中断子程序,其它子程序文件可以由用户定义对于Micrologix1200、1500和SLC500,有256个程序文件。其中,0号为系统文件,1号保留,2号为梯形图主程序文件,其它文件可以由用户自定义,可以为普通程序文件和中断程序文件RSlogix500子程序将多次使用或者独立功能的一段程序单独组织成一个子程序,可以使得程序更加清晰易懂,同时也可以部分地节省内存空间RSlogix500只支持子程序嵌套调用4层,同样的道理,中断程序只可以嵌套调用3层子程序RSlogix500子程序所用到的三条指令:JSR-跳转到子程序,SBR-子程序开始指令,可以不用,到推荐使用,RET-子程序返回指令子程序试验(试验二)编写梯形图程序,使得Micrologix1000