好的,以下是排版之后的示例程序:
VAR
Axis_No : ARRAY OF BYTE := ;
Axis_Home_Status : ARRAY OF INT := ; // 轴回原点状态,0表示未回原点,1表示已回原点,2表示回原点出错
Motor_Pulse_Per_Rev : DINT := 10000; // 伺服电机每圈脉冲数
Speed : REAL := 100; // 伺服运动速度,单位:毫米/秒
Accel : REAL := 1000; // 伺服运动加速度,单位:毫米/秒^2
Decel : REAL := 1000; // 伺服运动减速度,单位:毫米/秒^2
Pos_Tar : ARRAY OF DINT := ; // 目标位置脉冲数
// 回原点程序
FB_Home(Axis_No[1], Axis_Home_Status[1]);
FB_Home(Axis_No[2], Axis_Home_Status[2]);
FB_Home(Axis_No[3], Axis_Home_Status[3]);
FB_Home(Axis_No[4], Axis_Home_Status[4]);
FB_Home(Axis_No[5], Axis_Home_Status[5]);
// 伺服定位程序
FB_ServoPositioning(Axis_No[1], Motor_Pulse_Per_Rev, FALSE, Pos_Tar[1], Speed, Accel, Decel);
FB_ServoPositioning(Axis_No[2], Motor_Pulse_Per_Rev, FALSE, Pos_Tar[2], Speed, Accel, Decel);
FB_ServoPositioning(Axis_No[3], Motor_Pulse_Per_Rev, FALSE, Pos_Tar[3], Speed, Accel, Decel);
FB_ServoPositioning(Axis_No[4], Motor_Pulse_Per_Rev, FALSE, Pos_Tar[4], Speed, Accel, Decel);
FB_ServoPositioning(Axis_No[5], Motor_Pulse_Per_Rev, FALSE, Pos_Tar[5], Speed, Accel, Decel); |