1.1 RSLinx 介绍
RSLinx 软件是工业通讯的枢纽。 它为所有的 AB 网络提供了完整的驱动程序。 通过 RSLinx 软件, 用户可以通过一个窗口查看所有激活的网络, 也可以通过一个或多个通讯接口同时运行任何所支持的应用程序的组合。 RSLinx 提供最快速的 OPC 、 DDE 和C/C++ 的接口。 RSLinx 还能够为用户提供多个网络、 本地工作站和 DDE/OPC 性能诊断工具, 便于进行系统维护和故障排错。 RSLinx Gateway 驱动程序能够完美地支持 TCP/IP 客户与 AB 控制器的连接, 它也支持与远程 OPC 进行通讯。 整个系统结构如图 1-1 所示。
RSLogix RSLinx ControlNet PLC-5 SLC DeviceNet ControlLogix FlexLogix 图 1 - 1 系 统 结 构 图
EtherNet/IP CompactLogix RSView 1.2 使用 RSLinx 进行通讯组态 1.2.1 上位机通过 DF1 网络接入
1. 单击 Start->Program->Rockwell Software->RSLinx->RSLinx 或单击桌面启动 RSLinx 软件, 如图 1-2 所示。
图标,
图 1 - 2 R S L i n x 启 动 界 面
2. 单击菜单栏中 Communications->Configure Drivers… 或在工具条上单击 Configure Drivers (组态驱动), 如图 1-3 所示。
3. 弹出标题为 Configure Driver Types 的窗口。 单击 Available Driver Types (可用驱动程序类型。这些 Drivers 是 Allen-Bradley不同网卡的驱动程序。) 对话框中的下拉箭头,根据设备的实际情况来选择驱动程序, 注意要和所使用的硬件相匹配。 此处我们欲通过计算机的 RS232 串口接入 DF1
图 1 - 3 选 择 驱 动 组 态 网络, 因此选择 RS-232 DF1 devices , 如图 1-4 所示。
1
图 1 - 4 选 择 所 需 驱 动 程 序
4. 单击 Add New (添加新驱动) 按钮, 将弹出如图 1-5 所示窗口。
图 1 -5 命 名 新 驱 动
5. 单击 OK , 会弹出如图 1-6 所示窗口,单击 Auto-Configure (自动组态), 若显示“Auto Configuration Successful ! ” , 则表示组态成功。
6. 单击 OK , 在Configure Driver 窗口的列表中出现“ AB_DF1-1 DF1 Sta:0 COM1:
RUNNING ” 字样表示DF1 驱动程序已运行,如图 1-7 所示。
1 - 6 自 动 组 态 成 功
2
图
图 1 - 7 驱 动 已 运 行
7. 单击 Close 回到 RSLinx 初始界面, 单击 Communications->RSWho , 现在工作区左侧列表中多了 AB_ DF1-1 网络图标, 选中右上角 Autobrowse (自动扫描) 或单击 Refresh (刷新) 。 如果正常, 单击该网络图标, 会出现网络中所有设备, 如图 1-8 所示。
图 1 - 8 扫 描 D F 1 网 络
8. 用户可通过 RSWho 查看框架配置,获取设备信息。如图 1-9 所示。
9. 用户还可通过 ControlLogix 背板的“透明” 网关功能, 浏览其它网络上的设备,如图 1-10 所示。
10. 至此完成了上位机通过 DF1 网络接入的实验。
图 1 - 9 查 看 控 制 器 信 息
3
图 1 - 1 0 浏 览 C o n t r o l N e t 网 络
1.2.2 上位机通过 EtherNet/IP 网络接入
实验EtherNet/IP 工业以太网结构如图 1-11 所示。
图 1 - 1 1 工 业 以 太 网 结 构 图
1.单击 Start->Program->Rockwell Software->RSLinx->RSLinx 或单击桌面上标, 启动 RSLinx , 如图 1-12 所示。
图
4
图 1 - 1 2 R S L i n x 启 动 界 面
2. 单击菜单栏 Communications->Configure Drivers… 或在工具条上单击 Configure Drivers (组态驱动), 如图 1-13 所示。
3. 弹出标题为 Configure Driver Types 的窗口。 单击 Available Driver Types (可用驱动程序类型。这些 Drivers 是 Allen-Bradley不同网卡的驱动程序。) 对话框中的下拉箭头,根据设备的实际情况来选择驱动程序, 注意要和所
使用的硬件相匹配。 此处我们欲通过计算机的 网卡接口 接入网络, 因此选择Ethernet devices, 如图 1-14 所示。
图 1 - 1 3 组 态 驱 动
图 1 - 1 4 选 择 驱 动 组 态 类 型
4. 单击 Add New 按钮, 将弹出如图 1-15 所示窗口。
5
图 1 - 1 5 命 名 新 驱 动
5. 单击OK,弹出如图 1-16 所示窗口,在 Station 的 Host Name(主机名)中输 入 IP 地址。 CompactLogix L35E IP Address : 192.168.1.x0 ;ControlLogix 1756-ENBT IP Address : 192.168.1.x1 ;PC 机 IP Address : 192.168.1.x2 ;PVP IP Address : 192.168.1.x3 1794 AENT IP Address : 192.168.1.x4 ;FlexLogix 1788-ENBT IP Address : 192.168.1.x5 RESERVED IP Address : 192.168.1.x6 - 192.168.1.x9
图 1 - 1 6 添 加 I P 地 址
6. 单击工具栏中本地连接的图标
, 检查计算机网卡的 IP 地址设置, 并确认
IP address:192.168.1.XXX ;Subnet mask:255,255,255,0 ;Default gateway:192.168.1.1 如有不同,请修改为上述配置, 如图 1-17 所示。
图 1 - 1 7 检 查 I P 设 置
7. 单击 OK , 在 Configure Driver 窗口下的列表中出现 AB_ETH-1 A-B Ethernet RUNNING 字样表示该驱动程序已经运行, 如图 1-18 所示。
6
图 1 - 1 8 驱 动 程 序 已 运 行
8. 单击 Close 回到 RSLinx 初始界面, 单击 Communications->RSWho , 现在工作区左侧列表中多了 AB_ ETH-1 网络图标, 选中右上角 Autobrowse 或单击 Refresh , 如果驱动组态正常, 单击该网络图标, 会出现所配置好的设备的图标, 如图 1-19 。
图 1 - 1 9 新 组 建 的 E t h e r n e t 网 络
9. 用户可通过 RSWho 查看框架配置, 也可获取设备信息。 例如, 获取 L55 控制器信息, 如图 1-20 所示。
10. 用户还可通过 ControlLogix 背板的“透明” 网关功能, 访问其它网络上的设备, 如图 1-21 所示。
11. 至此,完成了上位机通过 EtherNet/IP 网络接入的实验。
图 1 - 2 0 L 5 5 控 制 器 信 息
7
图 1 - 2 1 查 看 C o n t r o l N e t 网 络
第二章 RSLogix5000 编程
2.1 编写 RSLogix5000 梯形图 2.1.1 创建任务、 程序和例程
本课程基于一个压缩机装配项目环境。图 2-1 描述了压缩机装配项目的整个工艺流程。 传送带上的压缩机经过三个装配站: 冲压、 卷边和焊接。 然后被传送到第二个传送带并接受质量检查。 最后通过检查的压缩机码垛后装船运走。
图 2 - 1 工 艺 流 程 图
冲压、 卷边和焊接三个装配站和传送带1 由控制器P1 控制。 质量检查和码垛站以及传送带 2 由控制器P2 控制。 图 2-2 给出了模拟各工作站运行时所用按钮和指示灯等离散量输入 / 输出点。 光眼检测到有部件放置到传送带上( PartSensor 由 0 变为 1 ) 后, 站 1 、 2 和 3 顺序执行, 然后传送带动作。
当光眼再次检测到有部件送至传送带上, 上述操作再次执行,依次循环。 时序图方式描述控制器 P1 的操作流程, 如图 2-3 所示。
8
图 2 - 2 各 个 按 钮 和 指 示 灯 的 含 义
图 2 - 3 时 序 图
9
1.双击桌面上图标, 打开 RSLogix5000 软件, 如图 2-4 所示。
图 2 – 4 R S L o g ix 5 0 0 0 启 动 界 面
2 . 单 击 F i l e - > N e w 创 建 新 项 目 。 出现N e w C o n t r o l ler ( 新 建 控 制 器 项 目 ) 界 面 。
起 始 槽 号 为 0 。可 以 直 接 观 察 C o n t r o l L o g i x D e m o 箱 , 确 定 L o g i x 5 5 5 5 控 制 器 所 在 槽 位 ; 也 可 以 打 开 R S L i n x 软 件 , 组 态 通 讯 , 在 R SWho 中 确 定 L o g i x 5 5 5 5 控 制 器槽 位。
第 二 种 方 法 更 适 用 于 操 作 员 处 于 远 程 位 置 时 。 配 置 好 的 画 面 如 图 2 - 5 所 示 :
图 2-5 新建控制器对话框
单击 OK , 弹出如图 2-6 所示画面。
10
图 2-6 新建项目资源管理器
现在我们已经创建了一个 ControlLogix 项目。 此时我们还没有添加任何与项目相关的 I/O 模块, 项目中也没有可执行的代码(如梯形图)。
由于正处于离线工作, 所作的任何改变都只限于软件中, 并存储在计算机的硬盘中。 在进行在线操作前, 这些变化并不能反映到 Logix5555 控制器中。
3. 接下来, 根据应用实例要求来组织控制器 P1 项目中任务、 程序和例程及其操作要 求。 控制器 P1 项目组织结构, 如表 2-1 所示。
表 2-1 控制器 P1 项目组织 任务… 包含程序… Program_1_Press Assembly Program_2_Stake Program_3_Weld Conveyor Periodic_Dispatcher Conveyor Station_Dispatcher 包含例程… Routine_Dispatch Station_1_Press Routine_Dispatch Station_2_Stake Routine_Dispatch Station_3_Weld Conveyor Station_Dispatcher 执行的操作… 使能子例程 控制冲压站 使能子例程 控制卷边站 使能子例程 控制焊接站 控制传送带操作 初始化(使能)站操作 操作要求: 控制器 P1 中任务必须符合以下要求: 装配线任务(站 1,2,3 ) -- 执行时间不超过 500ms -- 根据调度连续运行 传送带任务
-- 执行时间不超过 500ms
-- 与调度任务分时执行(两任务的优先级相同)
11
-- 每 50ms 执行一次 调度任务
-- 执行时间不超过 400ms
-- 与传送带任务分时执行(两任务的优先级相同) -- 每 50ms 执行一次
4. Logix 控制器支持 Continuous (连续型)、Periodic (周期型)、Event(事件型) 任务。 根据上述 P1 的操作要求, 确定控制器 P1 中各任务的属性, 并记录到表 2-2 中。
表 2-2 控制器 P1 中各任务的属性 Task(任务) Assembly(装配线) Conveyor(传送带) Periodic_Dispathcer(定期调度) Type(类型) Continuous连续型 Periodic周期型 Periodic周期型 WatchDog 优先级 执行效率 5. Logix 控制器仅支持一个连续型任务, 且 RSLogix5000 已经自动创建了连续型任务 MainTask (如图 2-6 所示)。 在 MainTask 文件上单击右键, 在弹出菜单中选择 Properties (属性), 将 MainTask 任务名称改为 Assembly , 并输入相应属性值。
6. 单击 File->New component->Task 或在项目管理器 Tasks (任务) 文件夹上单击右键, 在弹出的菜单中选择 New Task… 创建新任务 Conveyor , 并设置相应属性, 如图 2-7 所示,因为传送带任务要求 50ms 执行一次, 所以选择 Periodic (周期型) 任务。 同理, 创建新任务 Periodic_Dispatcher , 并设置相应属性, 保存该项目。
图 2-6 新 建 任 务
图2-7 创建新任务 Conveyor
7. 创建 Assembly (装配线)任务程序。在 Assembly 文件夹上右键并在弹出菜单中选择 New Program (创建新程序)。输入程序名称 Program_1_Press,如图 2-8 所示。
12
接着再分别以和上面同样的方式和过程创建 Program_2_Stake , 以及 Program_3_Weld 并设置相应属性。
图 2-8 创建新程序
8.规划 Assembly (装配线) 任务的程序。 右键单击 Assembly 任务,从弹出的对话框中选择 Properties (属性)。 从弹出属性对话框择 Program Schedule(程序规划)选项卡。 规划后的程序如图 2-9 所示:
图 2-9 规划程序
9. 为 Assembly ( 装配线) 任务的 Program_1_Press 程序创建例程。 右键单击 Program_1_Press 程序, 在弹出菜单中选择 New ( 新建), 在弹出的对话框中输入名称Routine_Dispatch (调度例程), 类型为 Ladder Diagram (梯形图), 范围在
图 2-10 创建例程 Program_1_Press 程序中, 如
图 2-10 所示。 该例程用于调度程序中其它的子例程。 分别创建 Station_1_Press (冲压) 例程, 类型为 Ladder Diagram (梯形图), 范围 program_1_Press 程序中。 该例程用于控制冲压工序的时间。
10. 为 Assembly ( 装配线) 任务中 Program_1_Press 程序指定主例程。 右键单击 Program_1_Press 程序, 在弹出菜单中选择 Properties
图 2-11 指定主例程
13
( 属性)。选择 Configuration (组态) 选项卡。 Assigned Main (指定主例程) 为Routine_Dispatch (调度程序), 如图 2-11 所示。
11. 按照相同的步骤, 用户可自行为 Program_2_Stake 、 Program_3_Weld 程序创建相应例程并设置主例程。
12. 对于 Conveyor 和 Periodic_Dispatcher 任务, 请按照图 2-12 所示执行如下操作 -- 创建所需程序;
-- 创建所需例程并指定主例程。
13. 单击 File->Save , 保存该项目。 该项目所有任务、 程序和例程创建完 至此,已完成创建任务、 程序和例程的所有实验!
图 2-12 新建任务、 程序和例程
2.1.2 创建标签、 结构体和数组
在本实验中, 我们将结合应用实例继续前面的工作, 创建相应的标签、 结构体和数组。 Logix 控制器的特点: 无需手动进行 I/O 映射, 根据控制属性, 自动创建 / 命名标签, 并且支持结构体和数组。 另外, 控制器域和程序域标签分类提高了代码重用性。
1. 双击桌面上
图
标, 打开 RSLogix5000 软件。
2. 选择 File->Open , 选择上一实验所创建项目 P1 并打开。
3. 右键单击 Controller Tags (控制器标签), 在弹出的菜单中选择 New Tag… (新建标签)。 Tag Name 类似于其它编程语言中的变量。输入的标签名会保存在 PLC中,可供系统中的人机界面直接使用, 而无须重新
图 2-13 新建标签 定义。在对话框中输入名称 Call_Program_Value , 数据类型 INT , 标签类型为 Base(基本型), 范围为 P1
14
( Controller ), 显示类型为 Decimal (十进制), 如图 2-13 所示。 4. 按照上述步骤逐个创建以下控制器域的标签, 如图 2-14 所示。
图 2-14 控制器域标签
5. 创建下面的 Conveyor 程序域内的标签, 如图 2-15 所示。
图 2-15 Conveyor 程序域内标签
6. 创建下面的 Station_Dispatcher (站调度) 程序域的标签如图 2-16 所示。
图 2-16 Station_Dispatcher 程序域内标签
7. 创建下面的 Program_1_Press (冲压站) 程序域的标签, 如图 2-17 所示。
图 2-17Program_1_Press 程序域内标签
8. 将 Program_1_Press (冲压站) 程序域的标签复制( Ctrl+C ) 并粘贴( Ctrl+V ) 到 Program_2_Stake 和 Program_3_Weld 程序域内, 无须重建标签, 提高代码重用性。 在此我们注意到, 在 Logix 控制器中, 不同程序域内的标签名称是可以相同的。
9. 创建用户自 定义数据类型。 在控制器 P1 中为每个压缩机生成一个产品编号( Product ID ), 每个产品编号由零件编号( Part_ID )、 序列( Serial_No )和目 录号( Catalog_No )三部分构成。
图 2-18 新建用户自定义数据类型
15
如图 2-18 所示, 右键单击 Data Type 文件夹下 User-Defined (用户自定义), 在弹出的菜单中选择 New Data Type… (新建数据类型)。 10. 在弹出画面中输入自定义数据类型的 Name (名称) 和 Members (成员), 如图 2-19 所示。 此时, 你创建了一个自定义的数据类型, 下面创建相应的标签。
图 2-19 自定义数据类型中名称和成员
11. 在 Controller Scope (控制器域)内创建数据类型为 Product_ID 的标签 Station_Data 。如图 2-20 所示。然后保存该项目。至此, 你已完成标签、 结构体和数组创建的相关实验。
图 2-20 创建数据类型为 Product_ID 的标签
2.1.3 编写梯形图程序
创建了任务、 程序、 例程以及所需标签后, 我们需要编写工作站(冲压、 卷边和焊接)、传送带和站调度梯形图逻辑程序。 RSLogix5000 编程软件支持梯形图、 功能块、 顺
序功能图、 结构文本等编程语言, 用户可以根据自己的需求灵活选择编程语言。 对于本例, 我们选择梯形图编程语言。
1. 双击桌面上
图标, 打开 RSLogix5000 。
2. 单击 File->Open , 选择上一实验所创建项目 P1
图 2-21 打开 Routine_Dispatch 例程 并打开。
16
3. 输入梯形图逻辑。 右键单击 Assembly->Program_1_Press->Routine_Dispatch , 从弹 出菜单中选择 Open (打开), 如图 2-21 所示。
4. 在弹出的编程窗口中编写调度例程, 如图 2-22 所示。
图 2-22 Routine_Dispatch 编程窗口
注意出现在右边窗口的梯级, 此梯级处于编辑( Edit ) 模式, 在梯级的左边标着“ e ”。 5. Routine_Dispatch 主例程的作用是初始化子例程、调度子例程。初始化子程序将 Station_1_Press 例程中 StationTimer 的计时累加值清零。
如果标签 Call_Program_Value (调 用程序号) 由 Station_Dispatcher 例程设定为 1 ,则跳转到子例程 Station_1_Press 中。
首先,输入一个相等( EQU ) 指令(属于 Compare 类),单击 EQU ,它就出现在梯级的相应位置, 如图 2-23 所示。
图 2-23 EQU 指令位置
注意: 你也可以将其拖到梯级上, 或者双击“ e ” 标记, 然后在弹出的窗口中输入 EQU , 或者按下 Insert 键, 输入 EQU 。 出现如图 2-24 所示画面:
图 2-24 输入 EQU 指令
6. 现在您需要在 EQU 指令的 SourceA 和 SourceB 处输入正确的标签地址。 所有需要 用到的标签我们在上一实验中都已经创建好了, 这时, 我们仅需双击问号, 然后单击向下箭头, 如图 2-25 所示。
17
图 2-25 设置 EQU 指令参数
你可以在 Controller Scoped Tags 和 Program Scoped Tags 之间切换画面。 回顾上次实验内容, 因为 Call_Program_Value 会在多个程序中使用, 故作用域为 Controller Scoped Tags 。 需要注意的是, 如果一个标签被定义为 Program Scoped Tags , 那么, 只有属于这个 Program 的 Routine 才可以对此变量进行读 / 写操作。
7. 双击 SourceB , 直接输入立即数 1 。 如果不采用立即数方式, 而采用标签的方式,那么你可以右键单击 Source B 的问号,
图 2-26 设置 Source B 参数 如图 2-26 所示。
8. 弹出如图 2-27 所示画面。 为了与本实验保持一致, 请采用下例中的名称, 并配置成相应属性。 或者, 直接使用立即数 1 。
9. 按照上述方法, 为 Assembly->Program_1_Press->Routine_Dispatch 例程创建如图 2-28 所示梯形图逻辑, 添加清除定时累加值所需指令 ONS 和 RES 。 按下 Insert 键, 直接输入指令名称。
图 2-27 新建标签对话框
图 2-28 创建梯形图逻辑
10. 创建梯形图分支。 在 Routine_Dispatch 例程中, 对 Station_1_Press 例程中定时器累加值清零后, 梯级需要跳转到 Station_1_Press , 开始执行压缩机部件的冲压工序。 由于
18
计时器累加值清零程序的输入条件与跳转指令相同, 故我们需要将两个输出并联, 但一定要注意, 输出并联梯级的顺序不能交换。
单击 EQU 梯级指令, 然后在工具条中选择 Branch , 如图 2-29 所示。
图 2-29 选择分支
单击 Branch , 然后将其一端拖拽到所需位置, 释放鼠标左键, 如图 2-30 所示:
图 2-30 创建分支
然后, 添加跳转到子例程指令 JSR 。 按下 Insert 键, 直接输入指令名称。
对于不清楚的指令, 请单击 Help->Instruction Help (指令帮助), 查阅相关指令的帮助, 如图 2-31 所示。
11.创建完成的 Assembly->Program_1_Press->Routine_Dispatch 例程如图 2-32 所示。
图 2-31 查阅指令帮助
图 2-32 创建完的 Routine_Dispatch 例程
12. 将 Assembly->Program_1_Press->Routine_Dispatch 中 的 梯 形 图 逻 辑 复 制 到 Asembly->Program_2_Stake->Routine_Dispatch 。
13. 将该梯形图逻辑粘贴到 Assembly->Program_2_Stake->Routine_Dispatch 例程后, 修改以下参数, 如图 2-33 所示。
- 将 EQU 指令中 SourceB 参数改为 2 。
19
- 将 JSR 指令中 Routine Name 参数改为 Station_2_Stake 。
图 2-33 参数修改
14. 将 Assembly->Program_1_Press->Routine_Dispatch 例 程中 梯 形图 逻辑复制 到 Assembly->Program_3_Weld->Routine_Dispatch 中, 修改以下参数, 如图 2-34 所示。 - 将 EQU 指令中 SourceB 参数改为 3 。
- 将 JSR 指令中 Routine Name 参数改为 Station_3_Weld 。
图 2-34 参数修改
注意: 由于程序功能类似, 我们通过简单的 Copy+Paste 就完成了程序的编写, 无须重修改标签,我们可以想象, 如果有多个冲压工作站, 我们只需编写一个冲压工作站 的程序, 其余的只需 Copy+Paste 就可以完成。 15. 单击工具条上上
校验每个例程, 出现错误提示后, 纠正错误。 然后, 单击工具条
按钮校验整个项目并纠正出现的错误。
16. 在 Assembly->Program_1_Press->Station_1_Press 中, 输入如图 2-35 所示梯形图逻辑。
图 2-35 Station_1_Press 梯形图
17. 用户可以直接将 Assembly->Program_1_Press->Station_1_Press 例程的梯形图逻辑直接复制到 Assembly->Program_2_Stake->Station_2_Stake 例程后, 修改如下参数: -将 StationTimer 的 Preset (预设值) 改为 2000 ;
注意: 选择多行梯级可以按下 Shift (上档) 键, 依次单击想要选择的梯级即可。 修改后的结果如图 2-36 所示:
20
图 2-36 参数修改
18. 用户可以直接将 Assembly->Program_1_Press->Station_1_Press 例程的梯形图逻辑直接复制到 Assembly->Program_3_Weld-> Station_3_Weld 例程后, 修改如下参数: -将 StationTimer 的 Preset (预设值) 改为 3000 ;
- StationTimer 定时结束后, 添加 Complete 输出, 表示三道工序都已经完成, 用于控制 Conveyor 输出。 修改后的结果如图 2-37 所示:
图 2-37 参数修改
19. 单击工具条上上
校验每个例程, 出现错误提示后, 纠正错误。 然后, 单击工具条
按钮校验整个项目并纠正出现的错误。
20. 保存该项目。
21. 至此, 三个工作站的程序已经完成了,实际上, 仅仅程序 Program_1_Press 是自己创建的, 其它两个程序都是对第一个程序的 Copy+Paste 以及一些简单的修改。用户可以先将程序 Program_1_Press 的标签、 例程创建完成后, 再复制、 粘贴、 修改以及校验。 22. 接 下 来 我 们 编 写 Conveyor ( 传 送 带 ) 例 程 的 梯 形 图 逻 辑 , 双 击 任 务 Conveyor->Conveyor->Conveyor 例程, 编写如图 2-38 所示梯形图逻辑。
图 2-38 Conveyor 例程中梯形图
21
第0行梯级用于对光眼故障(接线故障)的报警。 第 1 、 2 行梯级用于控制传送带输出。 23. 继续编写工作站调度例程。 双击 Periodic_Dispatcher->Station_Dispatcher->Station _Dispatcher 例程, 编写如图 2-39 所示梯形图逻辑。
图 2-39 Station _Dispatcher 例程的梯形图
其中, 梯级 0 用于生成压缩机产品编号。 梯级 1 用于判断三道工序是否正在工作。 梯级 2 、 3 用于调度工作站。
22
24. 单击工具条上校验每个例程, 出现错误提示后, 纠正错条上按钮校验整个项
保存项目 目并纠正出现的错误。 我们使用例程和项目校验工具时只能查出程序中出现的语法错误和逻辑错误。 但是现场条件往往不允许直接连接 I/O 模块调试。 通过趋势图, 进而分析程序逻辑关系是否正确。
25. 单击菜单 File-> Save 选项, 保存该项目, 如图 2-40 所示。
图 2-40 保存文件
26. 单击选择资源管理器中 Trends (趋势图)New Trend (创建新趋势图), 如图 2-41 所示。
27. 从弹出的对话框中将新趋势图命名为Compressor , 然后单击 OK , 如图 2-42 所示。
图 2-41 新建趋势图
28. 弹出 Add/Configure Tags (添加 / 组态标签) 对话框, 从 Scope (作用域) 中选择 Controller (控制器) 或其它程序, 然后从 Available Tags (可用标签) 中选择标签, 单击 Add (添加) 键,你可以在 Tags to Trend (建立趋势图的标签组) 看到所添标签。 若要从 Tags to Trend 中移除所添标签,单
图 2-42 趋势图命名 击 Remove (移除) 键。 按图 2-43 所
示添加所需监视的标签。
29. 单击 Finish(完成)按钮,此时将弹出趋势图画面, 在画面单击鼠标右键, 从弹出菜单中选择 Chart Properties (图 表属性), 如图 2-44 所示。 先选择 Display (显示)选项卡,将 Background color (背景色)改为白色。
图 2-43 添加 / 组态标签对话框
23
图 2-44 设置图表属性
30. 选择 X-Axis ( X 轴) 时间轴选项卡, 设置相应参数如图 2-45 所示:
图 2-45 设置时间轴参数
31. 选择 Y-Axis ( Y 轴) 选项卡, 设置相应参数如图 2-46 所示。单击 OK 键。
24
图 2-46 设置 Y 轴参数
32. 设定完 Trends (趋势图) 参数后, 创建的趋势图如图 2-47 所示:
图 2-47 创建的趋势图
25
33. 接下来, 我们要将该程序下载到控制器中运行, 通过趋势图观察其运行结果是否正确。
下载前确认您所使用的 Logix5555 控制器的钥匙处于 Remote 位置, 且程序处于离线状态。 在RSLinx中单击菜单 Communications->Who Active , 弹出如图 2-48 所示对话框。
图 2-48 浏览控制器
34. 单击 Download (下载) 按钮, 将该程序下载到控制器中。 如果您的控制器正处于 Remote Run (远程运行) 状态, 将弹出如图 2-49 所示警告。
图 2-49 警告对话框
35. 单击 Download (下载) 按钮, 出现下载进程, 如图 2-50 所示。
36. 程序下载后, 将控制器打到运行状态, 用户通过扭动控制器上的钥匙实现, 也可以单击如下图所示的 Online (在线工具栏), 从弹出菜单中选择Run Mode (运行模式), 如图 2-51所示。
图 2-50 下载进程
26
37. 改变控制器运行模式后, 用户首先双击已创建的 Compressor 趋势图, 弹出趋势图画面, 并单击 Run (运行), 开始实时绘制曲线。
38. 接下来通过手动 触发 PartSensor 标签, 使模拟的 生产线 运行起 来。 双击 Station_Dispatcher (站调度) 例程, 弹出程序窗口, 触发梯级 2 中标签 PartSensor 。 如图 2-52 所示。
至此,已完成梯形图程序编写的相关实验。
图 2-51 运行模式
图 2-52 程序窗口
39. 双击 Trends->Compress , 切换到趋势图, 并观察到时序图如图 2-53 所示:
图 2-53 时序图
2.1.4 I/O 组态
在本实验中, 我们将根据实际电气接线图来组态 I/O 模块, 并利用别名标签建立标
27
签名称与 I/O 地址间的映射关系。 实验步骤:
1. 首先, 我们设计一下采用哪些按钮和指示灯来仿真离散量 I/O 点, 如图 2-63 所示。 左侧两列为 P1 控制的离散量 I/O , 其中 PartSenor (光眼检测) 是数字量输入, 其余均为数字量输出。
2. 了解 ControlLogix Demo 框架上有哪些模块。 您可以直接观察 ControlLogix Demo ,也可以在已经组态好的 RSLinx->RSWho 窗口中查看, 如图 2-55 所示。
图 2-54 按钮和指示灯
图 2-55 在 RSLinx 中查看模块
本次实验中, 我们采用位于 0 槽的数字量输出模块 1756-OB16D 和位于 2 槽的数字量输入模块 1756-IB16D 。
28
注意: 所有模块都可带电插拔, 也就是说,不需要切断框架的电源再插拔模块。 3. 规划 I/O 地址。 表 2-3 为控制器 P1 项目中各个标签规划 I/O 地址
表 2-3 I/O 地址规划 范围 P1(Controller) Program_1_Press Program_1_Stake Program_1_Weld Conveyor 4. 双击桌面上
图标, 打开 RSLogix5000 软件, 如图 2-56 所示。
标签名称 ConveyorOutput PartSensor StationActive StationActive StationActive Part_Sensor_Fault_Indicator I/O地址 Local:0:O.Data.5 Local:2:I.Data.1 Local:0:O.Data.0 Local:0:O.Data.1 Local:0:O.Data.2 Local:0:O.Data.4
图 2-56 RSLogix5000 启动界面
5. 单击菜单 File->Open , 打开上一实验编写的程序 P1.ACD 。
6. 添加离散量输出 I/O 模块 1756-OB16D 。左键单击选择 I/O Configuration ( I/O 组态)文件夹。 然后按下鼠标右键, 并选择 New Module (新模块), 如图 2-57 所示。
7. 在弹出的画面中选择 1756-OB16D 。
图 2-57 添加新模块 选中之后, 单击 OK 。
29
图 2-58 选择模块类型
8. 数字量输出模块位于 0 号槽, 按照图 2-59 所示内容填写。
图 2-60 设置模块属性
Electronic Keying (电子锁) 允许你在 Online (上线) 前确定一个物理模块与软件组态之间达到何种匹配程度。 这种特性可以避免用户在不经意中将错误的模块插入错误的槽中。它有如下三种选择:
Compatible Module - 物理模块的模块类型( Module Types ), 目录号 (Catalog Number) 以及主要版本号 (Major Revision) 必须与软件组态匹配, 次要版本号 (Minor Revision) 必须等于软件指定的数值, 否则 RSLogix5000 将不接受所插模块。 Disable Keying -RSLogix5000 不会检查模块版本的匹配情况。
Exact Match- 物理模块的下列五个参数必须与软件组态匹配, 否则 RSLogix 5000 将不接受所插模块: Vendor,Product Type,Catalog Number,Major Revision,Minor Revision (供应商、 产品类型、 目录号、 主要版本号、 次要版本号) 9. 填好之后, 单击 Next (下一步), 出现如图 2-61 所示画面。 单击 Next (下一步)。
图 2-61 模块属性缺省值
10. 接下来回到主画面, 如图 2-62 所示。 你会发现 0 号槽的 1756-OB16D 数字量输出模块已经添加好。 切记, 现在仍处于离线状态, 因此所做的一切尚未与实际槽位校验。
图 2-62 I/O 组态文件夹
11. 现在我们将重复上述步骤添加 数字量输入模块。 鼠标左键单击选择 I/O Configuration 文件夹, 然后右键, 并在弹出的菜单上选择 New Module (新建模块)。 12. 从列表中选择 1756-IB16D , 然后单击 OK 。
30
13. 在弹出对话框中, 输入参数, 如图 2-63 所示。
图 2-63 添加模块参数设置
14. 在接下来的几个画面中单击 Next , 接受缺省设置。现在, 你所选择的两个模块都出现在 I/O Configuration ( I/O 组态) 文件夹下, 如图 2- 所示。
图 2- 完成 I/O 组态
15. 到目前为止, 我们已经添加了本实验所需的 I/O 模块。右键单击Controller Tags (控制器域标签),在弹出的菜单中选择 Monitor Tags (监视标签),弹出如图 2-65 所示窗口。 16. 图 2-65 显示了在添加了 I/O 模块之后在控制器标签域中自动生成的数字量输入 / 输出模块结构体。 这些I/O模块标签的名称和含义将会遵循以下的固定格式:
Location:SlotNumber:Type.MemberName.Su
bMemberName.Bit___位置( 本地或远程): 槽号: 类型.成员名称.子成员名称.位 。例如: Local:2:I.Data.0 表示 本地框架 :2: 输入 . 数据 . 第 0 位
图 2-65 模块自动生成的预定义标签
31
17. 至此, 系统中所需的 I/O 模块全部添加完毕。 接下来, 我们根据第 3 步中中的 I/O 地址规划, 使用 Alias tag (别名标签) 完成 I/O 地址与标签的映射。 18. 首先, 我们进行 I/O 地址与控制器域标签的映射。 鼠标右键单击选择Controller Tags( 控制器域标签 ) , 在弹出菜单中选择 Edit Tags (编辑标签), 如图 2-66 所示。弹出如图 2-67 所示窗口:
图 2-66 选择编辑标签
图 2-67 编辑标签
如果你对 ConveyorOutput 和 PartSensor 标签映射的 I/O 地址很熟悉, 可以直接在 Alias For一列中输入该 I/O 地址。 如果您对该 I/O 地址不熟悉, 我们可以通过软件来帮助输入映 射/O 地址。 左键单击 ConveyorOut 标签一行的 Alias For (别名), 单击后出现的向下箭头。逐层展开, 直至出现如图 2-68 所示画面。
图 2-68 I/O 地址映射
直接单击“ 5 ”, 表示选择第 5 位。 在 Alias For 一栏中出现 Local:0:O.Data.5 , 表示建立了地址映射关系, 如图 2-69 所示。
图 2-69 建立地址映射关系
按照同样的步骤, 我们根据第 3 步中的 I/O 地址规划控制器域内其它标签的 I/O 地址映射。 结果如图 2-70 所示:
32
图 2-70 建立所有的地址映射
19. 单击工具条上
按钮校验整个项目并纠
保存项目 正出现的错误。
20. 保存该项目, 如图 2-71 所示。
图 2-71 保存文件
21. 单击 Communications->Who Active , 弹出如图 2-72 所示对话框。
22. 下载程序并观察实验箱上的 I/O 亮灭是否符合控制要求。 23. 按照以下步骤测试模块点级的诊断功能:
-移除 PartSensor 所在DI模块( 1756-IB16D )的接线臂 -确认故障报警已触发
-将接线臂连回原处并复位诊断位
图 2-72 选择 Who Active 至此,已完成RSLogix5000 进行控制器 I/O 组态的相关实验。
33
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- baomayou.com 版权所有 赣ICP备2024042794号-6
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务