HK-CIFX板卡作为EtherCAT从站的基本使用举例

HK-CIFX是一款基于PC的协议板卡,用于为PC扩展各类现场总线与工业以太网协议接口。其扩展接口多样,包括PCI,PCIe,MiniPCIe,M.2.,PC/104,PCI104,CPCI等。支持的现场总线与工业以太网协议众多,包含PROFIBUS,PROFINET,CANopen,EtherCAT,DeviceNet,EtherNet/IP,CC-Link,CC-Link IE Field Basic,Modbus,POWERLINK等。本篇文章旨在举例说明如何将HK-CIFX板卡作为EtherCAT从站使用。

HK-CIFX是一款基于PC的协议板卡,用于为PC扩展各类现场总线与工业以太网协议接口。其扩展接口多样,包括PCI,PCIe,MiniPCIe,M.2.,PC/104,PCI104,CPCI等。支持的现场总线与工业以太网协议众多,包含PROFIBUS,PROFINET,CANopen,EtherCAT,DeviceNet,EtherNet/IP,CC-Link,CC-Link IE Field Basic,Modbus,POWERLINK等。本篇文章旨在举例说明如何将HK-CIFX板卡作为EtherCAT从站使用。

1. 插板卡

第一步是在工控机未上电的情况下,将CIFX板卡插入到对应的PCI插槽中并固定住,确保板卡的金手指部分与PCI插槽是充分接触的。详细的接口定义可查看光盘中的文档《PC Cards CIFX 50 50E 70E 100EH UM 48 EN》。

2. 装驱动

给工控机上电,打开设备管理器,会发现新的PCI设备,如图2.1。

                 图2.1,已插入的PCI设备

在以下光盘路径中找到对应的Windows

驱动并双击运行安装,如图2.2,详细安装过

程可参考文档《cifX Device Driver Installation

for Windows OI 09 EN》。

图2.2,CIFX的Windows驱动

路径:Communication_Solutions_DVD_2017-08-1_V1_400_170125_19044\Driver and Toolkit\Device Driver (NXDRV-WIN)\Installation

驱动软件安装完成后建议重启工控机,CIFX板卡会自行寻找驱动并安装,安装完成后如图2.3。

图2.3,驱动安装完成

注:如在安装过程中提示驱动程序未经签名,如图2.4,请先自行下载并更新Windows补丁文件

KB3033929,下载链接如下:https://docs.microsoft.com/en-us/security-updates/SecurityAdvisories/2015/3033929

补丁更新过程如图2.5,更新补丁之后请重启工控机。

   

图2.4,未经签名的驱动程序               图2.5,补丁KB3033929安装

3. 加固件

板卡驱动成功安装后,在Windows的控制面板中会出现cifX Setup以及cifX Test两个工具,其中cifX Setup可为板卡加载所需的固件,固件决定了板卡的协议类型以及主从站类型。而cifX Test可查看板卡的基本信息,也可进行简单的数据交换测试。

3.1 cifX Setup

打开cifX Setup工具,点选DevNr/SN——Active Devices——cifX0——CH#0——Add(选择所需固件,如cifxecs做EtherCAT从站,注意图中示例是加载的EtherCAT主站)——Apply。如图3.1。

图3.1加载固件

3.2 cifX Test

打开cifX Test工具,点选Device——Open——cifX0——Channel0——Open,打开对应的通道,如图3.2。选择Information可查看板卡的信息,可以看到板卡的Channel0已经加载了EtherCAT Slave固件(图中示例是加载EtherCAT主站的情况,从站类似)。选择Data Transfer可进行数据交换测试

图3.2,cifX Test打开板卡通道

图3.3,cifX Test查看板卡固件信息

4. 安装SYCON.net软件

SYCON.net软件用于赫优讯全部系列产品的配置,并可进行状态监控和通信测试。

本例中CIFX板卡作为EtherCAT从站,需要用SYCON.net软件进行EtherCAT网络的组态,并下载给CIFX板卡,让CIFX板卡具备初始化默认的EtherCAT从站配置。下载完网络配置信息后也可用该软件监控板卡的状态,并测试通信过程,如切换网络状态,CoE通信,点亮某个DO,采集某个DI等。

使用者可在产品光盘下找到SYCON.net软件的安装包。路径如下:

Communication_Solutions_DVD_2017-08-1_V1_400_170125_19044\Software\SYCON.net\SYCON.net

5. 在SYCON.net软件中配置板卡

根据应用的需要在SYCON.net软件中配置板卡并下载,具体过程如下。

