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都会有对应的顺序控制的编程方法。三菱plc专门用来做顺序控制的是使用SFC程序;当然,这只是顺序控制的其中一种方法,还可以使用数据寄存器D来保存程序的动作;也可以通过中间继电器M作为标志位,记录程序的动作。
今天,我们重点讲解用数据寄存器D保存程序动作的方法,下面看具体案例:
如下图,有两台电机M1、M2,分别能够控制A、B两个平台进行左移右移动作,每个平台都有左右限位,具体I/O分布如表所示:
要求动作如下表所示:
拿到这样一道题目,不是马上就开始写程序,要做的第一步是把状态转移图画出来,如下图:
上图中的红色文字指的是步号,第一步是A右行,第二步是B左行,我们可以用一个数据寄存器D0对其动作进行记录,用MOV指令进行给定。比如按下X4按钮时,用mov指令给寄存器D0传送一个K1的数值,表示进入了第一步,这些。用等于指令,当D0等于1时,输出Y1的动作,让A平台右行。
下面我们来看下具体程序的编写(程序里面还使用了暂停功能,使用X5输出控制M8034,这样Y点就暂停输出了,设备就停止动作,但是,动作的记录寄存器D0并没有复位,只要再次按下启动按钮X4,接触M8034的自锁,设备就能按照原本的动作执行动作。程序也有停止功能,按下X6时,所有输出的Y点都停止,同时复位D0寄存器,这样设备就只能重新开始动作)。
——END——
技成培训原创,作者:陈育鑫,未经授权不得转载,违者必究!
相关问答
plc中a是什么指令?
在PLC(可编程逻辑控制器)编程中,A通常代表“与”(AND)指令。这个指令用于将两个或多个逻辑条件组合在一起,只有当所有条件都为真(或满足)时,整个逻辑表...在P...
在西门子PLC中什么是E?
在西门子PLC中,E代表“额定存储空间”(EPROM),它是一种可以存储PLC程序和参数的非易失性存储器。EPROM可用于存储和读取PLC程序代码,这些代码可以被重写...
西门子PLC16#表示16进制数吗?例如16#A=10进制的10吗?_作业帮
[最佳回答]不过不知道你说的是什么系列如果是S7-200就对了如果是S7-300应该写成16#W#A
A-Bplc上的的FORCE灯是什么意思?
根据您提供的信息,A-Bplc上的FORCE灯是指一个指示灯或指示器。FORCE灯通常用于显示设备或系统中的强制操作状态。当FORCE灯亮起时,表示该设备或系统正在强制执...
西门子plc程序后缀是什么?也就是扩展名-ZOL问答
xunbaoa图是s7200的后缀.mwpS7300及以上的都是文件夹形式需要S7Manager才能打开有用(0)回复Z19940804打开你的D盘选择“工具”---“文件夹选项”...
数控编程用A卡好还是N卡-ZOL问答
没有听说过有A、N卡这回事的?难道新出技术了吗。。。。有用(0)回复ananxiao1231直接在数控机床上格式化有用(0)回复mas666修改0020号参数分别为4...
ab的plc上ns指示灯的说明?
PwrOk绿灯常亮;Ready和Run绿灯常亮;CRP模块:Ready、绿灯常亮,ComAct绿灯闪烁;NOE模块:Ready、Run、Link、100MB、Fduplex绿灯常亮,TxAct、...
plc中b型触点是什么意思?
在PLC(可编程逻辑控制器)中,B型触点是一种常闭(NormallyClosed)触点。它是PLC输入/输出模块中的一种元件,用于检测或控制电路中的信号。当B型触点处于非...
三菱plc中A触点,B触点分别是什么?
反正我知道在按扭触点中NO(normalopen)表示的是常开,NC(normalclose)表示的是常闭,难道在三菱PLC中不同吗反正我知道在按扭触点中NO(normalopen)表示的是....
plc网线接a还是b?
都可以,在早些年网线之所以要分568A和568B是因为有些设备需要用到,比如老式的交换机在连接console口时,需要用A类型的,不然通讯连接不上。现在随着技术的发展...