工控智汇

工控智汇

罗克韦尔(AB)PLC,RSLogix500简易入门

admin 178 5

RSLogix500简易入门培训

RSLogix500介绍:

RSLogix500是AB开发的应用于SLC500型中型PLC和Micrologix系列小型PLC的编程软件。具有结构简单,条理清晰,功能强大等优点。

建立一个工程(Project):

严格意义上来说,一个完整的PLC程序应该称为工程(Project)。工程一般都是以PLC的CPU型号来定义的。一个完整的PLC工程应该包括以下内容:

I/O配置(IOConfiguration):

I/O配置是指PLC除CPU以外的所有其他硬件,包括:电源模块,框架,DI模块,DO模块,AI模块,AO模块等。

通讯通道配置(ChannelConfiguration):

对于SLC500型PLC,每块CPU上一般有2种通讯接口:通道0(Channel0),是9针DB9串口,默认通讯协议就是DF1通讯;对于1747-L551型PLC而言,通道1(Channel1)是以太网接口。在通道配置里可以根据需要修改通讯参数。

变量:

PLC其实是一种功能相对简单,但是工作稳定的计算机。因此,PLC工作也需要根据程序来进行。而程序里就要需要变量。将各种变量的计算结果输出,就实现了控制。

梯形图程序:

梯形图程序是PLC编程中常用的一种编程方法,用梯形图编程即实现了PLC的控制逻辑。PLC就是根据梯形图的控制逻辑来工作的。

如何在RSLogix500软件里建立一个工程(Project)。如下图所示:


图1.

如图所示,在“RockwellSoftware”里启动“RSLogix500English”,即进入RSLogix500的界面。


图2.


图3.

入图3所示,PorcessorName就是整个工程的名字,可以根据需要编辑。下拉菜单里是RSLogix500软件支持的所有PLC的CPU类型。我们根据实际情况选择CPU的类型。


图4.

如何配置I/O(IOConfiguration):


图5.

如图所示,在I/O配置窗口的左上角,标有“Rack”的位置,是SLC500框架的选项。由于SLC500可以通过本地扩展电缆(1746-C9)扩展3个机架共30个模块,因此有Rack1,2,3共3个清单。根据实际情况,我们选择需要的框架型号,如1746-A10,1746-A13等。选中后,在下面的菜单里可以看到相应的槽号。例如,如果你选择的是1746-A10,则下面的槽号菜单里是0到9,其中,CPU处于0号槽。如果有2个机架,那么号码还是连续的,但机架之间有一条“------”线将其分开,以示区别。

用户可以根据实际情况,将硬件里实际存在的模块从右侧的模块总表里选择出来,拖拽到左侧的槽位清单里。放置模块的时候,请注意:拖拽进取的模块类型以及放置的槽位要与实际情况相同。

当然,作为一种杰出的单机型PLC,SLC500不用这么复杂的手工I/O配置。如果用户已经有硬件,并且已将所有模块安装到位,那么有一种非常简单的方法可以迅速而又准确的进行I/O配置。


图6.


图7.


图8.


图9.

此时,系统自动从连接的SLC500上读取实际的硬件配置情况。这是SLC500型PLC较之其他PLC的一大优势。

如何配置通讯通道(ChannelConfiguration):

为了满足SLC500型PLC与其他设备(如触摸屏,上位机,仪表,其他PLC)之间的通讯,有时候需要对通讯通道进行重新配置。


图10.

如图10所示,双击“ChannelConfiguration”,进入通道配置菜单。如下图所示:


图11.

通道0,串口通讯:

如图11所示,对于从503,504和505型PLC而言,Channel0都是RS232C串口,通道支持的协议是DF1通讯协议。其主要配置参数结束如下所示:

参数名称

内容

Driver:

DF1通讯的可选类型,具体有以下配置:

DF1FullDuplex

DH-485

DF1HalfDuplexSlave

DF1HalfDuplexMaster

DF1RadioModem

Shutdown

SourceID:

指SLC500进行串口通讯时在网络上的站点号码,一般是0~31

