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

    文章

    58

    浏览量

    13000
  • ModBus协议
    +关注

    关注

    3

    文章

    174

    浏览量

    33385
  • 数据读取
    +关注

    关注

    0

    文章

    8

    浏览量

    6524
收藏 人收藏

    评论

    相关推荐

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

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

    运动控制卡

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

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

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

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

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

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

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

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

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

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

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

    六轴运动控制卡介绍

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

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

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

    运动控制卡能仿真吗?

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

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

    项目需求 利用运动控制卡,快速搭建运动控制平台。所需硬件:个人电脑;正运动控制卡;艾思控驱动器;
    发表于 03-10 10:01 0次下载
    利用<b class='flag-5'>运动</b><b class='flag-5'>控制卡</b>搭建<b class='flag-5'>运动</b><b class='flag-5'>控制</b>平台

    阿尔泰科技 运动控制卡的简要介绍

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

    不止10倍提速!PCIe EtherCAT实时运动控制卡XPCIE1032H 等您评测!

    PCIe实时运动控制卡助力EtherCAT高速高精运动控制应用!
    的头像 发表于 06-26 10:14 7640次阅读
    不止10倍提速!PCIe EtherCAT<b class='flag-5'>实时运动</b><b class='flag-5'>控制卡</b>XPCIE1032H 等您评测!

    运动控制卡伺服电机如何控制

    运动控制卡伺服电机控制是现代工业自动化领域中一项重要的技术,它涉及到运动控制卡、伺服电机、控制
    的头像 发表于 06-12 14:13 771次阅读

    PCIe实时运动控制卡的双盘视觉筛选机上位机开发应用

    PCIe实时运动控制卡的双盘视觉筛选机上位机开发应用
    的头像 发表于 10-10 10:15 234次阅读
    PCIe<b class='flag-5'>实时运动</b><b class='flag-5'>控制卡</b>的双盘视觉筛选机上位机开发应用