ABPLC编程软件RSLOGIX5000入门7——UDT用户自定义数据
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AB PLC 编程软件RSL0GIX5000 入门7 ―― UDT用户自定义数据类型
在本章中,我们将介绍如何通过用户自定义数据类型和数据范围划定来规划标签数据库。
这里将学到了解使用UDT的优势
学习如何优化UDT规划
使用数据范围划定帮助简化并加快开发工作
我们现在将重点关注Logix控制器中的数据规划。
打开现有控制器文件
1.在计算机桌面上,双击Lab Files文件夹。
2.双击名为Conveyor_Program_S
3.ACD的现有项目。
这样将在RSLogix 5000中启动该项目。
为传送带创建用户自定义数据类型
您已重新组织了程序规划以更好地利用Logix,现在已准备好开始对数据规划进行重新组织。
可注意到,工程师规划数据的方式仍像使用带有整数、实数和定时器数据表的传统PLC—样。
问题是,当与设备关联的数据分布到控制器内存中的各处时便很难进行跟踪。
您已再次决定
充分利用Logix,使用用户自定义数据类型。
用户自定义数据类型
用户自定义数据类型也称为UDT或结构,借此按逻辑方式对数据进行组织或分组,以便所
有与设备关联的数据都可组合在一起。
例如,每个传送带都有8个整数值、3个实数值、2个定时器和11个与其关联的布尔值。
在传统PLC中,可能需要4个不同的数据表。
然后,当您具有多条传送带时,您可能需要详细地将传送带映射到各个数据表中。
这样就会变得很难管理。
通过UDT能够实现的是将不同的数据类型(整数、实数、定时器、布尔等)组合到一起,共同作为用户自定义数据类型。
然后便可创建该UDT类型的数组。
这可使得编程工作、代
码的记录和数据的跟踪都更加轻松。
1.在控制器项目管理器中,双击”控制器标签"(Controller Tags)。
匕O Cortroler Conveyor Program
U Centroler F* H^ftdler Q Power-Up Handter ■_:二Tarlnr
将出现标签编辑器。
可注意到,标签数据库的外观与传统 Logix 标签数据库
在传统PLC 中,用物理地址标识各个数据项,例如 N7:0或B3:0/0。
不使用地址注释或符号,
就很难阅读逻辑。
在Logix 控制器中没有固定的内存 N7:0或B3:0/0。
Logix 内存是基于标签的系统。
标签名称本
身就可以标识数据。
借此便能够组织数据以模拟机器。
您可在实际中 使用分配的标签名称记录代码,例如 Nozzle_1_Te mp erature 。
巨参考信息
创建Logix 项目标签的指导原则
用户自定义数据类型 (结构)使您可以组织数据以匹配机器或进程。
用户自
定义数据类型提供以下优势:
一个标签包含系统特定方面的所有相关数据。
于查找,不考虑其数据类型。
定义数据用型户自每个数据(成员)得到一个描述性名称。
这样自动为逻辑创建初始水平的文 档。
可以使用该数据类型创建具有相同数据规划的多个标签。
例如,使用用户自定义数据类型存储罐的所有参数,包括温度、 位置和预设值。
然后基于该数据类型为每个罐创建标签。
PLC 非常类似。
指导原则
详细信息:
这样将相关数据保存在一起便 压力、阀门
数组在一个公共标签名称下创建数据类型的多个实例。
数组使您可以组织一组使用相同数据类型并执行类似功能的标签。
2)使用数组快速创建一组类似
标签。
以一维、二维或三维组织数据以匹配数据表示的内容。
例如,使用二维数组组织油库的数据。
数组的每个元素表示一个油罐。
元素在数组中的位置表示罐的地理位置。
重要说明:尽量减少使用BOOL数组。
许多数组指令不能在BOOL数组上使用。
这使得更难以初始化和清除BOOL数据数组。
通常对PanelView屏幕的位级别对象使用BOOL数组。
否则,使用DINT标签的各个位或DINT数组。
3)利用程序范围标签。
Tan k_North North Tank
Tan k South South Ta nk
2.在标签编辑器中单击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 Typ es)文件夹下,单击”用户自定义 "(User-Defi ned)旁边的 +。
E-Q Dato Types S 母 User-DeFined a 鼻 Strings -a -耳 Predefined
■ qj Module-Defined 您将注意到这里有一个名为 Conveyor 的UDT (已为您启动UDT 的创建)。
曰已 iData Types
H 细 User-Oefredl 韵城題a
+1 Mft stfg a : Predefined ;Ntodie-Oefiied 5.双击 Con veyor 。
这将为Conveyor 数据类型打开UDT 编辑器。
可以看到,UDT 混合不同的数据类型。
在编程 时这是非常有用的工具。
Name:
|Coriveyof Descjiphon
This IS used to p(M| togethef rio one
place al lhe data
that 讯 u$edl g a
Conveyor nsteadl of mrig 4胡曰曲
Data Tvpe Size 52 创來) Members
用户自定义数据类型的指导原则
§创建用户自定义数据类型时,记住以下指导原则:
§如果包括表示I/O 设备的数据,则必须使用逻辑将数据复制到 UDT 中。
UDT 中不可为I/O
指定别名。
§如果要在UDT 中包括数组,应将数组限制为一维。
UDT 不支持多维数组。
§创建UDT 时,将类似的数据类型组合到一起。
这将创建更为紧凑的
查看UDT 后,您会注意到,类似的数据类型并未组合到一起。
BOOL 和REAL 数据类型混在
一起。
UDT 的当前大小是52个字节。
将BOOL 组合在一起可降低这一数字。
6. 要进行此操作,单击 Motor_Overload 的左侧。
这样将选中整行。
7. 单击”向上移动"(Move Up)按钮。
这会在 UDT 中将 Motor Overload 标签向上移动。
Members:
Data Type S
UDT 。
8. 对其它BOOL 标签重复此操作,直到它们均组合到一起。
9. 单击”应用"(Appiy)。
现在请注意一下 UDT 的大小。
您已节省了 12个字节。
10. 完成对BOOL 标签的移动后,验证 UDT 的显示如下:
pConvevot
This is used to pull together into one
place alll the data that is used by a Coovevor instead of using 4 different
11. 回到”控制器标签"(Controller Tags),展开N7标签并注意N7[0]到N7[7]及其描述。
W embers:
D 3也 Type Size: 40 Name: Description:
12. 使用标签的描述将这些标签添加到 UDT 。
手动执行行此操作(并
要记住参考前文中的 指导原则4)。
13. 完成后,单击”应用"(Apply)接受所做更改并验证 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)。
N«ne
0 號刖-T
Mob^verlMd Mobr^OveLSpeed M otor_U nderS peed M olar_R
unnrig_S peedi M obr_S bpped_S peed MM-E 榆他 帳 nLSp Star (_Push_ B
ff\«
邑I E rtefgy_M anAa«wrt_T iffter
M(ibr_Speed_Low M olar_S peed_Hi^ Mobr_Sc^«LL<w* _ M QtCH —
M 0泊」peed_Sc^d Mobr_SpMd_Fdbk_Low Mo>or_5
pwd_IFdbk_High Motor Feedback Data Type £吐7囚呷甸 [Description |
TIMER, TIMER DINT DINT DINT
DiNT
DINT
Decimal
Decimal
Decimal Decimal
DtNr DINT DINT
Pecifral
IDecItna l
您现在已拥有一个在程序中定义传送带的完整 UDT 。
]D 擱a
Type GOOL —
BQQL BOOL
Occ 血
I Dec
您可注意到标签的格式与刚创建的 UDT 相同。
这可通过查看"类型"(Type)列进行确认。
这将打开标签编辑器。
匸 ControJterCorw^w_Pro5fam 二 Controller Hander —J Power-Up Hwller P' flasks 查看标签编辑器,您将发现数据库中有一个新标签 Convey or_1。
Scope: I 3 匚廿¥矽0^円口卽c Sbsw …I Show Al )Decani
Name + B3 + Cofive^_1 + Fg + F9 ;+ N7 > PD
匚T10
:+ T4
L. I
J Ftaat j Fi^
T ; _____________________
} Decind
4.单击Co nveyoM 旁边的+展开该标签。
]D 曲 Type
BDOLa) Convej^cf
REAUE4] REAUG4] |liNT|[B4j RD
TIM ER[&4] TIME!Rte4J
I Desuiii 但
an
丽驾IS usedi pull
fo...
在控制器项目管理器中,单击各个程序的+,展开连续任务中的3个传送带程序。
5.
-运Mainlask 三争Conveyor. I
齒Pro^^ Tags
:團Cl_Alarm^5tatus
圓G-Eheryy-Mag 慟
Cl_StArt_Stop
£Program Tags D
Cooveyw_2 圖
C2^Alatm…St3tus 爾CZ
JEfwroy^Manafl 色
CS^Start^op
Z £# Conveyor
③ Pro^am Tags
D ConveyoO a
Ca_Akfm_5tatus
ac」「_._
lEnerg/J^anag
1 C3_5tait_5top H
的SimJation
6. 双击例程C2_Start_Stop。
这将打开该例程,并可进行查看和编辑操作。
B- 4 Conveyor_2 』P rogrom Twgj -駅 Conveyor_2 瓦 C2_Abrm_5tatus 蓟 C2 Energy Man 旳 蓟爲戢麵
7.现在显示的是梯形图例程 C2_Start_St op 。
您可注意到,在此实例中 Con veyor_2的寻址方式仍使用的是传统
PLC 的的寻址方式。
例如,
在梯级0上,定时器的地址为
T4[20]。
Mapfied
CoiflwW Sl4rt
03(241
Mgped pe
也和
—3
Tifnei
------ WH --------- Tim 酣 On [M 閉# TttTicf 阿20]
Preset 2000 Ajtctm
I
YM>- 01 —
Ok 智 T 0 沁
M^cped Stooped
Mapped E Stop pe
B3(21||
B 3(221
B3(23J
T E
Start P8 Tinwr
珂 20] DM
T A
Ok^To
Start
83[21}
Y 1
Conwejw Start B3(24J Y>-
C G T I V^
stat 63(241 T t-
SrarrPB Tfrwr 14(2)0] DH
T/A
MoFot
speed
Seated -CP —
CoimpUe Deit N7P4J 0* Expreiii^ FB(20niN 7|231+117[22^«7|21
hH7l20]n
Motor
■ I 人①人堂_:沁_站/_
8. 双击例程 C1_Start_Stop 。
这将打开该例程,并可进行查看和编辑操作。
现在我们来继续更新其它两个传送带程序以使用 UDT 。
首先我们需要创建两个新标签。
EeEvn C<iriwev<lf_1 Mofcif_Fli>F(n(uSpe*(i
Sw«yqi 1 E rsm 卿,M
—=——3 订
5VCY0
「AU1_gUH_SlOP
k 唱?启“ /
H 5 匚onwyor^l 詛
PTOFmTa^s 罰 Conweyor^I 目C1-A5-
輩畑 貝I 空
Energy Manag
aafeBKa
Ei ij, Conveyor.?
9. 现在显示的是梯形图文件 C1_Start_St op 。
可注意到传送带1的寻址方式使用的是 UDT 。
如您所见,代码现在可以自文档化, 而且标签 名称可描述其具体的意义。
您无需再像传统PLC 中一样添加地址描述。
代码中仍有一些较早 样式的地址;我们将稍后处理它们。
MappedrS<«t
PS
IB 蒯 TE —
TOM
T A ^ OnO Ttfner PrM Aciuhi
_1 S tart_FWi_®tJton^T n«r ~ ~ - ~2000*
0*^
■
C onv 矽Of J $ *三九^^6胡 on J 血 ON
OUyJ euSUrt^Hotor
------ =——-3 E ------- ----------------- --- < >- _-—
Mapped 亏 tefad
IPS
e 鞫
—3*1
Mapped FSiflp
PB
翊
T 丿&—
Mapped
Corwv^
盹rt 時1
M«)p«d Cwwiy** Start B^+l TN Nwd Convsyo
f
Conviyoi 1 Ener®' M AM 财Tiw DN
' 二"
— CorWe net
Tms DNI I -----------
I
铲
10. 在工具栏菜单中,选择 "窗口 >控制器标签-Conveyor_Program (控制器)"(Window > Controller Tags -Conveyor_Program(controller))。
这会将标签编辑器窗口置于顶层。
VAndow Het -htew Window
姻 Tte Hor(zont4l
Tfe Verbc^ Arrange Irens -Split
OoseAl
Routhes
11.在标签编辑器窗口的左下角处,单击 "编辑标签"(Edit Tags)选项卡。
I ij ► j\Monitor Tags Edrt Tags
f
在这里我们将创建两个新标签, Con veyor_2和Co nveyor_3。
12.在标签编辑器中列表的底部,可注意到那里有一个开放空间,可创建一个新标签。
13. 在"名称:"(Name:)列中,输入"Conveyor_2"并在”类型"(Type)列中输入"Conveyor"。
这样便会创建一个传送带类型的名称为
Con veyor_2的标签。
14. 要创建新标签,单击 Co nveyor_2下面的新空白行,并验证标签编辑器的显示如下:
I I 中“ I .CU
2
15. 使用与上述相同的方法,为 Con veyor_3创建标签。
16. 完成后,验证标签数据库的显示如下:
现在我们将需要更新梯形图代码以使用这些新标签。
我们将从 Con veyor_2开始。
我们将仅修改 Alarm Status 和En ergy Ma nag 例程。
使用下表并参考
Con veyor 1例程。
Speed Low McHoi Spe«d High Motoi Speed Scaled Low Motor Speed Scaled H igh Motor Speed Scaled
Motor Speed Feedback Low Motor Speed Feedback High Motor Feedback
DDDDDDDD
- - -一 一
+ N7[27J
0 0 J N7[ZOI1 J N7[211
Membef^
让我们从一个示例开始。
17.在控制器项目管理器中,双击例程C2_Alarm Status。
重要说明:我们目前将忽略任何在描述中包括文字"映射”的B3地址。
18.在梯级零上,注意描述为C2电机过载的OTE指令。
通过查看前一页中的图,您可发现此描述与UDT中的第二个成员相匹配。
Wed Main Ovtftoad B3P7] -3L-
19.要更改地址,双击 B3[28]。
这将打开一个下拉框,以便您可选择一个新标签。
20.单击向下箭头(这将打开标签浏览器) ,滚动浏览列表直到您找到 Co nveyor_2。
21. 单击+展开该标签,然后选择 C onveyor_2.Motor_Overload ,如下
所示:
C2
Mcrtor
O 他 toad
I Conveyor 二]
Show; Show All
22. 双击 Conveyor_2.Motor_Overload 。
这会令 Conveyor_2.Motor_Overload 成为OTE 指令的新标签。
23. 单击标签编辑器的空白处,验证梯级的显示如下(请再次注意自文档化的代码)3 ' 3 s 工
I 03(63]
BOOL
Rnveyorj
Conveyor This is used pull”. ijnveyor_2
ConveyorThis is used 卩』1..
一
Conveyor 2.Motw 0verb^d BOOL This is used
pull...|
I -rnnvRvnr 2 Mcrtor Over Sn BOOL hs This is lUEed tiull
*
Tag Name
Data T/pe Description ConArole
r Program
C2 Moiw Owto^ »X23]
G Mcn
可注意到标签 Conveyor_2.Motor_Overload 确实具有描述。
对于版本
V12和较早版本
的RSLogix 5000,在UDT 编辑器中输入的描述并不会在
UDT 编辑器以外显示。
UDT 传递和附加描述选项
从 RSLogix 5000 的
版本13开始,"工作站选项"(Workstation Options)下提供2个 新设置。
I
运匚両正回埜 r inr bLJIHh
grhHDfUCi
■曲 WUh ja N ■讪WJCWsl
P 号hw FftM Fl ・ji 寸iD 雹何pt 加 P?号 roM
& &Kuw F T JE A ^
ar
24.
25. This is used to pul together into one place all the data that 西 used by a Conweyor instead or u£ir^ 4 different
tags
Cooveyor_2 MotorjOvertoad
------- ―匚 ---------
现在,继续并完成此例程的更新。
然后更新传送带 2 的 En ergy_Ma nag 例程。
为传送带3重复相同的步骤。
26.
I- AWrtCtfMrt
t 呦
ce
聲叫
{如
Ek3»
如果启用传递描述,则只要不为标签提供显式描述:
在标签是别名时将会显示基础标签的描述,或者
在标签是成员时将会显示定义的数据类型的成员描述,或者
在标签是位、数组元素或成员时将会显示基础标签的描述,或者
§将会显示定义的基本数据类型的描述。
如果选中此复选框,"附加到基础标签描述"(A ppend to Base Tag Descri ptio ns)复选框便会启用。
如果要使传递描述中包含基础标签描述,则选中”附加到基础标签描述"(Append to Base Tag Descriptions)复选
框。
根据传递描述规则添加任意附加描述。
在提供此功能之前,用户必须手动从UDT编辑
器中剪切描述,并在标签编辑器里手动将这些描述粘贴到标签中。
这样会使编程工作多花费
许多个小时的时间。
我们来了解一下此新功能的工作方式。
27.在控制器项目管理器中的 ”数据类型"(Data Types)文件夹下,单击 ”用户自定义
"(User-Defi ned)旁边的
E-Q Data Types User-DeFined Strings Predefined Module-Defined
您将注意到有一个名为 Co nveyor 的UDT 。
a
S I iData Types
!+. SVinflS Predefined ModJe-Defined
28. 双击文字Conveyor 。
这将为Conveyor 数据类型打开UDT 编辑器。
+。
Sa
田-
This is used pull together into one pl^e dll the data t 冋IS 血ed 场f a
Convfljw of using 4 deferent
29. 为UDT 的成员添加一些描述,完成后单击 "应用"(Apply)。
30.
更改UDT 的描述,如下所示:
31.单击”应用"(Apply),然后单击”确定"(OK)关闭UDT 编辑器。
您现在可注意到,您输入的描述现在已显示在标签上。
该描述包括 和UDT 成员描述(电机过载指示)。
Name
] go lipe
Sljte
Descripiion
Okay_T Q_Sbrt_Motot
IBQOL Decimal
Mo4or Ovefk>ad BOOL Decimal
Molof_Ov«^Speed BOOL
Maor U nderSpeed IBOOL Qeainal
Molof R urifiinQL^ peed REAL Fk»l
Mo<of Stoppe<LSpeed
REAL iFloal
MW —E nergv_M anagcsnent^S peed REAL Floa»
[-Sta(t Piu$hLB uhon^T rnet TIMER
U 1 E
fly. M
Krw
TIMER
Moilof 5peedJLow DIINT Decimal
Wo<or S peed H i 简 DINT Deamat
Mo<of S caled Lciw DINT Deamat
Mrtof Scjled Hi^ DINT Decirr^
Mo<«_S peed_S cated IDINT
\ 1
Decwnd
Mo<o(SpeedjFdUt Low DINT
Oearnat
M<Ho(_SpeedJFdbk_Hi^ DINT
Decimat
M<il«Feedt>ack
IDINT
Decimal
Ddta Ti)pe Size: Z2 创
來]
Mlenftbw *:
32.在控制器项目管理器中,双击例程 C2_Alarm_Status 。
Narw
iName: DescqplioA :
UDT 描述(传送带数据)
33. 在工具栏菜单中,选择"工具> 选项"(Tools > Options)。
I T[^S Window H'dp
Options..,
Security
Translate PLC5/SLC
Import H, Export. H.
jetton Direct Comr帖rxk …
Monitor Equipment 加冊
I感I ControlFLflSH 冒I LogixbOOOlaskMorttor
将出现"选项"(Options)窗口。
Workstation Options Cs(ego(ie?
Display
I Font/Cokx
Tag E 曲or Displ^ 三Ladder Editor
Dtsptay
Fortt/CokM
t:SFC Ecitor
Elerrenl Naming
Duplay
Foot/Cokw
IW F8D Edbr
Font/Cokx
三Slfuctured Text Editor
Font/Cokx
Tienrfs
L ::门菲W 愛MnR genefdll prefeiencct for RSUogjit 5000
P^o(ecl Oirectoiy
jb\RSLogK 5C00\Proiects Browse
. I
[7
EnaUeAdtofnatic Pe 曲 6 其kup
Nurmbcf o( BdcRups: [T
Enable Lock Ahead
3 copi«
EnaUeDupficate D 亡曲uctive Bd
Detection
EnabielrKSliwlion Def**s
Caned-
'u
:
34.在"应用程序"(Application)下,单击"显示"(Display)。
窗口将如下所示。
Workstation Options
Caregoiie«
iS AfipCiCdt^
Font/Cokx
Tag Editor Displa^i
L&Sder Editor Deplay
Font/Cobr
SFC Edtor
Etenenl N 妙hg
Display Foo(心
kw
F8D Editm Foot 心kw
Slructured Text
Editor Font/Colof
Tiends
Change appear^ce (or H'SLagiit 5000
耳Icharactersj
I ag Descjpbon DispJa^j
Widthi
|Certef 刁
Show P^s-T hrough D«gp(ion$
P Append To Base lDe^a<)hohs
ShowGtid
Show Sheet Boundaries
I ag Oeserptior ObpUav
JustiboalioriL
f7
Show Fd Diag
OK Cancel ]
35.调整”工作站选项"(Workstation Options)窗口的位置,以便您既可看见该窗口同时又可看到C2_Alarm_Status例程中的OTE指令。
36.单击”附加到基础标签描述"(Append To Base Tag Descriptions)旁边的复选框关闭此选项,然后单击”应用"(Apply)接受所做更改。
可以注意到描述已更改。
UDT描述"传送带数据”已移除。
Motor Overload
lodicoboo
2 Motor OverlowJ
---------- c: -------------
Motor has gone nrito anovefspeed condition
Coirpor 2.HotQ[ Over Speedl - c:
H O U M hds gone linto 4n knder$peedl conditpon Convej«M_Z M otot.U ruterSpcwJI
37.单击"显示传递描述"(Show Pass-Through Descriptions)旁边的复选框关闭此选项, 击”应用"(Apply)接受所做更改。
可以注意到描述已再次更改。
描述处已没有任何内容。
这是在版本
5000版本中梯级的显示方式。
然后单
V12 和更早RSLogix
Conveyor 2,Mobr Oveiload - C ?
匚 M oto(_0 vecS peed ------ ——=——
重新打开两个选项,接着单击 "应用"(Appiy),然后单击”确定"(Ok)。
在”文件"(File)菜单中选择”关闭"(Close)。
使用数据范围划定
您刚刚使用过用户自定义数据类型, 它们可更好地组织标签数据库, 并可创建自文档化的代
码。
接下来要进行的也是最后一步要进行的是, 将标签的范围划定为程序级别。
这就是数据
范围划定。
通过数据范围划定,您可:
对不同的程序使用相同的标签名称,因为各程序范围内的标签彼此隔离。
开发标准代码,可复制使用多次,无需担忧标签名称冲突。
不再需要管理标签名称和数据位置。
创建标签时,您将其定义为控制器标签(全局数据)或特定程序的程序标签 (本地数据)。
38. 39.
完成后,单击"保存"(Save)图标。
旦
40. 加速项目开发过程。
§ 数据范围划定
将应用分割为多个程序。
无需管理程序间标签名称的冲突问题。
这样便可更轻松地在多个程序中重复使用代码和标签名称。
程序范围内的数据与其它程序隔离。
例程不能访问其它程序的程序范围内的数据。
可以在多个程序内重复使用程序范围标签的标签名称。
mnlic Uktf Lt^ l.kh 詞也
WJten jhJifddia
[Mbs 空dim
rikJJbriUdLihJ
w '-^1
. .
_ _.
:・ d Vantrnbr T 砂 --Q
CoriroItT Fiifc 已
PiMer-Lt>K»idtei A Si
~ 务 nanTjfi E f MdF
仰
Wr 0 Ftc(7on Ta(>5 /Oi rtarftMrw
口 OnscbedledPro^artts I ■*■
口
MaLcn a(]B&
--d TrcnJs
回曰D 武2 T>p« $ U:cf
Cc6心 ±=Q 虫呻
■* PiedeOned
Al [I
bjJ bj_? bl 1
I dtar Ejdi
riiJ r.»]j F-nJEi
恤 im.R
,1 L 1
1
P
1 EMfrmitnn 口
hlhllKVR^ M
仙t 仙$
Logix 控制器允许您
Ml
打开现有控制器文件
在实验的本部分中,您将打开一个现有程序。
3.在计算机桌面上,双击Lab Files文件夹。
4.双击名为Conveyor_Program_S
5.ACD的现有项目。
这样将在RSLogix 5000中启动该项目。
对程序进行数据范围划定
1.在控制器项目管理器中,双击”控制器标签"(Controller Tags)打开标签编辑器。
2.验证已处于"编辑标签"(Edit Tags)选项卡中(如果不是,则无法执行剪切/粘贴操作)。
标签编辑器打开后,您将注意到有许多旧标签不见了( N7、F8、T4)。
在创建传送带UDT并
修改代码后,便不再需要这些标签了。
标签Conveyor_1、Conveyor_2和Conveyor_3仍存在。
F9和PD文件被更改为标签名称,而不是像传统PLC —样采用数据表编号的方式。
在将PID移
动到周期性任务中后,已将T10文件删除。
现在我们要将标签 Conveyor_1、Conveyor_2和Conveyor_3从控制器范围移动到程序范围。
3. 双击”数据类型"(Data Type)列。
这样会将标签排列为更适合我们将进行的编辑。
首先我们会将标签 Temp_Loop_PID 、Control_Output Temperature_Loop 程序范围。
4. 单击标签Temp_Loop_PID 的左侧。
这样将选中整行。
5. 按住Shift 键并单击标签 Process Variable 的左侧。
这样将选中所有3个标签。
P rocess_Variable 移动到
6. 在工具栏菜单中,选择"编辑 > 剪切"(Edit > Cut)。
]印e Wew Se-ych I 咻 Commune 制:
(line Force Ed ]愴
7.
在"范围"(Scope)下拉菜单中,单击向下箭头。
单击 "程序
"(Programs)旁边的+展开该标
签。
这将显示所有当前的控制器和程序标签数据库。
Scope 1 5 1
Convey<x Roqf< * |
Show 1 S how Al
3 CoiTrtyfl^ografn
二
]A&^ Foe
+ B :
*. c, Programs H
T
-. ♦ — B Conveyw 」
4 Coiweiw_2 _ CorweiKX_3 一昌 HD Loop
jJ
-q
+ (j
T
8. 选择PID_Loop 范围,如下所示:
:P Piogrw?
! I Cohvevof_3 -Cl
IJlJId-j-M
C.J SimProg Equipment lPh«et
OL
L * I L
厂 +; 1 emp_L(»p_P1O
■
FID r Conhd_OuUxji
1 REAL
■ ■
REAL
Orl+X
Sccee: I j 匚oov 亡问三 Piogri 工] Shflw | SIwvAll
Atas Fc
这将会为程序PID_Loop的程序范围标签打开标签编辑器。
在下拉菜单中,名称
前的指明这是控制器范围标签。
控制器称为Con veyor_ Program。
5
所以Con veyor_Program表示控制器范围标签。
列表中的所有其它名称是程序名称或控制器中的设备阶段。
当前PID_Loop在程序范围级别没有定义任何标签。
我们现在将向标签中粘贴第下来的内容。
9.单击打开的标签名称文件,以便光标出现在下图位置:
Scope |t JiHIDAoop 5*^
I N'ame
I
10.在工具栏菜单中,选择”编辑 > 粘贴"(Edit > Paste)。
J®
ine
■di
ts 7步中剪切
Sh File Edit 艸Search Logic Communicaticr
12.
s ( :ope: 1 r Conveyor Pfoqre | 叽 | Show Alli
1 Name
| A 际 For
Base Tag] Data Type
1 ► Is 63
1
GOOLI641 H-ConveyoH
Conve^wr
0-Convei)oi^2
Conve^wr
田 Conveyor 3
Conveyor
IBJ
17.
完成对标签的移动后,单击 "校验控制器"(Verify Controller)图标
将会显示4个错误,但这属正常情况。
这些错误与仿真器程序相关。
之前,我们提到过程序范围内的数据与其它程序隔离。
例程不能访问其它程序的程序范围内
的数据。
但是,可以在多个程序内重复使用程序范围标签的标签名称。
让我们来证明这一点,
进入所有3个传送带的程序范围标签, 将标签名称Conveyor_1、Conveyor_2和Conveyor_3均
更改为Conveyor 。
18. 在"范围"(Scope)下拉菜单中选择 Conveyor_1。
Scope: 1 r Corivevor_Pfogfc | Show .
| Show All
Base Tag| Dala Type
1 Name
Alias For
► i 田 B3
BOOLIG4]
3
完成后,验证B3是控制器范围中唯一所剩的标签。
13. 将标签 Conveyor_1剪切/粘贴到 Con veyor_1程序范围中。
14. 将标签 Conveyor_2剪切/粘贴到 Con veyor_2程序范围中。
15. 将标签 Conveyor_3剪切/粘贴到
Con veyor_3程序范围中。
16.
11.验证3个标签已粘贴,如下所示:
26.当软件询问是否保存更改时,选择 "否"(No)。
结束
19. 将标签名称"Conveyor_1"更改为"Conveyor"。
Sew : 1 ftConvevoc 1
Shgw.. | Show Al
IN MM Alias For | Base Tag | Data Type
瓯 1 ConwejKxl
CorwejKX
.. - .
20. 修改其它2个标签,将 Conveyor_2和Conveyor_3也改为相同名称。
21.
标签名称更改完成后,单击 "校验控制器"(Verify Controller)图标 題 将
会显示4个错误,但这属正常情况。
这些错误与仿真器程序相关。
重复的标签不会发生任 何错误。
这是因为各程序范围内的标签彼此隔离。
对标签进行数据范围划定,这使得更容易在多个程序间重复使用代码和标签名称。
在此情况
下可创建使用程序范围标签的名为
con veyor 的程序。
然后可根据传送带段数向项目中添加
相应数量的此程序,无需再修改代码或标签。
25.在工具栏菜单中,选择”文件 > 关闭"(File > Close)。
ZjiConvevot-l 勺 Shflw..
1
j= 5 匚onveyar_PtoBram (^Program;
SKl(Conv«yor_l
—E -4. Jii
Uji Connrtgxx_3 M 1 P10_L(MP
LJ SimPtog
icHjiDmen( Phaser V
Scope : M 如 ► l+IC<。