0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

分享一下EtherCAT运动控制卡的自定义运动曲线

伺服与运动控制 来源:正运动技术 作者:正运动技术 2022-10-09 10:12 次阅读

今天,正运动小助手给大家分享一下EtherCAT运动控制卡的自定义运动曲线,主要介绍一下如何通过在线命令封装自己想使用的Basic指令到上位机接口中供上位机调用。

一、ECI2828运动控制卡的硬件介绍

ECI2828系列控制卡支持最多达16轴直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随、虚拟轴、机械手指令等。采用优化的网络通讯协议可以实现实时的运动控制。

ECI2828系列运动控制卡支持以太网,232通讯接口和电脑相连,接收电脑的指令运行,可以通过EtherCAT总线和CAN总线去连接各个扩展模块,从而扩展输入输出点数或运动轴。

ECI2828系列运动控制卡的应用程序可以使用 VC、VB、VS、C++C#等多种高级语言来开发,程序运行时需要动态库zmotion.dll。调试时可以把ZDevelop软件同时连接到控制器,从而方便调试、方便观察。

ab26015a-4279-11ed-96c9-dac502259ad0.png

ECI2828控制卡本身的硬件接口也十分丰富。具有8个本地脉冲轴,每个轴带独立编码器,最多16个虚拟轴。板上自带24个通用输入口(其中4路是高速输入口可以作为高速锁存使用),16个通用输出口(其中4路是高速输出口可以实现4路的PSO),2路AD和DA。

自带1个 RS232串口,1个以太网接口。带一个CAN总线接口,支持通过ZCAN协议来连接扩展模块。带一个CANOPEN接口(功能需要软件版本支持)。带一个EtherCAT总线接口可扩展数字模拟IO以及脉冲定位模块等,带一个手轮接口。

二、运动控制卡的Qt开发流程 1.新建Qt 项目

ac022ebe-4279-11ed-96c9-dac502259ad0.png

图 1-1新建Qt项目

ac1d2688-4279-11ed-96c9-dac502259ad0.png

图 1-2选择项目路径

ac357af8-4279-11ed-96c9-dac502259ad0.png

图 1-3选择Qt编译套件(kits)

ac444f42-4279-11ed-96c9-dac502259ad0.png

图1-4选择基类

(1)将函数库相关的文件复制到新建的项目中。

ac5e7c8c-4279-11ed-96c9-dac502259ad0.png

图1-5库文件复制

(2)向新建的项目里面添加函数库的静态库。(zmotion.lib)

ac7cb9fe-4279-11ed-96c9-dac502259ad0.png

图1-6添加函数库1

ac977852-4279-11ed-96c9-dac502259ad0.png

图1-7添加函数库2

aca9bc4c-4279-11ed-96c9-dac502259ad0.png

图 1-8添加函数库3

(3)添加函数库相关的头文件到项目中(zmcaux.cpp、zmcaux.h、Zmotion.h)。

acba3c34-4279-11ed-96c9-dac502259ad0.png

图 1-9添加头文件

(4)声明相关头文件,并定义连接句柄。

ace2f084-4279-11ed-96c9-dac502259ad0.png

图1-10声明头文件

2.PC函数介绍

(1)PC函数手册也在光盘资料里面,具体路径如下:“光盘资料8.PC函数函数库2.1Motion函数库编程手册V2.1.pdf”。

acfe81fa-4279-11ed-96c9-dac502259ad0.png

(2)PC编程一般需要建立上位机和控制器之间的链接。和控制卡的连接一般习惯使用网口方式进行链接,具体接口说明如下。

指令7 ZAux_OpenEth
指令原型 int32 __stdcall ZAux_OpenEth(char *ipaddr, ZMC_HANDLE * phandle)
指令说明 以太网链接控制器。
输入参数 输入参数1个,详细见下面说明。
ipaddr 链接的IP地址。
输出参数 输出参数1个,详细见下面说明。
Phandle 返回的链接句柄。
返回值 详细见错误码说明。

(3)如果想将Basic指令封装成上位机可以直接调用的接口就必须使用在线命令这个接口进行函数封装,在线命令接口说明如下。

指令 说明
ZAux_Execute 直接发送指令(当控制器没有缓冲时自动阻塞)
ZAux_DirectCommand 直接发送指令(用于调试,只支持少数命令暂时不支持)
指令1 ZAux_Execute
指令原型 int32 __stdcall ZAux_Execute(ZMC_HANDLE handle, const char *pszCommand, char *psResponse, uint32 uiResponseLength)
指令说明 发送字符串命令到控制器(当控制器没有缓冲时自动阻赛)。
输入参数 共有3个输入参数,见下方说明。
handle 链接句柄。
pszCommand 发送的命令字符串。
uiResponseLength 返回的字符长度。
输出参数 共有1个输出参数,见下方说明。
psResponse 返回的字符串。
返回值 见错误码详细说明。
指令2 ZAux_DirectCommand
指令原型 int32 __stdcall ZAux_DirectCommand(ZMC_HANDLE handle, const char *pszCommand,char *psResponse, uint32 uiResponseLength)
指令说明 发送字符串命令到控制器(用于调试,只支持少数命令,暂时不支持)。
输入参数 共有3个输入参数,见下方说明。
handle 链接句柄。
pszCommand 发送的命令字符串。
uiResponseLength 返回的字符长度。
输出参数 共有1个输出参数,见下方说明。
uiResponseLength 返回的字符串。
返回值 见错误码详细说明。

