理论教育 控制器项目运行结构及数据标签创建方式优化

控制器项目运行结构及数据标签创建方式优化

时间:2023-06-30 理论教育 版权反馈
【摘要】:在控制器项目中创建运行结构,决定执行的顺序、方式和代码编写的语言,在指定的数据库中创建数据标签。—Consumed Tag:本控制器的Consumed标签获得来自对应Produced控制器的触发信息。如此重复,在程序下创建多个例程,控制器不限制例程个数。

控制器项目运行结构及数据标签创建方式优化

在控制器项目中创建运行结构,决定执行的顺序、方式和代码编写的语言,在指定的数据库中创建数据标签。

1.创建任务

右击Tasks,弹出任务菜单如图3-28所示。

单击978-7-111-46407-5-Chapter03-45.jpg进入任务组态页面,如图3-29所示。

978-7-111-46407-5-Chapter03-46.jpg

图3-28 任务菜单

说明:

●Name:为新创建的任务命名,只能是ASCII码字符

●Description:任务的注释说明,可以是中文或其他文字。

●Type:任务类型,默认已开出连续任务,只能选择周期类型或事件触发类型任务。

●Period:任务执行周期设定。

●Priority:任务执行优先权设定。

●Watchdog:看门狗,当任务执行时间超出此设定时间,将引起次要故障。

978-7-111-46407-5-Chapter03-47.jpg:勾选将取消任务执行完毕的输出处理,留意周期任务默认的是不勾选,意味任务中所有执行代码全部扫描完成后,将输出结果送往模块的RPI处理。

978-7-111-46407-5-Chapter03-48.jpg:勾选此项,屏蔽任务,该任务不会执行。

单击978-7-111-46407-5-Chapter03-49.jpg完成创建。

再创建一个事件触发任务,如图3-30所示。

978-7-111-46407-5-Chapter03-50.jpg

图3-29 创建一个周期任务

978-7-111-46407-5-Chapter03-51.jpg

图3-30 创建一个事件触发任务

说明:

●Name:为新创建的任务命名,只能是ASCII码字符。

●Description:任务的注释说明,可以是中文或其他文字。

●Type:任务类型,默认已开出连续任务,只能选择周期类型或事件触发类型任务。

●Trigger:触发类型选择。

—Axis Watch:运动轴达到指定的监视位置,该位置是为事件触发而设定的软位置。

—Axis Registration1:在运控模块或驱动高速注册输入1捕获到当前轴位置时。

—Axis Registration2:在运控模块或驱动高速注册输入2捕获到当前轴位置时。

—Motion Group Execution:运控规划调用。

—EVENT Instruction Only:事件指令执行触发。

—Module Input Data State Chang:本地或远程离散量模块或模拟量模块数据变化。

—Consumed Tag:本控制器的Consumed标签获得来自对应Produced控制器的触发信息。

●Tag:如果触发项选择了Module Input Data State Chang和Consumed Tag,则需要指定对应的标签。

978-7-111-46407-5-Chapter03-52.jpg:如果勾选,在定义时间内没有事件触发,也要调用本任务。

●Priority:任务执行优先权设定,默认值为10。

●Watchdog:看门狗,当任务执行时间超出此设定时间,将引起次要故障。

978-7-111-46407-5-Chapter03-53.jpg:勾选则取消任务执行完毕的输出处理,留意事件触发任务默认的是勾选的,意味任务中所有执行代码全部扫描完成后,不将输出送往模块的RPI处理。这是因为有的触发源要求必须这样设置,输出却用专门的立即输出指令单独来传送。

978-7-111-46407-5-Chapter03-54.jpg:勾选则屏蔽该任务,被屏蔽的任务将不会被执行。

单击978-7-111-46407-5-Chapter03-55.jpg完成创建。

2.创建程序

在每个任务下,可以创建属于这个任务的程序,并在任务被调用的时候,程序中扫描执行代码,实现控制。每个任务下可创建100个程序或Phase。

右击Main Task,弹出程序菜单如图3-31所示。

单击978-7-111-46407-5-Chapter03-56.jpg进入程序组态页面,如图3-32所示。

978-7-111-46407-5-Chapter03-57.jpg

图3-31 创建程序

978-7-111-46407-5-Chapter03-58.jpg

图3-32 组态程序

说明:

●Name:为新创建的程序命名,只能是ASCII码字符。

●Description:程序的注释说明,可以是中文或其他文字。

●Schedule in:被预定在指定任务中。

