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有很多不一样的地方。感谢阅读,如果有问题欢迎留言和批评指正,谢谢!
AB(罗克韦尔)PLC实现简单的DeviceNet网络的配置组态
这部分主要实现简单的DeviceNet网络的配置组态,使用的工具是Rockwell提供的软件——RSNetWorx。例子虽然简单但期望各位网友以一当十,达成更复杂的应用,此才为此文章的最终目的。
1、 点击“开始”—“程序”—“Rockwell Software”—"RSNetWorx"—"RSNetWorx for DeviceNet"以正常启动RSNetWorx;也许你会遇到找不到当前字体的对话框,因操作系统的问题,你尽可以回答“是”。
2、RSNetWorx启动后,也许你可看到左边有一个硬件列表框,如果没有你可以在View菜单里找到,点击就可以显现出此列表。而主视图框中有一条网络线,这是最初的状况,因为还没有一个节点被加到当前的网络中,所以右边这条线上没有一个节点。你当然可以在左边的列表框里选择你目前已经连接好的设备并双击使其加到右边的网络线上,但我们不这样做,RSNetWorx有一个最简单的做法就是利用网络扫描功能,如下图:点击图中的Online图标或点“NetWork”—"Online"菜单,则可以启动扫描功能。
2、 点击“Online”图标后会弹出一个对话框,要你选择用于连接的驱动,你应该可以看到1770-KFD的连接,如果没有,则请参阅本文的第三部分。
3、 选中“1770-KFD”驱动并点击OK,或直接双击,会告诉你一个同步确认对话框,点击OK。RSNetWorx即开始Browsing Network...
5、如果此对话框的进度条一直没有动作则表示你的串行通讯连接线有问题,或是你的PC上正有其它程序使用串行口。扫描完毕后网络上能找到的所有节点都会显示出来。在此例中Master(1747-SDN/B)的地址为01,而1770-KFD节点地址为05。
6、双击其中的图标,可以查看节点的信息:General, Parameters, I/O Defaults, EDS File。其中第一项可以清楚的知道供应商,及其它一些详细信息,参数部分可以显示此节点所有本身提供可访问的参数,这些参数根据属性的不同可以读写或只读。在第一次查看参数的时候提示“upload or download”的时候最好是"upload"。
7、双击Scanner的图标,会出现其配置对话框。点击“Module”选项卡,并选择“upload”按钮,以读取当前Scanner中的配置信息。当读取完毕后,可以看到“Module”选项卡中有几个信息值:Interscan Delay和Foreground to Background Poll Ratio。前一项表示两次发送轮询IO信息的间隔时间;后一项表示发送多少次IO报文后才对特定的节点发送一次IO报文,默认值为1,则表示每次都会发送IO报文,这主要用于通讯较慢的设备与较快的设备同时在一个网络上的时候,也可以减少某些不必很快的设备的CPU资源开销。
8、选择“Scanlist”选项卡,可以看到左边的列表里有当前可以使用的设备,此例中为两个。右边有一空的扫描列表。在此我们选中节点“1305 Drive”,并注意“Automap on Add”前的框里打上勾,使其自动映射地址。然后点“>”按钮将此节点加入扫描列表。当选中一个节点后,可以点击下方的“Edit I/O Parameters...”来编辑节点的IO数据长度,其中就可以设置此节点是否使用Foreground to Background Poll Ratio功能。
9、点击“Input”, "Output"选项卡,可以看到节点的地址已经被映射到Scanner的Input和Output地址上了,此地址直接映射到PLC的CPU内存地址上,用于在SLC 500中进行编程控制。
10、同样地将另一个节点2705T(I/O Module)也加入到扫描列表中。
11、点击“确定”按钮,提示是否将此配置下载到Scanner中,将PLC的控制钥匙打到“PROG”状态,确定即可以下载此配置到Scanner了。当你把PLC上的控制钥匙打到RUN,则可以看到Scanner的“MODULE”和“NET”LED都是绿色。 到此简单的DeviceNet组态就完成了。
相关问答
PLC模拟量编程实例?
1.使用ST结构编写一个简单的PLC模拟量程序,实现当模拟量A的值大于50时,将模拟量B的值设置为100。LD0,A//将模拟量A的值加载到寄存器0MOVD,0//将寄存...
求西门子plc编程实例?
[回答]S7-200的编程例子可以参考其系统手册附录S7-300/400的例子在其Step7软件安装完毕后已经提供了10个例程。S5基本上已经停产,所以再学习也没有啥意...
plc控制伺服电机编程实例精解?
回答如下:PLC控制伺服电机编程实例通常包括以下步骤:1.设置伺服控制器参数:在PLC中设置伺服控制器的参数,例如速度、加速度、减速度、位置等。2.编写运动...
步进电机驱动plc编程实例?
回答如下:以下是一个步进电机驱动PLC编程实例:1.设定步进电机控制状态:将PLC的输出端口与步进电机的输入端口连接,设定步进电机的控制状态(正转、反转、停...
plc编码器编程实例?
以三菱PLC的脉冲+方向控制为例首先是接线:步进驱动器的脉冲端,分别接到PLC的脉冲输出端Y0,方向端接PLC任意输出端Y3;然后是编程:PLSY发脉冲即可[PLSYD100...
欧姆龙plc控制伺服编程实例?
以下是一个欧姆龙PLC控制伺服的简单实例。假设有一个工控系统需要控制一个伺服电机,实现简单的位置控制。具体实现步骤如下:1.确定控制器和伺服的型号、通...
西门子plc红绿灯编程实例?
该例程使用西门子PLC编程控制红绿灯交替闪烁。程序采用防抖动措施,以确保灯光的稳定状态。实现过程中,我们首先定义红绿灯的IO口,接着编写状态转化的过程,并...
AB触摸屏与AB的PLC通讯怎么设置-ZOL问答
7人讨论1.1w次围观关注问题写回答讨论回答(7)BBGD1、确认通讯驱动,是以太网通讯还是DF1或者DH+或者DH485通讯;2、在RSLinx中添加相应的驱动;3、在触摸屏...
组态王与s7200plc连接实例教程?
可以连接,有两种方法。1、组态王中有西门子的USB-PPI编程电缆的驱动,在建立新设备时,直接在S7-200目录下选择USB通讯方式即可。不过这种方法只能使用西门子原...
三菱plc与变频器modbus编程实例?
三菱PLC和变频器之间的通信可以使用ModbusRTU协议通过RS485总线进行通信。以下是使用GXWorks3编写PLC与变频器之间的通信程序的步骤:在GXWorks3中创建一个...