5.1 打开SYCON.net软件

在开始菜单下找到SYCON.net并打开,默认密码为空,使用者可自行添加,如图5.1。

图5.1,打开SYCON.net软件

5.2 添加CIFX板卡

在Device Catalog中找到EtherCAT——Gateway/Stand-Alone Slave——CIFX RE/ECS V4.6,并用鼠标左键将CIFX拖拉到界面中间的灰线上,如图5.2。

图5.2,添加CIFX板卡

双击拖拉出来的CIFX图标,或在图标上右键——Configuration打开配置界面,点开Device Assignment——Scan,找到CIFX 50-RE并打勾,最后Apply.在Configuration选项下可设置从站输入输出数据长度等信息,点击Apply——OK关闭窗口,如图5.3。

图5.3,Device Assignment/Configuration

在CIFX图标上右键——Download,下载EtherCAT从站相关配置给CIFX板卡。主站一侧加载从站xml文件后,可以扫描到板卡。

图5.5,Download

6. 用SYCON.net软件进行监控与测试

6.1 状态监控

下载配置完成后,板卡就根据配置运行起来了。此时,右键CIFX图标——Connect,再右键CIFX图标——Diagnosis…可以监控板卡的运行情况,如图7.1所示。

图7.1,Diagnosis

可以看到,板卡当前的状态是Communication+Run,表示板卡已经运行,且正常进行数据交换.

6.2 数据交换测试

6.2.1 用IO Monitor测试PI数据收发

板卡运行起来后,进入Diagnosis——Tools——IO Monitor,同样可以看到上下两部分,如图7.9,上部分为Input data,即主站读从站的数据,下部分为Output data,即主站写从站的数据。

图7.9,IO Monitor

图7.9中Input部分出现叹号,提示“COM-flag not set”,那是因为板卡的Device state未处于Communication+Run状态,通过右键CIFX图标——Additional Functions——Service——Start Communication可以让板卡RUN,再通过Packet切换状态机让板卡与IO进入Communication状态。板卡进入状态后再回到IO Monitor,点击Clear可以清除提示。

7. CIFX的二次开发包

通过7.2章节的测试,相信每一个使用者对CIFX的通信机制都有一定的了解了,但如果使用者想基于CIFX板卡写应用程序,那么就需要用CIFX的二次开发包,二次开发包提供的API可实现7,2章节用到的所有通信过程,如切换状态,CoE,PI update等。

CIFX的API以库的方式提供,该库可以在以下的光盘路径下找到。

路径:Communication_Solutions_DVD_2017-08-1_V1_400_170125_19044\Driver and Toolkit\Device Driver (NXDRV-WIN)\API

CIFX的API主要分三部分的内容,Driver Functions,System Device Functions,Communication Channel Functions。

  1. Driver Functions:带前缀xDriver的函数,用于选定某个板卡,一台PC可连接了多个板卡;
  2. System Device Functions:带前缀xSysdevice的函数,与系统重置,下载,设备信息等相关的函数;
  3. Communication Channel Functions:带前缀xChannel的函数,与协议,数据通信相关的函数。

每一部分Functions的使用方法是先打开,如xDriverOpen(),再调用别的API。详细的API说明可以参考《cifX API PR 04 EN》第11页。

接下来通过一个简单的例程来介绍开发包的基本使用流程与方法,该例程可联系虹科获取。

该例程调用API的流程如图8所示。其中黄色部分表示main函数,绿色部分表示main函数内包含的几个调用块,蓝色部分为每个调用块内用到的API函数,灰色部分为对API函数实现的功能说明。

EnumBoardDemo和SysdeviceDemo这两部分以及内部的API实现的只是一些基本调用,如找开设备,查看设备信息等,与协议和数据通信无关,使用者可以参考调用即可。而ChannelDemo部分刚实现了周期数据收发(PI数据)和非周期数据收发(切换状态,CoE,FoE等)的所有过程,是使用者应该重点考虑的。

图8,API调用流程

8.1 Main函数代码部分

8.2 PI周期数据更新部分

定义

通过xChannelIORead()和xChannelIOWrite()函数实现周期数据更新,可以看到,发送的数据abSendPIData与测试时保持一致。

9写在最后

CIFX板卡的功能非常强大,几乎支持市面上的所有协议,使用板卡作为其它协议时,只需要重新加载对应协议的固件,重新配置网络即可,且使用者本身无需对协议非常了解即可进行使用和二次开发。

本文所有内容经由本人测试与整理,如有歧义,请与英文原版说明书为准。

更多推荐