(4)Basic指令SPEED的封装示例。

ad1d8d3e-4279-11ed-96c9-dac502259ad0.png

3.Qt进行Move_Pt指令的封装,实现自定义曲线的运动。

(1)自定义曲线运动例程Qt界面如下。

ad4404d2-4279-11ed-96c9-dac502259ad0.png

(2)通过Qt的connect将【连接按钮】的单击事件绑定一个槽函数进行链接控制器的操作。

//定义一个定时器
QTimer *UpData = new QTimer(this);
connect(UpData,&QTimer::timeout,this,[=](){
if(g_handle!=0)
{
//获取轴位置信息
ZAux_Direct_GetAllAxisPara(g_handle,"DPOS",AxisNum,Dpos);
ui->DposX->setText(QString("%1").arg(Dpos[0]));
ui->DposY->setText(QString("%1").arg(Dpos[1]));
ui->DposZ->setText(QString("%1").arg(Dpos[2]));
ui->DposU->setText(QString("%1").arg(Dpos[3]));
//获取轴速度信息
ZAux_Direct_GetAllAxisPara(g_handle,"MSPEED",AxisNum,Mspeed);
ui->MspeedX->setText(QString("%1").arg(Mspeed[0]));
ui->MspeedY->setText(QString("%1").arg(Mspeed[1]));
ui->MspeedZ->setText(QString("%1").arg(Mspeed[2]));
ui->MspeedU->setText(QString("%1").arg(Mspeed[3]));
//获取各个轴的运动情况
floatidle[4]={0};
ZAux_Direct_GetAllAxisPara(g_handle,"idle",AxisNum,idle);
idle[0]=idle[0]+idle[1]+idle[2]+idle[3];
if(idle[0]>(-4))
{
MotionStatus=1;//运动中
}
else
{
MotionStatus=0;
}
}
 }
(3)通过定时器更新控制器各个轴的位置和速度信息。
//定义一个定时器
QTimer*UpData =newQTimer(this);
connect(UpData,&QTimer::timeout,this,[=](){
    if(g_handle!=0)
    {
        //获取轴位置信息
       ZAux_Direct_GetAllAxisPara(g_handle,"DPOS",AxisNum,Dpos);
       ui->DposX->setText(QString("%1").arg(Dpos[0]));
       ui->DposY->setText(QString("%1").arg(Dpos[1]));
       ui->DposZ->setText(QString("%1").arg(Dpos[2]));
       ui->DposU->setText(QString("%1").arg(Dpos[3]));
        //获取轴速度信息
       ZAux_Direct_GetAllAxisPara(g_handle,"MSPEED",AxisNum,Mspeed);
       ui->MspeedX->setText(QString("%1").arg(Mspeed[0]));
       ui->MspeedY->setText(QString("%1").arg(Mspeed[1]));
       ui->MspeedZ->setText(QString("%1").arg(Mspeed[2]));
       ui->MspeedU->setText(QString("%1").arg(Mspeed[3]));
        //获取各个轴的运动情况
        floatidle[4]={0};
       ZAux_Direct_GetAllAxisPara(g_handle,"idle",AxisNum,idle);
       idle[0]=idle[0]+idle[1]+idle[2]+idle[3];
        if(idle[0]>(-4))
        {
            MotionStatus=1;//运动中
        }
        else
        {
            MotionStatus=0;
        }
    }
}

(4)Basic指令Move_Pt的介绍。

ad5ca618-4279-11ed-96c9-dac502259ad0.png

(5)Move_Pt的接口封装。

A.通过在线命令ZAux_DirectCommand()进行接口封装。

/*************************************************************
Description:    单位时间距离
Input:          卡链接handle
                运动轴数、轴列表
                运动时间 ticks单位, 1ticks≈1ms
                运动距离 units单位
Output:         无
Return:         错误码
*************************************************************/
int32  MyApi::ZAux_Direct_MovePt(ZMC_HANDLE handle, int iAxisNum, int *piAxisList, int iTime, float *pfDisList)
{
    char  cmdbuff[2048],tempbuff[2048];
    char  cmdbuffAck[2048];
    //输入参数判断
    if((0 > iAxisNum || iAxisNum > MAX_AXIS_AUX)) return  ERR_AUX_PARAERR;
    if(NULL == piAxisList)      return  ERR_AUX_PARAERR;
    if(iTime<=0)                return  ERR_AUX_PARAERR;
    if(NULL == pfDisList)       return  ERR_AUX_PARAERR;
    //生成指令选择运动的轴......Basic指令BASE(0,1,2,3)表示选择轴0、轴1、轴2、轴3
    //通过字符串拼接指令封装Basic选择轴指令BASE(piAxisList[0],piAxisList[1],.....piAxisList[i])
    strcpy(cmdbuff, "BASE(");
    for(int i = 0; i< iAxisNum-1; i++)
    {
        sprintf(tempbuff, "%d,",piAxisList[i]);
        strcat(cmdbuff, tempbuff);
    }
    sprintf(tempbuff, "%d)",piAxisList[iAxisNum-1]);
    strcat(cmdbuff, tempbuff);
    //换行继续封装Basic指令
    strcat(cmdbuff, "
");
    //生成单位时间运动距离指令,......Basic指令通过Move_PT(ticks, dis1,dis2…)实现
    sprintf(tempbuff, "Move_PT(%d,",iTime);
    strcat(cmdbuff, tempbuff);
    //封装各个轴的运动距离
    for(int i = 0; i< iAxisNum-1; i++)
    {
        sprintf(tempbuff, "%f,",pfDisList[i]);
        strcat(cmdbuff, tempbuff);
    }
    sprintf(tempbuff, "%f)",pfDisList[iAxisNum-1]);
    strcat(cmdbuff, tempbuff);
    //调用命令执行函数
    //printf("%s",cmdbuff);
    return ZAux_DirectCommand(handle, cmdbuff, cmdbuffAck, 2048);
}
B.Qt例程调用刚刚封装的接口MyApi::ZAux_Direct_MovePt()。

ad924c96-4279-11ed-96c9-dac502259ad0.png
//启动Move_Pt运动
voidWidget::on_PtStartButton_clicked()
{
if(0==MotionStatus)
{
intbuffNum=0;
//获取0轴剩余缓冲区数目,缓冲区数目足够才下发指令
ZAux_Direct_GetRemain_LineBuffer(g_handle,0,&buffNum);
if(buffNum>3)
{
intAxisList[4]={0,1,2,3};
floatDisList[3][5];
for(inti=0;i<3;i++)
         {
            for(intj=0;j<5;j++)
            {
               DisList[i][j]=LineData[i][j]->text().toFloat();
}
//调用自己封装的函数接口进行MOVE_PT运动
        myapi->ZAux_Direct_MovePt(g_handle,AxisNum,AxisList,(int)(DisList[i][0]),&DisList[i][1]);
}
}
else
{
QMessageBox::warning(this,"warning","轴缓冲区剩余不足");
}
    }
    else
    {
       QMessageBox::warning(this,"warning","系统在运行中......");
 }
}
C.示波器波形抓取。

ada8abe4-4279-11ed-96c9-dac502259ad0.png

(6)封装一个API可以下发多个move_ptabs指令进行加工。 A.一次下发多个move_ptabs指令的封装。

/*************************************************************
Description:    一次发送多个单位时间距离指令
Input:          卡链接handle
                运动轴数、轴列表
                运动时间 ticks单位, 1ticks≈1ms
                运动距离 units单位
Output:         无
Return:         错误码
*************************************************************/
int32  MyApi::ZAux_Direct_MovePtAbsS(ZMC_HANDLE handle, int iAxisNum, int *piAxisList, int ApiNum,int *iTime, float *pfDisList)
{
charcmdbuff[2048*128],tempbuff[2048];
charcmdbuffAck[2048];
//输入参数判断
if((0>iAxisNum||iAxisNum>MAX_AXIS_AUX))returnERR_AUX_PARAERR;//轴数不正确
if(NULL==piAxisList)returnERR_AUX_PARAERR;//轴列表空
if(iTime==0)returnERR_AUX_PARAERR;//时间列表空
if(NULL==pfDisList)returnERR_AUX_PARAERR;//运动距离列表空
if((ApiNum<0)||(ApiNum>50))returnERR_AUX_PARAERR;//Api数目不对
//生成指令选择运动的轴......Basic指令BASE(0,1,2,3)表示选择轴0、轴1、轴2、轴3
//通过字符串拼接指令封装Basic选择轴指令BASE(piAxisList[0],piAxisList[1],.....piAxisList[i])
strcpy(cmdbuff,"BASE(");
for(inti=0;i< iAxisNum-1; i++)
   {
      sprintf(tempbuff, "%d,",piAxisList[i]);
      strcat(cmdbuff, tempbuff);
   }
   sprintf(tempbuff, "%d)",piAxisList[iAxisNum-1]);
   strcat(cmdbuff, tempbuff);
   //换行继续封装Basic指令
   strcat(cmdbuff, "
");
   for(int j=0;j0)
{
//生成单位时间运动距离指令,......Basic指令通过Move_PT(ticks,dis1,dis2…)实现
sprintf(tempbuff,"Move_PtAbs(%d,",iTime[j]);
strcat(cmdbuff,tempbuff);
//封装各个轴的运动距离
for(inti=0;i< iAxisNum-1; i++)
         {
            sprintf(tempbuff, "%.5f,",pfDisList[i+j*iAxisNum]);
            strcat(cmdbuff, tempbuff);
         }
         sprintf(tempbuff, "%.5f)",pfDisList[iAxisNum-1+j*iAxisNum]);
         strcat(cmdbuff, tempbuff);
         strcat(cmdbuff, "
");
      }
   }
   //调用命令执行函数
   return ZAux_DirectCommand(handle, cmdbuff, cmdbuffAck, 2048);
}

B.Qt例程调用刚封装的接口MyApi::ZAux_Direct_MovePtAbsS()。

//获取轴运动缓冲剩余情况
ZAux_Direct_GetRemain_LineBuffer(g_handle,0,&buffNum);       
if((buffNum>ApiNum*2)&&(SendNum*1<(4*ui->HorizoScale->text().toFloat())))
{
                Num = (float) 4*ui->HorizoScale->text().toFloat();
                switch (RunType) {
                //((-sin(PI*2*i/T)/(PI*2))+i/T)*500
                case 0:
                    for(int i=0;iCanvas->StartPoint.setX(0);
                    ui->Canvas->StartPoint.setY(-DisList[0]*EquivalentY);
                    ui->Canvas->StopPoint.setX(0);
                    ui->Canvas->StopPoint.setY(-DisList[0]*EquivalentY);
                    TimerWaveform->start(10);
                    QString Str;
                    char buff[1204];
                    //发送在线命令启动示波器
                    Str=QString("%1%2%3%4%5").arg("SCOPE(ON,1,").arg(0).arg(",").arg(3500).arg(",DPOS(0))");
                    ZAux_Execute(g_handle,Str.toLatin1().data(),buff,1024);
                    ZAux_Trigger(g_handle);
                    QThread::msleep(1);
                }
myapi->ZAux_Direct_MovePtAbsS(g_handle,1,&AxisList,ApiNum,TimeList,DisList);
}
C.Qt抓取轴运动的位置数据,产生位置波形图。
oidDraw::paintEvent(QPaintEvent*event)
{
    if(DrawFlag!=0)
    {
        //实例化一个画家this指绘图设备
        QPainterPainter(WaveformFigure);
        Painter.translate(0,(int)(ImgH/2));
        //设置画笔
        QPenPen(QColor(255,0,0));
        Pen.setWidth(4);
        Pen.setStyle(Qt::SolidLine);
        Painter.setPen(Pen);
        //发送触发示波器抓取的命令
        if((CurTriggerNum>=SingTriggerNum))
        {
qDebug()<<"触发示波器"<::iteratoriet;
        for(inti=0;i0))
           {
              Painter.drawLine(StartPoint,StopPoint);
           }
        }
    }
}
D.抓波形图查看效果。

a.Y=((-sin(PI*2*i/T)/(PI*2))+i/T)*500速度和位置曲线。

addf4514-4279-11ed-96c9-dac502259ad0.png

b.Qt抓取Y=((-sin(PI*2*i/T)/(PI*2))+i/T)*500的位置曲线。

adf8f400-4279-11ed-96c9-dac502259ad0.png

本次,正运动技术EtherCAT运动控制卡的自定义运动曲线,就分享到这里。



审核编辑:刘清

  • 以太网
    +关注

    关注

    39

    文章

    3665

    浏览量

    164041
  • CAN总线
    +关注

    关注

    139

    文章

    1383

    浏览量

    128484
  • 上位机
    +关注

    关注

    24

    文章

    343

    浏览量

    52917
  • EtherCAT总线
    +关注

    关注

    5

    文章

    27

    浏览量

    5053
收藏 人收藏

    评论

    相关推荐

    求6030运动控制卡的连线说明书

    请问哪位社友有6030运动控制卡的连线说明书,或者是其他的三轴运动控制卡的相关资料?谢谢。
    发表于 04-01 11:45

    运动控制卡--状态机顺序控制

    款网上找到的运动控制卡程序供大家研究。
    发表于 09-12 11:10

    六轴运动控制卡

    本帖最后由 eehome 于 2013-1-5 10:06 编辑 六轴运动控制卡是基于PCI总线的高性能六轴伺服/步进控制卡个系统中可支持多达16块控制卡,可控制96路伺服/步进电机,支持
    发表于 12-24 15:25

    ni运动控制卡+labview多轴运动控制

    各位大侠,求助呀~运动控制卡采用的是ni公司PCI-7350,用labview编写运动控制系统。以前没有编写过大型的系统,没什么经验,大侠们有没有相关的资料,特别是编写的相关的例子。单轴,双轴,三轴的就行了~~~求救呀~~~{:4:}
    发表于 03-12 16:07

    运动控制卡

    本人对运动控制卡无所知,想问一下运动控制是不是也像数据采集样有多组通道呢,运动控制卡能不能实现同时控制几个电机做相同的运动呢?
    发表于 06-05 00:45

    基于TLP521的四轴运动控制卡

    `基于TLP521的四轴运动控制卡标签:DMC1410,运动控制卡类别:步进电机方案描述:DMC1410运动控制卡款价格便宜、编程简易的PCI总线4轴运动控制卡,最多可控制4轴步进电机或伺服电机
    发表于 06-21 16:25

    用LABVIEW配合动控制卡,来做运动控制系统可行吗?

    什么模块啊,还是用简单的函数调用控制卡里的 参数就可以了,现在主要就是这里比较模糊,我在网上搜了一下,有的说是用lv里有运动控制模块,但是我没有找到在网上,还有的说是用机器人控制模块,有这两模块吗?要是有的话我应该用哪个模块呢~~,求救了,望有人能出来给指导,谢谢了~~{:
    发表于 08-03 14:42

    基于固高公司运动控制卡的倒立摆完整控制程序,包括括...

    本帖最后由 qiuzhichang 于 2015-4-12 12:56 编辑 基于固高公司运动控制卡的倒立摆完整控制程序,包括括了界面、实时曲线显示、算法等
    发表于 09-06 09:08

    LabVIEW运动控制&视觉运动

    with LabVIEW是关于视觉分析的,写的很好,大家可以学习一下。本人也是初学者,有不对的地方,望指教,谢谢。再发点关于运动控制的相关资料给大家分享一下
    发表于 02-10 11:30

    【TL6748 DSP申请】基于DSP的四自由度机器人运动控制卡的研究

    控制卡能同时输出四路PWM波,控制伺服电机运行在位置模式,并能实现梯形或S形加速度曲线运动。通过软件编程,进行插补计算,能实现两轴直线插补和圆弧插补。该运动控制卡由四部分电路组成:PCI总线接口电路、DSP运动控制电路、编码器及DSP与PCI通讯
    发表于 10-29 14:14

    Labview怎么调用控制运动控制卡?急

    刚学习Labview,想用Labview控制固高的运动控制卡,需要怎么操作,怎么用?
    发表于 12-18 10:39

    求基于labview的PMAC运动控制卡驱动

    想问下各位大神怎么做基于labview的PMAC多轴运动控制卡的驱动,或者发送指令的格式??
    发表于 01-13 10:05

    LabVIEW与运动控制卡相结合控制使用,求各路大神帮助!!!

    各位大神们,有没有好的书籍或者学习资料推荐给我,是关于LabVIEW如何配合运动控制卡或者是运动控制卡的用法!!!
    发表于 05-23 08:37

    利用labview,通过运动控制卡控制松下A5系列伺服电机的转速问题

    恒定速度,伺服驱动器显示的脉冲数始终是60!使用运动控制卡自带的motion测试电机,转速是正常的!之前重新换了一下控制运动的库函数(使用的是雷塞自带的电机控制库函数)就好了,但是过了段又出现了这种
    发表于 05-28 15:14

    如何基于LabVIEW运动控制卡的驱动

    各位大神们,请问要想驱动运动控制卡,我需要在LabVIEW程序框图中如何编写这样的程序,请各位能够帮帮我!!!
    发表于 05-30 09:00

    种8轴运动控制卡

    这是德国思泰生产的种8轴运动控制卡技术指标,配置说明等。
    发表于 06-12 17:32

    有需要运动控制卡设计和生产技术的吗?

    运动控制卡定制开发提供运动控制卡设计和生产全套技术,感兴趣的联系,电话:15550480488,QQ:2690602921
    发表于 09-08 10:40

    labview无法控制伺服运动控制卡

    `不知道有没有大神玩过,用labview控制雷赛的运动控制卡,进而控制伺服电机。前几天用的好好的,不知道从什么时候开始,labview无法控制了。而这个运动控制卡自带的例程(应该是用C语言写的),还能正常控制。请问问题可能出在什么地方??`
    发表于 03-02 10:15

    USB运动控制卡推荐

    想买个USB运动控制卡,三轴的,有没有大佬可以帮忙推荐,最好是便宜点的能应用在LABVIEW上的。
    发表于 08-20 12:13

    NI运动控制卡的使用

    对于NI的PCI-7340运动控制卡的使用详解
    发表于 01-27 15:21

    雷赛DMC1380运动控制卡能被检测到,但无法控制电机运行?

    使用雷赛DMC1380运动控制卡的时候,通过提供的测试软件可以检测到运动控制卡,但无法使电机运行(已检查过硬件连线,使用脉冲发生器提供连续方波可使电机连续运转)简单写了个vi,也不能控制电机运行。想请教一下大佬,有什么方案排查问题吗?
    发表于 10-26 16:38

    运动控制卡的问题

    本人小白,用的是凌华的运动控制卡,后面接1伺服电机,3步进电机,带动三自由度的滚柱丝杠,想请问一下:已经实现了基本功能(如:插补,回零等),后面还能做什么,也就是在这基础上的后续工作大概都有
    发表于 12-10 17:01

    如何利用FPGA设计运动控制卡

    作者:李木国 彭平良0 引言传统的运动控制卡多采用单片机作为微处理器, 通过些大规模集成电路实现对伺服电机的控制。由于其结构较为复杂,因此在工作时,存在高频响应慢、控制精度低等缺点。本文提出种以
    发表于 07-30 06:07

    有大佬认识这是什么运动控制卡的连接线吗?

    `如图片,有大佬认识这是什么运动控制卡的连接线吗?目前有根连接线,需要配运动控制卡,紧急请教`
    发表于 09-19 15:51

    LabVIEW+研华运动控制卡控制4轴伺服问题

    各位前辈好,我现在想用LabVIEW和研华运动控制卡来做4轴运动控制,在网上和淘宝上查了很多资料,都没有找到LabVIEW运动控制方面的详细资料。希望有精通LV搭载运动控制卡经验的前辈帮忙指点,收费也可以。感激不尽
    发表于 10-16 08:48

    分享通用运动控制卡资料

    分享通用运动控制卡资料,喜欢可以顶一下
    发表于 11-15 09:44

    基于神经网络控制算法的伺服运动控制卡该如何去设计?

    本文设计了种基于神经网络控制算法的伺服运动控制卡
    发表于 06-03 06:05

    EtherCAT总线运动控制器硬件是如何进行接线的?

    EtherCAT总线运动控制器硬件是如何进行接线的?EtherCAT总线运动控制器有哪些参数设置?
    发表于 07-15 13:02

    基于C#的运动控制卡的马达控制 精选资料分享

    开门见山,话不多说,直入正题。随着工控行业的发展,上位机做运动控制已很常见。目前国内的运动控制卡大同小异,个人用的最多的是雷赛的运动控制卡。此次也以雷赛最基础的控制卡DMC1000来介绍马达
    发表于 07-20 06:57

    ACS运动控制卡 精选资料分享

    简介: ACS是款以色列的运动控制卡控制直线电机,运动精度到u级别。常用在工业领域。1.使用:运动控制卡的流程般是先连接,其次轴回零,最后轴运动。各种不同类型的控制卡原理几乎是样的。根据相应
    发表于 09-01 07:31

    第二章:基于Visual C++ 6.0使用运动控制卡控制电机定长加减速实验 精选资料推荐

    第二章:基于Visual C++ 6.0使用运动控制卡控制电机定长加减速实验文章目录第二章:基于Visual C++ 6.0使用运动控制卡控制电机定长加减速实验、实验目的:了解运动控制卡定长加减
    发表于 09-01 06:46

    分享一下运动控制卡应用开发教程之Python

    与大家分享一下运动控制卡应用开发教程之Python。 、ECI2828硬件介绍ECI2828系列运动控制卡支持多达16轴直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随、虚拟轴
    发表于 09-01 08:36

    EtherCAT运动控制卡之ECI2820如何使用

    今天,正运动技术给大家分享一下EtherCAT运动控制卡之ECI2820如何使用C#实现运动暂停、恢复与系统安全的设置。   运动控制卡硬件介绍    ECI2828系列运动控制卡支持多达 16
    发表于 09-01 06:24

    PMAC运动控制卡学习笔记

    PMAC运动控制卡学习笔记1说明1.硬件介绍2.准备工作3. PMAC与上位机的连接4.创建自己的伺服控制项目5. 学习途径说明&amp;nbsp;&amp;nbsp;&
    发表于 09-07 06:47

    运动技术运动控制EtherCAT总线快速入门

    EtherCAT 总线的使用、示波器的应用、多任务运行的特点、运动控制器中断的应用、U盘接口的使用、ZDevelop 编程软件的使用、运动控制器的基础轴参数与基础运动控制指令以及运动缓冲等。  今天,我们来讲解一下
    发表于 09-07 06:59

    运动技术运动控制EtherCAT总线的基础使用

    EtherCAT总线扩展模块包含哪些?怎样去使用正运动技术运动控制EtherCAT总线?
    发表于 09-27 08:34

    运动控制卡与伺服驱动器简介

    运动控制卡是什么?运动控制卡有何功能?伺服驱动器是什么?伺服驱动器有哪几种控制方式?
    发表于 10-09 08:17

    PLC控制好还是运动控制卡控制

    什么是运动控制卡运动控制卡与驱动器有什么不同?PLC控制好还是运动控制卡控制好?
    发表于 10-09 07:56

    请问一下运动控制卡中伺服电机的规划位置与编码器位置的区别是什么?

    请问一下运动控制卡中伺服电机的规划位置与编码器位置的区别是什么?
    发表于 10-12 11:24

    如何使用运动控制卡控制电机的转动及转速?

    如何使用运动控制卡控制电机的转动及转速?
    发表于 10-15 06:04

    小白求助,求大佬详细介绍一下EtherCAT运动控制器的PLC编程

    小白求助,求大佬详细介绍一下EtherCAT运动控制器的PLC编程
    发表于 10-29 07:24

    ACS运动控制卡怎么使用?

    ACS运动控制卡怎么使用?
    发表于 10-29 06:47

    如何使用运动控制卡控制电机转动?

    如何使用运动控制卡控制电机转动?
    发表于 10-29 07:38

    步进、伺服电机控制运动控制卡回原点、定长运动、高低速、编码器实验例程

    Labview学习运动控制卡例程。-使用运动控制卡USB_AMC2XE V1.0及单杠丝滑台进行硬件的设备连接,实现上位机与硬件设备之间的通讯,进行运动控制效果定长运动、回原点运动实验讲解,以及进行
    发表于 11-26 10:38

    运动控制卡设置点位运动参数

    运动控制卡设置点位运动参数中平滑时间参数的作用是什么?
    发表于 04-26 11:46

    基于PCI9052的运动控制卡的研发

    文章简要介绍了PCI 总线从模式接口芯片PCI9052 的主要特点、结构组成和特色功能,并通过个实例介绍了PCI9052 在运动控制卡中的典型应用,具体包括运动控制卡的实现原理,
    发表于 08-29 11:11 42次下载

    基于DSP的PCI通用运动控制卡的硬件设计

    本文提出了种基于TMS320F2812 的PCI 总线通用运动控制卡的设计方案。详细介绍了运动控制卡的硬件结构,并对控制卡的配置进行了深入分析,给出了具体的配置参数。最后,介绍
    发表于 09-15 16:55 17次下载

    基于运动控制卡控制系统的设计与实现

    本文介绍了个基于多轴运动控制卡运动控制系统。该系统以工控计算机、通用操作系统、PCI-8134多轴运动控制卡及其功能库函数为平台,采用VC++开发的人机界面,实现了三轴(X,Y,Z轴
    发表于 02-11 14:20 54次下载

    基于CH365的PCI总线运动控制卡的设计

    为实现基于PCI总线的运动控制,设计了款以国产芯片CH365为核心的运动控制卡,给出设计原理图,开发基于DOS的开源驱动函数库和基于Windows的驱动程序及动态链接库,并对运动控制卡
    发表于 01-10 16:58 155次下载
    基于CH365的PCI总线<b>运动</b><b>控制卡</b>的设计

    基于PCI总线的STM32运动控制卡的设计

    在深入分析了意法半导体公司推出的STM32、高速PCI总线以及运动控制卡的功能和结构特点的基础上,设计了款可直接插在PCI 插槽中的伺服运动控制卡。不仅可大大降低了成本,更为开
    发表于 01-31 14:40 325次下载
    基于PCI总线的STM32<b>运动</b><b>控制卡</b>的设计

    MPC02运动控制卡运动函数库操作手册.pdf

    MPC02运动控制卡运动函数库操作手册.pdf
    发表于 05-04 15:38 7次下载

    课程设计 - 运动控制卡(云服务器)

    控制卡》 的总结。包含制作流程、教程、思路等。、任务要求课设要求使用单片机制作运动控制卡,需要使用网线(以太网)接口通讯,实现功能是控制多轴步进电机,实现加减速走直线、弧线(含直线插补、圆弧插补)。同时需要预留限位开关等输入。而我最
    发表于 11-22 09:36 10次下载
    课程设计 - <b>运动</b><b>控制卡</b>(云服务器)

    利用运动控制卡搭建运动控制平台

    项目需求 利用运动控制卡,快速搭建运动控制平台。所需硬件:个人电脑;正运动控制卡;艾思控驱动器;鸣志直流无刷电机。软件平台:python 硬件介绍 正运动控制卡 控制卡用于接收PC的运动指令,然后以
    发表于 03-10 10:01 0次下载
    利用<b>运动</b><b>控制卡</b>搭建<b>运动</b><b>控制</b>平台

    种基于运动控制卡的数控专用机床

    种基于运动控制卡的数控专用机床 摘要:本文介绍了大米加工机械中,磨辊加工数控系统的硬件组成,控制程序的模块构成和关键
    发表于 10-13 18:48 4487次阅读
    <b>一</b>种基于<b>运动</b><b>控制卡</b>的数控专用机床

    六轴运动控制卡介绍

    六轴运动控制卡
    发表于 07-16 11:29 1w次阅读

    四轴运动控制卡上的IC

    四轴运动控制卡
    发表于 07-17 11:44 2129次阅读

    文了解运动控制卡是什么

    运动控制卡种基于PC机及工业PC机、 用于各种运动控制场合(包括位移、速度、加速度等)的上位控制单元。
    的头像 发表于 11-27 14:11 4.6w次阅读

    浅谈运动控制卡的功能及使用

    关于运动控制卡,其实现基于PC的界面,强大的PC功能,两者相互结合,从而使得于东控制器的能力达到了顶尖,但唯缺点就在于其稳定性和可靠性差。选项插入运动控制卡,以控制经由PCI插槽中的主计
    的头像 发表于 11-27 14:30 2.9w次阅读

    简介pmac运动控制卡

    PMAC运动控制卡内部使用了片Motorola DSP 56003数字信号处理芯片,它的速度、分辨率、带宽等指标远优于般的运动控制卡。伺服控制包括PID加Notch和速度、加速度前馈控制,其伺服
    的头像 发表于 11-27 15:13 1.1w次阅读

    什么是运动控制卡,它的作用是什么

    运动控制卡种基于PC机及工业PC机、 用于各种运动控制场合(包括位移、速度、加速度等)的上位控制单元。
    发表于 08-23 11:26 1w次阅读

    研控运动控制卡的编程小技巧

    运动控制卡开发应用中,运动顺序执行是最常见的编程问题之,关系到设备后续控制动作能否正常运行。下面,我们分享研控运动控制卡的编程小技巧!
    的头像 发表于 12-24 18:57 1077次阅读

    运动控制卡与PLC的区别

    运动控制卡就跟专业伺服电机的控制运动而已他的指令很简单控制的方式更多齿轮,插补,凸轮等但在IO处理起来就不像有PLC的梯形图那么简单要语言编程。
    的头像 发表于 01-07 14:47 1.8w次阅读

    运动控制卡应用开发教程之硬件比较输出

    运动控制卡应用开发教程之硬件比较输出
    的头像 发表于 10-18 15:57 182次阅读
    <b>运动</b><b>控制卡</b>应用开发教程之硬件比较输出

    EtherCAT运动控制卡的硬件接线与C#的单轴运动控制

    EtherCAT运动控制卡实现C#的单轴运动控制的例程
    的头像 发表于 10-22 15:46 220次阅读
    <b>EtherCAT</b><b>运动</b><b>控制卡</b>的硬件接线与C#的单轴<b>运动</b><b>控制</b>

    EtherCAT运动控制卡的硬件接线与C#的硬件外设读写与回零运动

    EtherCAT运动控制卡进行硬件接线与C#的硬件外设读写与回零运动
    的头像 发表于 11-08 16:00 114次阅读
    <b>EtherCAT</b><b>运动</b><b>控制卡</b>的硬件接线与C#的硬件外设读写与回零<b>运动</b>

    EtherCAT运动控制卡的总线轴参数设置和轴运动

    EtherCAT运动控制卡的总线轴参数设置和轴运动设定
    的头像 发表于 11-08 16:29 223次阅读
    <b>EtherCAT</b><b>运动</b><b>控制卡</b>的总线轴参数设置和轴<b>运动</b>

    EtherCAT运动控制卡的辅助调试工具与方法介绍

    EtherCAT运动控制卡的辅助调试工具与方法介绍
    的头像 发表于 11-12 15:42 139次阅读
    <b>EtherCAT</b><b>运动</b><b>控制卡</b>的辅助调试工具与方法介绍

    运动控制+机器视觉Demo软件框架(三)视觉纠偏

    运动技术专注于运动控制技术研究和通用运动控制软硬件产品的研发,是国家级高新技术企业。主要业务有:运动控制卡_运动控制器_EtherCAT运动控制卡_EtherCAT控制
    的头像 发表于 04-19 17:03 1902次阅读
    <b>运动</b><b>控制</b>+机器视觉Demo软件框架(三)视觉纠偏

    如何通过Qt编程实现直线插补的运动控制

    今天,正运动小助手给大家分享一下EtherCAT运动控制卡开发教程之Qt,主要介绍一下如何通过Qt编程实现直线插补的运动控制
    发表于 05-06 09:58 672次阅读
    如何通过Qt编程实现直线插补的<b>运动</b><b>控制</b>

    EtherCAT运动控制器(三)PLC实现多轴直线插补

    运动技术专注于运动控制技术研究和通用运动控制软硬件产品的研发,是国家级高新技术企业。主要业务有:运动控制卡_运动控制器_EtherCAT运动控制卡_EtherCAT控制
    的头像 发表于 05-20 16:51 3730次阅读
    <b>EtherCAT</b><b>运动</b><b>控制</b>器(三)PLC实现多轴直线插补

    EtherCAT运动控制卡自定义运动曲线

    今天,正运动小助手给大家分享一下EtherCAT运动控制卡自定义运动曲线,主要介绍一下如何通过在线命令封装自己想使用的Basic指令到上位机接口中供上位机调用。
    的头像 发表于 09-27 11:19 843次阅读
    <b>EtherCAT</b><b>运动</b><b>控制卡</b>的<b>自定义</b><b>运动</b><b>曲线</b>

    分享一下运动控制卡之ECIO系列IO的用法

    ECI0032/ECI0064等ECI0系列运动控制卡支持以太网、RS232通讯接口和电脑相连,接收电脑的指令运行,可以通过CAN总线连接各个扩展模块,从而扩展输入输出点数。
    的头像 发表于 02-17 17:51 1999次阅读

    阿尔泰科技基于运动控制卡的雕刻机设计

    本系统采用阿尔泰科技的运动控制卡设计的雕刻机-运动控制卡采用PCI1020,具体的参数指标如下: 主要指标 · 32位 PCI 总线,即插即用 · 独立4 轴驱动;脉冲输出速率1~ 4MPPS
    的头像 发表于 02-20 15:35 363次阅读
    阿尔泰科技基于<b>运动</b><b>控制卡</b>的雕刻机设计

    运动控制卡能仿真吗?

    其实不同品牌运动控制卡对仿真的支持是不样的,有些品牌不支持,有的品牌则支持,今天跟大家分享一下,基于正运动Zmotion运动控制卡,来实现仿真调试。
    的头像 发表于 02-22 15:54 308次阅读
    <b>运动</b><b>控制卡</b>能仿真吗?

    什么是Modbus联合运动控制卡实时通信

    最近有运动控制的学员问到这样的问题,能不能通过Modbus协议,实现运动控制卡的数据读取。经过测试,切实可行。
    的头像 发表于 02-22 16:08 200次阅读
    什么是Modbus联合<b>运动</b><b>控制卡</b>实时通信

    下载硬声App