「 JK-SEMI 佳控社区 」 诞生于泛半导体高端装备制造领域的设备软件平台框架

 找回密码
 立即注册
搜索
查看: 17|回复: 0

20260413_ Routine\Common\OBJ_AxisSpin 添加仿真代码

[复制链接]

72

主题

4

回帖

1504

积分

管理员

积分
1504
<
发表于 前天 21:37 | 显示全部楼层 |阅读模式

轴旋转 设置转速并启动,例 当前转速 CurrentVel = 0 RPM , 设置 目标转速 TargetVel = 1000 RPM , 目标加速度 TargetAcc = 100 RPM/s, 在仿真模式下,需要执行10秒。达到目标转速。

//------------------------------------------------------------------------
/// <summary>
/// 主轴旋转( 大于0正转 , 小于0反转 , 等于0停转 )
/// </summary>
/// <param name="Vel">[输入] 目标转速 , 默认加/减速度为10倍转速 , 加加速度为100倍转速</param>
/// <returns></returns>
FUNC_STATUS  OBJ_AxisSpin::Axis_Spin( double TargetRPM ,double TargetRPMAcc)
{

        ......
        // 2. for simulation
        if (ON == JDigital_Read_Mem( Point_D_Sim() ) ) {
                JAnalog_Write(Point_A_RotVel(), TargetRPM);
                JAnalog_Write(Point_A_RotAcc(), TargetRPMAcc);
                JAnalog_Write(Point_A_RotDec(), TargetRPMAcc);
                JAnalog_Write(Point_A_RotJerk(), TargetRPMAcc * 10);
                //
                if (TargetRPMAcc == 0) TargetRPMAcc = 1;
                double cur_vel = JAnalog_Read( Point_A_ActRotVel() );
                double per_time = 0.1;
                int loop_count = (int)( fabs( TargetRPM / TargetRPMAcc ) / per_time);
                double per_vel = ( TargetRPM - cur_vel ) / loop_count;
                start_time = JTime_Get();
                while ( !EXIT_FLAG )
                {
                        if (loop_count <= 0) break;
                        cur_vel += per_vel;
                        JAnalog_Write(Point_A_ActRotVel() , cur_vel );
                        if (!JTimer_Wait_Seconds(per_time)) goto ABORT_LABEL;
                        loop_count--;
                }
                m_data->CurSV = TargetRPM;
                JAnalog_Write( Point_A_ActRotVel(), TargetRPM );
                JPrint(FUNCTION_NAME, "End   Axis_Spin Ctrl - %s [simulation]", IO_HEAD() );
                return FUNC_STATUS::SYS_SUCCESS;
        }
        ......
}




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ| JK-SEMI 佳控社区

辽ICP备2023010581号-1

快速回复 返回顶部 返回列表