idostart 2024-04-08 08:45 采纳率: 80%
浏览 205
已结题

知道一下怎么用SMC_HOMING这个功能块写

在直线轴两端放置两个极限传感器,并在靠近一端极限传感器的地方再放置一个原点传感器,寻找原点必须先朝有原点传感器的一端运动,直到感应极限传感器立即停止,并反向低速运动,当检测到原点传感器后再次降速,检测离开原点传感器或者Z相脉冲后立即停止,作为原点

知道一下怎么用SMC_HOMING这个功能块写   

  • 写回答

3条回答 默认 最新

  • 檀越@新空间 2024-04-08 08:46
    关注

    上午好☀️☀️☀️️
    本答案参考ChatGPT-3.5

    好的,针对这个问题,我可以提供以下解决方案:

    1. 首先在PLC中安装SMC_HOMING功能模块,并根据实际情况配置相应的参数,如极限传感器类型、速度、加速度、Pulse数等。

    2. 在PLC程序中使用SMC_HOMING这个功能块,并将参数传递给该功能块,例如:

    SMC_HOMING(
        AxisNumber := 1,   //轴编号
        HomingType := 3,   //原点模式,此处为有物体原点
        Speed := 10000,    //回原点运动速度
        Acceleration := 5000,  //回原点加速度
        Deceleration := 5000,  //回原点减速度
        HomeOff := 0,      //原点偏移量
        HomeLimit := 1,    //原点限制
        HomingPulse := 1000,   //回原点脉冲数
        HomeSensorAct := 0, //原点传感器动作,此处为下降沿触发
        HomeSensorMode := 0,  //原点传感器模式,此处为反转模式
        Direction := 1     //回原点方向,此处为正向
        );
    
    1. 在程序中编写回原点的逻辑,具体可参考以下伪代码:
    //开始回原点
    SMC_HOMING();
    //等待回原点完成
    WHILE(SMC_HOMING.Done=0) DO
        //读取极限传感器和原点传感器状态
        Limit1_State := Get_Limit1_Sensor_State();
        Limit2_State := Get_Limit2_Sensor_State();
        HomeSensor_State := Get_Home_Sensor_State();
    
        //如果检测到极限传感器,则反向低速运动
        IF(Limit1_State = 1 OR Limit2_State = 1) THEN
            SMC_Stop();
            SMC_Move_At_Speed(-1000);
        END_IF
        
        //如果检测到原点传感器,则降速并停止
        IF(HomeSensor_State = 1) THEN
            SMC_Stop();
            SMC_Move_At_Speed(100);
            Wait_For_Home_Sensor_To_Release();
            SMC_Stop();
        END_IF
    
    //回原点完成
    END_WHILE
    
    1. 在程序中实现相应的传感器检测函数,例如:
    FUNCTION Get_Limit1_Sensor_State()
        //获取极限传感器1状态
    END_FUNCTION
    
    FUNCTION Get_Limit2_Sensor_State()
        //获取极限传感器2状态
    END_FUNCTION
    
    FUNCTION Get_Home_Sensor_State()
        //获取原点传感器状态
    END_FUNCTION
    
    FUNCTION Wait_For_Home_Sensor_To_Release()
        //等待原点传感器释放
    END_FUNCTION
    

    通过以上步骤,即可实现在两端放置极限传感器和一个原点传感器,在运动中回到原点的功能。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月27日
  • 已采纳回答 6月19日
  • 创建了问题 4月8日