TS. SequenceContext

Hello

I'm creating a .NET assembly to display a dialog box to allow a user to modify, and then select properties in a new type of step, so that I have a simple class that exposes a function to display a dialog box, it works very well and the dialog box appears on the screen and this medicine works perfectly... but I need to access properties of the stage and a few other objects TS , for this, I added the argument ' TS:equenceContext ^ context ", as in the following code, it compiles correctly, no error.

public ref class TSStepType {}

public: void ShowSendMessageConfig (TS:equenceContext ^ context) {}
SendMessageConfigForm ^ dialog = New SendMessageConfigForm();
dialogue-> Show();
}
};

However, when I try to call this step in the lower edit level, I get an error for this member...

Use the existing Object (SCDTSStepTypes.TSStepType). ShowSendMessageConfig {requires no loadable Type})

If I don't have this argument, it works very well and that the error does not clear, I tried to use the static method and tries to declare a property in the object and it gives me the same error.

I use Visual Studio 2013, develop my Assembly with Visual C++ and I have the 2013 version of TestStand.

Any suggestion?

I see two problems with your code:

(1) TS:equenceContext isn't the right class. It is a unmanaged class, you got by #import on the typelibrary or which one of TestStand headers that do. You must add the reference to the assembly that is named TestStand 2013 Primary Interop Assembly .NET API (it's also in the GAC with this name: NationalInstruments.TestStand.Interop.API.dll, but it should appear in the Visual Studio add the dialog box References with the name "TestStand" 2013 API Primary Interop Assembly). Once you have added that you can add a "using" for TestStand namespace declaration or use extended typename complete as follows:

NationalInstruments::TestStand:Interop:API:equenceContext

(2) dialog-> Show() is not the right way to show a modal dialog (where it will wait until the dialog box is dismissed). You must do something more like the opposite the following:

SendMessageConfigForm ^ dialog = New SendMessageConfigForm();

dialogue-> ShowDialog(); Displays the modal dialog box

dialogue-> Dispose(); You must call has on the classes dialog box when you are finished with them.

Hope this helps,

-Doug

P.S. - Forum turn ':' next to the ' character in a smilely. Please use ':' and ' wherever you see the smiley face.

Tags: NI Software

