您的当前位置:首页正文

ABPLC培训教材

来源:个人技术集锦
培训教材

第一天培训内容——熟悉硬件和软件

一、熟悉各硬件

请查看各模块的外形,通讯模块,I/O模块,运动控制模块,处理器模块。框架式设计可靠,安装容易,无需工具。端子可取下,接线方便,更换快速。

将DEMO上电,插入ENBT/ENET, CNB通讯模块以及I/O模块(可以先不插入CPU)。体会模块的带电热插拔特性。安装方便。

二、认识RSLinx软件 1、什么是RSLinx?

RSLinx软件是工业通讯的枢纽。它为所有的AB网络提供了完整的驱动程序。通过RSLinx软件,用户可以通过一个窗口查看所有活动网络,也可以通过一个或多个通讯接口同时运行任何所支持的应用程序的组合。RSLinx提供最快速的OPC、DDE和Custom C/C++的接口。RSLinx还可以为用户提供多个网络、本地工作站和DDE/OPC性能诊断工具,便于进行系统维护和故障排错。RSLinx Gateway驱动程序能够完美地支持TCP/IP客户与AB PLC控制器的连接,它也支持与远程OPC进行通讯。

RSLogix RSView RSLinx

ControlNet DeviceNet PLC-5 SLC ControlLogix

2、使用RSLinx软件进行通讯

FlexLogix

EtherNet/IP CompactLogix 1) 打开RSLinx,点击 或

2) 在工具条上点击

选择Ethernet Devices(其它的驱动程序简单介绍), 按下 Add New 键

1

单击 OK.

3) 增加以太网设备

单击OK.

4) 单击 Close

5) 检查击计算机的IP设定。

2

确认为: 192.168.1.XXX.

6) 单击

可以看到,我们不需要CPU,就可以通讯。减少CPU负荷,提高通讯效率。保证实时性,可重复性。

7)展开树形。

3

所有模块信息可以自动浏览得到。方便维护,调试。

8)插入CPU模块。

无槽位限制,可扩展性好。例如:当需要多个以太网时,不用放在前几个槽位。在03槽,1756- L55上点击Device Properties.

显示CPU 信息。

4

点击 Configure New DDE/OPC Topic,组态DDE/OPC主题(如果您使用的RSLinx为2.40以上的版本,那么RSLinx会自动创建DDE/OPC主题)

3、使用DF1驱动程序与处理器进行通讯

1) 打开RSLinx,点击 或

2) 在工具条上点击

5

3) 选择RS-232 DF1 devices, 按下 Add New 。

4) 点击OK。

5) 按下Auto-Configure按钮,如果通讯成功,在状态信息中会显示Auto Configure

6

Successful。然后点击OK。这时点击RSWho会出现控制器。

到此实现了RSLinx软件与网络上的控制器的通讯。接下来就需要对控制器进行编程和组态。

三、认识RSLogix 5000软件 1、什么是RSLogix5000?

RSLogix5000梯形图编程软件包可以最大限度地发挥可编程控制器的性能、节省工程项目开发时间并提高生产率。RSLogix5000支持Logix5000系列可编程控制器,同时还集成了运动控制功能,提供了可靠的通讯能力,强大的编程功能和卓越的诊断能力。RSLogix5000具有灵活易用的编辑功能、通用的操作界面、诊断和纠错工具、强大省时的其它功能等特点。

2、使用RSLogix5000软件创建新项目(了解各项内容,以及Help和在线文档的使用) 1)双击

图标,启动RSLogix5000软件。

按钮,创建一个新的项目。

2)选择文件(File)菜单下的新建(New)或者直接点击 3)设置参数如下。

其中:

Type:可选择基于Logix 平台的多种处理器,这里选择1756-L1 ControlLogix5550 Controller。

7

Revision:选择12版本。Logix 平台,提供了固件升级手段,保护你的投资,真正面向未来的控制平台。

Description:指定一段该项目的说明。 Chassis Type:选择一种框架类型。

Slot:指定CPU的槽位。实际上CPU 不受槽位限制。

4)创建的工程显示如下:

5)在控制器项目管理器中,可以对整个项目进行组态。

8

3、理解任务(Task)、程序(Program)和例程(Routine)并学习如何创建故障处理程序(Fault Handler Program)和上电程序(power-up Handler Program)

任务(Task):一个任务可以为一组或多组程序提供时序安排及优先级信息,这些程序是按照特定的标准来执行。用户可以将任务组态成连续方式或周期方式。控制器中的每一个任务都有一个优先级。当有多个任务被触发时,操作系统根据优先来确定执行哪一个任务。对于周期型任务有15个可组态的优先级,从1-15,其中1具有最高的优先级而15 的优先级最低。连续型任务的优先级最低,因此周期型任务可以随时中断连续型任务。 程序(Program):每个程序都包含程序标签、一个可执行主例程、其他例程以及一个可选的故障例程。每个任务最多可以调度32个程序。任务内被规划的程序从第一个程序开始运行直到最后一个程序。不属于任何任务的程序将作为未规划的程序。 例程(Routine):例程是采用一种编程语言编写的一组逻辑指令,例如梯形图逻辑。例程为控制器中的工程提供可执行代码。例程类似于PLC或SLC处理器里的程序文件或子程序。每个例程都有一个主例程。当控制器启动相关的任务并调用相关的程序时,主例程是首先执行的例程。利用逻辑指令可以调用其它的例程。

ContorlLogix控制器支持多个任务(Tasks)。每个任务(Task)可以包括若干个Programs,每个Program可以包括若干个Routines。

3.1、创建任务

当在编程软件中打开一个新的控制器工程时,主任务(MainTask)缺省被定义为连续型任务。可以更改主任务的类型,也可以将其删除。

1)要创建新的任务,选中控制器项目管理器中的任务(Task),右键点击New Task。

2)在弹出的窗口中,输入新任务的名称,并指定任务的类型,以及优先级等信息。

9

3) 点击OK按钮,完成任务的创建。

3.2、创建程序

当在编程软件中打开一个新的控制器工程时,已经为主任务(MainTask)定义了一个主程序(MainProgram)。可以更改主程序。

1) 要想创建一个新的程序。选择要创建程序的任务,然后点击右键,选择New Program。

2)在弹出的窗口中,输入程序的名称并选择该程序所在的任务。

3) 点击OK按钮,完成程序的创建。

10

3.3、创建例程

当在编程软件中打开一个新的控制器工程时,已经为主程序定义了主例程。可以像添加其它的例程一样修改主例程。

1) 要想创建一个新的例程。选择要创建例程的程序,然后点击右键,选择New Routine。

2)在弹出的窗口中,输入例程的名称并选择该例程的类型以及所在的程序。

3) 点击OK按钮,完成例程的创建。

3.4、创建故障处理程序(Fault Handler Program) 控制器故障处理程序是一种可选的任务,当主要故障不是指令执行故障或程序故障例程时则执行控制器故障处理程序。控制器故障处理程序只能有一个程序,但该程序可以有多个例程。

1) 在控制器项目管理器的Controller Fault Handler上,点击鼠标右键,选择New Program

11

2)在弹出的窗口中,输入程序的名称。

3) 点击OK按钮,创建完创建故障处理程序。一旦创建了故障处理程序,还必须有一个主例程。创建例程的方法同上。

3.5、创建上电程序(power-up Handler Program)

上电处理程序是一种可选的任务。当控制器在Run方式下上电时则执行该程序。上电处理程序只能有一个程序,但可以有多个例程。

1) 在控制器项目管理器的Power-up Handler 上,点击鼠标右键,选择New Program

12

2)在弹出的窗口中,输入程序的名称。

3) 点击OK按钮,创建完创建上电处理程序。一旦创建了上电处理程序,还必须有一个主例程。创建例程的方法同上。

4、了解标签(Tag)的类型,以及用户自定义类型(User Defined Type),创建每种类型的标签,并理解标签的作用域。 4.1、标签类型

