0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

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

3天内不再提示

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

汽车电子技术 来源:dotNet工控上位机 作者:新阁教育付工 2023-02-22 16:08 次阅读

-Begin-

前言

最近有运动控制的学员问到这样的问题,能不能通过Modbus协议,实现运动控制卡的数据读取。

经过测试,切实可行。这里采用的是正运动的ECI1408板卡,其他品牌板卡可能不支持,具体咨询供应商。

MOdbus协议

正运动控制器支持两个存储区,分别是0区和4区。

  • 0区从地址10000开始与输入 IN 口对应。
  • 0区从地址20000开始与输出 OUT 口对应。
  • 4区从地址10000开始对应轴 DPOS 区间。
  • 4区从地址11000开始对应轴 MPOS 区间。
  • 4区从地址12000开始对应轴 VP_SPEED 区间。
  • 4区从地址13000开始对应模拟量DA输出区间。
  • 4区从地址14000开始对应模拟量AD输入区间。
  • 对于其他参数,可以采用自定义存储区0-7999来使用。

图片

图片

代码测试

图片

这里以读取XYZ三轴的位置来进行测试。

  • 建立连接
//Modbus通信对象
        private ModbusTcp modbusTcp = new ModbusTcp();

        //取消线程源
        private CancellationTokenSource cts;

        private void btn_Connect_Click(object sender, EventArgs e)
        {
            if (modbusTcp.Connect(this.txt_IPAddress.Text, Convert.ToInt32(this.txt_Port.Text)))
            {
                //如果连接成功,开线程读取
                cts = new CancellationTokenSource();

                Task.Run(() =>
                {
                    GetMotionData();
                }, cts.Token);
            }
            else
            {
                MessageBox.Show("运动控制卡连接失败", "建立连接");
            }
        }
  • 断开连接
private void btn_DisConn_Click(object sender, EventArgs e)
        {
            cts?.Cancel();
            modbusTcp.DisConnect();
        }
  • 多线程读取解析
private void GetMotionData()
        {
            while (!cts.IsCancellationRequested)
            {
                byte[] res = modbusTcp.ReadKeepReg(1, 10000, 6);
                this.Invoke(new Action(() =>
                {
                    if (res != null && res.Length == 12)
                    {
                        float[] values = FloatLib.GetFloatArrayFromByteArray(res, DataFormat.CDAB);
                        this.lbl_XAxis.Text = values[0].ToString();
                        this.lbl_YAxis.Text = values[1].ToString();
                        this.lbl_ZAxis.Text = values[2].ToString();
                    }
                }));
            }
        }
  • 测试结果如下:

上位机软件实时数据显示:

图片

测试软件结果显示:

图片

整体总结

本案例主要是测试了基于Modbus协议来读取运动控制卡的相关参数,这种情况主要用于第三方软件需要运动控制系统的相关数据。同时,如果后续的运动控制项目,需要提供数据给其他软件,可以将运动控制卡作为一个现成免费的ModbusTCP服务器,不仅可以传递运动控制参数,其他参数都可以实现传递。

-END-

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制卡
    +关注

    关注

    2

    文章

    50

    浏览量

    12847
  • ModBus协议
    +关注

    关注

    3

    文章

    148

    浏览量

    33196
  • 数据读取
    +关注

    关注

    0

    文章

    6

    浏览量

    6463
收藏 人收藏

    评论

    相关推荐

    【正运动】高速高精,超高实时性的PCIe EtherCAT实时运动控制卡 | PCIE464

    充分利用PC的高效数据处理和开放性特性,以及控制卡高速PWM、多维位置比较输出PSO等功能,实现出色的多轴同步控制和高速点位以及复杂的轨迹运动控制等功能,确保了
    发表于 01-24 09:48

    六轴运动控制卡

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

    运动控制卡

    本人对运动控制卡一无所知,想问一下运动控制是不是也像数据采集一样有多组通道呢,一块运动
    发表于 06-05 00:45

    运动控制卡

    有没有高手懂得弄运动控制卡?可以教一下小白我,怎么入门,用什么软件去编程他。
    发表于 06-13 10:50

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

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

    NI运动控制卡的使用

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

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

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

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

    简介: ACS是一款以色列的运动控制卡控制直线电机,运动精度到u级别。常用在工业领域。1.使用:运动
    发表于 09-01 07:31

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

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

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

    轴直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随、虚拟轴、机械手指令等;采用优化的网络通讯协议可以实现实时运动控制。  ECI2828系列运动
    发表于 09-01 06:24

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

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

    ACS运动控制卡怎么使用?

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

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

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

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

    实时位置及速度测量,编码器的实验讲解等。 主要有以下5个实验课程: (1)运动控制卡与丝杠滑台接线方法 (2)定长运动实验讲解 (3)编码器实验讲解 (4)回原点
    发表于 11-26 10:38

    运动ECI系列运动控制卡产品优势

    ,同时缩小工控机体积; 5、ECI运动控制卡内部可写部分代码,实时性要求特别高的场合也适用; 6、对于环境不好的场合,时间长了工控机容易进灰尘,ECI运动
    发表于 06-13 09:44