AB PLC编程软件RSLOGIX5000入门7——UDT用户自定义数据类型
- 格式:doc
- 大小:1.50 MB
- 文档页数:32
附录第一章位指令 (2)第一节数据文件 (3)第二节位指令 (6)第二章计时器和计数器指令 (11)第三章比较指令 (21)第四章算术指令 (26)第五章传送和逻辑指令 (32)第六章移位和顺序进出指令 (35)第七章程序流程指令 (42)第八章I/O,文件,PID指令 (46)第九章高速计数指令 (64)第一章位指令位指令可对数据的单个位进行操作。
在运行时,处理器可以根据其所在梯级的逻辑条件置位或复位一位。
应用程序可以根据需要对一位寻址任意次。
本章第一节介绍位指令地址可使用的数据文件,第二节介绍基本的位指令。
第一节数据文件系统默认的数据文件分为以下几种类型:1.输出和输入数据文件(O0:和I1:)2.状态文件(S2:)3.位文件(B3:)4.计时器文件(T4:)5.计数器文件(C5:)6.控制文件(R6:)7.整数文件(N7:)上面的文件号也为系统默认的(即系统默认文件0为输出文件,1为输入文件,2为状态文件,等等)。
下面对这些系统默认的文件类型分别予以介绍。
1.输出和输入数据文件(O0:和I1:)文件O0中的各位表示外部的输出,文件I1中的各位表示外部的输入。
在大多数情况下,这些文件中的每个16位字号与位于控制器内的一槽相对应,位号与相应的输入或输出端子号对应。
输出和输入的地址格式用e表示槽号,s表示字号。
处理文件指令时,数据文件元素举例:O:3/5 槽3,输出位5I:7/8 槽7,输入位8I:2.1/3 槽2,字1,输入位3字地址:O:5 槽5,输出字0O:5.1 槽5,输出字1I:8 槽8,输入字0特别的,当一个槽的I/O点数超过16个时,寻址位有两种表示方法:使用字、位寻址和直接位寻址。
如:MicroLogix 1500系列输出0槽有64点。
寻址O:0.2/13时,也可写为O:0/45。
缺省值:用户编程设备显示的地址格式将更加正规。
例如:当分配地址O:5/0时,编程设备将显示为O:5.0/0(输出文件,槽5,字0,端子0)。
AB PLC编程软件RSLOGIX5000入门7——UDT用户自定义数据类型在本章中,我们将介绍如何通过用户自定义数据类型和数据范围划定来规划标签数据库。
这里将学到§ 了解使用 UDT 的优势§ 学习如何优化 UDT 规划§ 使用数据范围划定帮助简化并加快开发工作我们现在将重点关注 Logix 控制器中的数据规划。
打开现有控制器文件1. 在计算机桌面上,双击 Lab Files 文件夹。
2. 双击名为 Conveyor_Program_S3.ACD 的现有项目。
这样将在 RSLogix 5000 中启动该项目。
为传送带创建用户自定义数据类型您已重新组织了程序规划以更好地利用 Logix,现在已准备好开始对数据规划进行重新组织。
可注意到,工程师规划数据的方式仍像使用带有整数、实数和定时器数据表的传统 PLC 一样。
问题是,当与设备关联的数据分布到控制器内存中的各处时便很难进行跟踪。
您已再次决定充分利用 Logix,使用用户自定义数据类型。
用户自定义数据类型用户自定义数据类型也称为 UDT 或结构,借此按逻辑方式对数据进行组织或分组,以便所有与设备关联的数据都可组合在一起。
例如,每个传送带都有 8 个整数值、3 个实数值、2 个定时器和 11 个与其关联的布尔值。
在传统PLC 中,可能需要 4 个不同的数据表。
然后,当您具有多条传送带时,您可能需要详细地将传送带映射到各个数据表中。
这样就会变得很难管理。
通过 UDT 能够实现的是将不同的数据类型(整数、实数、定时器、布尔等)组合到一起,共同作为用户自定义数据类型。
然后便可创建该 UDT 类型的数组。
这可使得编程工作、代码的记录和数据的跟踪都更加轻松。
1. 在控制器项目管理器中,双击"控制器标签"(Controller Tags)。
将出现标签编辑器。
可注意到,标签数据库的外观与传统 PLC 非常类似。
Logix 标签数据库在传统 PLC 中,用物理地址标识各个数据项,例如 N7:0 或 B3:0/0。
AB -Logix5000 PLC 使用培训教程目录第一章AB PLC使用介绍第一节 BOOTP软件的应用以太网模块在第一次使用时里面没有IP地址,只有物理地址即MAC地址,需要用户给以太网模块分配IP地址。
现在来介绍如何用BOOTP软件给以太网模块设置IP地址。
注意只有没有IP地址的以太网模块才可以用BOOTP软件,如果已经有了IP地址修改IP地址,BOOTP软件是不适用的。
按如下步骤1、找到BOOTP软件可以在RSLogix5000软件的TOOLS里找到也可以在开始菜单里找到如下图在使用bootp软件之前要把本地网络IP地址设置成固定IP和最终想设置的以太网模块地址是同一个网段。
不能是自动获取。
2、然后打开BOOTP-DHCP-Server出现如下图所示,白色对话框里是自动扫描到的MAC地址。
3、然后双击MAC地址会出现如下4、在IP地方输入IP地址5、点击OK出现如下图6、使IP地址部分高亮然后电机按钮直到Status处出现commad successful此时已经把以太网模块的IP地址设置成动态的,断电后还会丢失(注意:有时候需要点击多次才能成功是正常的)然后在点击按钮,直到Status处出现commad successful此时IP地址已经设置成静态的。
7、用BOOTP设置IP地址完毕第二节RSlinx通讯软件介绍RSlinx是通讯软件,用于建立PLC和PC之间的通信。
下面我们将介绍通过DF1通信协议以及ENthernet IP协议,建立计算机和PLC的通信。
一、通过DF1通信协议建立计算机和PLC的通信步骤如下:1.打开RSlinx,可以按如下的路径打开,或者是直接点击右侧任务栏下的图标。
RSlinx打开后出现如下界面:2、打开RSlinx后,直接点击图标,即上图标注出的Configurate drives,或者是通过Communications>Configurate drives,3、将下拉箭头展开,出现如下界面:4、选择RS-232 DF1 devices,然后选择Add New按钮,点击OK5、注意在Comm下,若是编程电缆直接和电脑的串口相连,则用默认的COM1,若是采用了USB转串口,则需根据实际情况选择相应的串口,确认Comm,如下图所示。
RSLogix5000 入门运行“开始\所有程序\Rockwell Software \RSLogix 5000 Enterprise Series \RSLogix5000 ”或双击桌面上RSLogix 5000 的图标,打开RSLogix 5000软件。
1 从File菜单选择New,显示New Controller对话框。
2 从Type的下拉菜单中选择1756-L62(或1756-L55) ControlLogix Controller。
3 在Revision的下拉菜单中选择13。
4 在Name栏中键入字母和数字组合作为处理器的名字,如Test1。
5 从Chassis Type下拉菜单中选择1756-A10 10-Slot ControlLogix Chassis。
(机架槽数还可能为7槽或13槽此时请对应选择1756-A7 7-Slot ControlLogix Chassis或1756-A13 13-Slot ControlLogix Chassis)6 在Slot Number栏内选择0,与机架中的控制器模块的位置匹配。
7 在Create In栏内键入文件保存路径或点击Browse键定位地址目录,我们创建文件目录在C:\RSLogix 5000\Projects\ 。
8 确认输入与图1-2所示吻合,然后点击OK。
由此创建了一个控制器文件。
左侧菜单是控制程序的主体架构Controller Organizer,控制器组织画面由文件夹项目树和文件组成,文件中包含现在这个控制器文件中有关程序和数据的所有信息。
各部分说明如下:Controller File Name –包括控制器范围的标签、控制器故障处理程序和电源处理程序。
Tasks –在这个文件夹中显示任务,每个任务都有各自带梯形图例程和程序范围标签的程序。
Trends –在这个文件夹中创建趋势图。
Data Type –显示预定义和用户定义的数据类型,用户定义的数据在这个文件夹中创建。
2012-04-12 数据类型数据类型目录1Predefined Data Type (3)1.1Basic Predefined Data Type (3)1.2Advanced Predefined Data Type .............................................................. 3高级预定义数据类型1.3Module Predefined Data Type (4)2User Defined Data Type (5)2.1UDT概况 (5)2.2通用标准UDT (5)2.3非标准UDT (8)1、预定义数据类型基本预定义数据类型高级预定义数据类型模块预定义数据类型2、用户自定义数据类型1.Predefined Data TypePredefined预定义的数据类型是在系统中定义且不可修改的数据类型●Basic Predefined Data TypeBasic Predefined是构成数据类型的基本单元,所有其它数据类型基于此基础●Advanced Predefined Data TypeAdvanced Predefined是Rockwell 开发的一些由Basic Predefined数据类型组成,方便编程人员使用的系统自带的数据类型,如TMR(timer),RIN(Redundant Input冗余输入),下图1以RIN为例,所有的组成均为BOOL 量,每个变量的作用各不相同,可以参见RIN的注释,??图1Module Predefined Data Type【模块预定义数据类型】当编程人员在硬件组态时在IO/Configuration中添加模块时,系统自动生成对应该模块的标签,而Module Predefined数据类型是此类标签的数据类型,如下图所示当我们在硬件组态中添加sz_UB030E2时,自动会生成sz_UB030E2:I表示该模块的输入变量,而AB:1791DS_IB8XOB8_Safety2:I:0即为该模块的预定义数据类型,相同模块由于参数设置的不同,预定义数据类型可能不一样,详见硬件配置中的描述er Defined Data Type●UDT概况1,User Defined Data Type(下文简介UDT)是用户自定义数据类型,可以由各种预定义数据类型或者其他数据类型构成2,UDT将用户关于某一功能(如滚床,气缸)的所有需要用到的变量统一在同一组织结构中3,UDT减少了系统中变量的数量4,UDT使逻辑更加标准化,更具有可复制性●通用标准UDT user defined data type1,通用标准中关于滚床,气缸,关于Cell ,Station,Action【动作】和一些标准柜的UDT,不能删除任何东西而且最好不要修改,下图是以Action的UDT,在Action的动作程序需要用到的变量都包含在此UDT中如我们需要有关闭第一组夹头这个程序,首先我们需要建立已za_Action为数据类型的标签Clamp1Close,并且在CloseClamp的程序段中需要用到的中间变量我们都能在Clamp1Close变量组中找到,如下图1代表关闭完成,图2代表关闭的自动条件,图3代表关闭的命令图1图2图32,下图是以Zc_CellHMI的UDT,与Cell相关的HMI显示画面和此UDT相关,由于HMI使用标准模板,此UDT不能修改,非标准UDT –安全模块1,由于客户特殊的需求或者成本考虑,项目中经常会有非标准的盘柜或者应用,我们可以根据通用标准的UDT 根据项目特点做适当修改。
RSLogix5000培训教程RSLogix 5000是罗克韦尔自动化公司推出的一款基于Windows操作系统的集中式控制软件。
它广泛应用于工业自动化领域,许多工业企业都会在工作中使用这个软件。
因此,对RSLogix 5000软件进行培训教程将有助于工业人员更好地掌握和使用该软件,提高工作效率和质量。
首先,我们需要了解的是RSLogix 5000软件所用到的编程语言和基本概念。
RSLogix 5000支持几种编程语言,包括Ladder Diagram(梯形图)、Structured Text(结构化文本)、Function Block Diagram(功能块图)和Sequential Function Chart (序列功能图)。
每种编程语言都有它自己的语法和操作方式,根据实际应用需求选择相应的编程语言进行编程。
在使用RSLogix 5000软件时,我们需要了解基本概念,如标签、数据类型、Array(数组)、Tag UDT(用户定义的数据类型)等。
标签是一个变量的名称,可以定义为输入、输出或内部变量。
数据类型包括BOOL(布尔型)、INT(整型)、REAL (浮点型)等,其中BOOL是最常用的数据类型。
Array是由相同数据类型的元素组成的变量组合,其中每个元素都有相应的下标值。
Tag UDT是用户在程序中自定义的一个数据类型,可以包含不同的数据类型和结构体。
紧接着,我们需要了解的是如何创建一个工程和配置硬件设备。
在RSLogix 5000软件中,我们可以通过创建一个新工程来开始我们的编程工作。
在创建工程之前,我们需要选择相应的PLC类型、控制器和通信模块,并进行硬件配置。
这样,RSLogix 5000软件就可以连接到PLC并进行编程。
在完成硬件配置之后,我们可以配置主要的控制设备、输入和输出点等,这样可以保证我们的程序的准确性和稳定性。
在编写程序之前,我们还需要了解一些程序设计原则,如状态机、递归、中断服务程序等。
培训教材第一天培训内容——熟悉硬件和软件一、熟悉各硬件请查看各模块的外形,通讯模块,I/O模块,运动控制模块,处理器模块。
框架式设计可靠,安装容易,无需工具。
端子可取下,接线方便,更换快速。
将DEMO上电,插入ENBT/ENET, CNB通讯模块以及I/O模块(可以先不插入CPU)。
体会模块的带电热插拔特性。
安装方便。
二、认识RSLinx软件1、什么是RSLinx?RSLinx软件是工业通讯的枢纽。
它为所有的AB网络提供了完整的驱动程序。
通过RSLinx软件,用户可以通过一个窗口查看所有活动网络,也可以通过一个或多个通讯接口同时运行任何所支持的应用程序的组合。
RSLinx提供最快速的OPC、DDE和Custom C/C++的接口。
RSLinx还可以为用户提供多个网络、本地工作站和DDE/OPC性能诊断工具,便于进行系统维护和故障排错。
RSLinx Gateway驱动程序能够完美地支持TCP/IP客户与AB PLC控制器的连接,它也支持与远程OPC进行通讯。
RSLinx有以下几个版本,不同版本的功能不同,价格也不同,选购时应注意系统要求。
RSLogix and RSNetWorx RSViewRSLinxControlNet DeviceNet EtherNet/IPPLC-5 SLC ControlLogix FlexLogix CompactLogix2、使用RSLinx软件进行通讯1)打开RSLinx,点击或2)在工具条上点击选择Ethernet Devices(其它的驱动程序简单介绍), 按下 Add New 键单击 OK.3)增加以太网设备。
在增加以太网设备前,需要检查自己机器的IP设置,如果是192.168.1.xxx(一般的小型局域网都这样设置),以太网设备的IP地址设置如下。
单击OK.4)单击 Close5)检查本计算机的IP设定。
确认为: 192.168.1.XXX.6)单击。
可以看到,我们不需要CPU,就可以通讯。
AB_RSLogix5000初级使用手册目录:设定笔记本IP地址 (3)查看PLC硬件组态信息 (3)设定RSLinx (4)打开RSLogix5000软件创建与RSLinx相符的程序 (7)在RSLogix5000软件中创建程序章节、程序段落、程序自然段 (10)上传和下载程序 (13)创建行参 (16)RSLinx查看网络IP以及硬件 (18)PLC静态和动态IP地址分配 (21)Firmware刷新 (25)Rxlogx5000软件的在线修改功能 (28)软件的在线强制功能 (31)Rxlogx5000范围指令LIM需要注意的是,当Low Limit < High Limit数值时,LIM命令在Low Limit和High Limit之间的数值时输出。
如果Low Limit > High Limit数值时,LIM命令在Low Limit和High Limit之间的数值时停止输出。
(35)查找跳转、中断等子程序块的位置 (35)RSLogix5000软件的在线帮组功能 (36)Routine里程序的类型 (37)一个Project里可以最多建立32个Task,但只能有一个Task属性为Continuous (连续扫描)其余的31个Task可以分配给Event(事件扫描)或者Periodic(中断扫描)。
每一个Task里可以建100个Program,每一个Program可以建立无穷个routine。
(38)备份程序和解压程序 (41)程序的比较 (43)Flash Memory Card 程序备份和下载操作 (46)模拟量模块的组态、量程设定、模拟量输出的钳位设定。
(49)Device Net网络配置 (53)Device Net软件安装 (55)Device Net组网 (57)在RSLogix5000程序里添加DeviceNet硬件 (69)DeviceNet的硬件寻址 (71)配置EtherNet以太网远程I/O (75)实时监控趋势图 (81)设定笔记本IP地址1.查看AB_PLC机器槽架上的CPU模块显示的IP地址,一般PLC的IP地址为为10.0.0.1,笔记本上的IP最后一位设置需要变化。
RSLOGIX 5000实例教程软件介绍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 BIT2 SINT 短整型 1 BYTE3 INT 整型 2 BYTE4DINT 双整型 4 BYTE5REAL 实型 4 BYTE二 STRUTURES 结构体类型 1 predefined 预定以型图 1-3User-defined 用户定义型:本例以自定义PUMPPARAMETERS为例在其中定义结构体成员分别为ACCTIME,RUNTIME,SEQUENCE,STATUS,FIRSTPUMP,并确定各自类型。
图 1-4用户可以利用标签名称来引用结构体内的成员,格式为:tag_name.member_name。
RSLogix5000培训教程一、引言RSLogix5000是美国罗克韦尔自动化公司推出的一款功能强大的可编程逻辑控制器(PLC)编程软件,广泛应用于工业自动化领域。
为了帮助用户更好地了解和使用RSLogix5000,本文将详细介绍RSLogix5000的基本概念、操作步骤和编程技巧,以便用户能够快速掌握并应用于实际工程中。
二、RSLogix5000基本概念1.1项目结构(1)控制器:表示一个PLC,可以添加多个控制器。
(2)程序:表示一个控制器的程序,包括程序文件和程序块。
(3)任务:表示程序中的一个执行单元,包括程序块和程序文件。
(4)程序块:表示程序中的一个功能模块,如程序、子程序、函数等。
(5)程序文件:表示程序中的一个文件,如梯形图、指令表、功能块图等。
1.2数据类型RSLogix5000提供了丰富的数据类型,以满足各种编程需求。
主要数据类型包括:(1)位数据类型:如BOOL、TE、WORD等。
(2)整数数据类型:如SINT、INT、DINT等。
(3)浮点数数据类型:如REAL、LREAL等。
(4)字符串数据类型:如STRING。
(5)时间数据类型:如TIMER、COUNTER等。
1.3I/O模块(1)离散输入/输出模块:如DI、DO。
(2)模拟输入/输出模块:如、AO。
(3)特殊模块:如温度、压力、流量等传感器模块。
三、RSLogix5000操作步骤2.1创建新项目(1)启动RSLogix5000软件。
(2)“新建”按钮,选择项目类型和控制器型号。
(3)输入项目名称和路径,“创建”按钮。
2.2配置I/O模块(1)在项目结构中,选择控制器,右键“添加I/O模块”。
(2)在I/O模块列表中,选择所需模块,“添加”按钮。
(3)配置模块参数,如通道、地质、数据类型等。
2.3编写程序(1)在项目结构中,选择程序,右键“添加程序块”。
(2)在程序块列表中,选择所需块类型,如程序、子程序、函数等。
AB PLC编程软件RSLOGIX5000入门7——UDT用户自定义数据类型在本章中,我们将介绍如何通过用户自定义数据类型和数据范围划定来规划标签数据库。
这里将学到§ 了解使用 UDT 的优势§ 学习如何优化 UDT 规划§ 使用数据范围划定帮助简化并加快开发工作我们现在将重点关注 Logix 控制器中的数据规划。
打开现有控制器文件1. 在计算机桌面上,双击 Lab Files 文件夹。
2. 双击名为 Conveyor_Program_S3.ACD 的现有项目。
这样将在 RSLogix 5000 中启动该项目。
为传送带创建用户自定义数据类型您已重新组织了程序规划以更好地利用 Logix,现在已准备好开始对数据规划进行重新组织。
可注意到,工程师规划数据的方式仍像使用带有整数、实数和定时器数据表的传统 PLC 一样。
问题是,当与设备关联的数据分布到控制器内存中的各处时便很难进行跟踪。
您已再次决定充分利用 Logix,使用用户自定义数据类型。
用户自定义数据类型用户自定义数据类型也称为 UDT 或结构,借此按逻辑方式对数据进行组织或分组,以便所有与设备关联的数据都可组合在一起。
例如,每个传送带都有 8 个整数值、3 个实数值、2 个定时器和 11 个与其关联的布尔值。
在传统PLC 中,可能需要 4 个不同的数据表。
然后,当您具有多条传送带时,您可能需要详细地将传送带映射到各个数据表中。
这样就会变得很难管理。
通过 UDT 能够实现的是将不同的数据类型(整数、实数、定时器、布尔等)组合到一起,共同作为用户自定义数据类型。
然后便可创建该 UDT 类型的数组。
这可使得编程工作、代码的记录和数据的跟踪都更加轻松。
1. 在控制器项目管理器中,双击"控制器标签"(Controller Tags)。
将出现标签编辑器。
可注意到,标签数据库的外观与传统 PLC 非常类似。
Logix 标签数据库在传统 PLC 中,用物理地址标识各个数据项,例如 N7:0 或 B3:0/0。
不使用地址注释或符号,就很难阅读逻辑。
在 Logix 控制器中没有固定的内存 N7:0 或 B3:0/0。
Logix 内存是基于标签的系统。
标签名称本身就可以标识数据。
借此便能够组织数据以模拟机器。
您可在实际中 使用分配的标签名称记录代码,例如 Nozzle_1_Temperature 。
参考信息创建 Logix 项目标签的指导原则指导原则详细信息:1) 创建用户自定义数据类型。
用户自定义数据类型(结构)使您可以组织数据以匹配机器或进程。
用户自定义数据类型提供以下优势:一个标签包含系统特定方面的所有相关数据。
这样将相关数据保存在一起便于查找,不考虑其数据类型。
每个数据(成员)得到一个描述性名称。
这样自动为逻辑创建初始水平的文档。
可以使用该数据类型创建具有相同数据规划的多个标签。
例如,使用用户自定义数据类型存储罐的所有参数,包括温度、压力、阀门位置和预设值。
然后基于该数据类型为每个罐创建标签。
Tank_North North_TankTank_South South_Tank2. 在标签编辑器中单击 N7 旁边的 +。
这将展开 N7 数组,显示其中的所有元素。
可注意到从 N7[0] 到 N7[7] 的数据已定义。
然后是从 N7[20]到 N7[27] 和从 N7[40] 到 N7[47]。
这些区域分别对应 3 个传送带,是传统的 PLC 数据表布局。
3. 也仔细查看 B3、F8 和 T4。
它们都将采用相同的格式:传送带 1 从 [0] 开始,传送带 2 从 [20] 开始,传送带 3 从 [40] 开始。
这样做的目的是使得在标签数据库中查找传送带数据更加容易。
这样确实有一定作用,但是您为传送带使用了4 个数据表,浪费内存。
而通过创建 UDT 可更好地实现这一点。
我们现在就来创建 UDT。
4. 在控制器项目管理器中的"数据类型"(Data Types) 文件夹下,单击"用户自定义"(User-Defined) 旁边的 +。
您将注意到这里有一个名为 Conveyor 的 UDT(已为您启动 UDT 的创建)。
5. 双击 Conveyor。
这将为 Conveyor 数据类型打开 UDT 编辑器。
可以看到,UDT 混合不同的数据类型。
在编程时这是非常有用的工具。
用户自定义数据类型的指导原则§ 创建用户自定义数据类型时,记住以下指导原则:§ 如果包括表示 I/O 设备的数据,则必须使用逻辑将数据复制到 UDT 中。
UDT 中不可为 I/O 指定别名。
§ 如果要在 UDT 中包括数组,应将数组限制为一维。
UDT 不支持多维数组。
§ 创建 UDT 时,将类似的数据类型组合到一起。
这将创建更为紧凑的 UDT。
查看 UDT 后,您会注意到,类似的数据类型并未组合到一起。
BOOL 和 REAL 数据类型混在一起。
UDT的当前大小是 52 个字节。
将 BOOL 组合在一起可降低这一数字。
6. 要进行此操作,单击 Motor_Overload 的左侧。
这样将选中整行。
7. 单击"向上移动"(Move Up) 按钮。
这会在 UDT 中将 Motor_Overload 标签向上移动。
8. 对其它 BOOL 标签重复此操作,直到它们均组合到一起。
9. 单击"应用"(Apply)。
现在请注意一下 UDT 的大小。
您已节省了 12 个字节。
10. 完成对 BOOL 标签的移动后,验证 UDT 的显示如下:11. 回到"控制器标签"(Controller Tags),展开 N7 标签并注意 N7[0] 到 N7[7] 及其描述。
12. 使用标签的描述将这些标签添加到 UDT。
手动执行行此操作(并要记住参考前文中的指导原则 4)。
13. 完成后,单击"应用"(Apply) 接受所做更改并验证 UDT 应类似下图。
您现在已拥有一个在程序中定义传送带的完整 UDT。
14. 单击"确定"(OK) 关闭 UDT 编辑窗口。
15. 在"文件"(File) 菜单中选择"关闭"(Close)。
软件将询问您是否要保存对文件所做的更改,选择"否"(No)。
使用传送带 UDT现在您将使用刚创建的 UDT 传送带。
您意识到 UDT 将帮助优化标签数据库,并使代码的故障处理和开发更容易。
1. 在 RSLogix 5000 的工具栏菜单中,选择"文件 > 打开"(File > Open)。
2. 双击名为 Conveyor_Program_S4.ACD 的现有项目文件。
这样将在 RSLogix 5000 中启动该项目。
3. 在控制器项目管理器中,双击"控制器标签"(Controller Tags)。
这将打开标签编辑器。
查看标签编辑器,您将发现数据库中有一个新标签 Conveyor_1。
4. 单击 Conveyor_1 旁边的 + 展开该标签。
您可注意到标签的格式与刚创建的 UDT 相同。
这可通过查看"类型"(Type) 列进行确认。
5. 在控制器项目管理器中,单击各个程序的 +,展开连续任务中的 3 个传送带程序。
6. 双击例程 C2_Start_Stop。
这将打开该例程,并可进行查看和编辑操作。
7. 现在显示的是梯形图例程 C2_Start_Stop。
您可注意到,在此实例中 Conveyor_2 的寻址方式仍使用的是传统 PLC 的的寻址方式。
例如,在梯级 0上,定时器的地址为 T4[20]。
8. 双击例程 C1_Start_Stop。
这将打开该例程,并可进行查看和编辑操作。
9. 现在显示的是梯形图文件 C1_Start_Stop。
可注意到传送带 1 的寻址方式使用的是 UDT。
如您所见,代码现在可以自文档化,而且标签名称可描述其具体的意义。
您无需再像传统 PLC 中一样添加地址描述。
代码中仍有一些较早样式的地址;我们将稍后处理它们。
现在我们来继续更新其它两个传送带程序以使用 UDT。
首先我们需要创建两个新标签。
10. 在工具栏菜单中,选择"窗口 > 控制器标签 - Conveyor_Program(控制器)"(Window > Controller Tags – Conveyor_Program(controller))。
这会将标签编辑器窗口置于顶层。
11. 在标签编辑器窗口的左下角处,单击"编辑标签"(Edit Tags) 选项卡。
在这里我们将创建两个新标签,Conveyor_2 和 Conveyor_3。
12. 在标签编辑器中列表的底部,可注意到那里有一个开放空间,可创建一个新标签。
13. 在"名称:"(Name:)列中,输入"Conveyor_2"并在"类型"(Type) 列中输入"Conveyor"。
这样便会创建一个传送带类型的名称为 Conveyor_2 的标签。
只要记录中仍可看到铅笔图标,您便仍处于编辑模式下。
14. 要创建新标签,单击 Conveyor_2 下面的新空白行,并验证标签编辑器的显示如下:15. 使用与上述相同的方法,为 Conveyor_3 创建标签。
16. 完成后,验证标签数据库的显示如下:现在我们将需要更新梯形图代码以使用这些新标签。
我们将从 Conveyor_2 开始。
我们将仅修改 Alarm_Status 和 Energy_Manag 例程。
使用下表并参考 Conveyor_1 例程。
让我们从一个示例开始。
17. 在控制器项目管理器中,双击例程 C2_Alarm_Status。
重要说明:我们目前将忽略任何在描述中包括文字"映射"的 B3 地址。
18. 在梯级零上,注意描述为 C2 电机过载的 OTE 指令。
通过查看前一页中的图,您可发现此描述与 UDT 中的第二个成员相匹配。
19. 要更改地址,双击 B3[28]。
这将打开一个下拉框,以便您可选择一个新标签。
20. 单击向下箭头(这将打开标签浏览器),滚动浏览列表直到您找到 Conveyor_2。
21. 单击 + 展开该标签,然后选择 Conveyor_2.Motor_Overload,如下所示:22. 双击 Conveyor_2.Motor_Overload。
这会令 Conveyor_2.Motor_Overload 成为 OTE 指令的新标签。