mm_2024 发表于 2008-3-25 09:12:10

求助:请教有关PCI8335卡动态库调用的问题

有关板卡动态库的资料:为了将对PCI8335卡的操作简单化。动态链接库 (PCI8KA.dll)中几乎所有的函数的参数均通过一个结构体(ZT_PCIBOARD)来传递。现将该结构体及PCI8000的有关函数说明如下:
    struct ZT_PCIBOARD
    {
    long lIndex;   /* PCI卡索引值,该值在安装时被系统分配*/
    HANDLE hHandle;/* PCI卡的操作句柄(只有涉及中断时才用)*/
    short nCh;       /* 通道号*/
    longlData;   /*输入输出数据变量*/
       long* plData;    /*输入输出数据指针*/
    longlCode;   /*设备控制字,具体含义见函数说明*/
   };
5.3.1 设备操作部分
 打开设备:
    函数:long APIENTRY OpenDeviceAmcc(ZT_PCIBOARD* bs)
    功能:打开某一中泰研创PCI8335卡
    入口有效参数:lIndex   PCI卡索引值
    出口返回参数:hHandlePCI卡的操作句柄(只有涉及中断时,返回才有意义)
    返回值:   0打开设备成功
            -1打开设备失败
 关闭设备
    函数:long APIENTRY CloseDeviceAmcc(ZT_PCIBOARD* bs)
    功能:关闭某一中泰研创PCI8335卡
    入口有效参数:lIndex   PCI卡索引值
    出口返回参数:无
返回值:   0关闭设备成功
          -1关闭设备失败
5.3.3 模拟量输出部分
 模拟量输出
函数:long APIENTRY ZT8335AO(ZT_PCIBOARD* bs)
    功能:进行某一个通道的模拟量数据输出操作。   
    入口有效参数:lIndexPCI卡索引值                     
                  nCh   通道号:1-4(单通道模式使用)
                  lData   某一通道输出原码值(0 — 4095)
出口返回参数:无
    返回值: 0    模拟量数据输出成功
          -1    模拟量数据输出失败
我是新手,刚开始学labview,现在用的数据采集卡是中泰研创公司的PCI8335最老版本的板子,要实现的功能是利用采集卡D/A口输出模拟信号,但是在运行的时候弹出了错误对话框,内容如下:
An exception occurred within the external code called by a call Library Node.This might have corrupted LabVIEW's memory.Save any work to a new location and restart LabVIEW.
vi "Untitled 1" was stopped at Call Library Function Node 0x500 of subVI "Untitle 1".
小妹初学不久,实在不知问题所在,请高手们指点一下,看是什么原因导致的错误,程序应该怎样编写。谢谢,感激不尽~~

[ 本帖最后由 mm_2024 于 2008-3-25 09:34 编辑 ]

lgh269 发表于 2008-3-25 21:45:18

结构类型引用是否正确,确定DLL使用设定正确

wdyjz 发表于 2008-3-25 22:44:22

我记得这个版本是有LV驱动和例子的。当然配套有VB和VC++的,帮助你消化。
甚至你可以问他们技术支持要例程(LV的),在这个结构体的参数配置上,主要使用簇的结构,进行参数的分解和捆绑。参数传递到位,就问题解决。仔细点、继续测试下看看。有问题再谈。
页: [1]
查看完整版本: 求助:请教有关PCI8335卡动态库调用的问题