978-7-111-46407-5-Chapter03-59.jpg:勾选则屏蔽该程序,被屏蔽的程序将不会被执行。

如此重复,在任务下创建多个程序/Phase,控制器允许最多创建100个,如图3-33所示。

任务下面的所属程序,其执行顺序将按照排列从上到下,如果要改变执行的顺序,要在任务中对程序进行管理,进入任务属性,如图3-34所示。

978-7-111-46407-5-Chapter03-60.jpg

图3-33 已创建多个程序

978-7-111-46407-5-Chapter03-61.jpg

图3-34 进入任务属性

单击978-7-111-46407-5-Chapter03-62.jpg进入任务管理页面,如图3-35所示。

978-7-111-46407-5-Chapter03-63.jpg

图3-35 任务管理页面

在任务的常规页面,可以修改任务名称。

单击Configuration选项卡进入组态页面,如图3-36所示。

978-7-111-46407-5-Chapter03-64.jpg

图3-36 修改任务组态

说明:

●Type:选择改变任务的类型。

●Watchdog:任务的看门狗时间,当任务执行时间超过设定时间,控制器引起次要故障。

978-7-111-46407-5-Chapter03-65.jpg:勾选则取消任务执行完毕的输出处理,留意默认的是不勾选,意味任务中所有执行代码全部扫描完成后,将输出结果送往模块的RPI处理。

978-7-111-46407-5-Chapter03-66.jpg:勾选则屏蔽任务,被屏蔽的任务将不会被执行。单击Program/Phase Schedule进入调整程序位置页面,如图3-37所示。

978-7-111-46407-5-Chapter03-67.jpg

图3-37 调整程序位置

选中某一个程序,单击978-7-111-46407-5-Chapter03-68.jpg978-7-111-46407-5-Chapter03-69.jpg调整程序的位置,即程序的执行顺序。

单击978-7-111-46407-5-Chapter03-70.jpg将选定的非预定程序抓放到预定程序中,单击978-7-111-46407-5-Chapter03-71.jpg将选定的预定程序抓放到非预定程序中。

3.创建例程

在每个程序下可以创建例程作为执行代码编程的载体,这也是运行的最小单位。在每个程序中,必须定义一个主例程作为程序启动,可以定义一个故障例程作为故障处理。其他子例程均被主例程用调子例程指令JSR调用。

右击Main Program,弹出例程菜单如图3-38所示。

单击978-7-111-46407-5-Chapter03-72.jpg进入例程组态页面,如图3-39所示。

978-7-111-46407-5-Chapter03-73.jpg

图3-38 创建例程(www.daowen.com)

978-7-111-46407-5-Chapter03-74.jpg

图3-39 组态例程

说明:

●Name:为新创建的例程命名,只能是ASCII码字符。

●Description:例程的注释说明,可以是中文或其他文字。

●Type:选择例程的类型,也即编程语言模式。

●In Program or Phase:指定例程所属程序或Phase。

●Assignment:分配例程,主例程、故障例程或预扫描例程。

978-7-111-46407-5-Chapter03-75.jpg:勾选则例程在合适的编辑器被打开,或创建后立即打开。

如此重复,在程序下创建多个例程,控制器不限制例程个数。

右击MainProgram,下拉程序菜单,选择Properties,如图3-40所示。

978-7-111-46407-5-Chapter03-76.jpg

图3-40 进入程序属性

在程序属性中,管理例程。

单击978-7-111-46407-5-Chapter03-77.jpg进入程序属性,在程序的常规页面,可修改程序名称,如图3-41所示。

单击Configuration进入程序组态页面,如图3-42所示。

978-7-111-46407-5-Chapter03-78.jpg

图3-41 程序常规页面

978-7-111-46407-5-Chapter03-79.jpg

图3-42 程序组态页面

说明:

●Main:指定主例程,作为程序的启动例程。

●Fault:指定故障例程,当程序执行发生问题时,被调用执行,常用来编写处理逻辑,如清除故障。

978-7-111-46407-5-Chapter03-80.jpg:勾选则屏蔽程序,被屏蔽的程序将不会被执行。

单击978-7-111-46407-5-Chapter03-81.jpg978-7-111-46407-5-Chapter03-82.jpg完成。

已创建的控制器项目运行结构一览如图3-43所示。

4.创建数据标签

右击Controller Tags弹出数据库菜单,如图3-44所示。

978-7-111-46407-5-Chapter03-83.jpg

图3-43 已创建的运行结构

978-7-111-46407-5-Chapter03-84.jpg

图3-44 创建数据标签