Baud:

即波特率。波特率越高,通讯速度越快,但通讯距离越短;反之,波特率约低,通讯速度越慢,但通讯距离越长。

Parity:

奇偶校验。在SLC500里只有None(无校验)和EVEN(偶校验)的选项。

StopBits:

停止位,有1,1.5和23个选项。

Control:

通讯协议控制方式,有2种:NoHandshaking(无需握手型)和FullDuplexModem(远程Modem访问形式)

ErrorDetection:

冗余循环校验方式:分为CRC和BCC两种校验方式

通道1,以太网通讯:

如图12所示,选择Channel1页面:


图12.

如图12所示,对于SLC551型PLC,它的通道1(Channel1)是以太网接口。我们在这里所需的进行的配置如下:

参数名称

内容

IPAdress:

SLC505型PLC的IP地址。

SubnetMas:

SLC505型PLC所在局域网网段的子网掩码。

GatewayAddress:

网关的IP地址,一般不设。

ProtocolControl:

协议控制。请将第一项“BootpEnable”之前的勾去掉。

Port:

有10M/100M两个选项。一般选择10M已足够满足使用了。

注意事项:

在设置串口的时候,请注意:一旦串口设置参数发生变化,那么串口就不再是标准的RSLinx可以支持的串口通讯了。此时,通过RSLinx的RS232C-DF1通讯设置是无法与PLC再进行通讯连接的了。若要重新连接,只有拔去CPU内的电池,清除程序,将CPU恢复到出厂默认值才可以。

变量说明及变量的介绍:

变量是PLC内计算值的载体。变量主要分为输入量,输出量和中间变量。

如下图所示,SLC500的变量栏在其编程界面的左下方。在DataFiles下的就是各种SLC支持的变量类型:


图13.

SLC内的常用变量介绍如下:

O0-OUTPUT,输出型变量:

输出型变量是一种特殊变量,它只与PLC的I/O模块挂钩。对于单机系统,只有在机架上添加了DO型模块和AI,AO型模块才会增加输出型变量。如下图所示:


图14.

从图中可以看到,O:2.3~O:2.11共计8个变量是属于插在2号槽的8路模拟量输入模块1746-NI8块的,每一个变量针对AI模块的1个通道。从1746-NI8的用户手册中可以知道,~是给每个通道进行配置所用的。而最后的O:4.0是由于I/O模块中增加的1746-OW1616路开关量模块而增加的。它的每一个位,即O:4.0/0~O:4.0/15,都对应着一路继电器输出回路。

I1-INPUT,输入型变量:

输入型变量与输出型变量相同,是由于I/O模块的增加而增加的,无法手动增加。如下图所示:


图15.

如图15所示,I:1.0是分配给16点数字量输入模块1746-IB16的,该模块插在1号槽;而I:2.0~是给8路模拟量输入模块1746-NI8块的,该模块插在2号槽。

这里有一点要注意:图14中和图15中显示的1746-NI8是同一块模块。之所以一个O2:0有16个0,而I:2.0只有一个0,是由于变量的现实方式不同。注意两图的右下角的“Radix”选项。这是变量的数字显示方式。显示方式有:2进制,8进制,10进制,16进制和ASCII码显示。图14中采用的是2进制显示方式,而图15种采用的是10进制显示方式。不同的变量采用不同的现实方式显示,可以更明确的看出各变量的意义。

S2-STATUS,CPU状态变量:

S2变量也是一种特殊变量。S型变量都是一些代表CPU系统运行状态的特殊变量。通过阅读S型变量的情况,可以了解CPU的一些详细的工作信息。

如下图所示:


图16.

如图所示,S:39~S:37内存储的就是PLC时钟内的日期。例如,2006-11-2,则S:37内存放的是02,S:38内存放的是11,S:39内存放的是2006。其他的变量及意义参加指令集。

B3-BINARY,二进制布尔型变量:

B型变量是BOOL型变量,即只有1位,只能为0或1的变量。这是PLC中常用的一种变量类型。

T4-TIMER,计时器型变量:

TIMER型变量也是一种常用变量。该变量与计时器相配合使用,用于存储计时器的运行状态和参数,它也可以看作几个变量的结合。其具体参数如下所示:


图17.

变量名称

意义

T4:0.EN:

计时器使能位,是一个BOOL量。当T4:0.EN=1时,表示计时器被启动,计时器开始计时。

T4:0.TT:

计时器计时位,是一个BOOL量。当T4:0.TT=1时,表示计时器正在计时。

T4:0.DN:

计时器完成位,是一个BOOL量。当T4:0.DN=1时,表示计时器完成计时。

T4:0.BASE:

计时器的时间基数,即1个时间单位的基准。有1s,0.1s和0.01s3种选项。

T4:0.PRE:

计时器预置值,即计时器将要达到或者启示的时间。

T4:0.ACC:

计时器计时值,表示计时器当前的计时时间。

举例说明:

如果我们做一个加法计时器(TON),T4:0.BASE=0.1s,T4:0.PRE=3000。当T4:0.EN=1时,表示计时器计时条件满足,计时器开始以0.1s为单位,开始计时,计时的过程中,T4:0.TT=1,T4:0.ACC里存储着计时器的当前计时值(如1300,就是指计时器已经计时了1300*0.1=130s)。当计时器计满3000*0.1=300秒后,T4:0.ACC=3000并保持不变,而T4:0.EN=1保持不变。此时,T4:0.DN=1,表示计时器计时完成,T4:0.TT=0。

C5-COUNTER,计数器型变量:

计数器与计时器比较类似。所不同的是计数器是靠上升沿或者下降沿脉冲出发的。具体说明参见指令集。

R6-CONTROL,控制型变量:

R型在SLC里是控制型变量,具体使用参见指令集。

N7-INTERGER,16位单整型变量:

N型即整型变量。一个整形变量有16个位组成,最多可以表示2的16次方-1=65535。

F8-FLOAT,浮点数型变量:

浮点数即带小数点的数。SLC里浮点数保留到小数点后1位。

要在SLC里建立新的变量,只要如下图所示:


图18.

图18所示,右击DataFiles,选中New,弹出如下窗口:


图19.

图19中,由于系统默认的变量到F8,所以新建变量就从9开始计数。Type表示用户需要建立的变量的类型,可根据需要进行选择。Name是变量的变量名(只能用英文)。Desc里是对变量的解释和说明(可用中文)。而Elements表示的是建立的这一批变量的数量(最大不能超过256)。

例如,如果我要建立35个整形变量,设置画面如下:


图20.

如图20所示,我建立了35个变能量,准确地址为N:9.0~N:9.34,这些变量的头部名称都叫HAHA。

另外,要修改变量的属性,例如,修改变量的数量,如下图所示:


图21.

右击T4,选择Properties,出现如下窗口:


图21.

在这里将T:4的数量从1改为20,返回后双击T:4.0,可以看到如下画面:


图22.

这样,计时器变量就从原来的T:4.0这一个变成了T:4.0~T:4.19共20个变量。

如何编辑,校验梯形图程序及整个工程:

变量建立完成后,就可以进行编程了。编程,就是以梯形图的方式,将控制逻辑表达出来。

在RSLogix500软件里进行梯形图的编程方法如下:


图23.


图24.

从右侧的变量栏里拖拽相应的变量到线圈的问号处。如果拖拽到为,问号处会显示绿色。如下图所示:


图25.

将变量放进去,最终如下图所示:


图26.

这样,便完成了一句梯形图语句的编程。图中程序的意思是,当B:3.0/0=1时,O:4.0/0=1。


图27.

左侧的图标表示编译该程序,而右侧的图标表示对整个工程进行编译。

按下2个编译按钮后,如下图所示:


图28.

参见图28,注意左下角,软件显示“Verifyhascompleted,noerrorsfound”。说明程序编译通过。可以下载给PLC了。也可以保存程序文件。程序文件的后缀名是*.RSS。

如何下载,上传程序:

程序编译完成后,可以下载给PLC运行了。我们将详细讲解如何通过串口下载程序的过程。

