public OpcClient GetOpcConnection(string ip)
        {
            OpcClient opc;

            OpcConnections.TryGetValue(ip, out opc);
            return(opc);
        }
 public void InitConnection(string ip)
 {
     //   string ip = "opc.tcp://127.0.0.1:4840";
     //    string ip2 = "opc.tcp://10.112.254.69:4840";
     System.Diagnostics.Debug.WriteLine(ip);
     if (OpcConnections.ContainsKey(ip))
     {
         OpcClient c = new OpcClient(ip);
         OpcConnections[ip] = c;
     }
     else
     {
         OpcClient c = new OpcClient(ip);
         OpcConnections.Add(ip, c);
         AddEventHandler(c);
     }
 }
        public bool HandleCommand(string ip, string command)
        {
            OpcClient opc;
            bool      succeeded = OpcConnections.TryGetValue(ip, out opc);

            if (succeeded)
            {
                switch (command)
                {
                case "start":
                    if (Singleton.Instance.DBManager.RetrieveFromBatchQueue().Count > 0 && opc.StateCurrent == 4)
                    {
                        BatchQueueModel bqm = Singleton.Instance.DBManager.RetrieveFromBatchQueue()[0];
                        Singleton.Instance.DBManager.RemoveFromBatchQueue(bqm.Id);
                        opc.StartMachine(10, bqm.BeerId, bqm.Amount, bqm.Speed);
                    }
                    break;

                case "stop":
                    opc.StopMachine();
                    break;

                case "clear":
                    opc.ClearMachine();
                    break;

                case "abort":
                    opc.AbortMachine();
                    break;

                case "reset":
                    opc.ResetMachine();
                    break;

                default:
                    throw new Exception("Invalid command");
                }
            }
            return(succeeded);
        }