单击978-7-111-46407-5-Chapter03-85.jpg进入标签创建页面,如图3-45所示。

978-7-111-46407-5-Chapter03-86.jpg

图3-45 创建标签页面

说明:

●Name:为标签命名,只能是ASCII码字符。

●Description:标签的注释说明,可以是中文或其他文字。

●Usage:用于设备标签,从下拉菜单的标签中选择,输入参数、输出参数或正常参数。

●Type:数据分类,有以下几种:

—Base:正常的数据,允许创建内部数据,默认选择。

—Alias:别名数据,允许分配给一个已存在的有着相同定义的标签。

—Produced:通信数据,发送给远程控制器的一个接收标签,如选择,还要继续组态这个标签,在978-7-111-46407-5-Chapter03-87.jpg进入连接组态。

—Consumed:通信数据,接收远程控制器的一个发送标签,如选择,还要继续组态这个标签,在978-7-111-46407-5-Chapter03-88.jpg进入连接组态。

●Alias For:别名,指定别名标签的子元素。

●Data Type:数据类型,选择标签的数据类型,基本数据或结构数据。

●Scope:标签所在区域,控制器数据库,或某个程序数据库。

●External Access:外部访问权限,有以下三种选择:

—Read/Write:读写操作,外部可对此数据进行读写,如HMI或MSG的读写。

—Read Only:只读数据,外部只能读此数据,不能写入,如HMI或MSG的读。

—None:无。

●Style:数据的表达形式,有二进制八进制十进制十六进制和ASCII的选择。

978-7-111-46407-5-Chapter03-89.jpg:勾选则阻止执行逻辑连续重复地写入标签数值,但可以在数据监视中写入数值。

978-7-111-46407-5-Chapter03-90.jpg:勾选则打开组态向导程序。

单击下拉菜单978-7-111-46407-5-Chapter03-91.jpg,按不同退出方式结束创建标签。

另一种创建数据标签的方法是在数据库直接创建,例如,双击978-7-111-46407-5-Chapter03-92.jpg,则直接进入控制器数据库,如图3-46所示。请选择编辑页面而不是监视页面。

978-7-111-46407-5-Chapter03-93.jpg

图3-46 数据库编辑页面

可以看出,数据库的栏目包括了刚才创建标签时讨论的所有内容,毫无疑问,数据标签可以在数据库直接创建,事实上,开发人员大都是在数据库来创建数据标签的,还有快速创建的一些技巧,如复制、粘贴等。

还可以在编程的时候直接在指令的参数位置开始创建数据标签,对于不清楚指令参数数据类型的情况更有帮助,因为系统会直接选用应该使用的数据类型。

例如,编写一条PID指令,为PID参数命名PID1的新标签名,右击PID1,再选中978-7-111-46407-5-Chapter03-94.jpg,如图3-47所示。

978-7-111-46407-5-Chapter03-95.jpg

图3-47 为PID创建新标签

978-7-111-46407-5-Chapter03-96.jpg

图3-48 创建PID结构数据标签

单击978-7-111-46407-5-Chapter03-97.jpg进入标签创建页面,此时系统自动地选择了PID结构数据类型,如图3-48所示。

名为PID1的标签选定PID的结构数据类型。

5.CompactLogix控制器编程操作

作为通用型集成架构中型系统,控制器的编程仍然以梯形图编程为主,本章介绍的编程操作是以梯形图逻辑为例。

梯形图顺序控制的梯级逻辑所使用的数据大都是基本数据标签,或结构数据标签及其子元素。

单击任意例程,进入例程编辑页面,例如梯形图编程页面,如图3-49所示。

单击978-7-111-46407-5-Chapter03-98.jpg创建梯级,从指令分类中抓取需要的指令,放置在梯级上,离线的控制器项目编程是全屏编辑,可将抓取的指令放置在任何梯级,如图3-50所示。

978-7-111-46407-5-Chapter03-99.jpg

图3-49 梯形图编辑页面

978-7-111-46407-5-Chapter03-100.jpg

图3-50 建立梯级结构

梯级结构和指令都布局好后,单击指令中的“?”进入数据库选取数据标签,也可以直接键入标签名创建标签,在对应位置创建标签,将会自动选择合适的数据结构标签,编辑好的梯级逻辑结构如图3-51所示。

978-7-111-46407-5-Chapter03-101.jpg

图3-51 已编辑好的梯级逻辑

计时器指令的Timer位置,键入新的标签Timer1,创建标签时,将自动选择时间结构数据类型的标签。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