根据要求,将电脑通过编程电缆与SLC500连接好,打开RSLinx,建立串口通讯驱动,找到SLC500。打开已经建立好的程序。如下图所示,选中Comms下的SystemComms:


图29.

之后弹出如下画面:


图30.

从这个画面可以看出,其实质是RSLogix500软件调用RSLinx,搜索需要下载的PLC。当选中SLC500后,右侧的“Online”,“Upload”和“Download”从灰色变成黑色,表示可以进行上传和下载的操作。

选择“Download”,就将程序下载给PLC。之后,画面如下图所示:


图31.

此时,程序已经开始运行。当把B:3.0/0至1后,O:4.0/0=1,1746-OW16的第1路灯点亮。如下图所示:


图32.

从PLC里上传程序的方法与下载基本相同,所不同的是选择“Upload”。

如何在线监控和在线修改程序:

很多情况下,由于PLC已经在正常工作状态,不能停机再次修改程序。而且,为了排查可能出现的问题,需要现场维护人员长时间直接从PLC里监控部分变量的运行情况。因此,掌握监控PLC和在修改PLC程序的方法,对于现场维护人员而言是十分重要的。

在线监控PLC的方法十分简单。打开RSLinx,建立串口通讯驱动,找到SLC500。打开已经建立好的程序。如下图所示,选中Comms下的SystemComms,弹出如下画面:


图33.

如果之前,你已经有了PLC里的程序,那么选择Online,就可以与PLC连上了。如果打开的程序与PLC里的程序匹配,软件会自动上线。否则,软件会提示电脑里的程序与PLC里的程序不符,询问用户是Download(下载)程序还是Upload(上载)程序。

如果用户没有PLC程序,那么就直接选择Upload。第一次Upload时,系统会提示请建立一个新文件。给文件命名以后,系统会自动从PLC里将程序上载过来,存储于该文件。

此时,用户处于在线监控状态,可以直接在程序或变量表里观察相关变量的变化情况。

在线编辑程序是PLC编程的一项重要技巧。所谓在线编程,就是指在PLC按程序运行的情况下进行程序的编辑与修改。修改好后,PLC会在2个扫描运行周期之间将修改后的程序植入原程序里。因此,在线编程不会影响PLC的正常运行。

在线编程的操作步骤如下:

如下图所示:


图34.

右击要修改的程序,选择StartRungEdits,窗口变成如下图所示:


图35.

程序由2行变成1行。其中,两端没有绿色条纹的,左侧显示字母e的是可以修改的程序,而下面两端有绿色条纹的,显示字母r的是在运行的程序。其实,绿色条纹表示该行程序得电,可以运行,而“e”是英文单词“edit”的缩写,表示该行可以编辑;“r”是英文单词“run”的缩写,表示该行处于运行状态。

在线修改程序的原理,就是系统自动生成2行相同的程序,一行依然保持运行状况,另一行用于编辑。直到最终编辑结束,再由修改好的程序替代正在运行的程序。

接下来可以像正常编程序时一样,编辑这行程序的控制逻辑。如下图所示,我们在这行增加了一个常闭触点,变量用B:3.0/1表示:


图36.

修改完成后,如下图所示:


图37.

右击修改好的程序,选择AcceptRungEdits。画面发生如下变化:


图38.

此时,第一行程序左侧的字母变成“I”。

如下图所示:,右击后选择“TestEdits”。


图39.

之后,系统询问是否要用测试的程序来替代运行的程序。选择Yes后,窗口画面如下:


图40.

如图40,此时修改好的程序得电,处于运行状态,而原来在运行的程序却失电。此时还没有完成最后的工作,如果在下一步选择Cancel,则老程序还能恢复回来。这个步骤是让维护人员测试修改程序的效果,从而决定是否最终用修改好的程序替代原程序。最后,如下图所示,右击任意一行程序,选择“AssembleEdits”:


图41.

最终,画面变成如下情况:

图42.

此时,修改后的程序最终替代了原来的程序。在线编译最终完成。