当前位置:
工控论坛
> >
产品
>
工控机
>
数据采集与分析
我要发帖
p9118数据采集问题!请各位老师帮忙!
点击:
695
| 回复:
2
吴新荣
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 1回
年度积分:0
历史总积分:4
注册:2005年10月25日
发表于:2005-12-08 14:46:00
楼主
有一下这段程序,可以实现数据采集功能,也可以实现数据的波形显示,但是只能采集一段数据
(未达到设定的采集量,如采集50000个数据)
请各位老师帮忙!谢谢了!郁闷了好几天了。
(示例程序是SDK9118DBLPostTrig)
说明:设定9118的缓冲区大小为1024KB
示例程序在我的工控机上运行的很好!
void C***Dlg::collectData()
{
//BOOLEAN fStop, HalfReady;
F64 dataInput; // 每次传输半块缓冲区的数据(相当于示例程序中的data_size
m_i9118Mem = 512; // 每次传输半块缓冲区的数据
m_uAcquiedDataCount = 0; // 相当于示例程序中的count
CString str;
if (m_bDblBuffer) // 双缓冲区模式
{
do
{
do
{
AI_AsyncDblBufferHalfReady(m_iCardID, &m_bHalfReady, &m_bStop);
m_uAcquiedDataCount ++;
} while(!m_bHalfReady && !m_bStop);// do
if(!m_bStop)
{
AI_AsyncDblBufferTransfer(m_iCardID, m_pDataArray);
m_pVoltageArray = new F64[m_uAcquiedDataCount];
// 将信号转换成电压
AI_ContVScale(m_iCardID, AD_B_0_5_V, m_pDataArray, m_pVoltageArray, m_uAcquiedDataCount);
for (int i = 0; i < m_i9118Mem; i ++)
{
dataInput = (U16)m_pVoltageArray[i];
// 向示波器加入一个信号点
m_OscilloGraph.AppendNewSingalPoint((float)dataInput);
}
}
} while(!m_bClearOP && !m_bStop); // do
AI_AsyncDblBufferHalfReady(m_iCardID, &m_bHalfReady,&
分享到:
收藏
邀请回答
回复楼主
举报
吴新荣
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 1回
年度积分:0
历史总积分:4
注册:2005年10月25日
发表于:2005-12-08 14:47:00
1楼
请各位老师帮忙了!
小弟在做导师的一个项目,刚刚接触数据采集这个问题!
为了这个问题,已经郁闷了好几天了。
回复
引用
举报
xiaoliu00123
关注
私信
精华:0帖
求助:0帖
帖子:0帖 | 2回
年度积分:0
历史总积分:0
注册:1900年1月01日
发表于:2008-05-17 10:01:05
2楼
麻烦问一下,那个采集通道在程序中如何实现,你能不能发一下你的有关采集的程序啊 !!!!
xiaoliu00123@sina.com
回复
引用
举报
热门招聘
相关主题
自动化如何实现网络兼容和操...
[3757]
请问有哪位是从事CPCI嵌入式...
[2255]
组态王的按钮设置变量
[2883]
PAC与PLC有什么区别
[2896]
有没有基于pc的数控车床控制...
[1296]
本公司专为用户开发、定制各类...
[5902]
多功能、多通道数据采集模块
[2005]
请教:如何将DOS程序生成DOC电...
[1253]
ADAM-4520 和电脑的接线方法
[1610]
controllogix和slc,plc之间的...
[4839]
官方公众号
智造工程师
客服
小程序
公众号