Exemple #1
0
        public static void Main(String[] args)
        {
            try
            {
                int result = (int)EnumResultCode.S_OK;
                EndEvent = new AutoResetEvent(false);
                Console console = new Console();

                MyWin32.HandlerRoutine handlerRoutine = new MyWin32.HandlerRoutine(MyWin32.Handler);
                MyWin32.SetConsoleCtrlHandler(
                    handlerRoutine,
                    true);

                console.CreateOpcClient();
                // gets the OpcClient instance
                OpcClient m_opcClient = console.OpcClient;

                //	initialize the client instance
                if (!ResultCode.SUCCEEDED(m_opcClient.Initialize()))
                {
                    m_opcClient = null;
                    return;
                }                   //	end if

                //	initialize the DA client simulation
                result |= m_opcClient.InitializeDaObjects();

                Usage();

                bool end = false;
                while (!end && !Console.End)
                {
                    String read = System.Console.ReadLine();
                    switch (read)
                    {
                    case "A":
                        m_opcClient.ActivateSession(false);
                        break;

                    case "a":
                        m_opcClient.ActivateSession(true);
                        break;

                    case "C":
                        m_opcClient.ConnectSession(false);
                        break;

                    case "c":
                        m_opcClient.ConnectSession(true);
                        break;

                    case "D":
                        m_opcClient.DisconnectSession(false);
                        break;

                    case "d":
                        m_opcClient.DisconnectSession(true);
                        break;

                    case "R":
                        m_opcClient.ReadItems(false);
                        break;

                    case "r":
                        m_opcClient.ReadItems(true);
                        break;

                    case "W":
                        m_opcClient.WriteItems(false);
                        break;

                    case "w":
                        m_opcClient.WriteItems(true);
                        break;

                    case "h":
                        m_opcClient.ChangeDataRetrievalMode();
                        break;

                    case "H":
                        m_opcClient.ChangeDataRetrievalMode();
                        break;

                    case "Z":
                        m_opcClient.ReadUsingSession(false);
                        break;

                    case "z":
                        m_opcClient.ReadUsingSession(true);
                        break;

                    case "T":
                        m_opcClient.WriteUsingSession(false);
                        break;

                    case "t":
                        m_opcClient.WriteUsingSession(true);
                        break;

                    case "S":
                        m_opcClient.GetServerStatus(false);
                        break;

                    case "s":
                        m_opcClient.GetServerStatus(true);
                        break;

                    case "M":
                    case "m":
                        m_opcClient.ActivateConnectionMonitor();
                        break;

                    case "N":
                    case "n":
                        m_opcClient.DeactivateConnectionMonitor();
                        break;

                    case "L":
                    {
                        m_opcClient.setCredentials();
                        m_opcClient.LogInSecure(false);
                    }
                    break;

                    case "l":
                    {
                        m_opcClient.setCredentials();
                        m_opcClient.LogInSecure(true);
                    }
                    break;

                    case "o":
                    {
                        m_opcClient.LogOffSecure(true);
                        m_opcClient.setCredentials("Guest", "nopass");
                    }
                    break;

                    case "O":
                    {
                        m_opcClient.LogOffSecure(false);
                        m_opcClient.setCredentials("Guest", "nopass");
                    }
                    break;

                    case "U":
                    case "u":
                    case "?":
                        Usage();
                        break;

                    case "E":
                    case "e":
                    case "Q":
                    case "q":
                        end = true;
                        break;

                    default:
                        Usage();
                        break;
                    }
                }                // while

                m_opcClient.Terminate();
                m_opcClient = null;
                MyWin32.Handler(MyWin32.CtrlTypes.CTRL_CLOSE_EVENT);
            }
            catch (Exception exc)
            {
                System.Console.WriteLine(exc.ToString());
            } //	end try...catch
        }     //	end Main