难眠。 2025-01-08 18:44 采纳率: 0%
浏览 48
已结题

有奖提问,有没有懂固高卡以及滚筒轴+平移轴配合运动的哥?

大致情况:旋转轴接了一个变频器,固高给旋转轴脉冲会给到变频器控制旋转轴转动,反馈是用的编码器,旋转轴转一圈编码器反馈4万

需要实现:打算用固高的二维位置比较功能输出进行HSIO输出,滚筒轴相当于一个矩形的高度,平移轴相当于一个矩形的宽度,然后滚筒轴转一圈编码器刚好反馈4万,上面有很多要输出HSIO的点,滚筒轴转一圈,平移轴刚好向正方向移动400脉冲(10000脉冲为1毫秒、相当于4丝)

不知道表述清楚了没有,希望有懂的帮忙解答一下,万份感谢,下面的悬赏算一点小心意,刚实习手头确实不太宽裕

  • 写回答

34条回答 默认 最新

  • 专家-皆知 2025-01-08 18:45
    关注

    参考免费微信小程序:皆我百晓生 作答,经由专家-皆知整理回复,如问题解决,望采纳;如仍有疑问,请评论回复。

    好的,我明白你的需求了。你想要实现的是固高卡控制下的滚筒轴和平移轴的配合运动,通过二维位置比较功能输出HSIO信号。下面是一个基于你的描述的C#代码示例,用于实现你的需求:

    using System;
    using System.Threading;
    
    class Program
    {
        private static int滚筒轴脉冲计数 = 0;
        private static int平移轴脉冲计数 = 0;
        private static int滚筒轴编码器反馈 = 40000;
        private static int平移轴脉冲 = 400;
        private static int平移轴脉冲周期 = 10000;
    
        static void Main(string[] args)
        {
            Console.WriteLine("固高卡控制程序开始运行...");
    
            // 模拟固高卡接收脉冲信号
            while (true)
            {
                Thread.Sleep(1); // 模拟1毫秒的延迟
    
                // 模拟滚筒轴和平移轴接收脉冲信号
                滚筒轴脉冲计数++;
                平移轴脉冲计数++;
    
                // 判断滚筒轴是否转一圈
                if (滚筒轴脉冲计数 >= 滚筒轴编码器反馈)
                {
                    滚筒轴脉冲计数 = 0;
                    Console.WriteLine($"滚筒轴转一圈,当前位置: {滚筒轴脉冲计数}");
    
                    // 判断平移轴是否移动400脉冲
                    if (平移轴脉冲计数 >= 平移轴脉冲)
                    {
                        平移轴脉冲计数 = 0;
                        Console.WriteLine($"平移轴移动400脉冲,当前位置: {平移轴脉冲计数}");
    
                        // 输出HSIO信号
                        OutputHSIO();
                    }
                }
            }
        }
    
        private static void OutputHSIO()
        {
            // 模拟输出HSIO信号
            Console.WriteLine("HSIO信号输出...");
            // 这里可以添加实际的HSIO输出代码
        }
    }
    

    代码说明:

    1. 滚筒轴脉冲计数平移轴脉冲计数 分别用于记录滚筒轴和平移轴的脉冲计数。
    2. 滚筒轴编码器反馈 表示滚筒轴转一圈的编码器反馈值,这里设置为4万。
    3. 平移轴脉冲 表示平移轴每次移动的脉冲数,这里设置为400。
    4. 平移轴脉冲周期 表示平移轴脉冲的周期,这里设置为10000脉冲为1毫秒。
    5. 在主循环中,模拟固高卡接收脉冲信号,并更新滚筒轴和平移轴的脉冲计数。
    6. 当滚筒轴转一圈时,输出当前位置,并判断平移轴是否移动了400脉冲。
    7. 当平移轴移动400脉冲时,输出HSIO信号。

    你可以根据实际情况修改代码中的参数和逻辑,以适应你的具体需求。希望这个示例代码能帮助你解决问题。如果有任何其他问题,欢迎继续交流!

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月15日
  • 创建了问题 1月8日