ABPLC编程软件RSLOGIX5000入门7UDT用户自定义数据.docx

上传人:b****7 文档编号:25488483 上传时间:2023-06-09 格式:DOCX 页数:47 大小:188.85KB
下载 相关 举报
ABPLC编程软件RSLOGIX5000入门7UDT用户自定义数据.docx_第1页
第1页 / 共47页
ABPLC编程软件RSLOGIX5000入门7UDT用户自定义数据.docx_第2页
第2页 / 共47页
ABPLC编程软件RSLOGIX5000入门7UDT用户自定义数据.docx_第3页
第3页 / 共47页
ABPLC编程软件RSLOGIX5000入门7UDT用户自定义数据.docx_第4页
第4页 / 共47页
ABPLC编程软件RSLOGIX5000入门7UDT用户自定义数据.docx_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

ABPLC编程软件RSLOGIX5000入门7UDT用户自定义数据.docx

《ABPLC编程软件RSLOGIX5000入门7UDT用户自定义数据.docx》由会员分享,可在线阅读,更多相关《ABPLC编程软件RSLOGIX5000入门7UDT用户自定义数据.docx(47页珍藏版)》请在冰豆网上搜索。

ABPLC编程软件RSLOGIX5000入门7UDT用户自定义数据.docx

ABPLC编程软件RSLOGIX5000入门7UDT用户自定义数据

ABPLC编程软件RSL0GIX5000入门7――UDT用户自定义数据类型

在本章中,我们将介绍如何通过用户自定义数据类型和数据范围划定来规划标签数据库。

这里将学到

了解使用UDT的优势

学习如何优化UDT规划

使用数据范围划定帮助简化并加快开发工作

我们现在将重点关注Logix控制器中的数据规划。

打开现有控制器文件

2.双击名为Conveyor_Program_S3.ACD的现有项目。

这样将在RSLogix5000中启动该项目。

为传送带创建用户自定义数据类型

您已重新组织了程序规划以更好地利用Logix,现在已准备好开始对数据规划进行重新组织。

可注意到,工程师规划数据的方式仍像使用带有整数、实数和定时器数据表的传统PLC—样。

问题是,当与设备关联的数据分布到控制器内存中的各处时便很难进行跟踪。

您已再次决定

充分利用Logix,使用用户自定义数据类型。

用户自定义数据类型

用户自定义数据类型也称为UDT或结构,借此按逻辑方式对数据进行组织或分组,以便所

有与设备关联的数据都可组合在一起。

例如,每个传送带都有8个整数值、3个实数值、2个定时器和11个与其关联的布尔值。

在传统PLC中,可能需要4个不同的数据表。

然后,当您具有多条传送带时,您可能需要详细地将传送带映射到各个数据表中。

这样就会变得很难管理。

通过UDT能够实现的是将不同的数据类型(整数、实数、定时器、布尔等)组合到一起,共同作为用户自定义数据类型。

然后便可创建该UDT类型的数组。

这可使得编程工作、代

码的记录和数据的跟踪都更加轻松。

1.在控制器项目管理器中,双击”控制器标签"(ControllerTags)。

匕OCortrolerConveyorProgram

UCentrolerF*H^ftdlerQPower-UpHandter■_:

二Tarlnr

PLC非常类似。

将出现标签编辑器。

可注意到,标签数据库的外观与传统

Logix标签数据库

在传统PLC中,用物理地址标识各个数据项,例如N7:

0或B3:

0/0。

不使用地址注释或符号,

就很难阅读逻辑。

在Logix控制器中没有固定的内存N7:

0或B3:

0/0。

Logix内存是基于标签的系统。

标签名称本

身就可以标识数据。

借此便能够组织数据以模拟机器。

您可在实际中

使用分配的标签名称记录代码,例如Nozzle_1_Temperature。

巨参考信息

指导原则

详细信息:

创建Logix项目标签的指导原则

 

用户自定义数据类型(结构)使您可以组织数据以匹配机器或进程。

用户自

定义数据类型提供以下优势:

这样将相关数据保存在一起便

一个标签包含系统特定方面的所有相关数据。

于查找,不考虑其数据类型。

定义数据用型户自每个数据(成员)得到一个描述性名称。

这样自动为逻辑创建初始水平的文档。

可以使用该数据类型创建具有相同数据规划的多个标签。

压力、阀门

例如,使用用户自定义数据类型存储罐的所有参数,包括温度、位置和预设值。

然后基于该数据类型为每个罐创建标签。

数组在一个公共标签名称下创建数据类型的多个实例。

数组使您可以组织一组使用相同数据类型并执行类似功能的标签。

2)使用数组快速创建一组类似

标签。

以一维、二维或三维组织数据以匹配数据表示的内容。

例如,使用二维数组组织油库的数据。

