public static int WriteVariableTask(TaskCancelToken tct)
    {
        // Write to the variable
        try
        {
            sMAPort.Write(sVariableName, sVariableValue);
        }
        catch (Exception ex)
        {
            Output.WriteLine("XIL API write failed: " + ex.Message);
        }

        return(1);
    }
    public static int ReadVariableTask(TaskCancelToken tct)
    {
        // Read the variable's value
        try
        {
            sVariableValue = sMAPort.Read(sVariableName);
        }
        catch (Exception ex)
        {
            Output.WriteLine("XIL API read failed: " + ex.Message);
        }

        return(1);
    }
    public static int InitTask(TaskCancelToken tct)
    {
        // Initialize a test bench and a MA port
        try
        {
            var factory   = new TestbenchFactory(sManifestFolder);
            var testbench = factory.CreateVendorSpecificTestbench(sVendorName, sProductName, sProductVersion);
            sMAPort = testbench.MAPortFactory.CreateMAPort("Example MA Port");
            sMAPort.StartSimulation();
        }
        catch (Exception ex)
        {
            Output.WriteLine("XIL API initialization failed: " + ex.Message);
        }

        return(1);
    }
    public static int ShutdownTask(TaskCancelToken tct)
    {
        // Shut down the MA port
        try
        {
            sMAPort.StopSimulation();
            sMAPort.Disconnect();
        }
        catch (Exception ex)
        {
            Output.WriteLine("XIL API shutdown failed: " + ex.Message);
        }
        finally
        {
            sMAPort.Dispose();
        }

        return(1);
    }