RSLogix500简易入门培训
RSLogix500是AB开发的应用于SLC500型中型PLC和Micrologix系列小型PLC的编程软件。具有结构简单,条理清晰,功能强大等优点。
I/O配置是指PLC除CPU以外的所有其他硬件,包括:电源模块,框架,DI模块,DO模块,AI模块,AO模块等。
对于SLC500型PLC,每块CPU上一般有2种通讯接口:通道0(Channel 0),是9针DB9串口,默认通讯协议就是DF1通讯;对于1747-L551型PLC而言,通道1(Channel 1)是以太网接口。在通道配置里可以根据需要修改通讯参数。
PLC其实是一种功能相对简单,但是工作稳定的计算机。因此,PLC工作也需要根据程序来进行。而程序里就要需要变量。将各种变量的计算结果输出,就实现了控制。
梯形图程序是PLC编程中常用的一种编程方法,用梯形图编程即实现了PLC的控制逻辑。PLC就是根据梯形图的控制逻辑来工作的。
图1.
如图所示,在“Rockwell Software”里启动“RSLogix 500 English”,即进入RSLogix500的界面。
图2.
点击左上角的新建工程(New)图标,启动后弹出新的窗口,如下图所示:
图3.
入图3所示,Porcessor Name就是整个工程的名字,可以根据需要编辑。下拉菜单里是RSLogix500软件支持的所有PLC的CPU类型。我们根据实际情况选择CPU的类型。
点击OK按钮,即完成了一个工程总体框架的建立。进入到下一个步骤,如下图所示:
图4.
点击左侧下拉菜单里的“IO Configuration”选项,弹出I/O配置窗口,如下图所示:
图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配置。
如图5,注意在Rack选项右侧有一个“Read IO Config”的按钮。点击该按钮,弹出以下窗口:
图6.
点击“Who Active”,系统弹出以下窗口:
图7.
这其实是RSLogix500调用RSLinx,访问SLC500。点击图7中的OK,按纽,返回图6画面。点击“Read IO Config”按钮,系统弹出以下画面:
图8.
点击OK,此时,硬件配置窗口发生以下变化:
图9.
此时,系统自动从连接的SLC500上读取实际的硬件配置情况。这是SLC500型PLC较之其他PLC的一大优势。
为了满足SLC500型PLC与其他设备(如触摸屏,上位机,仪表,其他PLC)之间的通讯,有时候需要对通讯通道进行重新配置。
图10.
如图10所示,双击“Channel Configuration”,进入通道配置菜单。如下图所示:
图11.
如图11所示,对于从503,504和505型PLC而言,Channel 0都是RS232C串口,通道支持的协议是DF1通讯协议。其主要配置参数结束如下所示:
参数名称 | 内容 |
Driver: | DF1通讯的可选类型,具体有以下配置: DF1 Full Duplex DH-485 DF1 Half Duplex Slave DF1 Half Duplex Master DF1 Radio Modem Shutdown |
Source ID: | 指SLC500进行串口通讯时在网络上的站点号码,一般是0~31 |
Baud: | 即波特率。波特率越高,通讯速度越快,但通讯距离越短;反之,波特率约低,通讯速度越慢,但通讯距离越长。 |
Parity: | 奇偶校验。在SLC500里只有None(无校验)和EVEN(偶校验)的选项。 |
Stop Bits: | 停止位,有1,1.5和2 3个选项。 |
Control: | 通讯协议控制方式,有2种:No Handshaking(无需握手型)和Full Duplex Modem(远程Modem访问形式) |
Error Detection: | 冗余循环校验方式:分为CRC和BCC两种校验方式 |
如图12所示,选择Channel 1页面:
图12.
如图12所示,对于SLC551型PLC,它的通道1(Channel 1)是以太网接口。我们在这里所需的进行的配置如下:
参数名称 | 内容 |
IP Adress: | SLC505型PLC的IP地址。 |
Subnet Mas: | SLC505型PLC所在局域网网段的子网掩码。 |
Gateway Address: | 网关的IP地址,一般不设。 |
Protocol Control: | 协议控制。请将第一项“Bootp Enable”之前的勾去掉。 |
Port: | 有10M/100M两个选项。一般选择10M已足够满足使用了。 |
在设置串口的时候,请注意:一旦串口设置参数发生变化,那么串口就不再是标准的RSLinx可以支持的串口通讯了。此时,通过RSLinx的RS232C-DF1通讯设置是无法与PLC再进行通讯连接的了。若要重新连接,只有拔去CPU内的电池,清除程序,将CPU恢复到出厂默认值才可以。
变量是PLC内计算值的载体。变量主要分为输入量,输出量和中间变量。
如下图所示,SLC500的变量栏在其编程界面的左下方。在Data Files下的就是各种SLC支持的变量类型:
图13.
SLC内的常用变量介绍如下:
输出型变量是一种特殊变量,它只与PLC的I/O模块挂钩。对于单机系统,只有在机架上添加了DO型模块和AI,AO型模块才会增加输出型变量。如下图所示:
图14.
从图中可以看到,O:2.3~O:2.11共计8个变量是属于插在2号槽的8路模拟量输入模块1746-NI8块的,每一个变量针对AI模块的1个通道。从1746-NI8的用户手册中可以知道,O2.3~O2.11是给每个通道进行配置所用的。而最后的O:4.0是由于I/O模块中增加的1746-OW16 16路开关量模块而增加的。它的每一个位,即O:4.0/0~O:4.0/15,都对应着一路继电器输出回路。
输入型变量与输出型变量相同,是由于I/O模块的增加而增加的,无法手动增加。如下图所示:
图15.
如图15所示,I:1.0是分配给16点数字量输入模块1746-IB16的,该模块插在1号槽;而I:2.0~I2.9是给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变量也是一种特殊变量。S型变量都是一些代表CPU系统运行状态的特殊变量。通过阅读S型变量的情况,可以了解CPU的一些详细的工作信息。
如下图所示:
图16.
如图所示,S:39~S:37内存储的就是PLC时钟内的日期。例如,2006-11-2,则S:37内存放的是02,S:38内存放的是11,S:39内存放的是2006。其他的变量及意义参加指令集。
B型变量是BOOL型变量,即只有1位,只能为0或1的变量。这是PLC中常用的一种变量类型。
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.01s 3种选项。 |
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。
计数器与计时器比较类似。所不同的是计数器是靠上升沿或者下降沿脉冲出发的。具体说明参见指令集。
R型在SLC里是控制型变量,具体使用参见指令集。
N型即整型变量。一个整形变量有16个位组成,最多可以表示2的16次方-1=65535。
浮点数即带小数点的数。SLC里浮点数保留到小数点后1位。
要在SLC里建立新的变量,只要如下图所示:
图18.
图18所示,右击Data Files,选中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.
如图23所示,从界面的顶部拖拽一行道下面的编程界面,即增加了一行。用同样的方法拖拽一个常开触点和一个线圈,如下图所示:
图24.
从右侧的变量栏里拖拽相应的变量到线圈的问号处。如果拖拽到为,问号处会显示绿色。如下图所示:
图25.
将变量放进去,最终如下图所示:
图26.
这样,便完成了一句梯形图语句的编程。图中程序的意思是,当B:3.0/0=1时,O:4.0/0=1。
请注意,此时,这行的左侧有“e”标志存在,表示步程序还处于编辑状态,没有通过编译而执行。点击工具栏上的2个编译按钮,如下图所示:
图27.
左侧的图标表示编译该程序,而右侧的图标表示对整个工程进行编译。
按下2个编译按钮后,如下图所示:
图28.
参见图28,注意左下角,软件显示“Verify has completed, no errors found”。说明程序编译通过。可以下载给PLC了。也可以保存程序文件。程序文件的后缀名是*.RSS。
程序编译完成后,可以下载给PLC运行了。我们将详细讲解如何通过串口下载程序的过程。
根据要求,将电脑通过编程电缆与SLC500连接好,打开RSLinx,建立串口通讯驱动,找到SLC500。打开已经建立好的程序。如下图所示,选中Comms下的System Comms:
图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程序的方法,对于现场维护人员而言是十分重要的。
图33.
如果之前,你已经有了PLC里的程序,那么选择Online,就可以与PLC连上了。如果打开的程序与PLC里的程序匹配,软件会自动上线。否则,软件会提示电脑里的程序与PLC里的程序不符,询问用户是Download(下载)程序还是Upload(上载)程序。
如果用户没有PLC程序,那么就直接选择Upload。第一次Upload时,系统会提示请建立一个新文件。给文件命名以后,系统会自动从PLC里将程序上载过来,存储于该文件。
此时,用户处于在线监控状态,可以直接在程序或变量表里观察相关变量的变化情况。
在线编程的操作步骤如下:
图34.
右击要修改的程序,选择Start Rung Edits,窗口变成如下图所示:
图35.
程序由2行变成1行。其中,两端没有绿色条纹的,左侧显示字母e的是可以修改的程序,而下面两端有绿色条纹的,显示字母r的是在运行的程序。其实,绿色条纹表示该行程序得电,可以运行,而“e”是英文单词“edit”的缩写,表示该行可以编辑;“r”是英文单词“run”的缩写,表示该行处于运行状态。
在线修改程序的原理,就是系统自动生成2行相同的程序,一行依然保持运行状况,另一行用于编辑。直到最终编辑结束,再由修改好的程序替代正在运行的程序。
图36.
修改完成后,如下图所示:
图37.
右击修改好的程序,选择Accept Rung Edits。画面发生如下变化:
图38.
此时,第一行程序左侧的字母变成“I”。
图39.
图40.
图41.
最终,画面变成如下情况:
图42.
此时,修改后的程序最终替代了原来的程序。在线编译最终完成。