Logix5550控制器使用标签来访问数据。标签类似于编程语言中使用的变量。一个标签有一个名称(用于描述标签存储的数据)和一种数据类型(用于识别标签能存储的数据大小 和格式)。

当用户创建标签并且它们适合于控制器内存时,控制器将存储这些标签。但没有类似于PLC控制器那样的预定义数据表。Logix5550控制器通过按需要存储标签,并且将其置于内存中的最恰当的位置来实现高效率的使用内存。相同数据类型的标签不需要在内存中组合在一起。如果用户想要组合数据,可以使用数组。

标签有四种类型:

base 基本型标签用于定义存储数据元素的内容。 alias 别名型标签可以引用由其它标签定义的内存。一个别名标签可以引用一个基

本型标签或另一个别名标签。

Produced 生产者标签把数据值发送给其它的控制器 consumed 消费者标签接收来自于其它控制器的数据值。 4.2、数据类型

当用户开发一个工程时,控制器提供一组预定义数据类型。

13

预定义的基本数据类型包括: 数据类型 BOOL SINT INT DINT REAL

说明 1位布尔型 1个字节整数 2个字节整数 4个字节整数 4个字节浮点数

范围 0=off 1=on -128至127 -32768至32767

-2147483648至2147483648

–3.402823E+38至-1.1754944E-38(负值) 0

+1.1754944E-38至+3.402823E+38(正值)

预定义结构体包括: 数据类型 AXIS CONTROL COUNTER MESSAGE MOTION-GROUP MOTION-INSTRUCTION PID TIMER

说明

轴的控制结构体

数组(文件)指令的控制结构体 计数器指令的控制结构体 MSG指令的控制结构体 运动组的控制结构体 运动指令的控制结构体 PID指令的控制结构体 定时器指令的控制结构体

4.3、标签的作用域

用户可以在一个单独的程序中对标签进行分组,或使标签在控制器范围内对指令开放。当用户定义标签时,需要指定标签是作为程序标签(局部)还是作为控制器标签(全局)。 用户可以拥有多个相同名称的标签,只要每个标签具有不同的作用域即可(如果一个是作为控制器标签,则其它的须作为程序标签;或所有的标签都作为程序标签)。

程序内的局部作用域标签

控制器的全局作用域标签

4.4、建立标签

用户在输入程序逻辑以前可以使用Tag编辑器来创标签,或者在输入逻辑时输入标签名称,然后再使用New Tag对话框来定义标签。

1) 在tag编辑器中选择标签名称,在名称上点击鼠标右键。

14

2) 定义标签

3) 在General选项卡中输入标签的名称、描述、标签类型、数据类型、作用域等信息。如果此标签的类型为Produced或Consumed,则还需要填写Connection选项卡的信息。当填写完所有的信息后,点击确定按钮,创建完标签。

4.5、用户自定义结构体

用户还可以根据自己的需要自定义结构体。

1)右键点击User-Defined,选择New Data Type...

15

2)在Name字段中填写所创建的结构体的名称。也可以根据需要填加说明。

在成员栏中由上向下填加成员。用户要定义成员的名字(Name)和数据类型(Data Type)。

3) 点击OK,创建完毕。这样再创建标签时就可以选择自定义的结构体了。

5、进行I/O组态

1) 在控制器项目管理器中,右键点击 I/O configuration。选择 New Module。

16

2) 单击OK.

3) 点击Next.

17

4) 点击Next

5) 点击Next

18

6) 点击Next

7) 点击Next

19

8) 点击Finish.,完成I/O组态。

9)右键点击Controller Tags. 。会发现,

10) 系统自动为你生成了该模块数据。所有的模块信息都任意使用。

6、使用不同类型语言进行编程,熟悉常用的指令,并进行注释。

RSLogix 5000企业版系列软件支持逻辑梯形图、结构文本、功能块图表、以及顺序功能图

20

编辑器等编程语言,用于开发应用程序。

逻辑梯形图:

结构文本:

功能块图表:

顺序功能图:

21

用户可以选择以上任意一种熟悉的编程语言进行编程。而且每种编程语言都具有十分丰富的指令集,具体可以参阅RsLogix5000编程软件的指令帮助。

编辑梯级注释

1) 选中梯级,点击右键。选择Edit Rung Comment。

2)在弹出的窗口中,输入要注释的信息。

3) 输入完点击

,即可。

7、上载(Upload)/下载(Download)程序,控制器所处的状态(Run/Program/Remote) 1)点击主菜单上的Commmunication,选择Who Active,会出现如下画面:

22

2) 如果这时需要上载程序,点击Upload按钮;如果需要下载程序,点击Download。 当程序上载之后,可以通过快捷菜单栏监视控制器的状态,也可以通过它切换控制器的状态(Run/Program/Remote)

8、在线编辑(Online Edit)、强制(Force)、监视(Monitor) 8.1、在线编辑梯形图

1) 首先选中要修改的梯级,然后点击Start pending Rung Edits。

2) 出现下面画面。

3) 修改梯级。然后点击Accept pending Program Edits

4) 弹出下面的对话框。

23

4) 点击是。

5) 点击

按钮,弹出下面的对话框。

6) 点击Yes。

7) 然后点击

24

8) 点击Yes。完成在线编辑。

8.2、强制

1) 选中要强制的I/O点,然后点击鼠标右键选择Force On。

2) 这时会出现强制值,但是该值还没有生效。

3) 选择I/O Forcing下面的Enable All I/O Forces。

4) 在弹出的对话框中,点击是。

5) I/O 强制生效

25

6) 要想移除I/O Force,点击I/O Forcing下面的Remove All I/O Forces即可。

8.3、监视

1) 在控制器项目管理器中点击Program Tags

2) 然后点击Monitor Tags选项卡,选中想要监视的标签即可。

9、I/O连接(制作别名标签)并进行通讯

当程序逻辑已经仿真测试完毕后,这时可以进行I/O连接了。 1) 选中要进行连接的标签

2)在Alias For栏中,点击鼠标。

26

3) 在下拉列表中,选中要进行连接的实际I/O点。

4) 接下来,将其余的I/O连接完成。然后将程序下载到控制器中,系统就可以运行了。

至此,完成了编程工作,接下来需要做监控画面了。

四、认识RSView32软件 1、什么是RSView32?

RSView32是基于组件集成并用于监视和控制自动化设备和过程的人机界面监控软件。RSView32通过开放的技术扩展了您的视野,达到了与其它罗克韦尔软件产品、微软产品以及第三方应用程序的高度兼容。

RSView32是第一个在以下方面发挥微软领先技术优势的人机界面软件

󰁺 开放的图形显示系统通过OLE容器方式支持ActiveX控件--可供选择的第三方ActiveX

控件有数千种,用户可以方便地将现有解决方案添加到RSView32项目中。

󰁺 通过对象模型的开发实现对RSView32核心功能的调用,同时也允许RSView32与其它

基于组件技术的软件产品实现互操作。

󰁺 以业界流行的微软Visual Basic for Applications(VBA)作为内置编程语言,可以最大限度

地实现对RSView32项目的扩展和自定义。

󰁺 支持OPC标准,可以快速、方便地与众多生产制造商的硬件设备实现可靠的通讯,同

时还可以作为OPC服务器向其它OPC客户端提供服务。

󰁺 采用了Add-On Architecture (AOA)插件技术扩展了RSView32的功能,将最新的技术集

成到RSView32的内核中。

通过RSView32定制人机界面监控项目,您可以: 󰁺 与其它罗克韦尔软件产品相互协作,建立自己的监控项目并选择最能够满足应用要求的

产品。

󰁺 与微软产品实现数据共享。RSView32的标签配置、报警配置和数据记录都与ODBC完

全兼容。

󰁺 与其它罗克韦尔自动化产品相互兼容,RSView32和RSLinx为数据采集、控制和传输

提供了最为有力的组合。

