/// <summary> /// M2X4 裝置啟停 /// </summary> /// <param name="option">The option.</param> public void ServoOn(CmdStatus option) { I16 rc = -1; if (axisPara != null) { if (axisPara.IsActive) { setMotion(); if (option == CmdStatus.OFF) { this.IsHome = false; axisPara.Enabled = false; rc = CCMNet.CS_mnet_m204_set_svon(RingNoOfMNet, axisPara.SlaveIP, (U16)axisPara.AxisNo, 0); } if (option == CmdStatus.ON) { if (axisPara.IsActive) { axisPara.Enabled = true; rc = CCMNet.CS_mnet_m204_disable_soft_limit(RingNoOfMNet, axisPara.SlaveIP, (U16)axisPara.AxisNo); CCMNet.CS_mnet_m204_set_svon(RingNoOfMNet, axisPara.SlaveIP, (U16)axisPara.AxisNo, 1); } } } } }
public bool SetSoftLimit(I32 positiveLimit, I32 negativeLimit, CmdStatus sw, StopType stopType) { I16 rc = -1; if (axisPara.IsActive && axisPara.Enabled) { if (sw == CmdStatus.ON) { /* * 0 INT only * 1 Immediately stop * 2 Slow down then stop * 3 Reserved */ if (stopType == StopType.Emergency) { rc = CCMNet.CS_mnet_m204_enable_soft_limit(RingNoOfMNet, axisPara.SlaveIP, (U16)axisPara.AxisNo, 1); } else { rc = CCMNet.CS_mnet_m204_enable_soft_limit(RingNoOfMNet, axisPara.SlaveIP, (U16)axisPara.AxisNo, 2); } rc = CCMNet.CS_mnet_m204_set_soft_limit(RingNoOfMNet, axisPara.SlaveIP, (U16)axisPara.AxisNo, positiveLimit, negativeLimit); } else { rc = CCMNet.CS_mnet_m204_disable_soft_limit(RingNoOfMNet, axisPara.SlaveIP, (U16)axisPara.AxisNo); } } return(rc == 0 ? true : false); }
public bool DisableSoftLimit() { I16 rc = -1; if (axisPara.IsActive && axisPara.Enabled) { rc = CCMNet.CS_mnet_m204_disable_soft_limit(RingNoOfMNet, axisPara.SlaveIP, (U16)axisPara.AxisNo); } return(rc == 0 ? true : false); }