|
|
|
@ -56,65 +56,65 @@ namespace Rs.Motion.GugaoPulse
|
|
|
|
|
apiResult = mc_pulse_cfg.GT_SetDiConfig((short)Config.CardId, mc_pulse.MC_ALARM, (short)Config.AxisId, ref diConfig);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
mc_pulse_cfg.GT_GetDoConfig((short)Config.CardId, mc_pulse.MC_GPO, 11, out mc_pulse_cfg.TDoConfig oConfig);
|
|
|
|
|
oConfig.reverse = 0;
|
|
|
|
|
mc_pulse_cfg.GT_SetDoConfig((short)Config.CardId, mc_pulse.MC_GPO, 11, ref oConfig);
|
|
|
|
|
//mc_pulse_cfg.GT_GetDoConfig((short)Config.CardId, mc_pulse.MC_GPO, 11, out mc_pulse_cfg.TDoConfig oConfig);
|
|
|
|
|
//oConfig.reverse = 0;
|
|
|
|
|
//mc_pulse_cfg.GT_SetDoConfig((short)Config.CardId, mc_pulse.MC_GPO, 11, ref oConfig);
|
|
|
|
|
|
|
|
|
|
mc_pulse_cfg.GT_GetDoConfig((short)Config.CardId, mc_pulse.MC_GPO, 12, out oConfig);
|
|
|
|
|
oConfig.reverse = 1;
|
|
|
|
|
mc_pulse_cfg.GT_SetDoConfig((short)Config.CardId, mc_pulse.MC_GPO, 12, ref oConfig);
|
|
|
|
|
//mc_pulse_cfg.GT_GetDoConfig((short)Config.CardId, mc_pulse.MC_GPO, 12, out oConfig);
|
|
|
|
|
//oConfig.reverse = 1;
|
|
|
|
|
//mc_pulse_cfg.GT_SetDoConfig((short)Config.CardId, mc_pulse.MC_GPO, 12, ref oConfig);
|
|
|
|
|
|
|
|
|
|
mc_pulse_cfg.GT_GetDoConfig((short)Config.CardId, mc_pulse.MC_GPO, 13, out oConfig);
|
|
|
|
|
oConfig.reverse = 1;
|
|
|
|
|
mc_pulse_cfg.GT_SetDoConfig((short)Config.CardId, mc_pulse.MC_GPO, 13, ref oConfig);
|
|
|
|
|
//mc_pulse_cfg.GT_GetDoConfig((short)Config.CardId, mc_pulse.MC_GPO, 13, out oConfig);
|
|
|
|
|
//oConfig.reverse = 1;
|
|
|
|
|
//mc_pulse_cfg.GT_SetDoConfig((short)Config.CardId, mc_pulse.MC_GPO, 13, ref oConfig);
|
|
|
|
|
|
|
|
|
|
//先判断正限位
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ((Config.EnableEL & 0x01) == 0)//禁用正限位
|
|
|
|
|
{
|
|
|
|
|
mc_pulse.GT_LmtsOff((short)Config.CardId, (short)Config.AxisId, mc_pulse.MC_LIMIT_POSITIVE);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
axisConfig.limitPositiveIndex = (short)Config.AxisId;
|
|
|
|
|
//axisConfig.alarmIndex = (short)Config.AxisId;
|
|
|
|
|
apiResult = mc_pulse_cfg.GT_GetDiConfig((short)Config.CardId, mc_pulse.MC_LIMIT_POSITIVE, (short)Config.AxisId, out diConfig);
|
|
|
|
|
diConfig.active = 1;
|
|
|
|
|
diConfig.reverse = (short)Config.ElLogic;
|
|
|
|
|
diConfig.filterTime = 3;
|
|
|
|
|
apiResult = mc_pulse_cfg.GT_SetDiConfig((short)Config.CardId, mc_pulse.MC_LIMIT_POSITIVE, (short)Config.AxisId, ref diConfig);
|
|
|
|
|
//if ((Config.EnableEL & 0x01) == 0)//禁用正限位
|
|
|
|
|
//{
|
|
|
|
|
// mc_pulse.GT_LmtsOff((short)Config.CardId, (short)Config.AxisId, mc_pulse.MC_LIMIT_POSITIVE);
|
|
|
|
|
//}
|
|
|
|
|
//else
|
|
|
|
|
//{
|
|
|
|
|
// axisConfig.limitPositiveIndex = (short)Config.AxisId;
|
|
|
|
|
// //axisConfig.alarmIndex = (short)Config.AxisId;
|
|
|
|
|
// apiResult = mc_pulse_cfg.GT_GetDiConfig((short)Config.CardId, mc_pulse.MC_LIMIT_POSITIVE, (short)Config.AxisId, out diConfig);
|
|
|
|
|
// diConfig.active = 1;
|
|
|
|
|
// diConfig.reverse = (short)Config.ElLogic;
|
|
|
|
|
// diConfig.filterTime = 3;
|
|
|
|
|
// apiResult = mc_pulse_cfg.GT_SetDiConfig((short)Config.CardId, mc_pulse.MC_LIMIT_POSITIVE, (short)Config.AxisId, ref diConfig);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//先判断负限位
|
|
|
|
|
if (((Config.EnableEL >> 1) & 0x01) == 0)
|
|
|
|
|
{
|
|
|
|
|
mc_pulse.GT_LmtsOff((short)Config.CardId, (short)Config.AxisId, mc_pulse.MC_LIMIT_NEGATIVE);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
axisConfig.limitNegativeIndex = (short)Config.AxisId;
|
|
|
|
|
apiResult = mc_pulse_cfg.GT_GetDiConfig((short)Config.CardId, mc_pulse.MC_LIMIT_NEGATIVE, (short)Config.AxisId, out diConfig);
|
|
|
|
|
diConfig.active = 1;
|
|
|
|
|
diConfig.reverse = (short)Config.ElLogic;
|
|
|
|
|
diConfig.filterTime = 3;
|
|
|
|
|
apiResult = mc_pulse_cfg.GT_SetDiConfig((short)Config.CardId, mc_pulse.MC_LIMIT_NEGATIVE, (short)Config.AxisId, ref diConfig);
|
|
|
|
|
}
|
|
|
|
|
if (Config.EnableInp == 1)
|
|
|
|
|
{
|
|
|
|
|
apiResult = mc_pulse_cfg.GT_GetDiConfig((short)Config.CardId, mc_pulse.MC_ARRIVE, (short)Config.AxisId, out diConfig);
|
|
|
|
|
diConfig.active = 1;
|
|
|
|
|
diConfig.reverse = (short)Config.InpLogic;
|
|
|
|
|
apiResult = mc_pulse_cfg.GT_SetDiConfig((short)Config.CardId, mc_pulse.MC_ARRIVE, (short)Config.AxisId, ref diConfig);
|
|
|
|
|
}
|
|
|
|
|
//}
|
|
|
|
|
////先判断负限位
|
|
|
|
|
//if (((Config.EnableEL >> 1) & 0x01) == 0)
|
|
|
|
|
//{
|
|
|
|
|
// mc_pulse.GT_LmtsOff((short)Config.CardId, (short)Config.AxisId, mc_pulse.MC_LIMIT_NEGATIVE);
|
|
|
|
|
//}
|
|
|
|
|
//else
|
|
|
|
|
//{
|
|
|
|
|
// axisConfig.limitNegativeIndex = (short)Config.AxisId;
|
|
|
|
|
// apiResult = mc_pulse_cfg.GT_GetDiConfig((short)Config.CardId, mc_pulse.MC_LIMIT_NEGATIVE, (short)Config.AxisId, out diConfig);
|
|
|
|
|
// diConfig.active = 1;
|
|
|
|
|
// diConfig.reverse = (short)Config.ElLogic;
|
|
|
|
|
// diConfig.filterTime = 3;
|
|
|
|
|
// apiResult = mc_pulse_cfg.GT_SetDiConfig((short)Config.CardId, mc_pulse.MC_LIMIT_NEGATIVE, (short)Config.AxisId, ref diConfig);
|
|
|
|
|
//}
|
|
|
|
|
//if (Config.EnableInp == 1)
|
|
|
|
|
//{
|
|
|
|
|
// apiResult = mc_pulse_cfg.GT_GetDiConfig((short)Config.CardId, mc_pulse.MC_ARRIVE, (short)Config.AxisId, out diConfig);
|
|
|
|
|
// diConfig.active = 1;
|
|
|
|
|
// diConfig.reverse = (short)Config.InpLogic;
|
|
|
|
|
// apiResult = mc_pulse_cfg.GT_SetDiConfig((short)Config.CardId, mc_pulse.MC_ARRIVE, (short)Config.AxisId, ref diConfig);
|
|
|
|
|
//}
|
|
|
|
|
apiResult = mc_pulse_cfg.GT_GetDiConfig((short)Config.CardId, mc_pulse.MC_HOME, (short)Config.AxisId, out diConfig);
|
|
|
|
|
diConfig.active = 1;
|
|
|
|
|
diConfig.reverse = (short)Config.HomeOrgLogic;
|
|
|
|
|
diConfig.filterTime = 3;
|
|
|
|
|
apiResult = mc_pulse_cfg.GT_SetDiConfig((short)Config.CardId, mc_pulse.MC_HOME, (short)Config.AxisId, ref diConfig);
|
|
|
|
|
|
|
|
|
|
apiResult = mc_pulse_cfg.GT_SetAxisConfig((short)Config.CardId, (short)Config.AxisId, ref axisConfig);
|
|
|
|
|
//apiResult = mc_pulse_cfg.GT_SetAxisConfig((short)Config.CardId, (short)Config.AxisId, ref axisConfig);
|
|
|
|
|
// mc_cfg.GT_SetDiConfig(short diType, short diIndex, ref TDiConfig pDi);
|
|
|
|
|
//mc_pulse.GT_EncSns((short)Config.CardId, 0);
|
|
|
|
|
mc_pulse.GT_ClrSts((short)Config.CardId, (short)Config.AxisId, 1);
|
|
|
|
@ -809,6 +809,7 @@ namespace Rs.Motion.GugaoPulse
|
|
|
|
|
homePrm.searchHomeDistance = 0;
|
|
|
|
|
homePrm.searchIndexDistance = 0;
|
|
|
|
|
homePrm.edge = (short)(Config.HomeOrgLogic == 0 ? 1 : 0);
|
|
|
|
|
|
|
|
|
|
apiResult = mc_pulse.GT_GoHome((short)Config.CardId, (short)Config.AxisId, ref homePrm);
|
|
|
|
|
|
|
|
|
|
// LogHelper.Debug($"axis {Config.AxisName} start home ,homedir={Config.HomeDir},homemode={Config.HomeMode}");
|
|
|
|
|