󰁺 可以在线对RSView32项目进行修改,这大大节省了时间而且不需要关闭整个生产进

程。

27

󰁺 重复利用标签数据库,RSView32可以重复利用在可编程逻辑控制器梯形图内创建的标

签,只需要打开标签浏览器,用鼠标选取需要使用的标签即可。 󰁺 重复利用图形库中的对象。在RSView32中包含有大量的图形对象,

󰁺 通过系统级的安全设置和16个等级的项目安全设置来确保项项目安全运行

󰁺 通过微软功能强大的内置VBA编程语言以及其它方便灵活的特点来实现您监控项目的

自动化。

2、组态控制器节点(Node)

1)打开RSView32 软件,在项目管理器中,双击Node选项。

2) 数据源类型,选择OPC Server(因为ControlLogix处理器与RSView32通讯只能通过此方式)。点击Server Name后面的按钮,从中浏览到刚刚建立完的OPC主题名。选中它,点击Accept,这样节点配置完毕。

3、创建标签

RSView32使用Tag的类型如下: 模拟量(Analog):一个值的范围;这类Tag能够代表变量的状态,如:温度、压力、电压、电流和液位等。

数字量(Digital):0或1;这类Tag仅能表示设备的开关状态,如:开关、继电器和接触器等。

字符串(String):ASCII字符串,或真个字(最多82个字符);这类Tag能够代表使用文本的Tag,如:条形码扫描器。

系统(System):当系统运行时,产生的信息,包括:报警信息、通信状态、系统时间和日期等。系统Tag是创建工程时系统自动创建的,用户只能使用它,不能编辑和删除它。(合理的使用系统的标签,可以很方便的建立动画界面。)

3.1、创建模拟量Tag

1) 在Tag Database对话框的Type框中,选择Analog。

28

2) 填入以下信息:

Security:安全代码,选择不同的安全代码,可限制Tag的存取。 Description:注释信息,最多128个字符。

Minimum和Maximum:能写入PLC或DDE服务器的最小和最大值,它不能影响从PLC或DDE服务器读入的值。

Scale和Offset:比例和偏移量,它可以修正来自或发送到PLC的“原始数据”,在这些数据进入Value Table之前。

Units:单位,它是一个文本标签,可以定义Tag值的单位,最多20个字符。

Data Type:数据类型,它包括:Unsigned Integer, Integer, Long Integer, Floating Point, Byte, 3-Digit BCD, 4-Digit BCD。

Type:Tag值数据来源的设备类型,包括:设备,AB设备或非AB设备;内存,运用于导出Tag、时间监测、图形对象等。

Node Name:数据来源的PLC的名称。

Scan Class:扫描等级。若为DDE设备,选择A级;DDE设备将忽略扫描等级。 Address:Tag值所对应的PLC的物理地址。 3) 点击Accept。

3.2、组态数字量Tag

1) 在Tag Database对话框的Type框中,选择Digital。

2) 填入以下信息: Off Label和On Label:文本标签,当Tag=1时,显示On Label;当Tag=0时,显示Off Label。 其余项的设置,同上。 3) 点击Accept。

3.3、组态字符串Tag

29

1) 在Tag Database对话框的Type框中,选择String。

2) 填入以下信息

Length:字符串长度,最多82个字符。 其余项的设置,同上。 3) 点击Accept。

4、制作一个显示画面,加入按钮对象(Button)、数字输入对象(Numeric Input)、数字显示对象(Numeric Display)、趋势对象(Trend)、报警对象(Alarm)、ActiveX对象,并实现动画。

4.1、创建简单对象

1) 在图形界面编辑器的菜单栏中,选择View Drawing Toolbox,显示绘图工具箱(如图10)。

2) 可以通过点击绘图工具箱中的不同的工具,在图形编辑器中拖拽出下面的图形对象: 矩形、圆角矩形、直线、折线、多边形、徒手画、圆/椭圆、弧形、扇形、文本。

4.2、创建数字输入区域

1) 在绘图工具箱中,选择数字输入(Numeric Input)工具,在图形界面中,用鼠标拖画出一个适当区域,弹出Numeric Input对话框

30

2) 在Numeric Input对话框中,填入以下信息: Tag Name:指定Tag的名称。

Index:索引,它决定了图形界面中,交互式对象的Tab键顺序。

Default Data:缺省数据,在图形界面被首次显示时,数字输入区域出现的数据。 Continuously Update:连续刷新。 Field Length:输入区域的数字长度。 Format:数据的格式。

Decimal Places:小数的位数。

Overflow:溢出,仅当Format中选择Floating Point时有效,它规定了如果浮点数超出了显示区域,应如何显示它。它包括:用指数显示、显示区域自动调整、用“*”代替。 Justification:数字的调整方向,包括:左对齐、居中、右对齐。 Leading Character:无效的高位字符用什么显示,包括:空白、零。 3) 点击OK,完成设置。

4.3、创建字符串输入区域

1) 在绘图工具箱中,选择字符串输入(String Input)工具,在图形界面中,用鼠标拖画出一个适当区域,弹出String Input对话框

2) 在String Input对话框中,填入以下信息: Dimensions:尺寸,可以指定字符的宽度和高度。 其他信息的填写,同上。 3) 点击OK,完成设置。

4.4、创建数字和字符串显示区域

1) 创建数字显示区域。在绘图工具箱中,选择数字显示(Numeric Display)工具,在图形界面中,用鼠标拖画出一个适当区域,弹出Numeric Display对话框

31

2) 在Numeric Display对话框中,填入以下信息:

Expressing:表达式,填入你想要显示的Tag名称或表达式。 3) 点击OK,完成设置。

4) 创建字符串显示区域。在绘图工具箱中,选择字符串显示(String Display)工具,在图形界面中,用鼠标拖画出一个适当区域,弹出String Display对话框。

5) 在Numeric Display对话框中,填入以下信息:

Expressing:表达式,填入你想要显示的Tag名称或表达式。

Character Offset:字符偏移量,填入你想要显示的字符串的偏移量,若数字等于几,从左起的几个字符将不显示。 6) 点击OK,完成设置。

4.5、创建按钮

1) 在绘图工具箱中,选择按钮(Button)工具,在图形界面中,用鼠标拖画出一个适当区域,弹出Button Configuration对话框。

32

2) 在Button Configuration对话框中,填写以下表单: 󰁺 General:常规信息

Style:按钮风格,包括:三维(3D)、凹陷(Recessed)、凸起(Raised)、斜面(Beveled)。 󰁺 Action:动作,当Tag被按下和释放时执行的动作。

图19

Set:设置Tag值为1。 Reset:设置Tag值为0。

Toggle:切换,根据Tag的当前值进行切换,若Tag当前值为1则切换为0,若为0则

切换为1。

Momentary On:瞬间开,按下时Tag值为1,释放时Tag值为0。 Momentary Off:瞬间关,按下时Tag值为0,释放时Tag值为1。 Command:执行RSView32命令。

󰁺 Up Appearance:上表面,当按钮未被按下时的外观

Button Label:按钮的标签,可以指定按钮的标题,通过点击Font…选择字体,点击颜

33

色盒选择标签的颜色。

Fill Pattern:填充图案,可以为按钮表面指定图案和颜色。 Import…:导入,可以未按钮表面输入位图。

󰁺 Down Appearance:下表面,当按钮被按下时的外观。

设置,同“Up Appearance” 3) 点击OK,完成设置。

4.6、创建和编辑ActiveX对象

ActiveX对象是一种通过诸如:Microsoft的Visual Basic、Rockwell Software的Rstools等产品,由RSView32独立提供的软件组件。ActiveX对象提供了一种通过对象的属性、事件、方法,对对象进行存取的功能。

1) 打开一个动画编辑窗口,使用ActiveX控件按钮在屏幕中拉出一个想要画出的控件的大小,松开鼠标,屏幕中会弹出如下所示的窗口:

2) 在上图中选择“Calendar 控件 9.0”,单击确定。并用如图所示的方法打开控件的属性。

34

3) 图中带有双箭头的是可以加入tag的标记,一般来讲,每一个控件都有对应的值,在这个窗口中填入年、月、日的标签即可。

4) 关闭此窗口就完成了控件的建立。

4.6、组态报警

1) 建立报警tags。系统需要报警,因此,在建立报警汇总之前,必须先建立报警标记,每一个标记实际上代表着系统的一个状态量,如果这个量超过了预定的标准,则需要报警。如图,在编辑模式下双击“标记数据库”。

35

2) 在弹出的对话框中找到需要建立报警的标记,如下:

3) 选择上图中未激活的报警按钮,会出现如下所示的报警编辑对话框:

36

4) 报警可以分为模拟量报警和数字量报警,上图为模拟量报警,模拟量报警可以有八个阀值,每个阀值都可以设置报警,其中阀值表示报警的临界值,后面的两个“增加”和“减少”表示:如果“增加”选中,表示增加超过阀值报警;如果“减少”选中,则表示减少超过阀值报警。

报警的严重程度分八个等级,一般来讲,一级为最高等级,八级为最低等级。输入下面的信息:

5) 点击“确认”按钮完成报警tag的建立。 6) 建立报警汇总

报警标记建立完成之后,必须建立报警汇总以便操作员能够发现报警的一些信息。如:报警日期,报警时间,报警标记等等。建立方法如下:

在绘图工具拦中找到报警汇总的工具,点击“报警汇总”工具来建立报警汇总。拖动鼠标画出一个报警汇总的方框,然后释放鼠标,在看到一个空白的警报汇总后,请点击“插入”

37

菜单来添加标题并点击“格式”菜单上的“按钮”来加入按钮。建立完成之后的图形如下:

4.7、建立趋势

1) 打开一个编辑画面,并使用工具栏中的工具在画面中拉出一个需要的监视图。

2) 在笔迹配置的画面中配置系统的时间:(小时、分钟、秒)如下图所示:

38

3) 点击确定按钮完成设置,点击测试运行按钮来测试运行,这时候我们就可以看到小时、分钟、秒的时间趋势图。

5、编写VBA,和宏文件(Macro)

在RSView32 程序管理器的逻辑和控制里的“Visual Basic Applications Integrated Development Environment),可以用它为当前 RSView32 项目创建 VBA 程序。每个项目可以有一个 VBA 程序模块,其中包括多个程序。

39

VBA IDE 包括一个“项目管理器”、“属性”窗口和“编程”窗口。调试程序和 OLE 对象浏览器。第一次启动 VBA IDE 时将创建一个 VBA 项目,它的名字与正在运行的 RSView32 项目的名字一样。打开 VBA IDE 时,在 IDE 左上角的“VBA 项目资源管理器”里将显示一个与当前 RSView32 项目同名的图标。

图2 VBA集成环境

这里是一个 RSView32 “对象”文件夹,它里面包括一个标着 ThisProject 的图标。这是一个 VBA 项目对象,它包括您在“程序”窗口里写入的 VBA 子程序。“程序”窗口包含一个编辑器和调试器,您可以用它们编写、测试运行和调试程序。还有一个“对象浏览器”(通过“程序”窗口的控制菜单打开它)可以用来查看 RSView32 对象模式里对象的属性、方法和事件,以及其它 OLE 对象。以后再打开 VBA IDE 时,窗口同您上次留下来的一模一样。

下面将使用VBA程序读取RSView32标记值。 首先,建立一个VBA过程

在菜单中选择 插入>>添加过程,然后给过程起一个名称,暂时定为training,然后在

40

Public Sub training() 和 END sub 中输入如下程序:

Dim this As Tag `定义变量

Set this = gTagDb.GetTag(\"System\ime\") `获取系统时间 MsgBox \"The time is \" & this `通过Message Box输出信息 完成之后,存盘,运行;将出现如下结果

在RSView32中运行VBA程序

在RSView32中可以通过运行命令VbaExec training来实现。可以通过按钮、宏等多种方式进行。双击宏文件,然后在其中输入VbaExec training命令,这样制作好了一个宏文件。只用运行这个宏文件,就可以运行VBA程序了。

编写VBA报表程序。

使用下面的VBA程序可以实现报表。(把其中一些参数换成你实际系统参数即可) Sub ReportExcelCreate()

'creates an Excel spreadsheet Dim wkResults As Workspace Dim dbResults As Database Dim rsResults As Recordset Dim objExcel As Object

Dim tagProcessState As Tag Dim sResultsQuery As String Dim sExcelFilePath As String Dim iColumnCount As Integer Dim nColumn As Integer Dim nRow As Integer Dim sHeight As Single Dim sFilePath As String Dim sColumn(6) As String

On Error GoTo ErrHandler

Set tagProcessState = gTagDb(\"Coffee\\ProcessState\") If bDAOExists = True Then

sDBFILE = gProject.Path & \"\\VBA\\RecipeServer.mdb\"

'Set an RSView tag to show animation on Architecture screen tagProcessState.Value = 12 'Open the specified database Set wkResults = Workspaces(0)

41

Set dbResults = wkResults.OpenDatabase(sDBFILE)

iColumnCount = dbResults.TableDefs(\"CoffeeResults\").Fields.Count 'Create a SQL query to read all recipe records sResultsQuery = \"Select * from CoffeeResults;\" 'Query for the recipes

Set rsResults = dbResults.OpenRecordset(sResultsQuery) 'Set an RSView tag to show animation on Architecture screen tagProcessState.Value = 13 End If

'Open the Excel file

Set objExcel = CreateObject(\"Excel.Application\")

'-4137 is used instead of xlMaximized because to use xlMaximized, Excel must be

selected

' in the references. If Excel is selected in the references and Excel is not

installed

' on the machine the project will not run. Normally a user would use the Excel

variable names

' but -4137 was used to ensure that the Samples worked on any machine regardless

whether Excel

' installed or not. Also objExcel would be dimmed as 'dim objExcel as

Excel.Application'

' Make Excel visible through the Application object With objExcel

.Application.Visible = True .Application.Workbooks.Add

.Application.WindowState = -4137 '-4137=xlMaximized .Worksheets(\"Sheet1\").Activate .Columns(1).ColumnWidth = 13.5 .Columns(2).ColumnWidth = 19 End With

'Set an RSView tag to show animation on Architecture screen tagProcessState.Value = 15 'Center the columns For nColumn = 1 To 7

objExcel.Columns(nColumn).HorizontalAlignment = -4108 '-4108=xlCenter

42

Next nColumn

'add the column headers With objExcel

.Rows(1).Font.Bold = True

.Cells(1, 1).Value = \"Time and Date\" .Cells(1, 2).Value = \"Recipe Name\" .Cells(1, 3).Value = \"Coffee\" .Cells(1, 4).Value = \"Sugar\" .Cells(1, 5).Value = \"Cream\" .Cells(1, 6).Value = \"Cocoa\" .Cells(1, 7).Value = \"Irish\" End With

'Start on the second row If bDAOExists = True Then nRow = 2

Do While Not rsResults.EOF

'Write the data to Excel from the database For nColumn = 1 To iColumnCount objExcel.Cells(nRow, nColumn).Value = Trim(rsResults.Fields(nColumn -

1).Value)

Next nColumn

rsResults.MoveNext nRow = nRow + 1 Loop

Else ' use the csv file instead

sFilePath = gProject.Path & \"\\VBA\\CoffeeResults.csv\" iColumnCount = 7 nRow = 1

Open sFilePath For Input Access Read Shared As #1 Do While Not EOF(1)

Input #1, sColumn(0), sColumn(1), sColumn(2), sColumn(3), sColumn(4),

sColumn(5), sColumn(6)

If nRow > 1 Then

For nColumn = 1 To iColumnCount

objExcel.Cells(nRow, nColumn).Value = sColumn(nColumn - 1)

Next nColumn End If

nRow = nRow + 1 Loop

43

Close #1 End If

'sum all the cups from the data taken from the database With objExcel

.Sheets(\"Sheet1\").Select

.Sheets(\"Sheet1\").Name = \"Data\" .Range(\"C\" & nRow).Select

.Application.CutCopyMode = False

.ActiveCell.FormulaR1C1 = \"=SUM(R[-\" & nRow - 1 & \"]C:R[-1]C)\" .Range(\"D\" & nRow).Select

.ActiveCell.FormulaR1C1 = \"=SUM(R[-\" & nRow - 1 & \"]C:R[-1]C)\" .Range(\"E\" & nRow).Select

.ActiveCell.FormulaR1C1 = \"=SUM(R[-\" & nRow - 1 & \"]C:R[-1]C)\" .Range(\"F\" & nRow).Select

.ActiveCell.FormulaR1C1 = \"=SUM(R[-\" & nRow - 1 & \"]C:R[-1]C)\" .Range(\"G\" & nRow).Select

.ActiveCell.FormulaR1C1 = \"=SUM(R[-\" & nRow - 1 & \"]C:R[-1]C)\" .Range(\"C\" & nRow & \":G\" & nRow).Select .Charts.Add End With

'configure the chart

With objExcel.ActiveChart

If Val(objExcel.Version) >= 8 Then 'use Excel 8 specific properties .ChartType = 54 'xl3DColumnClustered .RightAngleAxes = True .Legend.Clear End If

.SeriesCollection(1).XValues = \"=Data!R1C3:R1C7\" End With

With objExcel.ActiveChart .ChartArea.Select .HasTitle = True

.ChartTitle.characters.Text = \"Coffee\" .Axes(2).HasTitle = True '2=xlValue

.Axes(2).AxisTitle.characters.Text = \"Amount\" '2=xlValue .Deselect End With

'to print the chart uncomment next line 'objExcel.ActiveChart.PrintOut

'Set an RSView tag to show animation on Architecture screen tagProcessState.Value = 15 Exit Sub ErrHandler:

If Err.Number = 438 Then

44

gActivity.Log \"This script created with Excel 97. Some properties and methods do

not exist in earlier\" _

& \" versions of Excel\ End If

gActivity.Log \"RSView32 VBA Error \" & Err.Number & \": \" & Err.Description, _

roActivityError Resume Next End Sub

6、设置Startup选项卡,运行DEMO项目。

1) 在项目管理器中,双击Startup选项卡,调出启动配置窗口,点击启动选项卡,在初始图形中选中项目初始运行的画面以及前面的复选框。如果项目中有数据记录、全局键、报警、衍生标签、事件、启动宏、停止宏等,也可以进行相应的配置。单击确定,退出配置画面。

2) 点击项目管理器上的运行模式选项卡,切换到运行模式下,然后点击项目管理器下方的运行项目按钮,运行项目。

45

3) 点击项目管理器下方的停止项目按钮,可以停止该项目的执行,并关闭RSView32。

到此为止制作完了监控画面。

五、了解RSView Studio软件,以及ViewAnyWare策略

ViewAnyWare

ViewAnyWare产品,与用于控制的Logix以及用于通讯的NetLinx架构在一起,构成了罗克韦尔自动化的集成架构策略。ViewAnyWare策略将罗克韦尔自动化在Allen-Bradley电子化操作员接口和工业PC机硬件方面的专业技术,同罗克韦尔软件的管理控制软件组合在一起。当前的ViewAnyWare产品包括: • RSView Enterprise SeriesTM软件 • PanelView PlusTM操作员接口 • VersaViewTM工业计算机和监控器 • VersaView CE工业计算机 RSView企业版系列软件

罗克韦尔软件的RSView企业版系列是一种HMI软件产品,它被设计成具有通用的外观、感觉和向导以帮助加速HMI应用系统开发和培训时间。使用RSView企业版系列3.0,您可以参考已经存在的Logix数据标签。这些参考标签的任何变化会被RSView自动继承。RSView企业版系列软件包括:

• RSView StudioTM允许您在单一的设计环境中创建应用系统。它可以组态Supervisory Edition,Machine Edition,VersaView CE以及PanelView Plus。为改善嵌入式机器和管理层的HMI系统之间的可移植性,它支持编辑和再使用项目,节省了开发时间,降低了工程和培训成本。

• RSView Machine EditionTM(ME)是机器级的HMI产品,支持开放型和专一型的操作员接口解决方案。它在多个平台(包括Microsoft Windows CE,Windows 2000/XP,以及PanelView Plus解决方案)之间提供了一个通用的操作员接口,对于监视和控制单独的机器或小型的处理过程都是很理想的。

• RSView Supervisory EditionTM(SE)是一种用于管理级监视和控制应用系统的HMI软件。它具有分布式和可升级的架构,支持分布式服务器/多用户的应用系统。这种可升级的架构可以应用到一个单独的、单服务器/单用户的应用系统中,或者与多台服务器接口的多用户系统中。

PanelView Plus操作员接口

PanelView Plus对于需要监视、控制以及用图形显示信息的应用系统是很理想的,使操作员可以快速理解他们应用系统的状态。PanelView Plus使用RSView Studio编程,并且嵌入了RSView Machine Edition功能。它将广泛使用的Allen-Bradley PanelView标准版的最好特性与PanelView “e”操作员接口产品联合在一起,并且增加了新的功能,包括: • 多厂商之间通讯 • 趋势图 • 表达式 • 数据日志 • 动画

• 直接浏览RSLogix 5000地址的RSView Studio

VersaView工业计算机和监控器

46

VersaView是一系列工业计算机和监视器的解决方案,包括集成的显示计算机、工作站、无显示计算机和水平面板监视器。VersaView产品提供了改变技术的简易管理,结实且低成本的设计,更简单的产品配置。所有的VersaView产品提供了可用的最新的工业解决方案,使可视化、控制、信息处理以及维护应用系统方面均达到最优化。RSView ME,RSView SE客户端,以及RSView SE服务器运行版都被安装了(需要分别激活)。

VersaView CE工业计算机

VersaView CE是带有Windows桌面环境的开放式Windows CE终端——它将操作员接口和工业计算机的特性集中在一起。它是带有紧凑的闪存驱动并集成RSView Machine Edition运行版(不需要激活)的高性能计算机。没有硬盘、风扇以及移动部件,这意味着在工厂层上的最大可靠性。VersaView CE容易装配和维护,它是一个简易并且经济的开放式系统,可以很容易的在包裹中使用并提供了强大的功能。

下面使用RsView Studio软件开发一个在PanelView Plus上控制变频器的工程。

1) 打开RSView Studio集成开发平台

2) 选择PanelView Plus的开发环境Machine Edition,点击OK继续。

3) 点击New菜单,输入项目的名称PVP_VFD,单击Create继续。

47

建一个新的项目 项目名称 最后点击建立

4) 点击PVP_VFD,新建一个新的OPC数据服务器。

添加OPC数据服务器

5) OPC数据服务器的名称为OPC,OPC为RsLinx OPC Server。

48

6) 如图所示,单击Communication Setup进行通讯接口设置。

点击通讯设置

7) 新建一个配置,点击Finish结束。

49

8) 新建一个名称为PVP的主题名,点击Local,添加一个Ethernet设备。

添加主题名 添加以太网的设备

9) 对应Demo箱上Ethernet设备,添加对应的模块,选择后按OK结束。

50

添加以太网的设备

10) 输入Ethernet设备的IP地址,按OK结束。

11) 将PVP与制定的运行VFD_Control的CPU对应起来,点击Apply后,点击Copy结束。

51

先点击Apply 后点击Copy

12) 继续点击Communication Setup,在Target菜单栏重新将PVP指向CPU-VFD_control.

先点击Target 点击OK结束

13) 点击Project Settings,修改项目的分辨率。

