软件介绍
RSLOGIX5000时美国AB公司开发的用于对其公司PLC产品编程的软件。它具有以下特点:1 统一的项目查看
2 灵活的梯形图编辑器
3 拖放式操作
4 梯形图查看选项
5 定制数据监视
6 状态文件分类显示
7 简易的通讯配置
8 强大的数据库编辑器
9 查找与替换
10 直观的windows界面
11 项目校验快捷地更正程序错误等。
创建工程
下面介绍如何使用RSLogix5000,首先要创建新的RSLogix5000工程文件。具体步骤如下:1 打开RSLogix5000,见图1-1
图1-1
打开后的窗口为RSLogix5000的工程,见图1-2:
首先你要给PLC的处理器定义,定义的内容有名字、类型、机架的背扳 所在槽号、创建的文件路径等。这里处理器类型选1756 L1 controllogix 5550,名字定为PLC,description定为练习,背板定为13槽,槽号0槽,路径默认。
图 1-2
点击ok完成设置,显示RSLogix5000工程界面
1. 首先提出tag(标签)的概念,标签:就是实际工程中的变量,有模拟量如水位、压力、温度。数字量如开关启停、状态显示等。我们在程序中使用它进行编程,在窗口中在线查看状态,也可以向上位机输出标签值。
2. 标签类型
一 base 基本类型包括: 1 BOOL 布尔型 1 BIT
2 SINT 短整型 1 BYTE
3 INT 整型 2 BYTE
4 DINT 双整型 4 BYTE
5 REAL 实型 4 BYTE
二 STRUTURES 结构体类型 1 predefined 预定以型
图 1-3
User-defined 用户定义型:本例以自定义PUMPPARAMETERS为例 在其中定义结构体成员分别为ACCTIME,RUNTIME,SEQUENCE,STATUS,FIRSTPUMP,并确定各自类型。
图 1-4
用户可以利用标签名称来引用结构体内的成员,格式为:tag_name.member_name。
如果结构体定义为数组,则使用数组标签,后面是在数组中的位置(position)
和子结构体(substucture)及成员名称(member)。格式为:array_tag[position].member。
下面介绍一下别名标签的概念:用于表示其它标签的标签,在为结构体元素或数组定义简化标签名称时很有用。用户可以使用标签编辑器来创建一个别名,或者在你输入逻辑并且利用新标签(new tag)对话框定义别名时输入别名标签。见图1-5
图1-5
1.在标签编辑器中选择需要建立别名的标签以alarm 为例 可以直接在alias下输入别名,也可以在空白处点右健,在弹出的菜单中选edit tag properties,
图1-6
标签作用域:用户可以在一个单独的程序中队标签进行分组,或使标签在控制器范围内对指令开放。当用户定义标签时,需指定标签是作为程序标签(局部)还是作为控制器标签(全局)。
1 程序内的局部作用域标签
程序标签时由只限于主程序内的例程使用的数据组成的。因此对于主程序而言,这些标签使局部的。在其他程序中的例程不能访问另一个程序中的程序标签。
图 1-7
2 控制器的全局作用域标签
控制器标签是适用于控制器内全部例程的数据组成的,而不管什么任务或程序包含了这些例程。对控制而言,这些标签是全局的。
图 1-8
开发程序
1 组织工程
控制器操作系统是一种抢先多任务系统,遵循IEC1131-3标准。该工作平台可提供:1 多任务用于组态控制器执行;
2 程序用于组合数据和逻辑;
3 例程用于封装使用一种编程语言编写的可执行代码。
2 定义任务
一个任务可以为一组或多组程序提供时序安排及优先级信息,这些程序是按照特定的标准来执行,用户可以将任务组态成连续方式或周期方式
任务类型 |
LOGIX5550控制器支持的任务总数 |
连续方式 |
1 |
周期方式 |
如果其中包括一个连续任务则控制器一共支持31个任务,否为32个任务 |
控制器中的每一任务都有一个优先等级。当有多个任务被触发时,炒作系统更具有线级别来决定执行哪一个任务。对于周期性任务,有15个可组态的优先级别,其范围从1-15,其中1具有最高优先级而15的优先级最低。高优先级的任务有权中断优先级较低的任务。连续性任务的优先级最低,因此可以随时被周期性任务中断。
一个任务最多可以有32个单独的程序,每一个程序都有自己的可执行例程和程序作用域标签(program-scoped tags)。一旦有一个任务被触发(被激活),则所有分配给该任务的程序将按照他们的分组顺序来执行。程序在控制器的项目管理器中只能出现一次,并且不能被多个任务共享。
每个任务都有一个看门狗定时器,用于监控任务的执行。当任务启动时,看门狗定时器开始计时,而当任务内的全部程序执行完毕时,看门狗定时器停止。
下面介绍一下如何创建任务
当用户在RSLogix5000中打开一个新的控制器工程时,主任务(Maintask)已经被定义为连续任务。用户可以更改这个默认的任务类型以适合自己的工程。
图2-1
在上图中右健点击tasks,选new task ,弹出如上对话框。
name |
输入任务名称 |
Description(说明) |
输入对任务的有关说明 |
type |
选择连续(continuous)或周期性(periodic),控制只支持1个连续任务。
|
Watchdog(看门狗) |
默认500毫秒 |
Priority(优先级) |
1-15 |
Rate |
适用于周期性任务,表示控制器以多高的速率执行任务 |
3 定义程序
每个程序都包含程序标签、一个可执行主例程、其他例程以及一个可选的故障例程。每个任务最多可以调度32个程序。
任务内被排定的程序将从第一个程序开始运行直到最后一个程序。不属于任何任务的程序将作为位排定程序显示。控制器在能够扫描某个程序之前,用户必须在任务中指定该程序。
下面介绍如何创建程序。当用户在编辑软件中打开一个新的工程时,已经为主任务(maintask)定义了一个主程序(mainprogram)。用户可以向添加其它程序一样更改这个程序。
要想创建一个新的程序:
1 选择一个任务(本例为“maintask”)
2 点击鼠标右健,选择new program 见下图2-2
弹出如下对话框
图2-3
上图中schedule in (排定于)定义用户计划排定程序的任务。编程软件将显示可用的任务列表。
4 定义例程
例程是指采用一种编程语言编写的一组逻辑指令。例如梯形图逻辑。例程为控制器中的工程提供可执行代码。例程类似于plc或slc处理器例的程序文件或子程序。
每个程序都有一个主例程。当控制器启动相关联的任务并且调用关联程序时,主力城市首先执行的历程。利用逻辑就可以调用其它例程,例如JSR指令。
用户也可以制定一个可选择的程序故障例程。当控制器在关联程序的历程中遇到指令执行故障(instrution-execution fault)时,控制器就执行指定故障例程。
下面介绍如何创建例程
当用户在编辑软件中打开一个新的工程时,已经为主程序(mainprogram)定义了一个主例程(mainroutine)。用户可以向添加其它程序一样更改主例程。
要想创建一个新的例程:
1 1 选择一个程序(本例为“mainprogram”)
2 点击鼠标右健,选择new routine 见下图2-3
图2-3
弹出如下对话框
图2-4
在上图中in program (程序)定义用户计划运行例程的程序。编程软件将显示可用程序的列表。
5 输入梯形图逻辑
logix5550控制器支持逻辑程序中每个梯级含多输出指令的格式。梯级中的输出指令可以按顺序排列(串联)或者输入和输出指令混合,只要保证梯级中的最后一个指令为输出指令即可。
控制器根据指令前面的梯级条件(梯级输入条件)来判定梯形图指令。根据梯级输入条件和指令,控制器设置指令后面的梯级条件(梯级输入条件)然后按指令顺序,将影响随后的指令。
图 2-5
如果一条输入指令的梯级输入条件为真(true),这控制器将判定指令并且根据指令结果设置梯级输入条件。如果指令判定为真;如果指令判定为假(false),这梯级输出条件为假。
输出指令不会更改梯级输出条件。如果一条输出指令的梯级输入条件为真,则梯级输出条件将被设置为真。如果一条输出指令的梯级输入条件为假,则梯级输出条件将被设置为假。
输入分枝:对于控制器支持的并联支路成熟没有任何限制。下图显示了一个包含5层的并联支路。主体级为第一个支路层,后面有个4附加的支路。
图 2-6
用户可以嵌套的支路最多为6层。下图显示了一个嵌套支路。底部的输出指令位于具有3层深度的嵌套支路中。
图 2-7