本文导读
今天,正运动小助手给大家分享一下以太网IO卡之ECIPA系列数据采集卡的用法,C#语言进行ECI数据采集卡的开发以及测试多个IO读写的交互速度,以及示波器曲线采集。
硬件介绍
ECIPA/ECI00PAB等ECI0系列运动控制卡支持以太网、RS通讯接口和电脑相连,接收电脑的指令运行,可以通过CAN总线连接各个扩展模块,从而扩展输入输出点数。ECIPAB与ECIPA区别:ECIPAB支持脱机Basic语言。ECIPA\ECIPAB数据采集卡ECIPA/ECIPAB等ECI0系列采用了优化的网络通讯协议,可以实现实时的逻辑控制和IO状态的监控。
ECIPA/ECIPAB等ECI0系列IO卡的应用程序可以使用VC、VB、VS、C++、C#等软件开发,程序运行时需要动态库zmotion.dll,调试时可以将RTSys软件同时连接控制器,从而方便调试、方便观察。ECIPA/ECIPAB产品特点
ECIPA/ECIPAB基本资源8个NPN输入,8个NPN输出,12个模拟量输入(16位分辨率,-10V-+10V量程),2个模拟量输出(12位分辨率,-10V-+10V量程)。
ECIPA,在默认未连接,默认自带浮地值2.5V左右浮地值,这个不具参考意义,连接到负载之后,以得到的电压为准。
ECIPA以太网的通讯交互速率,一万次以太网网络获取基本资源(ps:板子上12个AD,2个DA,8个IN,8个OUT为基本硬件资源)为7秒,也就是平均1次获取资源信息小于1ms左右(实际通讯效率与网卡有关),如果获取传输资源信息减少则通讯速率可提升至更快。
ECIPAB,可支持掉线检测,软件掉线,板卡自动置位输出;板卡掉线,软件层可以通过定时心跳检测,获取掉线情况等。
接线参考
1、通用输入口电路图2、通用输入口接线参考图
3、通用输出口电路图
4、通用输出口接线参考图
5、模拟量输入输出规格
6、模拟量输入输出接线参考图
7、控制器基本信息
ZCAN扩展方法
1、当ECIPA本体所带的IO数量不满足使用时,可通过ZCAN把ECIPA当成主站,搭配ZIO扩展版扩展所需IO数量。
ECIPA当主站接线示意图如下:ECIPA控制卡采用双电源供电,ZIO扩展模块采用双电源供电,使用时扩展模块的主电源和控制卡的主电源可共用一路电源。ECIPA控制卡和ZIO扩展模块用不同电源供电时,控制卡电源GND要连接扩展模块电源的GND,否则可能烧坏CAN。
CAN总线上连接多个ZIO扩展模块时,在CAN总线的左右两端各接一个欧的电阻,对于具有8位拨码的扩展模块,终端电阻可通过拨码实现。
2、当有别的主卡,不需要ECIPA当主站,想把ECIPA的资源扩展到主卡上,搭配主卡使用时,可以把ECIPA当成从站扩展上去。ECIPA当成从站接线示意图如下:CAN总线上连接多个ZIO扩展模块时,在CAN总线的左右两端各接一个欧的电阻,对于具有8位拨码的扩展模块,终端电阻可通过拨码实现。为保证通讯质量,请使用双绞屏蔽线,屏蔽层接地,控制器和扩展模块内部电源请使用同一个电源。因为ECIPA没有拨码开关,所以当ECIPA设置为从站时,需用RTSys软件连接到ECIPA板卡,手动设置从站ID。
CANIO_ADDRESS=1设置CANID为1,此时为从端,波特率Kbps,作为ZCAN从站使用,IO起始地址为32(16+16*1).
CANIO_ADDRESS=2设置CANID为2,此时为从端,波特Kbps,作为ZCAN从站使用,IO起始地址为48(16+16*2).
CANIO_ADDRESS=3设置CANID为3,此时为从端,波特Kbps,作为ZCAN从站使用,IO起始地址为64(16+16*3).
CANIO_ADDRESS=4设置CANID为4,此时为从端,波特Kbps,作为ZCAN从站使用,IO起始地址为80(16+16*4).
CANIO_ADDRESS=2+设置CANID为2,此时为从端,波特Kbps,作为ZCAN从站使用,IO起始地址为48(16+16*2).
CANIO_ADDRESS=2+设置CANID为2,此时为从端,波特Kbps,作为ZCAN从站使用,IO起始地址为48(16+16*2).
CANIO_ADDRESS=2+设置CANID为2,此时为从端,波特1Mbps,作为ZCAN从站使用,IO起始地址为48(16+16*2).
C#语言进行ECIIO控制卡的开发
1.在VS菜单“文件”→“新建”→“项目”,启动创建项目向导。2.选择开发语言为“VisualC#”和.NETFramework4以及Windows窗体应用程序。3.找到厂家提供的光盘资料里面的C#函数库,路径如下(32位库为例)。1)进入厂商提供的光盘资料找到“04PC函数”文件夹,并点击进入。
2)选择“函数库2.1”文件夹。3)选择“Windows平台”文件夹。4)根据需要选择对应的函数库,这里选择32位库。5)解压C#压缩包,里面有C#对应的函数库。6)函数库具体路径如下。4.将厂商提供的C#的库文件以及相关文件复制到新建的项目中。1)将zmcaux.cs文件复制到新建的项目里面中。
2)将zaux.dll和zmotion.dll文件放入bin\debug文件夹中。5.用vs打开新建的项目文件,在右边的解决方案资源管理器中点击显示所有文件,然后鼠标右击zmcaux.cs文件,点击包括在项目中。6.双击Form1.cs里面的Form1,出现代码编辑界面,在文件开头写入usingcszmcaux,并声明控制器句柄g_handle。7.OCX控件注册。zmotion.dll,ZScope.lib、ZScope.ocx放到C盘文件目录下,然后管理员权限打开CMD,发送regsvr32C:\ZScope.ocx注册控件,注册成功,会弹窗提示。8.工具栏添加COM组件。工具→选择工具箱项→COM组件→勾选ZScope组件→确定。9.至此,项目新建完成,可进行C#项目开发。PC函数介绍
1、PC函数手册可在光盘资料查看,具体路径如下。
2、链接控制器,获取链接句柄。
3、快速读取多个输入口当前状态接口说明。4、快速读取多个输出口当前状态接口说明。
C#快速读取多个IO状态的测试例程
1.例程界面2.相关代码
(1)链接按钮的事件处理函数中调用链接控制器的接口函数ZAux_FastOpen(),与控制器进行链接,链接成功后定时器2,自动监控控制器的IO以及模拟量状态。
//链接
privatevoidbutton3_Click(objectsender,EventArgse)
{
LinkType=