罗克韦尔(AB)PLC,RSLogix500简易入门
RSLogix500是AB开发的应用于SLC500型中型PLC和Micrologix系列小型PLC的编程软件。具有结构简单,条理清晰,功能强大等优点。
建立一个工程(Project): 严格意义上来说,一个完整的PLC程序应该称为工程(Project)。工程一般都是以PLC的CPU型号来定义的。一个完整的PLC工程应该包括以下内容:I/O配置(IO Configuration):I/O配置是指PLC除CPU以外的所有其他硬件,包括:电源模块,框架,DI模块,DO模块,AI模块,AO模块等。
通讯通道配置(Channel Configuration):对于SLC500型PLC,每块CPU上一般有2种通讯接口:通道0(Channel 0),是9针DB9串口,默认通讯协议就是DF1通讯;对于1747-L551型PLC而言,通道1(Channel 1)是以太网接口。在通道配置里可以根据需要修改通讯参数。
变量:PLC其实是一种功能相对简单,但是工作稳定的计算机。因此,PLC工作也需要根据程序来进行。而程序里就要需要变量。将各种变量的计算结果输出,就实现了控制。
梯形图程序:梯形图程序是PLC编程中常用的一种编程方法,用梯形图编程即实现了PLC的控制逻辑。PLC就是根据梯形图的控制逻辑来工作的。
如何在RSLogix500软件里建立一个工程(Project)。如下图所示:图1.
如图所示,在“Rockwell Software”里启动“RSLogix 500 English”,即进入RSLogix500的界面。
图2.
点击左上角的新建工程(New)图标,启动后弹出新的窗口,如下图所示:
图3.
入图3所示,Porcessor Name就是整个工程的名字,可以根据需要编辑。下拉菜单里是RSLogix500软件支持的所有PLC的CPU类型。我们根据实际情况选择CPU的类型。
点击OK按钮,即完成了一个工程总体框架的建立。进入到下一个步骤,如下图所示:
图4.
如何配置I/O(IO Configuration):点击左侧下拉菜单里的“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的一大优势 。
如何配置通讯通道(Channel Configuration):为了满足SLC500型PLC与其他设备(如触摸屏,上位机,仪表,其他PLC)之间的通讯,有时候需要对通讯通道进行重新配置。
图10.
如图10所示,双击“Channel Configuration”,进入通道配置菜单。如下图所示:
图11.
通道0,串口通讯:如图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两种校验方式
通道1,以太网通讯:如图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内的常用变量介绍如下:
O0-OUTPUT,输出型变量:输出型变量是一种特殊变量,它只与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,都对应着一路继电器输出回路。
I1-INPUT,输入型变量:输入型变量与输出型变量相同,是由于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-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.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。
C5-COUNTER,计数器型变量:计数器与计时器比较类似。所不同的是计数器是靠上升沿或者下降沿脉冲出发的。具体说明参见指令集。
R6-CONTROL,控制型变量:R型在SLC里是控制型变量,具体使用参见指令集。
N7-INTERGER,16位单整型变量:N型即整型变量。一个整形变量有16个位组成,最多可以表示2的16次方-1=65535。
F8-FLOAT,浮点数型变量:浮点数即带小数点的数。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程序的方法,对于现场维护人员而言是十分重要的。
在线监控PLC的方法十分简单。打开RSLinx,建立串口通讯驱动,找到SLC500。打开已经建立好的程序。如下图所示,选中Comms下的System Comms,弹出如下画面:图33.
如果之前,你已经有了PLC里的程序,那么选择Online,就可以与PLC连上了。如果打开的程序与PLC里的程序匹配,软件会自动上线。否则,软件会提示电脑里的程序与PLC里的程序不符,询问用户是Download(下载)程序还是Upload(上载)程序。
如果用户没有PLC程序,那么就直接选择Upload。第一次Upload时,系统会提示请建立一个新文件。给文件命名以后,系统会自动从PLC里将程序上载过来,存储于该文件。
此时,用户处于在线监控状态,可以直接在程序或变量表里观察相关变量的变化情况。
在线编辑程序是PLC编程的一项重要技巧。所谓在线编程,就是指在PLC按程序运行的情况下进行程序的编辑与修改。修改好后,PLC会在2个扫描运行周期之间将修改后的程序植入原程序里。因此,在线编程不会影响PLC的正常运行。在线编程的操作步骤如下:
如下图所示:图34 .
右击要修改的程序,选择Start Rung Edits,窗口变成如下图所示:
图35.
程序由2行变成1行。其中,两端没有绿色条纹的,左侧显示字母e的是可以修改的程序,而下面两端有绿色条纹的,显示字母r的是在运行的程序。其实,绿色条纹表示该行程序得电,可以运行,而“e”是英文单词“edit”的缩写,表示该行可以编辑;“r”是英文单词“run”的缩写,表示该行处于运行状态。
在线修改程序的原理,就是系统自动生成2行相同的程序,一行依然保持运行状况,另一行用于编辑。直到最终编辑结束,再由修改好的程序替代正在运行的程序。
接下来可以像正常编程序时一样,编辑这行程序的控制逻辑。如下图所示,我们在这行增加了一个常闭触点,变量用B:3.0/1表示:图36.
修改完成后,如下图所示:
图37.
右击修改好的程序,选择Accept Rung Edits。画面发生如下变化:
图38.
此时,第一行程序左侧的字母变成“I”。
如下图所示:,右击后选择“Test Edits”。图39.
之后,系统询问是否要用测试的程序来替代运行的程序。选择Yes后,窗口画面如下:图40.
如图40,此时修改好的程序得电,处于运行状态,而原来在运行的程序却失电。此时还没有完成最后的工作,如果在下一步选择Cancel,则老程序还能恢复回来。这个步骤是让维护人员测试修改程序的效果,从而决定是否最终用修改好的程序替代原程序。最后,如下图所示,右击任意一行程序,选择“Assemble Edits”:图41.
最终,画面变成如下情况:
图42.
此时,修改后的程序最终替代了原来的程序。在线编译最终完成。
倍福PLC学习:扫描EtherCAT IO子站并测试模块
倍福(Beckhoff)PLC采用的EtherCAT实时以太网,它的子站配置方式与西门子的不同。西门子PLC的分布式I/O子站,无论是PROFIBUS-DP还是PROFINET,都需要先进行硬件组态并下载到CPU中才能完成配置。相比较而言,倍福EtherCAT子站的配置更简单一些,只需要通过扫描即可获取子站的配置信息,下面我们就来详细介绍下。
前提:
①倍福控制器(比如CX5020)与EtherCAT子站及编程电脑之间已经通过网线连接并且IP地址在同一个子网中;
②如果使用第三方EtherCAT子站,需先将其从站设备描述文件(.xml)复制到路径:C:\TwinCAT\3.1\Config\Io\EtherCAT
在扫描EtherCAT子站之前,首先我们需要连接到目标控制器。
运行TwinCAT3,新建TwinCAT项目,取名为IO_Scan。双击项目列表的“System”,在弹出的窗口中单击“Choose Target(选择目标)”,如下图所示:
在弹出的对话框中选择目标控制器(如果没有列出,请单击“Search Ethernet”在网络范围内查找),如下图所示:
单击“OK(确定)”,在弹出的对话框中激活配置,目标控制器查找完成。
倍福控制器简单来说有两种模式:一种称为运行模式,一种称为配置模式。运行模式下控制器运行用户程序,不能更改配置(比如扫描I/O等)。扫描EtherCAT子站只能在配置模式下进行。有两种方法可以识别控制器的当前模式:
①观察控制器上的TC指示灯;
②通过TwinCAT3编程开发环境右下角的图标颜色来判断;
无论是LED灯还是编程开发环境中的图标,绿色表示处于运行模式,蓝色表示处于配置模式,如下图所示:
如果控制器当前处于运行模式,先单击工具栏的配置模式按钮(下图中编号①)将其切换到配置模式。
另外说明一下:上图中编号②的按钮为切换到运行模式;编号③的按钮是切换Free Run(自由测试)模式,后面我们测试硬件会用到。
目标控制器切换到配置模式后,在左侧项目树的“I/O”→“Devices”下右键单击,在弹出的对话框中选择“Scan(扫描)”,如下图所示:
系统会提示“Not all types of devices can be found automatically(不是所有的设备都会自动检测到)”,单击“确定”按钮继续。
在弹出的对话框中勾选EtherCAT主站,如下图所示:
系统会提示是否扫描子站(Scan for boxes?)
单击“是”继续。扫描完成后会提示你是否激活自由测试模式(Active Free Run )?自由测试模式可以在没有程序的情况下测试硬件,比如让输出模块进行输出。根据你自己的实际情况选择是或者否。如果你选择否,后期又想执行自由测试,可以使用之前介绍的工具栏菜单按钮③进入该模式。在自由测试模式下,TwinCAT右下角的图标会红色和蓝色交替闪烁。
下面这张图就是我扫描出来的EtherCAT I/O子站(Box1):
在自由测试模式下,可以选择输出模块的任一输出通道,将其值写1,查看硬件是否正常,如下图所示:
好了,关于倍福PLC如何扫描EtherCAT I/O子站并使用自由测试模式测试硬件先介绍到这里。
相关问答
在PLC里的扫描周期?
扫描周期是plc的一个重要指标,小型plc的扫描周期一般为十几毫秒到几十毫秒。plc的扫描周期长短取决于扫描速度和用户程序的长短。毫秒级的扫描时间对于一般工...
请教编程时候PLC扫描周期该怎么理解?
这个问题看书上的解释就是最权威的解释了,如果不太理解就多读几遍!其实,在编程的时候,一般是不会特意去在意这个扫描周期的,当然有的程序的确会超出扫描周...可...
plc扫描周期是什么?
PLC扫描周期是指PLC输入、输出、程序扫描等周期的时间间隔。在PLC系统中,PLC需要不断地扫描所有的输入和输出模块,读取和更新IO信号,同时执行用户的程序,完成...
三菱PLC与条码扫描枪通讯为什么PLC无法读出条码信息了?(PLC为FX1N系列,使用RS232通讯模块与PS7120扫描枪)?
看你要和什么通讯了,如果是变频器请你先了解变频器的通讯格式,和数据格式。知道这个就可以了。变频器有接收数据格式,控制格式有好几种,你要看看变频器说明书...
plc的扫描周期是多少时间?
plc一个扫描周期一般小于200毫秒。其中的具体情况如下:据了解,扫描周期(处理器扫描周期)应满足小型可编程逻辑控制器的扫描时间不大于0.5ms/K。另外还有,大...
PLC的扫描周期和什么有关系?
可编程控制器的工作过程包括两部分:自诊断及通信响应的固定过程和用户程序执行过程.PLC在每次执行用户程序之前,都先执行故障自诊断程序、复位、监视、定时等...
PLC的扫描周期是什么?
PLC的扫描周期是指程序开始执行时PLC从第一条指令读到最后一条指令的时间,第二个扫描周期PLC又从第一条指令开始读到最后一条指令………一直循环读取,每次的扫...
plc模块原理?
PLC(可编程逻辑控制器)模块的原理是基于微处理器技术、自动控制技术和通信技术,将控制过程编程为用户的“自然语言”。它主要由以下几个组成部分构成:中央处...
二维码扫描到plc怎么显示?
由于PLC不像电脑有底层驱动来解析扫码枪数据,所以PLC要想获取扫码枪数据的话需要连接个转换模块,转换模块解析到扫码枪数据再通过RS232或者485,或者存在寄存器...
plc扫描过程分析?
PLC的工作过程一般分为输入刷新、程序执行、输出刷新三个阶段。1.输入刷新阶段:PLC以扫描工作方式,输入电路时刻监视着输入状况,并将其暂存于输入映像寄存器...