目录:
1、创建一个新的RSLogix5000项目文件
2、修改控制器的属性
3、创建程序和例程
4、调整程序规划
5、复制和重复使用程序和例程
6、删除例程、程序和任务
7、校验任务、程序和例程
项目/项目文件:RSLogix5000文件为Logix5000控制器存储所有程序和组态信息。
项目文件类型
项目文件需要输入编程和组态信息。
创建项目文件需要选择的项目
名称:
控制器的名称自动设置为项目文件的名称。
项目保存完毕后,文件的名称和控制器的名称可以分别进行改变。也即保存后项目文件以不同的名称命名并不改变项目文件中控制器的名称。
创建项目完毕后,必须执行下面的操作:
CST:表示从控制器插入电池开始算起的时间(毫秒级的):
框架内所有模块都同作为主的控制器中的CST时间同步。
CST可以用来确定数据的相对时间(例如:熔断器烧断、状态改变等等).
Logix5000控制器=有优先权设置的,多任务处理器:
为单线程执行方式,在一个时间段只能执行一个任务。
有能力:
中断一个正在执行的任务.
切换至另外一个任务.
中断任务执行完毕后再返回原来的任务。
要最大限度的使用多任务的功能,在使用RSLogix5000项目中会使用到下面的组件:
※任务:执行程序的规划机构。
※程序:一系列相关的例程和标签的集合体。
※例程:可执行代码的集合。
缺省状态下,在每个新建的项目中只有一个任务、一个程序和一个例程:
任务触发已规划的程序的执行。
所有类型的控制器,都只能有一个任务被组态为连续型任务:
各类型控制器支持的任务
为一个后台任务,当周期型任务或者事件型任务不再执行时,执行连续型任务。
在自触发模式下执行(每次操作完毕后自动重新启动)。
可以被周期型和事件型任务中断。
缺省状态下,连续型任务的优先级最低(比优先级最低的周期型或者事件型任务都低)。
监视任务的执行
定时器在任务初始化时开始运行
在任务内所有程序执行完毕后停止运行
在控制器项目管理器中的图标表示该任务通过用户选项的设置或通过指令被禁止:
程序在项目规划结构中处于第二级。程序有下述特性:
每个任务可以规划多达100个程序。
当触发任务时,任务中的程序按顺序从第一个到最后一个开始执行。
任务中的程序可以直接访问控制器作用域内存中的输入输出数据:
程序中的代码可以修改控制器作用域内的数据。
程序中的代码也能修改程序作用域内的数据:
程序内的代码不能访问或者修改本地其它程序内的数据。
数据和I/O数据的变化是异步的,并且在执行任务期间可发生改变。
创建新程序的按钮如下图所示:
程序可以在特定的任务中规划或者不做任何规划:
OEM(原始设备制造商)创建一个项目然后对根据设备所需要的功能对其进行规划或者不做任何规划。
维护人员或者现场技术人员可以在调试项目时创建故障处理程序。
软件可以显示所选程序的最大扫描时间和最小扫描时间(毫秒级):
扫描时间基于指令的类型和数目。
这些数值为程序执行时间,并不包括等待其它程序或者任务的时间。
这些数值只是用来显示。
例程:为项目提供了可执行的代码、或者逻辑判断的指令。特定的程序开发语言包含了系列的元素
梯形图:适用于继电器或者离散量的应用场合
功能块:适用于连续生产过程场合和传动控制应用场合
顺序功能图:适用于运动控制和批处理应用场合或者某一时刻多个状态同时被激活的应用项目
结构化文本:适用于复杂的数学或者数组应用场合或者从其它项目中转换过来的使用高级语言编制(例如C语言)的项目。
例程可以设置为下面的类型:
主例程:当控制器触发与之相关联的任务或者程序时,该例程自动执行:
-可以为所有的语言形式
-在控制器项目管理器中以1标注
故障例程:当控制器发现例程中指令执行出现错误时,会执行该例程:
-在控制器项目管理器中显示黄色的三角形标注。
子例程:该例程被其它例程调用:
-在主例程或者其它子例程中同JSR(跳转到子例程)的指令进行调用(有条件的或者无条件的)。
-当发生某种情况时或者例程执行完毕后返回其它的例程。
主例程总是位于列表的第一个..
故障处理例程(如果有)第二..
子例程以字母的顺序排列..
下图为子例程结构示意图:
创建新例程的按钮如下图所示:
当JSR指令使能时,梯形图中的JSR指令将直接调用并且执行子例程,如果需要,也可以将参数传递到子例程:
数值型、结构化参数和BOOL数据类型标签都可以被传递。
SBR(子例程)指令接收输入参数并将复制其数值至指定的标签:
SBR指令识别标签并且将引入的参数存储起来。
RET(返回)指令停止运行子例程。如果需要,返回参数至JSR指令:
-只在将参数返回至JSR指令的时候才使用RET指令。
用户配置的系统开销时间片决定控制器执行下述后台功能时所用时间占用的百分比:
同编程设备和编程软件进行通讯
Messaging(消息)
从控制器的串口通过背板至其它设备的桥接通讯
重新创建和监视I/O连接(RIUP时)
系统的开销时间片并不影响周期型或者事件型任务的执行:
异步:动作相互独立,缺少规律。
在Logix5000控制器中,I/O数值的更新和代码的执行是异步的:
输入模块的数据按照所设置的RPI速率,以广播的形式将数据发送至背板。
代码扫描过后,如果执行完毕输出指令,输出标签将立即更新。
在任务执行完毕后,数据以RPI速率发送至输出模块。
由于存在更新过程,输出设备的状态改变的速率可能与程序扫描速率的略有不同:
要删除例程、程序和任务,所有与之相关联的元素须按顺序移除:
删除例程内所有代码。
删除例程(Unassignroutines)。
删除程序作用域内的所有标签。
将所有程序设置为非规划的,然后删除它们。
删除任务。
要有效的组织一个项目,切记下述的实践经验:
了解生产过程的详细描述。
将生产过程划分成若干个功能组或者功能部分,每个组或部分表示生产过程的某个方面:
-将与操作员相关的操作排序
-将相关联的生产过程事件分组
-机器或者机器部分
如果某部分任务要求在指定时间间隔内执行,将该部分程序放置于周期型任务内。
如果某部分任务要求在事件发生时执行,将该部分程序放置于事件型任务内。
要有效的组织一个项目,切记下述的实践经验:
如果某部分任务既不需要在指定时间间隔内执行,也不需要在事件发生时执行,这时将该部分程序放置于连续型任务内。
将程序划分为各个例程,每个例程代表程序的某个方面:
-程序中的特定生产过程
-用于生产故障处理的程序代码片段
-程序内经常执行的功能
-使用程序内的主例程分别调用其它子例程
要有效的组织一个项目,切记下述的实践经验:
为任务、程序和标签创建工厂内习惯的命名方式。
为任务、程序和例程分别做详细注释并且考虑上任务执行的次数(毫秒级),并在名称上体现出来。
在此示例中,造纸厂将PLC-5的时间测试梯形图程序转换为RSLogix5000项目。所有程序会放置于一个连续型的任务下面并且有下述缺省的项目结构。
组织项目完毕后,您须校验项目。在此过程中,软件会查找出一些错误。
下面的按钮会在检查控制器和例程时用到:
检查过程中发现的错误和警告会显示在输出窗口中:





