当前位置:
基于POWERLINK-APL解决方案
来源: | 作者:王谨秋 | 发布时间: 2026-02-27 | 22 次浏览 | 分享到:

POWERLINK-APL系统可以通过控制器、POWERLINK网络、电源交换机、现场交换机对管理数据的转发,实现对现场不同设备的EDD文件获取和解析,对各仪表设备进行统一管理。不需要额外配置手操器进行就地调试,支持远程联合调试,让调校更加便捷。


拓扑结构:


系统介绍

主干网采用100/1000MbpsPOWERLINK

电源交换机为仪表提供电源,并将总线速率由100/1000Mbps的以太网,转换成10MbpsAPL; 电源交换机,除了可以与APL设备通信外,还可以与Profibus DP, RS485等设备通信。

现场交换机用于扩展更多的仪表或者其他APL设备。

  • POWERLINK交换机/HUB (100/1000Mbps)

    主干网采用100/1000Mbps POWERLINK总线,带宽使用率高,速度快,数据帧之间的间隔短,支持大数据量传输,可容纳更多的设备。

  • 电源交换机

    电源交换机带有两个POWERLINK通信口、两个光口、8APL通讯口,使用MCU进行冗余控制、配置IP地址、报警显示、协议解析等。另外电源交换机需要外接辅助电源为每个APL接口提供60V/1A的驱动电源,用于给现场交换机供电。

  • 现场交换机

    现场交换机用于扩展APL通讯口,使用MCU进行冗余控制、配置IP地址、报警显示、协议解析等。现场交换机共有16-24APL口。

支持星形拓扑+双网冗余;支持菊花链+环网冗余。


网络系统的组态软件

  • 功能介绍

可以对主控制器,电源交换机,现场交换机,仪表转接卡等设备进行可视化组网。有如下功能:

1.       可视化组态功能;

2.       每种仪表需要有一个用于组态的设备描述文件;

3.       根据网络的组态,生成网络的配置信息;

4.       根据网络的组态,生成网络的地址,用于通信寻址;

5.       根据网络的组态,生成过程变量与仪表参数的映射。

下图所示:

  • 工作流程

1.     添加控制器(主站);

2.         添加冗余控制器(备用主站);

3.         添加电源交换机(选择环网还是星形);

4.         添加多个电源交换机(选择环网还是双网);

5.         在指定的电源交换机端口添加现场交换机(选择环网还是双网);

6.         在指定的现场交换机端口添加仪表,每个仪表有一个电子描述文件;

7.         添加更多的仪表;

8.         生成系统的配置文件,根据组态来查找仪表,给仪表编址;

9.         生成仪表的参数配置命令,交给控制器;

10.     生成变量映射表,将仪表的参数和过程变量建立连接,用于数据的解析。


  • 仪表的描述文件

每个仪表有XML格式的文件,用于描述仪表的设备类型,参数的列表等信息。

设备描述包含如下信息:

Device identity: 描述设备本身的一些信息。

vendorName:设备生产厂家的名字或者品牌。

vendorID:设备生产厂家的ID号。

vendorText:生产厂家的文字描述,例如公司介绍,地址电话等。

deviceFamily:设备类别,标示该设备的种类,例如压力传感器等

productFamily:产品系列,设备制造商自定义的产品系列

productName,:产品名称

productID:产品的ID

productText:产品的描述

orderNumber: 订货号

version:版本描述,包括:软件版本,硬件版本,固件版本

 

<DeviceIdentity>

        <vendorName>vendor_name</vendorName>

        <vendorID>0x12345678</vendorID>

        <productName>MyName</productName>

        <productID>1234</productID>

        <productText>

          <label lang="en">POWERLINK Dummy I/O device</label>

        </productText>

        <orderNumber>order_text</orderNumber>

        <version versionType="HW">1</version>

        <version versionType="FW">1</version>

        <version versionType="SW">1</version>

</DeviceIdentity>

 

参数说明如下:

EPL_OBD_BEGIN_INDEX_RAM(0x2000, 0x05, NULL)

EPL_OBD_SUBINDEX_RAM_VAR(0x2000, 0x00, kEplObdTypUInt8, kEplObdAccConst, tEplObdUnsigned8, number_of_entries, 0x4)

EPL_OBD_SUBINDEX_RAM_USERDEF(0x2000, 0x01, kEplObdTypUInt8, kEplObdAccVPR, tEplObdUnsigned8, Sendb1, 0x0)

EPL_OBD_SUBINDEX_RAM_USERDEF(0x2000, 0x02, kEplObdTypUInt8, kEplObdAccVPR, tEplObdUnsigned8, Sendb2, 0x0)

EPL_OBD_SUBINDEX_RAM_USERDEF(0x2000, 0x03, kEplObdTypUInt8, kEplObdAccVPR, tEplObdUnsigned8, Sendb3, 0x0)

EPL_OBD_SUBINDEX_RAM_USERDEF(0x2000, 0x04, kEplObdTypUInt8, kEplObdAccVPR, tEplObdUnsigned8, Sendb4, 0x0)

EPL_OBD_END_INDEX(0x2000)

 

详细解释:

EPL_OBD_BEGIN_INDEX_RAM(0x2000, 0x05, NULL):索引为0x2000的object 一共有0x05个sub object。

EPL_OBD_SUBINDEX_RAM_VAR(0x2000, 0x00, kEplObdTypUInt8, kEplObdAccConst, tEplObdUnsigned8, number_of_entries, 0x4):索引为0x2000,子索引为0x00的object表示一共有多少个有效的sub object,这里的值为0x4,表示一共有4个有效的sub object。接下来分别是子索引为0x01,0x02,0x03,0x04的sub object。详细解析如下object。

EPL_OBD_SUBINDEX_RAM_USERDEF(0x2000, 0x01, kEplObdTypUInt8, kEplObdAccVPR, tEplObdUnsigned8, Sendb1, 0x0)

0x2000:object的索引值,16bit无符号整数

0x01:object的子索引值,8 bit无符号整数

kEplObdTypUInt8:对象的数据类型(kEplObdTypUInt8表示无符号8bit整数)

kEplObdAccVPR:访问类型

tEplObdUnsigned8:对象数据类型的c语言定义