数组的每个元素表示一个油罐。

元素

在数组中的位置表示罐的地理位置。

重要说明:

尽量减少使用BOOL数组。

许多数组指令不能在BOOL数组上使

用。

这使得更难以初始化和清除BOOL数据数组。

通常对PanelView屏幕的位级别对象使用BOOL数组。

否则,使用DINT标签的各个位或DINT数组。

3)利用程序范围标签。

如果希望多个标签具有相同名称,请在每个不同程序的程序范围定义每个标签(程序标签)。

这使您可以在多个程序中重新使用逻辑和标签名称。

避免同时为控制器标签和程序标签使用相同的名称。

程序标签与控制器标签名称相同,则不能引用控制器标签

某些标签必须是控制器范围(控制器标签)。

在程序中,如果程序的春。

如果希望将标签用于:

则分配此范围:

项目中的多个程序中

消息(MSG)指令中

控制器范围(控制器标

在控制器之间产生或使用数据与PanelView终端

通信

签)

以上都不是

程序范围(程序标签)

 

4)对于整数,使

用DINT数据

类型。

要提高逻辑效率,请尽可能少用SINT或INT数据类型。

条件允许时,对整数使用DINT数据类型。

Logix5000控制器通常将值作为32位值(DINT或REAL进行比较或操作。

控制器在使用值前,通常会将SINT或INT值转换为DINT或REAL直。

如果目标是SINT或INT标签,则控制器通常会将该值转换

回SINT或INT值。

与SINT或INT的转换自动进行,无需额外编程。

不过将占用额外的执行时间和内存。

5)限制标签名称为40个字符。

下面是标签名称的规则:

仅字母字符(A-Z或a-z)、数字字符(0-9)和下划线(_)必须以字母字符或下划线开始不能多于40个字符

不能连续出现下划线字符(_)或以下划线字符(_)结尾

不区分大小写

6)使用混合大小与。

尽管标签不区分大小写(大写A和小写a相同),但混合大小写更容易

阅读。

这些标签更容易阅读:

相比这些标签:

Tank1

TANK1

Tank1

TANK1

tank1

tank1

7)考虑标签的字母顺序。

RSLogix5000软件以字母顺序显示相同范围的标签。

要更容易监视相关标签,请对要保存在一起的标签使用类似的开始字符。

对罐的每个标签以Tank开始将标签保存在一起。

否则,标签可能彼此分隔。

标签名称

标签名称

TankSouth

SouthTank

2.在标签编辑器中单击N7旁边的+。

这将展开N7数组,显示其中的所有元素。

可注意到从N7[0]到N7[7]的数据已定义。

然后

是从N7[20]到N7[27]和从N7[40]到N7[47]。

这些区域分别对应3个传送带,是传统的PLC数据表布局。

SMfieI3SweyodPg日宜|Sbov*Al

1制MWr

VaMe*IFoic号[S(i4e

0砒Type

Demotion

I-HN7

I...1DectiMl

INT[G4J

1+

0

Dednal

INT

MotorSpeedLow

±呵1

i0

Oearul

INF

MotorSpeedHigh

.+:

N7I2J

0

■>

Decjnsl

INT

MotorSp»edScafedLew

1.

I0

.:

Oearnal

'iNT

MotorSpeedH沙

+1IN7t4]|

0

Cecvnal

INT

MotorSpeedScaled

'$N7I5]

0

0«arna'l

WT

MotorSpeedFeedback

+NTlGi

o|

Oecmrial

INT

MotOfSpeedFeedbackHigh

M7]

D

Dectfndl

INT

州伙OfFeedback

+:

N7I8]

o|

Oecfnal

INT

土制湎

0

Dectnal

INT

+柯4|

o|

Oecmal

INT

+N7I11II

0

Deomal

INT

0

Dcmdl

INT

