Beispiel #1
0
        /// <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
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
 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();
 }
Beispiel #4
0
 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;
 }
Beispiel #5
0
 public async Task SetRobotConfigurationAsync(CRobotData robotData)
 {
     await stack.WriteRobotConfigurationAsync(robotData);
 }