课程中心
HOME
课程中心
正文内容
ab编程plc案例 罗克韦尔(AB)PLC讲解,4,RS5000,Studio5000编写梯形图完整版
发布时间 : 2024-11-24
作者 : 小编
访问数量 : 23
扫码分享至微信

罗克韦尔(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 所示:

至此,您已完成梯形图程序编写的相关实验!

AB PLC梯形图下的MOVE指令来看AB PLC编程的一些特点

说明:

AB PLC很早以前接触过,不过没有认真去了解过,这段有时间就来细看一番,发现它和西门子的PLC编程方法和理念还是很不一样,虽然我也用过美国GE的plc,但是还是和这个AB的很不一样,因此AB的PLC有必要仔细的学习一下,故有此随笔。

正文:

Rockwell Allen-Bradley也就是罗克韦尔AB PLC的英文名称,后边我都说AB PLC了。目前AB plc的软件版本非常多,我主要使用RsLogix 5000和Studio 5000这2个软件(需要说明的是这是两个不同的软件,可能你搜索软件的时候都是叫RS5000,但是下载下来却发现是Studio5000),因此后续的文章也都主要是这个2个软件环境下的讲解。

今天本文先来讲一个简单的MOVE指令,让朋友们感受一下,AB PLC和西门子PLC有多大的区别。

MOVE指令的区别

这个图片的上边部分是STEP7软件中西门子300项目中的一个MOVE传送指令,实现把MW20中的值传送给DB1.DBW20中。而下边的这个是AB PLC软件中的MOVE传送指令,这个指令中的source是源,来源的意思;而这个dest不是桌子的是意思,是destination目标,目的地的意思,所就是把来源的数据传送到目标数据中的一个传送MOVE指令。

Move指令不就是把一个数据传送到另外一个数据么?为何AB PLC中的Move指令右侧有四处问号呢?

其实,帮助文件中也没有解释的太清楚,不过我可以测试,请看下图:

AB PLC move指令

这个图片是我把3个图片整合在一起了,图中①是离线时候的原始程序,所以②③图片的左右两侧的母线是绿色的粗线,而①处则没有,因为是在离线状态。

①和②的程序是一样的,是都没有执行时候的程序状态,可以看到TP1下的箭头处是20,TP2下的箭头处是0,TP3下的箭头处是45。而当我把两个MOVE指令前边的常开接点让其接通的时候,可以看到③处Local:2:Data.0两侧的横线变为了绿色表示该接点接通了,而此时TP2和TP3下方箭头的数值都变成了20。---这样的程序接通前后的变化,就可以说明箭头所指的数据,可以理解为是你定义的初始值,比如TP1和下边的20,就相当于TP1的初始值定义为20,TP2的初始值定义为0,TP3的初始值定义为45,经过MOVE指令的传送后TP2和TP3中的值都变为了source中的值。

箭头所指的值是初始值,那TP1是由何而来呢?是我创建的一个标签名字或者说一个变量名字!

示例图片1

AB PLC中的变量系统设置应该说和很多PLC的变量系统设置不一样,因此在使用很多指令的时候都需要建立一个标签。这里先说一示例图片1中Dset处的35为何我放置了一个错误的x号,因为Dset处是只能放标签tag的是不能放立即数的,在程序编译的时候会报错!

再来看一下下方的AAA,就是我要创建的一个标签名字,是随意取的。在没有定义这个AAA之前,我只是在这里写了个AAA,那么下方的??处,将无法写入数值,必须对AAA有个明确的定义,让系统知道你是创建了这个AAA的tag才行,见下图:

创建Tag

该图右上角的Creat就是创建的意思,即使你的一切设置都是按照这个默认设置去设置,也要进入这个画面点击一个这个Creat,这样才算告知系统已经创建了一个叫AAA的变量,进而上边图片中下方赋予初始值那里才能写入数值!

再开看一下之前程序运行时,创建的标签在监控中的情况:

TP2标签的值

这个图片可以看到TP2标签的值是20,TP2是一个DINT类型的变量,所以它是32位的,可以看到有32个位,TP2.4和TP2.2这两个位的值都是1,也说明了TP2中的32个位,数据排列的方法是T2.0是最低位,TP2.31是最高位。

MOVE指令大概就说到这里了,我想朋友们应该已经能看到,还是和西门子PLC有很多不一样的地方。感谢阅读,如果有问题欢迎留言和批评指正,谢谢!

相关问答

abplc编程软件启动出现错误是怎么回事?

1.卸载,另寻一安装文件安装2.安装时不要修改默认的安装路径3.重装系统,再装软件1.卸载,另寻一安装文件安装2.安装时不要修改默认的安装路径3.重装系...

abplc是属于什么系?

你好,ABPLC1769即CompactLogix系列,这个系列有两款处理器带以太网接口:1769-L32E和1769-L35E,或者选择1768处理器+以太网通信模块1768-ENBT也可以的。那么...

西门子300的PLC跟ABPLC要实现通讯,硬件怎么配置?

通讯方式MPI/DP都可以;这主要是要根据你的自动化系统网络结构、通讯数据量、便利性等多个方面考虑,对于大型的自动化系统,一般在PLC与PLC之间、与HMI之间,采...

ab系列的plc如何进行modbus通讯?

AB系列的PLC可以通过使用Modbus通讯模块来实现Modbus通讯。按照以下步骤进行设置和配置:1.插入Modbus通讯模块:将Modbus通讯模块插入到AB系列PLC的扩展槽中。...

AB触摸屏与AB的PLC通讯如何设置?

1、确认通讯驱动,是以太网通讯还是DF1或者DH+或者DH485通讯;2、在RSLinx中添加相应的驱动;3、在触摸屏中设置相应驱动。1、确认通讯驱动,是以太网通讯还是D...

ABPLC怎么转换数据?

ABPLC可以通过不同的方式转换数据。其中一种方式是使用内置的数据转换功能,例如将数字转换为字符串,将字符串转换为数字,将日期格式化为特定格式等。另一种方...

abplc下载的三种方法?

abplc下载有三种方法。1.第一种方法是在abplc的官方网站下载。2.第二种方法是在一些软件下载网站下载。3.第三种方法是在一些第三方软件平台下载。1.在a...

PLC高速计数AB相计数是怎么计数的呢?

PLC高速计数AB相计数是指编码器输出两路计数信号(A.B),它们在相位上相差90°,PLC可以根据两者的相位,判断编码器的转向进行所要执行的控制。PLC高速计数AB...

ab品牌plc是哪个国家的?

ab品牌plc是来自美国的。因为AB是指RockwellAutomation旗下的品牌,而RockwellAutomation是一家总部在美国的全球自动化解决方案供应商,因此AB品牌PLC也是来....

ABPLC有没有步进指令,或顺序功能图的编法?

有的,你在建立程序段的时候选择SFC形式的即可啊,然后就可以按照顺序功能图来编了。平常我们都选择LD或者是FBD的形式。有的,你在建立程序段的时候选择SFC形式...

 天津三星电子  在职法律硕士 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部