+;IN7(131

I

0

t

OectfAAl

INF

iWTIHJ

0

Decwna'I

INT

+;IN7I15|

Oedfhal

INT

+IN7(iei

0

Oecmdl

INT

+;W7I17]

0

Oeonal

INT

+IN71181

0

Oecwnal

iwr

+〔肘7I19I

0

Oecifndl

IHT

+;N7I3OI

o|

Qeanal

INT

MotorSpeedILow

+[阿21]

0

Decfhdl

INT

WotOfSpeedH绅

+N7I2?

|

o|

De«ftal

INT

Wrt«'SpeedScafedLow

3.也仔细查看B3、F8和T4。

它们都将采用相同的格式:

传送带1从[0]开始,传送带2从[20]开始,传送带3从[40]开始。

这样做的目的是使得在标签数据库中查找传送带数据更加容易。

这样确实有一定作用,但是您为传送带使用了4个数据表,浪费内存。

而通过创建UDT可更好地实现这一点。

我们现在就来创建

UDT。

4.在控制器项目管理器中的”数据类型"(DataTypes)文件夹下,单击”用户自定义"(User-Defined)旁边的+。

E-QDatoTypes

S母User-DeFineda鼻Strings-a-耳Predefined

■qjModule-Defined

您将注意到这里有一个名为Conveyor的UDT(已为您启动UDT的创建)。

曰已iDataTypes

H细User-Oefredl韵城題a

+1Mftstfg

a:

Predefined

;Ntodie-Oefiied

5.双击Conveyor。

这将为Conveyor数据类型打开UDT编辑器。

可以看到,UDT混合不同的数据类型。

在编程时这是非常有用的工具。

Name:

|Coriveyof

Descjiphon

ThisISusedtop(M|

togethefrioone

placeallhedata

that讯u$edlga

Conveyornsteadlof

mrig4胡曰曲

Name|

lOataTi:

pc|

|S隅1Oeicription

Ok^ToStdrtMobr

BOOL

Oecind

Mot(xRumingLSpeed

real

Float

Moto(Oivefload

BOOL

Deomd

MotcwStoppedSpeed

REAL

Flo詁

Moto

eooL

Oecmai

Motoc^En自虬Manegemeot^Speed

Ftoal

WotwUndeiGpeed

BOOL

Decimal

HSl3rtPkJshJ0UlonTimef

timer

0Eneca^lWanagenrienLTinrtei

TIMER

DataTvpeSize52创來)

Members:

 

用户自定义数据类型的指导原则

§创建用户自定义数据类型时,记住以下指导原则:

§如果包括表示I/O设备的数据,则必须使用逻辑将数据复制到UDT中。

UDT中不可为I/O

指定别名。

§如果要在UDT中包括数组,应将数组限制为一维。

UDT不支持多维数组。

UDT。

§创建UDT时,将类似的数据类型组合到一起。

这将创建更为紧凑的

查看UDT后,您会注意到,类似的数据类型并未组合到一起。

BOOL和REAL数据类型混在

一起。

UDT的当前大小是52个字节。

将BOOL组合在一起可降低这一数字。

6.要进行此操作,单击Motor_Overload的左侧。

这样将选中整行。

Name

DataType

Style[Description|

OkavToStarLMoto(

BOOL

Decimd

MoIolFIunningL^peed

REAL

Float

Molor_0verload

|BOOL

Decimal

M□忙l£toppedSpeed

REAL

Fb凸

McilCir07efSpeed

BOOL

Decimal

M□lorEner37MaragemerrSp

REAL

Float

MolOLUnderSpeed

BOOL

Deci前al

田Et3rtPuttonTinner

TIMER

QJEner3yMariagemertTimer

TIMER

Members:

DataTypeS血:

7.单击”向上移动"(MoveUp)按钮。

这会在UDT中将MotorOverload标签向上移动。

 

Members:

Name

D^taType

Style1

Description

Okav_To_StarLMotor

BOOL

Decimal

1

Motoi^Dverload

|BODL

Decimal

MolorRjnringLSpeed

REAL

Float

M□(□(£bppedSpeed

REAL

Float

Motoi^DverSpeed

BOOL

Decimal

M□torEnergiiManagementSp

REAL

Float

MotoiUnderSpeed

BOOL

Decimal

田StartPushButtonTimer

TIMER

国EnergyManagemerTimer

TIMER

8.对其它BOOL标签重复此操作,直到它们均组合到一起。

9.单击”应用"(Appiy)。

现在请注意一下UDT的大小。

您已节省了12个字节。

10.完成对BOOL标签的移动后,验证UDT的显示如下:

Name:

Description:

pConvevot

Thisisusedtopull

togetherintoone

placealllthedata

thatisusedbya

Coovevorinsteadof

using4different

Name|

|DataT^ipe|

Style

Description丨

0k5VToStarLMota

BQOL

Dedmal

MotcirOvedoad

BOOL

Decimal

Moror0verSpeed

BOOL

Decimal

MotorUnderSpeed

BQOL

Dedmal

MctOf-RunningSpeed

REAL

Flo^t

MororStoppedSpeed

REAL

Float

MotorEnergvManagementSpeed

REAL

Float

田StaflPushGuttoriTimer

TIMER

0EnergjJManagementTimer

TIMER

Wembers:

D3也TypeSize:

40byte[sj

11.回到”控制器标签"(ControllerTags),展开N7标签并注意N7[0]到N7[7]及其描述。

12.使用标签的描述将这些标签添加到UDT。

手动执行行此操作(并要记住参考前文中的

指导原则4)。

13.

N«ne

0號刖-T

Mob^verlMdMobr^OveLSpeedMotor_UnderSpeedMolar_Runnrig_SpeediMobr_Sbpped_SpeedMM-E榆他帳nLSp

Star(_Push_Bff\«

邑IErtefgy_ManAa«wrt_Tiffter

M(ibr_Speed_LowMolar_Speed_Hi^Mobr_Sc^«LL

M0泊」peed_Sc^dMobr_SpMd_Fdbk_LowMo>or_5pwd_IFdbk_HighMotorFeedback

DataType£吐7囚呷甸

[Description|

BOOLDeomdl

REALiFlodt

IREALfkwl

TIMER,TIMERDINTDINTDINTDiNTDINT

DecimalDecimalDecimalDecimal

DtNrDINT

DINT

Pecifral

IDecItnal

]D擱aTypeGOOL—BQQLBOOL

Occ血

IDec盹I

Decirnal

您现在已拥有一个在程序中定义传送带的完整

UDT。

完成后,单击”应用"(Apply)接受所做更改并验证UDT应类似下图。

14.单击”确定"(OK)关闭UDT编辑窗口。

15.在"文件"(File)菜单中选择”关闭"(Close)。

软件将询问您是否要保存对文件所做的更改,选择"否"(No)。

使用传送带UDT

现在您将使用刚创建的UDT传送带。

您意识到UDT将帮助优化标签数据库,并使代码的故障处理和开发更容易。

1.在RSLogix5000的工具栏菜单中,选择”文件>打开"(File>Open)。

2.双击名为Conveyor_Program_S4.ACD的现有项目文件。

这样将在RSLogix5000中启动该项目。

3.在控制器项目管理器中,双击”控制器标签"(ControllerTags)。

这将打开标签编辑器。

匸ControJterCorw^w_Pro5fam

二ControllerHander—JPower-UpHwller

P'flasks

查看标签编辑器,您将发现数据库中有一个新标签

Conveyor_1。

Scope:

I3匚廿¥矽0^円口卽cSbsw…IShowAl

)Decani

Name

+B3

+Cofive^_1

+Fg

+F9

;+N7

>PD

匚T10

:

+T4

L.I

JFtaat

jFi^

T;

}Decind

4.单击ConveyoM旁边的+展开该标签。

]D曲Type

BDOLa)Convej^cfREAUE4]REAUG4]|liNT|[B4jRD

TIMER[&4]TIME!

Rte4J

IDesuiii但an

丽驾ISusedipullfo...

 

Scope:

[nConvey0f_HoofI3bm...\

ShwAl

匕1VakK*1ForceIMask^|Styte

1DataT坯J电

Name

+B3

Decimal

B00ME4]

NConveyor1

仁…Ji

匚orKveyor

ConveyoLl0kap^To^StariMo

0i

Decimal

BOOL

ConveyoLlMotoc^Ovetload|

0

Decimal

GOiOL

Conve4H>r_l.Mot«_0vejSpeed

1

0

Decimal

eooL'

Coriveyor_l.Wotar_UndecSpeed

0

Decimal

eoiOL'

Conveiwr_l.M^tor_R(rniing_Speed

0.0

■*—

Float

REAL

Conveyor1MoteTStoppedSpeed

0.0

Fkwt

REAL

Conveyor_1n«f®J_Mi*nag^tfceril_See«<)l

0・Q

REAL

[+iConveyor_1,SUrt_Pu$h_BuHon_Tim刽

{…}

TWER

1

田Coriveyor_1Erie(gji_ManaQemefM_Timtt

{…・J

'tuner

1

出Conveyor_1IMotor_Sf>eed_Low

0

Decimal

DIHIT

"-+-IConvwF-lIMoto(_SpeedH绅

0

Decimal

'DINIT

l+iConvfliWLlIMo<«^Scated^L

0

Dccirrid

'dinit

l+JConvejciLl.IMotof^Scaled^H妙

0

Decirnal

OINiT

由Convc^kjlIWotCT_Speed_Scated

0

Decimal

DINT

f

i!

+jConveyor_1Moitof_Speecl_Fdbk_Ljow

0

Decimal

DINIT

[+JConveyor_1Wotof_Speed_Fdbk_H^

0

Decimal

DINIT

T

[+jConveyor_1Wotof_Fee(l)ack

0

Decimal

OINIT

在控制器项目管理器中,单击各个程序的+,展开连续任务中的3个传送带程序。

5.

-运Mainlask三争Conveyor.I

齒Pro^^Tags

:

團Cl_Alarm^5tatus圓G-Eheryy-Mag慟Cl_StArt_Stop

£ProgramTagsDCooveyw_2圖C2^Alatm„St3tus爾CZJEfwroy^Manafl色CS^Start^op

Z£#Conveyor

③Pro^amTags

DConveyoOaCa_Akfm_5tatusac」「_._

1C3_5tait_5topH的SimJation

lEnerg/J^anag

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 日语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1