52

14) 修改项目的分辨率为800X600。

15) 新建一个画面用于控制变频器的操作。

53

16) 点击按钮,新建一个非保持的按钮在画面上。

点击按钮

17) 双击按钮进去,找到Connections菜单栏,单击Tag,为按钮分配标签

18) 如图所示,刷新所有的文件夹。

19) 点击PVP,找到在线数据,选中ControlLogix程序中的标签start,单击OK确定。

54

20) 如上述的步骤,继续添加一个停止按钮对应停止。然后可以改变按钮的颜色和字体。 21) 继续在画面上添加一个数据显示控件用于显示变频器的频率。

数据显示控件

22) 如上步骤,为控件分配CPU标签,标签在对象数据模型里。

55

23) 继续在画面上添加一个数据输入控件用于调节变频器的频率。

24) 如上步骤,为控件分配CPU标签,标签在对象数据模型里。

数据显示控件 56

25) 变频器的基本控制已经结束,因该保存修改,我们将改画面的名称定义为Main。

57

26) 将鼠标移到Strartup菜单栏,双击进入设置起始画面。

双击进入

27) 单击选中Initial graphic,选中我们新建的Main画面为主画面。

58

单击选中

28) 点击图标进行模拟测试阶段。

模拟测试

29) 测试成功后,如下图所示,我们生成在PanelView Plus上显示的运行项目.Mer打包项目文件。

生成项目文件

30) 选择项目文件保存的目录D:\raining\\PVP_VFD.mer文件。

59

31)到现在为止,我们的开发工作已经完毕,现在需要将项目文件下载到PanelView Plus的CF卡中,我们有三种下载途径,DF1口、外部CF卡和Ethernet网络。现在我们通过Ethernet下载项目文件。如图点击下载工具。

点击下载工具

32) 点击左上方的Download,选择Source file为D:\rianing\\PVP_VFD,然后选择屏幕下方的PanelView Plus1250,点击右上方的Download进行网络下载文件。

60

下载项目文件 源文件 PanelView Plus1250

33) 下载项目文件结束后,点击终端上。

退出,现在我们将注意力放到PanelView Plus

34) 下面两点是重要的注意事项:

󰁺 PanelView Plus上电后便直接进入配置画面,并没有象RAC6182或VersaView CE一样

的操作系统界面。

󰁺 您能通过配置画面配置您终端的不同显示需求。

35) 单击F4进入终端设置,显示配置选项。

61

Diagnostics Setup – 提供工具对不同的事件进行分类 Display – 提供屏幕保护和定制的屏幕亮度

File Management –管理PanelView Plus内的项目和字体文件 Input Devices – 提供标定输入设备的接口

Networks and Communications – 配置PanelView Plus的网络接口属性。包括Ethernet

口和RsLinx Enterprise “shortcuts”。 Print Setup – 配置诊断和报警的打印属性

Startup Options – 设置Machine Edition的启动参数选择 System Event Log – 显示PanelView Plus所有的事件日志 System Information –提供Machine Edition的版本和硬件统计 Time/Date/Regional Settings –设置终端的时间和区域设置

36) 单击F8进入主配置界面。

37) 单击 “Load Application [F1]” button.

38) 单击 “Load Application [F1]” button。装载我们刚才下载的项目文件PVP_VFD.mer文件。

62

39) 单击 “Run Application [F2]” 按钮运行您的项目。

下面使用RsView Studio Supervisor Edition软件将PanelView Plus的程序移植到HMI程序RsView SE上。

1) 打开RsView Studio集成开发平台

2) 选择PanelView Plus的开发环境Supervisor Edition Stand-alone,点击OK继续。

63

3) 点击New菜单,输入项目的名称PVP_VFD,单击Import继续。

建一个新的项目 项目名称 最后点击导入

4) 选择RsView Machine Edition Application,点击Next继续。

64

导入ME项目程序 最后点击继续

5) 选择上面的ME程序PVP_VFD,点击结束。

选择实验七点ME程序PVP_VFD最后点击结束

6) 如图所示,单击Communication Setup进行通讯接口设置。

65

添加OPC数据服务器

7) OPC数据服务器的名称为OPC,OPC为RsLinx OPC Server。

8) 展开树形结构,会发现ME的Main画面已经导入进来,你双击打开Main。

66

点击Main

9) 你发现你的EOI程序这么快就转换为了HMI软件,马上点击运行吧,观察一下你的开发成果。

67

第二天培训内容——罗克韦尔网络架构

一、NetLinx网络架构 NetLinx完整的网络架构

罗克韦尔自动化开放式通讯架构提供了优异的效率和性能,可以方便地使用您的特殊要求。NetLinx架构包含了连接制造系统和企业管理系统的所有必需的要素。这种底层到顶层的通讯模式将满足您建立完备系统的需求。 用户所需要的是面向未来的解决方案,它可以提供先进的网络技术、更高的系统性能和产出能力。我们的一整套通用的通讯技术及其开放式软/硬件接口可以将制造层设备以多种方式连接至互联网。这种技术充分发挥了控制和信息协议(CIP,Control and Information Protocal)的优势,并提供了完整的网络功能以及标准的软/硬件接口。

与介质无关

NetLinx是“与介质无关“的技术。它意味着您可以根据您的具体应用要求选择通讯组件和介质。如面向信息和控制数据传输的基于Ethernet TCP/IP的Ethernet/IPTM,为确定性控制层选择ControlNetTM,以及为设备层选择DeviceNetTM,在过程控制方面也可选择与FOUNDATION FieldbusTM的连接。您可以设计一个功能强大的解决方案,采用最新的技术,提供最先进的功能。为进一步开发您的通讯系统,NetLinx架构融合了开放式技术如面向过程控制的对象连接与嵌入技术(OPC),以及来自罗克韦尔软件的RSLinxTM和IOLinxTM软件产品。用市场上现有的软/硬件组件,为您的计算机系统提供无缝接口。

开放式接口

NetLinx为您提供建立完善解决方案所需的各种工具。NetLinx架构不仅提供了Ethernet/IP、ControlNet、DeviceNet和FOUNDATION Fieldbus等网络连接,重要的是:NetLinx架构还包含了面向自动控制而优化的一整套通用的高级软件接口。和这些网络一样,这些接口是完全开放的,并能保证最为高效的数据传输。 网络接口包括软件(应用程序接口API和网络驱动)、PC卡件及嵌入式解决方案。这些接口向您提供了很好的灵活性:或使用市场上现有的应用软件,或使用通用的Windows PCTM (NT,95/98,2000,XP)、Visual BasicTM或C++等编写用户程序,以达到采集数据、组态用户网络系统和实时控制的目的。对于这些软件接口,我们同样可以提供全系列的硬件接口卡。这些接口卡和软件一起为您提供完整的NetLinx解决方案。

二、EtherNet/IP网络

Ethernet/IP:企业范围的信息管理

面向设备组态、数据采集和实时控制的Ethernet/IP开放工业协议

Ethernet TCP/IP,这一广泛运用于万维网(World Wide Web)和大多数电子邮件系统的网络,同样是罗克韦尔自动化在制造层和用户商务系统之间的网络选择,因为通过它访问各种企业的信息系统相当便利。Ethernet/IP网络可向几乎所有的计算机系统和应用软件包提供多厂商的连接能力,并充分利用了现成商用的Ethernet/IP芯片和物理介质,使其成为广为接受的全球标准。Ethernet/IP采用了标准的Ethernet TCP/IP,包括协议、芯片和介质,并在顶层植入了基于NetLinx架构的IP,即工业协议(Industrial Protocol)。其结果是:采用Ethernet/IP对您的工厂进行组态、数据采集和控制,就可以同时享有所有标准Ethernet TCP/IP和NetLinx网络架构的优点。

68

互联网网站服务器(Internet Web Server)功能

Ethernet/IP使用标准的网站浏览技术通过互联网传送数据,罗克韦尔自动化已经在许多产品中嵌入了Web Server功能。使用标准的网页浏览器,用户可以对这些不同产品进行数据读/写,解读诊断信息,建立用户自定义页面。这样,利用这种功能,您可以方便地从PLC中采集数据,或将数据写入远程数据表,或从连接用户应用程序的PC机中读取数据。同时利用RSLinx和IOLinx这样的软件工具,可以将控制数据集成到MRP系统,达到生产调度、报表输出和数据分析的目的。

面向实时控制的Ethernet/IP

以太网(Ethernet)已在工业和商务领域得到的全球范围的广泛认可,所以人们迫切希望能将其应用范围向制造业延伸。如果工艺过程允许信息传递存在少量不确定性,那么您或许可以考虑使用Ethernet/IP作为实时控制网络。采用NetLinx网络架构的Ethernet/IP从设计本身来讲就是可以用于实时控制场合的,同时又可以向工厂自控人员提供一个他们所熟悉的控制环境。

三、ControlNet网络

控制网(ControlNet)是一种具有高速,高度确定性和可重复性的网络,它处于体系结构的中间层次,特别适用于对时间有苛刻要求的复杂应用场合的信息传输。它对于同一链路上的I/O,实时互锁,对等通信报文传送和编程操作,均具有相同的带宽。控制网具有高吞吐量,资源共享,组态和编程简单,传输介质为同轴电缆或光纤,支持冗余介质,体系结构灵活和安装费用低等特点。当通信速率5Mbit/s时,网络刷新时间最小可达2ms,可寻址节点数为99个,同轴电缆传输距离达3km(光纤介质使用中继器可达30km)。它通过ControlLogix gateway,能实现控制网与信息网(EtherNet),设备网(DeviceNet),远程IO(RIO),数据高速公路(DH+)网络之间的数据交换。

控制网支持主从通信,多主通信,对等通信或这些通信的任意混合形式,对输入数据和对等通信数据实行多信道广播。通信形式可以组态选择,应用更灵活。对等通信或多主通信的采用,可以提高网络的可靠性,改进网络的性能。

控制网的一个最重要功能是,在传送对时间有苛刻要求的控制信息(如I/O状态和互锁的控制信号等)的同时,其他无时间苛求的信息(如程序的上载和下载等)也能传送。而对时间有苛求的信息(预定信息),在每个网络刷新周期内,是一定要传输的,这就保证了控制的实时性和可靠性。

因此,利用控制网高度确定、可重复的特性实现本层数据实时可靠传输。而控制网的基于生产者/消费者的模式又能提供所有控制设备多种方式进行通信,以有效利用网络带宽。另外,控制网提供的冗余介质特性能满足系统对于稳定性和安全性的要求。

四、使用RSNetWorx for ControlNet软件优化ControlNet网络

69

1) 双击RSNetWorx 快捷方式。 2) 将进入以下的画面。

,启动RSNetWorx软件。

3) 点击在线按钮

,选择以太网的Driver,上到背板,找到CNB网卡,最后进入ControlNet。

70

4) 点击OK后,出现了如图所示的画面。然后点击编辑使能(Edits Enabled)。

5) 单击菜单Network的Properties项进行网络参数设定。

6) 点击后,出现了网络参数对话框。并如图所示改变Max Scheduled Address为6. 改变Max Unscheduled Address为 11,然后点击OK按钮。

71

7) 点击菜单栏的保存按钮。会出现以下画面。

8) 点击Save按钮,将组态文件保存在硬盘上。在随后出现的画面中单击OK继续。

9) 点击OK按钮,网络优化到此结束。

72

五、DeviceNet网络

DeviceNet是一种低成本的通讯总线。它将工业设备(如:限位开关,光电传感器,阀组,马达启动器,过程传感器,条形码读取器,变频驱动器,面板显示器和操作员接口)连接到网络,从而消除了昂贵的硬接线成本。DeviceNet是一种基于CAN协议的现场总线。它在CAN协议上加入了自己的应用层协议,结合了CAN总线的优点,同时也满足了更为复杂的应用要求。

设备网(DeviceNet)是为工业设备与高层设备互联而设计的低层网络。它可以达到既满足高速应答又方便现场施工的性能要求,而其它网络是难以达到的。设备网采用适当的传送波频率,可以在125Kb/s、250Kb/s、500Kb/s中进行选择。在500Kb/s时,每1bit的脉宽为2µs。而且识别这个脉冲的时间也是经过80%脉宽。因此能避开由于信号的反射及延迟而产生的影响,并且有很强的抗噪音性能。通过采用适当的传送波特率,允许在DeviceNet中可以进行多分支、星形接线、T分支、支线分支、菊花链等多种支线分支的自由拓扑接线方式。因此用户完全可以按自己的设计,简单、不浪费地完成接线施工。不仅节省接线,而且还节省资源,在减少施工错误的同时还缩短施工时间。由于DeviceNet 采用非破环性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动地退出发送,而最高优先级的节点可不受影响地继续传送数据,从而大大节省了总线冲突仲裁时间,尤其是在网络负载很重的情况下也不会出现网络瘫痪情况。它还采用了被称为CSMA/NBA先进的通信方式,即使以较低的速率进行传送,仍能实现高速应答。无论是500Kb/s还是1Mb/s以上,都能与其他的网络一样保持实现高速应答。设备网不仅改进通信效率,而且能够提高设备级的诊断能力,而这些性能通过硬线I/O是难以实现的。此外,设备网还有如下特点:

󰁺 采用短帧结构,数据段长度最多为8个字节,传输时间短,受干扰概率低,可满足通常

工业领域中控制命令,工作状态及测试数据的一般要求。

󰁺 只需通过报文滤波即可实现点对点,一点对多点及广播发送等几种方式传送接收数据。 󰁺 多主方式工作,网络上任一节点均可在任意时刻主动向网络上的其它节点发送信息,不

分主从,通信方式灵活,且无需站地址等节点信息。利用这一特点可方便地构成多机备份系统。

󰁺 使用主干—分支的拓扑结构。总线电源与通讯信号使用同一信号电缆。总线电源为

24VDC,其向节点提供工作电源及向输入设备提供电源。其节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响。 󰁺 利用网络级联技术,它可以提供无限的I/O端口,并提供设备的互联性和即插即用特性,

增加了系统的可扩展性。

󰁺 采用CAN物理层和数据链路层规约,使用CAN规约芯片,得到了全球超过300家厂

商的支持.

󰁺 具有通信错误分级检测机制、通信故障的自动判别和恢复功能。 󰁺 可带电更换网络节点,在线修改网络配置。 󰁺 低成本、高可靠性的数据网络。

网络大小 最多64个节点

网络长度 可选的端 — 端网络距离随网络传输速度变化

波特率

距离

125kbp 500m(1640ft) 250kbp 250m(820ft) 500kbp 100m(328ft) 73

数据包 0-8字节 总线拓扑结构

线性(干线/支线);

电源和信号在同一网络电缆中

总线寻址 带多点传送(一对多)的点对点;多主站和主/从;轮询或逢

变则报(基于例外) 系统特性 支持设备的热插拔,无需网络断电

六、使用RSNetWorx for DeviceNet软件组态DeviceNet网络

1) 打开RSNetWorx for DeviceNet,如图:

2) 进入DeviceNet组态画面,点击online图标 这里选用的是1770-KFD-1,DeviceNet。

,选择扫描网络所需的通信适配卡,

74

3) 点击OK,软件开始扫描网络上的设备,如图

4) 扫描完毕后,双击1756-DNB,选择Module标签,会弹出对话框,如下图所示:

75

5) 选择Upload,从模块中上载组态信息。上载完毕之后,如下图所示:

6) 检查1756-DNB的Slot号是否正确。然后选择Scanlist标签,如图:

76

7) 点击 把设备添加到扫描列表中。如下图。

8) 当把设备添加到1756-DNB的扫描列表后,该软件会自动建立输入/输出数据映像区。点击Input标签。

77

9)从上图可以看出,软件自动分配的映像区是连续的,这样可以节省空间,但是编程会很费事。如果需要重新映射,点击

按钮。这时所选设备的映像区会自动消失。

78

10)点击

按钮。然后在弹出的窗口中输入以下信息:

11)点击OK。重新映像完成。

79

12)同样,对输出映像区也如此操作。确认无误后,点击应用,将组态信息下载到1756-DNB中,完成DeviceNet的组态。

七、与第三方网络的通讯

1、与Profibus DP通讯

使用SST公司生产的SST-PFB-CLX模块可以实现ControlLogix与Modbus的通讯。具体实现步骤如下:

1) 在控制器项目管理器中,右键点击I/O Configuration,选择New Module。在弹出的模块选择窗口中选择选择1756-MODULE类型的模块。点击OK。 出现的Module Properties窗口如下:

80

所有参数的设置均如图所示。

2) 点击Finish,保存模块组态信息。

3) 复制随模块附带的SST例子程序(SSTPFBCLX_Preview_2_Example.ACD),以便与扫描器建立接口。然后创建其它的逻辑程序,并将其下载到ControlLogix控制器中。

4) 接下来,需要把SST-PFB-CLX模块组态成DP的主站。首先打开SST PROFIBUS组态工具。

5) 然后选择File菜单下的New,来创建一个新的组态。打开PROFIBUS Devices面板,选中SST-PFB-CLX Master device。

6) 把这个Master设备添加到DP网络视图中。可以直接将其托拽到网络视图中,或者点击主工具栏的Add to Networx

按钮。然后弹出所选设备的组态窗口。

81

7) 在General选项卡的Station字段中,填写站点地址。 8) 选择CLX Options选项卡。

9) 在其中设置输入/输出数据的类型,缺省值为WORD型。在RPI字段中设置RPI的时间为5ms。一定要确保该Request Periodic Interval复选框被选中,而且此数值必须与在RSLogix 5000软件I/O组态中的RPI值保持一致。

10)选择COM Port选项卡。然后确定下载Master组态信息的COM口。

82

11) 点击OK,保存设置。Master设备会添加到网络视图中。

12)然后,在PROFIBUS Devices面板中选择想要通讯的从设备。如果从设备没有列出来,可以在PROFIBUS Devices面板上,点击New Device图标,添加GSD文件。

13) 将从设备添加到网络。然后弹出从设备的组态窗口。

83

14) 在General选项卡中设置从设备的站点号。点击Module选项卡。

15) 添加该从设备使用的模块。

84

16) 在Address选项卡中,分配输入和输出地址。

17) 在Ext. Prms选项卡中,组态从设备和模块的参数。

85

18) 接下来,设置网络参数。在Network视图中,选择Properties。

19) 当设置完网络参数后,点击OK保存新的设置。

20) 将完成的组态工程导出成.Bss文件。再将其下载到扫描器中即可。

2、与Modbus/ Modbus+通讯

使用ProSoft公司生产的MVI56-MCM模块可以实现ControlLogix与Modbus的通讯。使用MVI56-MCP模块可以实现ControlLogix与Modbus+的通讯。具体实现步骤如下: 1) 创建新的模块,或从样例程序中复制已经创建的MCM模块。

86

2)选择1756-MODULE类型的模块。

3)新建模块的设置如图所示。如果是从样例程序中复制的模块,那么这些设置都已经内置。

4)复制样例程序的User-Defined里所有的数据类型到新的程序中。

87

5)然后复制样例程序中的tag到新的程序。需要复制的tag包括:ColdBoot(模块冷启动),WarmBoot(模块热启动)和MCM。如果新创建MCM tag,那就必须仔细参考样例程序和说明书对新的MCM tag预先填写设置数据。

6)MCM.ModDef的数据设置。此Tag设置模块的基本数据传送结构 7)MCM.Port2和MCM.Port3的数据设置。这两个Tag设置模块的两个Modbus端口的设置。每个Tag的具体含义请参考说明书。样例程序中把模块的Port2设置成Modbus主站,Port3设置成Modbus从站,并设置了相同的通讯参数。模块运作正常时,Port2可以成功向Port3发送Modbus命令。先要将Port2和Port3用两根RJ45-RS232和一根RS232 NULL MODEM线连接。

8)MCM.P2Cmd定义了P2端口上的Modbus命令。MCM.P2Cmd[0]这条指令的含义是从Modbus从站地址1的40001开始,用功能代码3读取10个寄存器,所读的数据放置在模块的内部数据库600开始。每个端口最多100条命令。

9)MCM.P3Cmd定义了P3端口上的Modbus命令。如果P3端口做从站,这些设置的命令将无效。

10)MCM.InStat用来查看模块的状态数据。

88

11)复制MainRoutine里的此行程序,以及两个子程序:ReadData 和 WriteData。

样例程序运行后,连接端口2和3后,WriteData[0]到WriteData[9]的数据会经过模块,Modbus网络,模块,最后到ReadData[0]到ReadData[9]内。

89

3、与RS-232C, RS-422, RS-485通讯

使用1756-MVI 、1756-MVID模块可以实现ControlLogix与RS-232C, RS-422, RS-485的通讯。用户可以编程该模块,以使设备适应特定的串口协议。采用工业标准DOS编程工具和适当的API软件,开发模块的应用程序。

八、使用IAB软件设计自动化系统

下面要配置一个具有500点离散量输入、500点离散量输出、80点模拟量输入、80点模拟量输出的ControlLogix系统冗余系统。

1)打开Integrated Architecture Builder软件,创建一个新的项目。

2)点击OK,在下面的窗口中输入项目名称。

90

3)然后点击Action菜单下的Add New System按钮。

4)在出现的系统工作平台中,添加一个ControlLogix系统。

91

5)出现如下系统。

6)在ControlLogix系统图标上,双击鼠标左键,调出ControlLogix Subsystem Wizard。

92

7)首先确定ControlLogix系统框架的参数。因为此系统需要进行冗余,所以选中Use redundant Controller Chassis。其它参数取默缺省值。然后点击下一步。

8)然后是对离散量I/O进行组态。假定系统中所有的离散量模块均为直流模块。输入离散量模块的数量并指定模块的类型,否则系统会自动为您选一种最佳的模块。点击下一步。

93

9)接下来,组态模拟量模块。在相应的类型中输入模拟量模块的数量。点击下一步。

10)由于本系统中没有运动控制,因此不用组态运动信息。继续点击下一步。

94

11)组态网络选项。如果需要冗余媒体,选中Use Redundant Media。点击下一步。

12)配置控制器的类型以及余量。然后点击完成。再点击Networx选项卡,可以看到ControlNet

95

网络上有很多,这说明网络还有问题。

13)运行ControlNet Status向导。

14)选择电缆的类型。然后点击确定。

96

15)至此,整个系统配置基本完成。可以点击Hardware选项卡进行浏览。

16)由于ControlLogix框架是由系统选择的,所以为了适合实际应用,需要进一步进行修改。可以看到主框架和最后一个框架的槽位剩余很多,这样很浪费,如果选择更小的框架会更好。 首先选中要修改的框架,然后双击鼠标左键。

97

17)将框架组态画面中的槽数量改成7(如果不能修改,请将框架中的最后一个模块向前移动几个槽位即可),如下图。

18)把框架上的空槽使用1756-N2空槽盖板盖上。可以直接从Specially Module列表下,选择1756-N2,然后将其拖拽到框架中。如下图:

98

19)如果需要给系统添加一些附件,可以选中相应的模块,然后点击鼠标右键,选择Add Accessory。

20)选择所需的附件,点击Add按钮,然后点击OK按钮。

点击File菜单下的Create Report可以生成系统报告。至此对系统配置完毕。

99

因篇幅问题不能全部显示,请点此查看更多更全内容