罗克韦尔(AB)PLC讲解,3、学会创建标签、结构体和数组
在本实验中,我们将结合应用实例继续前面的工作,创建相应的标签、结构体和数组。Logix 控制器的特点:无需手动进行 I/O 映射,根据控制属性,自动创建/命名标签,并且支持结构体和数组。另外,控制器域和程序域标签分类提高了代码重用性。
本实验的主题:1. 创建控制器域和程序域的标签
2. 创建用户自定义数据类型
实验步骤:1.双击桌面上 图标,打开 RSLogix5000 软件。
2. 选择 File->Open,选择上一实验所创建项目 P1 并打开。
3. 右键单击 Controller Tags(控制器标签),在弹出的菜单中选择 New Tag…(新建标签)。Tag Name 类似于其它编程语言中的变量-它们均用于存储数值。你可以根据 P&ID
(管道仪表图)或电气设计图中的符号名称来命名标签(Tag Name)。您在此输入标签名
称会保存在 PLC 中,不会因为更换用于编程的上位机而丢失。且这些 Tag Name 可供系统中的人机界面直接使用,而无须重新定义。这都会为您的编程、文档管理和系统维护带来 极大的便利。 在对话框中输入名称 Call_Program_Value,数据类型 INT,标签类型为 Base
(基本型),范围为 P1(Controller),显示类型为 Decimal(十进制),如图 2-13 所示。
4. 按照上述步骤逐个创建以下控制器域的标签,如图 2-14 所示,这些标签将在下一
实验中用到。
5. 创建下面的 Conveyor 程序域内的标签,如图 2-15 所示。
6. 创建下面的 Station_Dispatcher(站调度)程序域的标签如图 2-16 所示。
7. 创建下面的 Program_1_Press(冲压站)程序域的标签,如图 2-17 所示。
将 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 所示,右键单击 Data Type 文件夹下 User-Defined(用户自定义),在弹出的
菜单中选择 New Data Type…(新建数据类型)。
10. 在弹出画面中输入自定义数据类型的 Name(名称)和 Members(成员),如图 2-19 所示。此时,你创建了一个自定义的数据类型,如果需要在例程中使用它,必须创建相应 的标签。
11. 在 Controller Scop(e 控制器域)内创建数据类型为 Product_ID 的标签 Station_Data。
如图 2-20 所示:
12. 保存该项目。
至此,您已完成标签、结构体和数组创建的相关实验!
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有很多不一样的地方。感谢阅读,如果有问题欢迎留言和批评指正,谢谢!
相关问答
三菱plc使用标签编程方法?
回答如下:三菱PLC使用标签编程方法主要包括以下几个步骤:1.在PLC编程软件中创建一个标签表。标签表用于定义和管理所有的标签。2.在标签表中创建所需的标...
特斯拉plc编程规范?
您好,特斯拉的PLC编程规范可以根据不同的应用和项目需求而有所不同,但以下是一些常见的PLC编程规范:1.命名规范:使用有意义的变量和标签名称,避免缩写和数...
PLC(可编程序控制器)一共有几种编程方式?
你说的应该是编程语言分几种吧。一般有以下几种:梯形图(LD语言)也有叫LAD语言、顺序功能图(SFC)语言、功能块图(FBD)语言,指令表(IL)语言和结构文本(S...三、F...
plc模块化编程的步骤和方法?
方法/步骤1、第一步:打开GXWorks2软件,新建程序,选择你的PLC型号,然后请选择程序语言为SFC,点击确定,跳出块信息设置。标题不填写,块类型选择梯形图块,...
汇川plc的标签怎么导出?
在汇川plc中,标签导出可以通过以下步骤完成:首先,在PLC编程软件中选择需要导出标签的程序,然后点击“标签管理”按钮。接着,选择需要导出的标签,并点击“...
simaticmanager怎么进入编程界面?
SimaticManager进入编程界面的方法是:点击项目栏,选择需要进行编程的PLC设备,然后在右侧的编辑窗口中选择“硬件配置”标签,进入硬件页面。在硬件页面中,选...
plc的程序gxworks2跟gxdeveloper有什么不同都有什么功能?
GXWorks2是三菱电机推出的三菱综合PLC编程软件,是专用于PLC设计、调试、维护的编程工具。与传统的GXDeveloper软件相比,提高了功能及操作性能,变得更加容易...
请问上位机用vb和s7-300PLC通讯怎么实现?
可利用OPC服务器来完成,比较方便。可适用于各类PLC。下面以西门子PLC为例说下实现方法:一、通过STEP7软件建立一个新项目OPC,在项目中添加SIMATIC300站...
欧姆龙plc标签与实际地址的关糸?
标签是可以任意命名的,而且可以绑定任意一个你想要绑定的实际物理地址标签是可以任意命名的,而且可以绑定任意一个你想要绑定的实际物理地址
西门子PLCS7-200模拟量输入怎样编程?
西门子PLCS7-200系列控制器的模拟量输入编程步骤如下:1.打开SimaticManager软件,并创建一个新的工程文件。2.在SimaticManager的硬件配置中添加S7-200...