Similar Questions

  • C++: Create a SequenceContext object

    Hello

    I've written a C++ DLL for TestStand one of the functions is the setting: "TS:equenceContext * seqContext»

    I also wrote a test application that loads the named DLL debug and see if the DLL works. But to call the DLL function properly I need a SequenceContext object. How can I create it?

    Frank

    Here's some of the code in the function:

    int __declspec(dllexport) DMM_Konfiguration (TCHAR * pre source, TCHAR * pZielVariable, int BufferSize, TS:equenceContext * seqContext)
    {
    AFX_MANAGE_STATE (AfxGetStaticModuleState ());

    int numprop;

    CString temp;

    numprop is m_TSProperty-> GetNumSubProperties ('local');.

    for (int i = 0; i)
    {
    Temp. SetString (m_TSProperty-> GetNthSubPropertyName ("Locals", i, 0));

    Temp...
    }

    Return 1;
    }

    Hi Frank,.

    I wrote a small dll to test.

    Instead of the Editor (Managed Code).  I used TestExec.exe MFC (Unmanaged)

    Add the path to the debugger:

    C:\Programme\National Instruments\TestStand 4.0\UserInterfaces\NI\Simple\C++ using MFC\Release\TestExec.exe

    In my VC8, this will work.

    Greetings

    Jürgen

  • Get tables in BT via SequenceContext and PropertyObject TestStand

    I apologize if this has been asked before (it probably has) but TestStand, LabVIEW, PropertyObject and table are common search terms that generate a ton of results and I've not found any thread or info from the knowledge base.

    I spent along the SequenceContext of TestStand to a vi.  From there on, I get out of the AsPropertyObject property.  I see all the Nice GetValX methods but none that say to get a table of people.  Am I missing something obvious or is the technique to call GetNumElements and then iterate using GetValXByOffset to reconstruct the table in LabVIEW?

    Hey SmokeMonster.

    Why not use just the TestStand Set Property.vi?  I have a picture of him.

    If you don't use the right way is to use SetValVariant.  If you open this TestStand Set Property.vi, you will see how they do.

    Hope this helps,

  • Download SequenceContext (TS API) of LV


    Hi Zyl,

    You can access the context of the control sequence ExecutionViewManager and a property node and then, using the property and invoke the nodes method to get or set the parameters as you want.

    Kind regards

  • To access the contents of reference in c# PropertyObject fails

    I'm trying to access the dynamic content of a PropertyObject in c# to search its subproperties. I can access the reference object itself, but not its subproperties (dynamic).

    To be more concrete, it is a handler for the UIMessage ModelState_PostProcessingComplete. This means that the context of the sequence is "ModelSupport.seq / done Call USE / lot.

    I'm trying to use the "Parameters.MainSequenceResult" object reference to find the first stage failed and assess the stepname. This information is used to detect errors repeated in a custom user interface.

    Just to test, I tried the same thing directly in this sequence by using expressions, and it works. It seems that the .net code is not able to track the content of an alias.

    This is the c# code I use:

    SequenceContext seqc;
    Search for research results;
    PropertyObject searchStart;
    [...]
    If (seqc. Parameters.Exists ("MainSequenceResult", 0))
    {
    seqc. Parameters.GetPropertyObject ("MainSequenceResult", PropertyOptions.PropOption_NoOptions);

    Search ("",
    "True," //search chain
    SearchOptions.SearchOptions_MatchCase | SearchOptions.SearchOptions_WholeWordOnly, //search options
    SearchFilterOptions.SearchFilterOptions_All, //search options filter
    SearchElements.SearchElement_BooleanValue, //search item type
    limit null, adapters
    New String() {"StepCausedSequenceFailure"}, //limit to named properties
    limit null in the properties of named type
    (null); subproperty to exclude channels

    image search. IsComplete (true, true);
    If (search. NumMatches > = 1).
    {
    This never happens...
    }
    ...
    }

    The code runs without error, but no search results. The equivalent within a TestStand sequence code is the 4 correct search results.

    If I use MainSequenceResult.TS (which exists at run time) I get a parcel COM "Variable or unknown name"TS"property."

    It also works in c# if I use a property not referenced like this:

    searchStart = seqc. Parameters.GetPropertyObject (string. Format ("ModelData.TestSockets [{0}].") (MainSequenceResults.TS", myIndex), PropertyOptions.PropOption_NoOptions);

    But I want to avoid that, because then I need to know which model is used.

    I hope someone can explain to me the difference or what I'm doing wrong...

    I think I solved it:

    After validation, I found a similar problem which seemed to contain the solution:

    https://forums.NI.com/T5/NI-TestStand/how-to-access-to-PropertyObject-throught-two-referenced-object...

    I changed my code to

    searchStart = seqc. Parameters.GetPropertyObject("MainSequenceResult",0). GetValInterface ("", 0) PropertyObject as;

    and it worked!

    Experts: is this the right solution or there at - it an easier way to dereference the object in c# references?

  • PostUIMessageEx go c#

    Hello

    I managed to send my message by sequence of TS PostUIMessageEx and manipulate in my IO.

    It is a way to send the same message from PostUIMessageEx of dll c#?

    I am trying following but not succseeded

    public void UDPConnect (SequenceContext seqContext, out Boolean result, out String reportText, out bool errorOccurred, out int errorCode, out String errorMsg)
    {

    PropertyObject propertyObject = seqContext.AsPropertyObject ();

    Thread.PostUIMessageEx (NationalInstruments.TestStand.Interop.API.UIMessageCodes.UIMsg_UserMessageBase + 3, 0,0, "Hello", propertyObject.GetValInterface ("Locals.Thread", 0), true);

    }

    Please find attachment.

    Thank you very much

    Whence the 'thread '? You get the context of the sequence. The wire is an object, you must make the call on that.

    Hope this helps,

    -Doug

  • Bad behavior of cancellation with the additional block end no OnNewStep

    Hello

    I'm working on StepTypes requiring a block structure, as loops in TestStand (using TestStand 2012). I use OnNewStep lower level to insert the end block no during the boot block is instantiated.

    I do not manage to get a good behavior of cancellation with it as follows:

    • If I do not use SequenceFile.IncChangeCount in OnNewStep stage, when I select Cancel in the sequence editor, the only stage of boot block is removed, the end block remains. My understanding is the expected behavior: motor TestStand don't know that the no end block has been added, she has no reason to remove it.
      However, I prefer to remove both start and end block as follows, as do with While TestStand, DoWhil or for loops.

    • If I do a SequenceFile.IncChangeCount in the OnNewStep stage, when I select Cancel in the sequence editor, I get the following error, and nothing is deleted or cancelled the sequence:

    I guess TestStand increments the ChangeCount when I insert a step, and OnNewStep also increment the ChangeCount, while the operation should be considered as a single action.

    I found in the documentation of the UndoStackclass with the method AggregateTopUndoItems method, I suppose, may be the solution. But UndoStack seems to be available only from ApplicationMgr and SequenceFileViewMgr (which are not accessible from the context of the sequence).

    Any idea to get similar behavior at the correct stage of control of native stream, with cancellations?

    Best regards

    Well, I found a solution by looking at what is happening in CommonFlow.cpp (\National Instruments\TestStand 2012\Components\StepTypes\FlowControl).

    For your information, here is the code:

    Insert a corresponding END step after step again
    ' public static void OnNewStepWithEndStepFunction (SequenceContextPtr & sequenceContext)
    {
    If (! sequenceContext-> sequence-> HasMismatchedBlocks)
    return;

    PropertyObjectFilePtr file = sequenceContext-> SequenceFile-> AsPropertyObjectFile();
    StepPtr endStep sequenceContext-> engine =-> NewStep ("", gEndStepTypeName);
    UndoItemCreatorPtr undoItemCreator sequenceContext-> engine =-> NewUndoItemCreator (EditKind_InsertStep, file, L"" ");

    undoItemCreator-> BeginEdit (endStep-> AsPropertyObject());
    sequenceContext-> sequence-> InsertStep (endStep, sequenceContext-> StepIndex + 1, sequenceContext-> StepGroup);
    undoItemCreator-> EndEdit();

    _variant_t ;
    endStep-> name = (char *) sequenceContext-> engine-> GetResourceString ("FLOW_CONTROL_STEPS", "END_DEF_STEP_NAME", "", &found);)

    file-> IncChangeCount();

    to do this, or the step type will not be displayed immediately as being used by the file
    file-> TypeUsageList-> AddUsedTypes (endStep-> AsPropertyObject());

    undoItemCreator-> CreateAndPostUndoItem (CreateUndoItemOption_NoOptions, TS::ApplicationSite_DefaultSite);
    }

    So the trick is to instantiate a UndoItemCreator that points to the current SequenceFIle, to call BeginEdit with, as an argument, the step to insert as PropertyObjetct, before calling the InsertStep method, then call the EndEdit method. Increment the file change, add the step as PropertyObject in the TypeUsedList file and finally call CreateAndPostUndoItem method.

    ... Happy!

  • How to pass an enum testbed

    Is it possible to pass an enum in of TestStand? Otherwise I'll have to do a string and don't compare on my case, but it would be useful as I could?

    The compiler said

    Accessibility inconsistent error 1: type of parameter 'ChamberClass.Chamber.ChamberName' is less accessible than method ' ChamberClass.Chamber.Initialise (NationalInstruments.TestStand.Interop.API.SequenceContext, ChamberClass.Chamber.ChamberName, int, out bool, out int, String)

    The enum (highlighting) is declared in my class, and so I could understand why he loves her but just on the off chance that there is a solution...?

    Fixed! No need to answer:-once more, it wasn't a question of test bench: it's because my enum is private...

  • Not loadable VI when inserting GetPropertyValue

    Hello

    I created a simple dialog box in Labview that opens a window to insert a number that is returned in the form of output and TestStand defined on a StationGlobal.

    Now, the idea was to read the current value of this StaionGlobal and the preset dialog box.

    To do this, I wanted to use the 'Get property Value.vi"and passing in addition to the SequenceContext of the vi.

    But now the vi isn't executable anymire. After I pressed reload in testststand for this action of labview its says "Photo not available" and a red circle with the brand exclemation who says:

    Unable to load with the TERM Engline 15.0 Labview VI

    The version of the subvie migzt does not match the version of the ore Engine runtime a vi dependyny migzt Miss

    Try using the update tool calls vi with the labview LabVIEW edition value adapter to resolve this problem.

    What should I do?

    TestStand 2014 SP1

    LabVIEW 2015

    Thank you

    Assuming that the VI itself is executable (run button not broken in the dev env), I see that you have configured yoru LV adapter to run in RTE (runtime engine) rather than dev env.

    Given that, the VI must be executable in the TENS.

    There are two possible sources for the question:

    1. you set the VI to separate the compiled code of the queue VI. RTÉ cannot load/run these screws

    2. you have new dependencies (TS API) in your VI which cannot be resolved by the RTE. Remember that vi.lib is the symbolic way of unknown of RTÉ.

    In both cases, the recommended solution is to create a source of the VI (s) distribution.

    As a little test, you can change the setting of LV card to dev env. If the VI runs properly in this configuration, my assumptions appear to be accurate.

    Norbert

  • Get the context of the sequence of other connectors (active) in the batch processing model

    TestStand 2014 - model updated the batch

    LV2014

    System controls an environmental Chamber and doing trials on 4 of the UUT.  Room Enviromental is the shared resource and is controlled by the synchronization of thread only lot.  A UI TempMonitor of Labview (also synchronized lot) pops up, until you reach the target temperature and soaking time is over (so you can monitor returns to the House and see the amount of time remaining.  It all works fine in the system of warnings in.

    Now, there is a new requirement to take permanently UUT s to ensure that they remain in the State during the temperature ramp and soak period.  The simple answer is to integrate this track in TempMonitor UI because it has access to all relevant data pads.  However, I would need to do an end run around traditional return since it is only run by one of the four (up to).

    My thought is that if I had access to all active sockets sequence contexts, I could ask them their index and State, follow up and write the results to réécrirait a local variable before leaving the user interface.  The only thing that prevents me from going forward, it's that I don't know how to get the engine to give me the sequence for each Active socket contexts (0-3 which may be disabled via the setting ContinueTesting false instead of disable flag, it is a product of use pass 3rd batch of party model, so the executions of people with disabilities are marked as completed when running rather than wait).

    Or, Alternatively, how inspect all executions and to determine what decision he belongs (if necessary, because my data acquisition engine runs in its own, hidden, execution).

    Thanks for any help,

    Mike Webster

    Actually, I was looking for a way to get the SequenceContext for the other active sockets that launched the TempMonitor GUI, so I could put results in the other sockets directly.

    However, I gave it, and instead I am launch the GUI TempMonitor in its own thread and have each socket to monitor the status of USE on its own with a separate VI until what the ramp / soak temperature is how the GUI will highlight Boolean StationGlobal that triggers the individual to continue.  More complicated, but also in the spirit of TestStand to things, I think.

    MKE

  • By program the Sequence value call step

    I have code (LV 2015) that weights a step in a sequence of TS (TS 2014), changing the sous-séquence judicially.

    The code works, but an error is thrown (which indicates the resources have not been released), and ultimately, LabVIEW crashes.  Strangely, the resources that it ' complain is that I have not consulted.

    Here, we the offending code:

    It is the conversion of the reference Module to a SequenceCallModule which seems to be the cause of the trouble.

    Here is the dialog box that appears:

    Here we the full text of the error:

    References to PropertyObjects not released correctly.
    Total number of objects: 1024
    Number of objects at a higher level: 17

    Note: Some higher level objects can be included if they are referenced by
    an incorrectly released top-level object. For example, a new
    SequenceContext object is a reference to a SequenceFile object.

    The following top-level objects are not set:

    Definitions of types [5 or objects not published]
    Definition of type #1:
    Name: SeqCallStepAdditions

    Definition of type #2:
    Name: SequenceArgument

    Definition of type #3:
    Name: NI_SequenceParameterResult

    Definition of type #4:
    Name: Expression

    Definition of type #5:
    Name: path

    And the following unclassified objects:
    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    Can someone tell me what I have to do the release of resources after changing a call sous-suite?

    I don't see a close reference to the Module or the step objects.

  • Close sequence TestStand programmatically

    Hello

    I'm something of a novice TestStand, so my apologies if this simple question.

    Is it possible to programmatically close a TestStand sequence at the end, or I can give her a statement in its final stage to close itself.

    I environmental TestStand itself to continue to run, I want to close the file of sequence in question only.

    Thank you

    Dan

    To close the movie file, you can use a method of ApplicationManager called CloseSequenceFile.

    You can get ApplicationManager reference out of the SequenceContext getting his engine property-> method GetInternalOption (InternalOption_ApplicationManger)-> cast in IApplicationMgr class.

    The way to easiset to TS is to use an action with ActiveX/COM adapter and set its parameters like this. It must close the movie file after execution is complete.

  • The result of runTimeErrorAction of DisplayRunTimeErrorDialogEx of handling

    Hello

    I am trying to replace the dialog box with a custom dialog runtime error. The custom dialog box will have the same options as the original dialog box and some additional stuff. I attached a handler for the ApplicationMgr.BreakOnRunTimeError event, but I don't know what is the right way to mimic the behavior of the runTimeErrorAction.

    I'm doing this:

    var frameID = 0;
    var sequenceContext = e.initiatingThread.GetSequenceContext (0, out frameID);

    NationalInstruments.TestStand.Interop.API.RTEOptions.RTEOption_Continue:
    sequenceContext.SequenceErrorMessage = message;
    sequenceContext.SequenceErrorOccurred = true;
    sequenceContext.ErrorReported = true;
    sequenceContext.GotoCleanup = true;

    What makes the execution goes to the cleaning and the movie file will show Passed. Through conduct original execution error displays.

    NationalInstruments.TestStand.Interop.API.RTEOptions.RTEOption_Ignore:

    Do nothing

    NationalInstruments.TestStand.Interop.API.RTEOptions.RTEOption_Retry:
    sequenceContext.NextStepIndex = sequenceContext.StepIndex;

    This has no effect.

    NationalInstruments.TestStand.Interop.API.RTEOptions.RTEOption_Abort:
    e.exec.Abort ();

    It works very well.

    Can anyone help with this?

    Looking at it more carefully, it seems that the BreakOnRunTimeError event does not how I thought it was the case (and probably not the way it was intended). The definition of execution. RTEOptionForThisExecution a side-effect of maintaining the dialogue never is more displayed again. I reported this issue for further consideration. To work around this problem, the best thing you can do is to manage the AfterUIMessageEvent and RTEOptionForThisExecution to RTEOption_ShowDialog, similar to the following:

    ' Private Sub axApplicationMgr_AfterUIMessageEvent (object sender, NationalInstruments.TestStand.Interop.UI.Ax._ApplicationMgrEvents_AfterUIMessageEventEvent e)
    {
    If (e.uiMsg.Event is UIMessageCodes.UIMsg_BreakOnRunTimeError)
    {
    e.uiMsg.Execution.RTEOptionForThisExecution = RTEOptions.RTEOption_ShowDialog;
    }
    }

    Your BreakOnRunTimeError Manager would resemble the following:

    ' Private Sub axApplicationMgr_BreakOnRunTimeError (object sender, NationalInstruments.TestStand.Interop.UI.Ax._ApplicationMgrEvents_BreakOnRunTimeErrorEvent e)
    {
    DisplayMyDialog (...);
    e.breakExecution = mydialogsbreakexecutionsetting;
    e.showDialog = false; Do not display the application Manager dialog box
    e.exec.RTEOptionForThisExecution = mydialogsrteoption;
    }

    Hope this helps,

    -Doug

  • Why can I not see classes in my c# dll?

    This seems to be a stupid question, which will be one obvious answer, but I'm stuck then...

    I'm using Visual c# express 2008 to make my dll and would like to invite my methods of TestStand 2012. I took the default model of Dotnet, added the ref to the project and kept deliberately simple in order to this test; It's here: -.

    usingSystem;

    usingSystem.Collections.Generic;

    usingSystem.Linq;

    usingSystem.Text;

    usingNationalInstruments.TestStand.Interop.API;    TestStand base API.  Add \API\DotNet\Assemblies\CurrentVersion\NationalInstruments.TestStand.Interop.API.dll to your project as a reference.

    usingSystem.Runtime.InteropServices;

    namespace

    TestStand_IF

    {

    classDummyClassName

    {

    publicvoid DummyFunctionName (SequenceContext seqContext, reportText, outbool errorOccurred, outint errorCode, outString errorMsg outString)

    {

    reportText =

    String.Empty;

    errorOccurred =

    fake;

    error code = 0;

    errorMsg =

    String.Empty;

    Try

    {

    INSERT YOUR SPECIFIC HERE TEST CODE

    reportText = ' Success! ';

    The following code shows how to access the properties and variables via the API TestStand

    PropertyObject propertyObject = seqContext.AsPropertyObject ();

    String username = propertyObject.GetValString ("StationGlobals.TS.LastUserName", 0);

    }

    catch (e COMException)

    {

    errorOccurred =

    true;

    errorMsg = e.Message;

    error code = e.ErrorCode;

    }

    }

    }

    }

    I add a "string value" not in TestStand and alsign my dll but there is nothing to select the class of root area. I remember similar problems with perhaps a dozen years in C - having to mark the export functions and verify that the type library has been included, but I don't think that this is the case here.

    Hello

    Try

    Public DummyClassName

    Curt

  • Change local variables with dll c#

    Sub AppMgr_UserMessage (UIMessage uiMsg)

    {

    Try

    {

    switch ((int) uiMsg.Event)

    {

    10200-case: //update the UI to reflect the current status

    progressBar.Value = (int) uiMsg.NumericData;

    label. Text = uiMsg.StringData;

    break;

    10201-case: //Close form, cleaning of the AppMgr reference

    AppMgr = null;         This. Close();

    break;

    //=========================================================

    10202-case: / / send the text to the caller App test bench

    label. Text = "10202."

    uiMsg.AsPropertyObject (). SetValString ("Locals.opText", 0, "Something");

    break;

    //===========================================================

    It is a code in your example of Panel floating .net

    In the last case above trying to change one of the local variables of the test bench. I think that it is probably not wise to cast as a how PropertyObject uiMsg which I have here.

    I think it is more likely that I'll have to pass the variable I want to change benchmark to the DLL.

    Don't know how to do this, any ideas?

    Hi Krugman2,

    To do this, you need the coresponding SequenceContext!

    Try uiMsg.Thread.GetSequenceContext(0,frameId). AsPropertyObject()

    Maybe this thread could be interresting:

    http://forums.NI.com/NI/board/message?board.ID=330&thread.ID=17870&view=by_date_ascending&page=1

    Greetings

    Jürgen

Maybe you are looking for

  • Help! DOS attack scans! I'm worried!

    Hi all So, I noticed some unusual ping spikes by placing the League of legends. I have also acquired a few devices not recognized such as 'Aplewatch of James' on my router of nothingness. That the name is incorrect, apple has two "P" s and also the A

  • Dynadock U3.0 - unable to connect to the network

    I have a U3.0 Dynadock and when you try to connect to the network at work via a network cable, the parameters were not detected automatically.I then put manual details (IP), but this did not fix the problem. I assigned by DHCP the Dynadock should get

  • Factory reset is TimeCaps also delete the backup of my drive?

    Hi, I recently factory reset my TimeCapsules to reconfigure some new network settings and I did it without taking into consideration on my time machine backups. Now, I am unable to climb or find my previous backups. Is this because all my backups are

  • Find the Inverse of 4DOF arm kinematics

    I'm trying to find the inverse kinematics of robot 4DOF defined user. I'm following code example found in the "cinematic reverse for Puma 560.vi". This code example works fine but when I try to find the solution of the inverse kinematics of another r

  • A VPN client can go same interface on the Pix 515

    A user in a Pix VPN and get an address x.x.x.x via an ippool on the Pix. Once this is done, they will need access to information on the public network. Is it possible since they come out of the same interface? I can open ports and route subnets on ou