罗克韦尔(AB)PLC讲解,2、学会创建任务、程序、例程
编写 RSLogix5000 、Studio5000,梯形图
创建任务、程序和例程
本次课程基于一个假想的工业环境。您是一位压缩机装配项目程序开发人员。图 2-1
描述了压缩机装配项目的整个工艺流程。
在该项目中,传送带上的压缩机经过三个装配站:冲压、卷边和焊接。然后,压缩机
被传送到第二个传送带并接受质量检查。通过检查的压缩机码垛后装船运走。
光眼检测到有部件放置到传送带上(PartSensor 由 0 变为 1)后,站 1、2 和 3 顺序执行,然后传送带动作。当光眼再次检测到有部件送至传送带上,上述操作再次执行,以此 循环。下面我们以时序图方式描述控制器 P1 的操作流程,如图 2-3 所示。
Ÿ 创建并组态一个控制器项目
Ÿ 创建任务
Ÿ 组态任务属性
Ÿ 创建程序
Ÿ 编辑程序排列表
Ÿ 创建例程
Ÿ 分配例程
在了解了装配线工艺流程及控制器 P1 操作流程之后,您对项目主管说可以开始为控制器 P1 编程了,这让他感到很惊讶,因为以前都是在完成电气设计之后才能够编写控制程序。在听过您的解释之后,他认为并行设计的方案是可行的。同时,他也提醒你,如果该生产 线效果良好,公司可能会再增加一条生产线,但控制器可能还是使用现有的 ControlLogix 控制器,希望你在编程时考虑到这个问题。
实验步骤:
1. 双击桌面上
图标,打开 RSLogix5000 软件,如图 2-4 所示。
2. 单击 File->New 创建新项目。您会看到 New Controller(新建控制器项目)界面。起始槽号为 0。您可以直接观察 ControlLogix Demo 箱,确定 Logix5555 控制器所在槽位; 也可以打开 RSLinx 软件,组态通讯,在 RSWho 中确定 Logix5555 控制器槽位,第二种方法显然更适用于操作员处于远程位置时。配置好的画面如图 2-5 所示:
单击OK,弹出如图 2-6 所示画面。
现在我们已经创建了一个 ControlLogix 项目。此时我们还没有添加任何与项目相关的I/O 模块,项目中也没有可执行的代码(如梯形图)。你正在离线工作,所作的任何改变都只限于软件中,并存储在计算机的硬盘中。在进行在线操作前,这些变化并不能反映到
Logix5555 控制器中。
3. 接下来,根据应用实例要求来组织控制器 P1 项目中任务、程序和例程及其操作要
求。控制器 P1 项目组织结构,如表 2-1 所示。
操作要求:
控制器 P1 中任务必须符合以下要求:
Ÿ 装配线任务(站 1,2,3)
--执行时间不超过 500ms
--根据调度连续运行
Ÿ 传送带任务
--执行时间不超过 500ms
--与调度任务分时执行(两任务的优先级相同)
--每 50ms 执行一次
Ÿ 调度任务
--执行时间不超过 400ms
--与传送带任务分时执行(两任务的优先级相同)
--每 50ms 执行一次
4. Logix 控制器不仅支持 Continuous(连续型)任务,还支持 Periodic(周期型)和Event(事件型)任务。根据上述 P1 的操作要求,确定控制器 P1 中各任务的属性,并记录到表 2-2 中。
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,并设置相应属性,保存该项目。
7. 创建 Assembly(装配线)任务的程序。在 Assembly 文件夹上单击右键并在弹出菜单中选择 New Program(创建新程序)。输入程序名称 Program_1_Press 并设置相应属性, 如图 2-8 所示。同理创建Program_2_Stake,以及 Program_3_Weld 并设置相应属性。
8. 规划 Assembly(装配线)任务的程序。右键单击 Assembly 任务,从弹出的对话框中选择Properties(属性)。从弹出属性对话框中选择 Program Schedule(程序规划)选项卡。规划后的程序如图 2-9 所示:
9.为 Assembly( 装配线)任务的 Program_1_Press 程序创建例程。右键单击Program_1_Press 程序,在弹出菜单中选择 New(新建),在弹出的对话框中输入名称 Routine_Dispatch(调度例程),类型为 Ladder Diagram(梯形图),范围在 Program_1_Press程序中,如图 2-10 所示。该例程用于调度程序中其它的子例程。
同理,创建 Station_1_Press(冲压)例程,类型为 Ladder Diagram(梯形图),范围在 Program_1_Press 程序中。该例程用于控制冲压工序的时间。
10. 为 Assembly(装配线)任务中 Program_1_Press 程序指定主例程。右键单击Program_1_Press 程序,在弹出菜单中选择 Properties(属性)。在弹出的对话框中选择Configuration(组态)选项卡。Assigned Main(指定主例程)为 Routine_Dispatch(调度程序),如图 2-11 所示。
11. 按照相同的步骤,用户可自行为 Program_2_Stake、Program_3_Weld 程序创建相应例程并设置主例程。
12. 对于 Conveyor 和 Periodic_Dispatcher 任务,请按照图 2-12 所示执行如下操作:
--创建所需程序;
--创建所需例程并指定主例程。
13、单击 File->Save,保存该项目。该项目所有任务、程序和例程创建完毕。
至此,您已完成创建任务、程序和例程的所有实验!
罗克韦尔(AB)PLC讲解,4、RS5000、Studio5000编写梯形图完整版
创建了任务、程序、例程以及所需标签后,我们需要编写工作站(冲压、卷边和焊接)、 传送带和站调度梯形图逻辑程序。RSLogix5000 编程软件支持梯形图、功能块、顺序功能图、结构文本等编程语言,用户可以根据自己的需求灵活选择编程语言。对于本例,我们 选择梯形图编程语言。
本实验主题:
1. 输入梯级和指令
2. 使用快捷键输入指令和梯级元素
3. 输入分支
4. 掌握常用指令,如输入、输出、定时器、跳转子程序等。
5. 在多个项目间复制梯级
6. 校验梯形图逻辑
实验步骤:
1. 双击桌面上图标,打开 RSLogix5000 软件。
2. 单击 File->Open,选择上一实验所创建项目 P1 并打开。
3. 输入梯形图逻辑。右键单击 Assembly->Program_1_Press->Routine_Dispatch,从弹出菜单中选择 Open(打开),如图 2-21 所示。
4.在弹出的编程窗口中编写调度例程,如图 2-22 所示。
注意出现在右边窗口的梯级,此梯级处于编辑(Edit)模式,在梯级的左边标着“e”。现在可以添加指令和梯级了。
5. Routine_Dispatch 主例程的作用是初始化子例程、调度子例程。初始化子程序将
Station_1_Press 例程中 StationTimer 的计时累加值清零。如果标签 Call_Program_Value(调用程序号)由 Station_Dispatcher 例程设定为 1,则跳转到子例程 Station_1_Press 中。
首先,输入一个相等(EQU)指令(属于 Compare 类),单击 EQU,它就出现在梯级
的相应位置,如图 2-23 所示。
注意:您也可以将其拖到梯级上,或者双击“e”标记,然后在弹出的窗口中输入 EQU, 或者按下Insert 键,输入 EQU。
无论您采用哪种方法,现在都能够获得EQU 指令,出现如图2-24 所示画面:
6. 现在您需要在 EQU 指令的 SourceA 和 SourceB 处输入正确的标签地址。所有需要用到的标签我们在上一实验中都已经创建好了,这时,我们仅需双击问号,然后单击向下 箭头,如图 2-25 所示。
您可以在 Controller Scoped Tags 和 Program Scoped Tags 之间切换画面。回顾上次实验
内容,因为 Call_Program_Value 会在多个程序中使用,故作用域为 Controller Scoped Tags。
需要注意的是,如果一个标签被定义为 Program Scoped Tags,那么,只有属于这个Program 的 Routine 才可以对此变量进行读/写操作。
7. 双击 SourceB,直接输入立即数 1。如果不采用立即数方式,而采用标签的方式,
那么您可以右键单击 Source B 的问号,如图 2-26 所示。
8.弹出如图 2-27 所示画面。为了与本实验保持一致,请采用下例中的名称,并配置成相应属性。或者,直接使用立即数 1。
9. 按照上述方法,为 Assembly->Program_1_Press->Routine_Dispatch 例程创建如图2-28 所示梯形图逻辑,添加清除定时累加值所需指令 ONS 和RES。按下Insert 键,直接输入指令名称。由于本次实验中用到了的指令较多,不能一一介绍,对于不清楚的指令,您可以直接与指导老师沟通,或单击 Help->Instruction Help(指令帮助),查阅相关指令的帮助。
10. 创建梯形图分支。在 Routine_Dispatch 例程中,对 Station_1_Press 例程中定时器累加值清零后,梯级需要跳转到 Station_1_Press,开始执行压缩机部件的冲压工序。由于计时器累加值清零程序的输入条件与跳转指令相同,故我们需要将两个输出并联,但一定 要注意,输出并联梯级的顺序不能交换。
单击EQU 梯级指令,然后在工具条中选择 Branch,如图 2-29 所示
单击Branch,然后将其一端拖拽到所需位置,释放鼠标左键,如图 2-30 所示:
然后,添加跳转到子例程指令 JSR。按下 Insert 键,直接输入指令名称。对于不清楚
的指令,请单击 Help->Instruction Help(指令帮助),查阅相关指令的帮助,如图 2-31 所示。
11. 最终,创建完成的 Assembly->Program_1_Press->Routine_Dispatch 例程如图 2-32
所示。
12. 将 Assembly->Program_1_Press->Routine_Dispatch 中 的 梯形图 逻辑 复 制到
Assembly->Program_2_Stake->Routine_Dispatch。
13. 将该梯形图逻辑粘贴到 Assembly->Program_2_Stake->Routine_Dispatch 例程后, 修改以下参数,如图 2-33 所示。
- 将 EQU 指令中 SourceB 参数改为 2。
- 将 JSR 指令中Routine Name 参数改为 Station_2_Stake。
14. 将 Assembly->Program_1_Press->Routine_Dispatch 例程中梯形图逻辑复制到
Assembly->Program_3_Weld->Routine_Dispatch 中,修改以下参数,如图 2-34 所示。
- 将 EQU 指令中 SourceB 参数改为 3。
- 将 JSR 指令中Routine Name 参数改为 Station_3_Weld。
注意: 由于程序功能类似,我们通过简单的 Copy+Paste 就完成了程序的编写,无须重
修改标签,那么,我们可以想象,如果有多个冲压工作站,我们只需编写一个冲压工作站
的程序,其余的只需 Copy+Paste 就可以完成!
1. 单击工具条上
校验每个例程,出现错误提示后,纠正错误。然后,单击工具 条上
按钮校验整个项目并纠正出现的错误。
16. 在 Assembly->Program_1_Press->Station_1_Press 中,输入如图 2-35 所示梯形图逻辑。
17. 用户可以直接将 Assembly->Program_1_Press->Station_1_Press 例程的梯形图逻
辑直接复制到 Assembly->Program_2_Stake->Station_2_Stake 例程后,修改如下参数:
-将StationTimer 的 Preset(预设值)改为 2000;
注意 :选择多行梯级可以按下 Shift(上档)键,依次单击想要选择的梯级即可。
修改后的结果如图 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 所示:
19. 单击工具条上
校验每个例程,出现错误提示后,纠正错误。然后,单击工具 条上
按钮校验整个项目并纠正出现的错误。
20. 保存该项目。
21. 至此,三个工作站的程序已经完成了,我们发现在创建过程中,实际上,仅仅程 序 Program_1_Press 是自己创建的,其它两个程序都是对第一个程序的 Copy+Paste 以及一些简单的修改。那么,用户可以先将程序 Program_1_Press 的标签、例程创建完成后,再复制、粘贴、修改以及校验。注意:标签名称为什么不会冲突?
22. 接下来我们编写 Conveyor ( 传送带)例程的梯形图逻辑, 双击任务
Conveyor->Conveyor->Conveyor 例程,编写如图 2-38 所示梯形图逻辑。
第 0 行梯级用于对光眼故障(接线故障)的报警。第 1、2 行梯级用于控制传送带输出。
23. 继续编写工作站调度例程。双击 Periodic_Dispatcher->Station_Dispatcher->Station
_Dispatcher 例程,编写如图 2-39 所示梯形图逻辑。
其中,梯级 0 用于生成压缩机产品编号。梯级 1 用于判断三道工序是否正在工作。梯
级 3、4 用于调度工作站。
24.
单击工具条上 校验每个例程,出现错误提示后,纠正错误。然后,单击工具
条上 按钮校验整个项目并纠正出现的错误。
我们使用例程和项目校验工具时只能查出程序中出现的语法错误;不能查出程序中的 逻辑错误。但是现场条件往往不允许直接连接 I/O 模块调试。通过趋势图,我们可以观察时序,进而分析程序逻辑关系是否正确。
25. 单击菜单 File-> Save 选项,保存该项目,如图 2-40 所示。
26.单击选择资源管理器中 Trends(趋势图)文件夹,右键单击并从弹出菜单中选择New Trend(创建新趋势图),如图 2-41 所示。
27. 从弹出的对话框中命名新趋势图 Compressor,单击 OK,如图 2-42 所示。
28. 弹出 Add/Configure Tags(添加/组态标签)对话框,从 Scope(作用域)中选择Controller(控制器)或其它程序,然后从 Available Tags(可用标签)中选择标签,单击Add(添加)键,您可以在 Tags to Trend(建立趋势图的标签组)看到所添标签。若要从Tags to Trend 中移除所添标签,单击 Remove(移除)键。按图 2-43 所示添加所需监视的标签。
29. 弹出趋势图画面,在画面单击鼠标右键,从弹出菜单中选择 Chart Properties(图表属性),如图 2-44 所示。先选择Display(显示)选项卡,将 Background color(背景色)改为白色。
30. 选择 X-Axis(X 轴)时间轴选项卡,设置相应参数如图 2-45 所示:
31. 选择 Y-Axis(Y 轴)选项卡,设置相应参数如图 2-46 所示。设置完成后,单击
OK 键。
32.设定完Trends(趋势图)参数后,创建的趋势图如图 2-47 所示:
33. 接下来,我们要将该程序下载到控制器中运行,通过趋势图观察其运行结果是否 正确。下载前确认您所使用的 Logix5555 控制器的钥匙处于 Remote 位置,且程序处于离线状态。单击菜单 Communications->Who Active,弹出如图 2-48 所示对话框。
34. 单击 Download(下载)按钮,将该程序下载到控制器中。如果您的控制器正处于Remote Run(远程运行)状态,将弹出如图 2-49 所示警告。
35.单击 Download(下载)按钮,出现下载进程,如图 2-50 所示。
36. 程序下载后,将控制器打到运行状态,用户通过扭动控制器上的钥匙实现,也可以鼠标左键单击如下图所示的 Online(在线工具栏),从弹出菜单中选择 Run Mode(运行模式),如图 2-51 所示。
37. 改变控制器运行模式后,用户首先双击已创建的 Compressor 趋势图,弹出趋势图画面,并单击 Run(运行),开始实时绘制曲线。
38.. 接下来通过手动触发 PartSensor 标签, 使模拟的生产线运行起来。双击Station_Dispatcher(站调度)例程,弹出程序窗口,触发梯级 2 中标签 PartSensor。如图 2-52 所示:
39.双击 Trends->Compress,切换到趋势图,并观察到时序图如图 2-53 所示:
至此,您已完成梯形图程序编写的相关实验!
相关问答
罗克韦尔plc怎样安装驱动通讯?
罗克韦尔plc的驱动通讯安装需要以下步骤:首先下载并安装对应型号的驱动程序,然后在plc编程软件中选择对应的驱动程序进行配置,设置好通讯参数并测试连接是否正...
罗克韦尔plc怎么样?
不错。1硬件组态和编程,使用单一软件平台,方便,兼容2方便易上手的多种现场总线供使用者选择,特别是controlnet,抗干扰能力超强3易用的网络使得系统可...
plc设计需要哪些软件?
一、西门子系列1、西门子S7-200系列plc编程软件STEP_7_MicroWIN_V4.0_incl_SP92、西门子S7-SMART_200系列PLC编程软件STEP_7_MicroWI...
罗克韦尔的PLC梯形图-盖德问答-化工人互助问答社区
梯形图是国际标准,各厂家之间仅细微差别,看任何一个PLC编程的书感觉都行的
罗克韦尔plc为什么贵?
罗克韦尔PLC价格较高。因为罗克韦尔是全球领先的工业自动化解决方案提供商之一,它的PLC产品具有高质量、高可靠性、高存储容量、高处理速度等优点,有良好的反...
如何实现PLC设备远程监控及远程调试?
这个问题,我来回答一下。这个解决方案,作者在现场实际使用效果比较好,使用也最多。具体可以看下面的介绍。PLC远程下载方案不仅可以流畅地下载调试各种主流...
西门子和罗克韦尔的PLC比较?
简单来说,罗克韦尔公司的PLC,通讯功能,比西门子强大。其devicenet,controlnet,ethernet,分别对应不同的网络。而西门子的profibus冗余比较复杂。参数较多。AB...
如何让罗克韦尔plc断电不保存里的int数据?
要让罗克韦尔PLC断电不保存里面的int数据,可以采用以下方法:1.在PLC程序中,使用VMemory(VolatileMemory)指令,将需要在断电时清除的int数据存储在...
江门罗克韦尔PLC维修方法?
包括以下步骤:检查PLC的外观和周围环境,看是否有明显的损坏或异常情况。检查PLC的电源和通讯线路,确保电源正常,通讯线路无松动或断路。对PLC进行上电,观...
罗克韦尔plc怎么看年份?
要查看罗克韦尔PLC的年份,可以通过以下步骤进行操作:1.找到PLC的型号和序列号。型号和序列号通常会显示在PLC的外壳上或产品标签上。如果找不到,可以参考PLC...