/// <summary> /// Permite configurar el robot de la estación /// </summary> /// <param name="Value">Configuración del robot</param> /// <remarks></remarks> public new async Task WriteRobotConfigurationAsync(CRobotData Value) { // SyncLock ServiceStackJBC01_Lock if (connectErrorStatus != EnumConnectError.NO_ERROR) { return; } try { dc_RobotConfiguration rbtConfigurationDC = new dc_RobotConfiguration(); rbtConfigurationDC.Status = (JBCService.dc_EnumConstJBCdc_OnOff)((dc_EnumConstJBCdc_OnOff)Value.Status); rbtConfigurationDC.Protocol = (JBCService.dc_EnumConstJBCdc_RobotProtocol)((dc_EnumConstJBCdc_RobotProtocol)Value.Protocol); rbtConfigurationDC.Address = Value.Address; rbtConfigurationDC.Speed = (JBCService.dc_EnumConstJBCdc_RobotSpeed)((dc_EnumConstJBCdc_RobotSpeed)Value.Speed); rbtConfigurationDC.DataBits = Value.DataBits; rbtConfigurationDC.StopBits = (JBCService.dc_EnumConstJBCdc_RobotStop)((dc_EnumConstJBCdc_RobotStop)Value.StopBits); rbtConfigurationDC.Parity = (JBCService.dc_EnumConstJBCdc_RobotParity)((dc_EnumConstJBCdc_RobotParity)Value.Parity); await m_hostService.SetRobotConfigurationAsync(m_hostStnUUID, rbtConfigurationDC); } catch (FaultException <faultError> faultEx) { RaiseEventError(faultEx, System.Reflection.MethodBase.GetCurrentMethod().Name); } catch (Exception ex) { RaiseEventError(ex, System.Reflection.MethodBase.GetCurrentMethod().Name); } // End SyncLock }
public uint WriteRobotConfiguration(CRobotData robotData) { //Datos byte[] Datos = new byte[7]; Datos[0] = System.Convert.ToByte(robotData.Speed); Datos[1] = (byte)(robotData.DataBits + 48); if (robotData.Parity == CRobotData.RobotParity.Odd) { Datos[2] = (byte)(Strings.AscW("O")); } else if (robotData.Parity == CRobotData.RobotParity.Even) { Datos[2] = (byte)(Strings.AscW("E")); } else { Datos[2] = (byte)(Strings.AscW("N")); } Datos[3] = System.Convert.ToByte(robotData.StopBits); Datos[4] = System.Convert.ToByte(robotData.Protocol); //big endian Datos[5] = System.Convert.ToByte((robotData.Address / 10) + 48); Datos[6] = System.Convert.ToByte((robotData.Address % 10) + 48); //Command byte Command = (byte)EnumCommandFrame_02_SF.M_W_RBT_CONNCONFIG; return(SendMessage(Datos, Command)); }
internal void SetRobotConfiguration(CRobotData robotData) { // si la estación está en modo robot no acepta tramas de escritura excepto del status if (m_StationData.Settings.Robot.Status == OnOff._OFF) { m_Frames_02.WriteRobotConfiguration(robotData); m_Frames_02.ReadRobotConfiguration(); } m_Frames_02.WriteRobotStatus(robotData.Status); m_Frames_02.ReadRobotStatus(); }
public static void CopyData(CRobotData robot, dc_RobotConfiguration dcRobot) { robot.Status = (DataJBC.OnOff)dcRobot.Status; robot.Protocol = (CRobotData.RobotProtocol)dcRobot.Protocol; robot.Address = dcRobot.Address; robot.Speed = (CRobotData.RobotSpeed)dcRobot.Speed; robot.DataBits = dcRobot.DataBits; robot.StopBits = (CRobotData.RobotStop)dcRobot.StopBits; robot.Parity = (CRobotData.RobotParity)dcRobot.Parity; }
public async Task SetRobotConfigurationAsync(CRobotData robotData) { await stack.WriteRobotConfigurationAsync(robotData); }