Esempio n. 1
0
        public void WriteCommand(Azioni azione, Pinza pinza, Stazioni stazione, PosizioneSchedaForRobot pos)
        {
            CommandPending = true;
            byte[] msg = Encoding.ASCII.GetBytes($"[{(int)azione},{(int)pinza},{(int)stazione},{(int)pos}]");
            _handlerMain.Send(msg);

            _data = null;

            // An incoming connection needs to be processed.
            while (true)
            {
                _bytes = new byte[1024];
                int bytesRec = _handlerMain.Receive(_bytes);
                _data  = null;
                _data += Encoding.ASCII.GetString(_bytes, 0, bytesRec);
                if (_data.IndexOf("cmd_ok#") > -1)
                {
                    Console.WriteLine("Comando Ricevuto da Robot");
                }
                else if (_data.IndexOf("cmd_end#") > -1)
                {
                    Console.WriteLine("Comando Completato dal Robot");
                    CommandPending = false;
                    break;
                }
            }
        }
Esempio n. 2
0
 private void executeCommand(Azioni azione, Pinza pinza, Stazioni stazione, PosizioneSchedaForRobot posizione)
 {
     if (_robot != null && _robot.AreCommandsEnabled && !_robot.CommandPending)
     {
         _robot.WriteCommand(azione, pinza, stazione, posizione);
     }
     else if (_robot != null)
     {
         MessageBox.Show("Definire istanza Robot");
     }
     else if (_robot.CommandPending)
     {
         MessageBox.Show("Attendere la fine del comando in esecuzione dal robot");
     }
 }