Use VirtualBench API without LabVIEW. Example: Python, dll, etc.

Hello

I would like to know if there is a way to use the API VirtualBench without LabVIEW?

As the use of python or something.

Thank you

We just released version 1.1 of VirtualBench that adds a C API and a bunch of other features, see http://forums.ni.com/t5/VirtualBench/Announcing-free-firmware-update-version-1-1-adds-SPI-and-I2C/td....  With whom you could use VirtualBench in your programming language of choice if you write the appropriate links.

Tags: NI Products

Similar Questions

  • What I need to install in another pc without LabView and wants use executable Vi

    Hi, everyone, please, help me

    I want to use another VI without LabVIEW PC executable, what I have to do to run the VI.exe?

    Thank you

    At a minimum, you will need to install the LabVIEW runtime engine.

    You may need to install more depending on what your program does.  Maybe the drivers DAQmx or the VISA run-time.

  • Acquire GigE camera data using labview CIN or DLL to call.

    I am tring to acquire data from a basler runner line CCD camera (GigE).

    Because the NI Vision Development Module is not free, and the camera provide a C++ API and C and also some examples, so I plan on using the function CIN or call DLLS in labview to achieve. Is this possible?

    I tried to generate a DLL with the example of the company code of the camera. But encounter difficulties;

    I did that a little background in C++, but not familiar with it. The C++ Code example provides the camera is a C++ (a source Code file) and a .cproj file, it depends on other files, the camera API directory.

    If I build the project directly, it will create an application window, not in a DLL. I don't know how to convert a DLL project, given that other information such as dependence in the .cproj file, other than source code.

    Can someone help me with this?

    Don't forget that for the acquisition of a GigE camera, you must only Module of Acquisition of Vision, not the entire Vision Development Module. Acquisition of vision is much lower price and also delivered free with hardware NI Vision current (for example a card PCIe - 8231 GigE Vision of purchase). You need only Vision Development Module if you then want to use pre-made image processing duties. If you are just display, save images to disk, or image processing using your own code (for example to manipulate the pixels of the image in a table) you can do so with just Vision Acquisition.

    It is certainly possible to call DLL functions if LabVIEW by using a node called library, it would be quite a lot of work unless you are very familiar with C/C++. Since their driver interface is C++, you need to create wrapper functions in C in a DLL that you write. Depending on how much you want to expose functions, this could be a bit of work.

    Eric

  • API in LabVIEW VeriStand using for graphics

    Hello

    I was wondering if anyone has experience reproducing graphics that accompany the VeriStand workspace in LabVIEW via the API. For example, should I use the block to get the value of channel to power a LabVIEW graph or is there another suggested method? Thank you.

    You can start by this example:

    \examples\Execution API\UDP Streaming\UDP Example.vi streaming

    It shows you how to request data in continuous high-speed gateway VeriStand and treat it. It does not show another specific feature of the graph VeriStand workspace, as the locking button, but it's a start.

  • Hide icon Label step using the API Testand and LabVIEW

    Hello

    can someone tell me how it is possible to hide the icon of a step label using the API Testand and LabVIEW?

    In the Teststand sequence editor, under the Label Edit tab there is a checkbox called "Hide icon". Is there something similar in the API?

    Thank you

    Yes you can, you must set the stage "ni_blank.ico" IconName property

  • Post FB using Open graph API without SDK

    In my application, I want to put it on the FB wall. IAM using Graph API.AS there is no SDK I did the following steps:

    Login page 1) charge of Fb

    (2) captured access tocken which comes with the redirectUrl after I connect.

    Now what I need, is that I want to call Open Graph API so that access tocken IE,

    "https://graph.facebook.com/me/og.likes?access_token=" + getAccessTocken.getAccessTocken (request.url) + "& method = POST & subject =http://27.251.157.211:8080 / balackberry.html" ""

    And I should get the response as some Qmap or something. Based on that response I can show the user the corresponding alert. What I use here. (I have read the doc on QnetworkAccess but no result has been found also I triedhttp://kunalmaemo.blogspot.kr/2012/01/posting-on-facebook-wall-from-qt.html but explained in QT and I can't find any answer that too). Someone help me please

    Hi SumiSadiq,

    I received your MP, but it's a bit hectic at work so I'll be back later for a good overview of your problem. First of all a suggestion: do not connect your signal to each request.

    I suggest you train your code as my code or paste your code everything about the network (I do not see the QNetworkAccessManager built anywhere for example).

    My sample code (based on the code of ToodleTen):

    void DeletedTaskAPI::getDeletedTasks(int modAfter)
    {
        QUrl url("http://api.toodledo.com/2/tasks/deleted.php");
        //Prepare parameters
        QUrl params;
        params.addQueryItem("key", Information::getSessionToken());
        params.addQueryItem("after", QString::number(modAfter));
        params.addQueryItem("f", "xml");
        QByteArray data;
        data = params.encodedQuery();
        //Prepare request
        QNetworkRequest request;
        request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
        request.setUrl(url);
        //Execute request
        networkManager->post(request, data);
    }
    
    void DeletedTaskAPI::networkFinishedSlot(QNetworkReply* reply)
    {
        if(reply->error() == QNetworkReply::NoError)
        {
            QString xmlReply = QString::fromUtf8(reply->readAll());
            qDebug() << xmlReply;
            //Process data here
        }
        else
        {
            NetworkErrorHandler::getInstance()->processNetworkError(reply->error());
        }
    }
    
    /**
     * Constructor & Destructor
     */
    DeletedTaskAPI::DeletedTaskAPI()
    {
        networkManager = new QNetworkAccessManager();
        connect(networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkFinishedSlot(QNetworkReply*)));
    }
    
    DeletedTaskAPI::~DeletedTaskAPI()
    {
        delete networkManager;
    }
    

    NetworkErrorHandler is my custom class that reads the used API error codes and presents them in a nice dialog box to the user.

  • What is the easiest way and automated to automatically remove data cards without using the API.

    We have a use case where you want to get a number of data cards in the last 30 days. I know that I can use the data card evaluator app to count, but not with additional limits to date created.  I was wondering if anyone has found a way to automatically remove data cards without using code API/custom just so I can get the correct number, I always desire or some other way to solve this puzzle.

    Thank you

    Amit Pandya

    OK never mind, just resolved using this day and form the connector to cloud, just a counter in the data card whenever a transaction occurs by product with combination of program generator.

    If anyone has any other simple approach, please share.

  • Submitting a form by using rest API c# example

    Do you have a working example for a sending form using the API Rest Eloqua?

    I don't see any reference to the eloqua-csharp-rest-client/EloquaClient to fredsakr/eloqua-csharp-rest-client of master · GitHub repository.

    Is this just after the data to the form like this example:- POST/data/form/1011

    I understand to access form data we should ask the DOWNLOAD/assets/form / {id}? depth = {depth}

    I was wondering if there is nothing available to watch at fsakr

    Hi Nicolas,.

    You must follow the procedure to submit the form below: -.

    1).assets/forms/ID/fields:-a the help of what you will get the details of your form field.

    (2) the fields id peek and decorate the JSON to be submitted using POST/data/form/1011

    Try this and let us know if you find any number in the same.

  • Using Lab Manager API Java code example

    VMware or anyone have a sample code for using the API in Java? I mean, I have the host name, user name, password, I would not immediately be able to use the API to write my automation tools? spend hours finding the right pots, generating all these strains and write my own code (100 lines) just for connection resembles a maddness for me...

    -J

    After posting my original answer, I remembered that I had posted a code on this forum before. It's a stripped down version is about what would later become the LabMinder code I mentioned previously.

    If you go to the post office: Re: sample SOAP API for Lab Manager in necessary Java at December 20, 2007 by Michael Ottati you can retrieve the zip file in.

    WSDL changes made by new VMware to display require 2 changes to the code for the example to complie. Two of these changes please refer to the HelloLabManager.java

    1: change the world

    VMwareX0020LabX0020ManagerX0020SOAPX0020Interface to LabManagerX0020SOAPX0020Interface

    2: change the occurrence of:

    VMware_x0020_Lab_x0020_Manager_x0020_SOAP_x0020_interface to LabManager_x0020_SOAP_x0020_interface

    I have made these changes and zipped the original example here. This has been tested now with under jdk1.6.0_11 and LM 3.0.1

  • Adapter DLL: Name of the function change &amp; params without unloading of the DLL

    Hello

    I use teststand adapters API to dynamically build a DLL call step. Each dll function is called through this subsequence "DLL Manager."

    Tried 2 methods (here is a summary of the code):

    1 ActiveX as follows:

    CommonCModule.ModulePath = myDllpath

    CommonCModule.FunctionName = myFunc (Note: this call unload the DLL previously loaded)

    Module-> LoadPrototype

    (to set the params)

    2 steps statement:

    RunState.Sequence.Main ["Call DLL function']. TS. SData.Call.LibPath = myDllpath

    RunState.Sequence.Main ["Call DLL function']. TS. SData.Call.Func = myFunc (Note: this is a step, but the info seems not be updated-online the new feature is called not properly)

    Module-> LoadPrototype

    (to set the params)

    The two methods is exactly the same behavior, but good for the 1st function I call a work or if I dump the dll after the execute step.

    However, is there a way to use these steps (or other) at stage configuration, but without unloading the DLL between each call. In my test sequence, I must OpenConnection with the object to be measured before starting my orders, as well as the dll should not be discharged to keep the connection open...

    for example

    (1) OpenConnection()-online this function takes the handle of communication with the device

    (2) myCommand1()

    (3) myCommand2()

    (4) CloseConnection()

    Thank you for the help

    C.

    If I understand your question, there are several ways to solve the problem. The easiest is to place a call to the dll before your loop that you never change programmatically. This step will then keep the loaded dll (if any stage that uses a dll is loaded, then the dll remains loaded. A dll is unloaded when all the steps that use it are unloaded.). Another option is to have just internally your call to the dll LoadLibrary on itself so that it is never unloaded. You then leave the process to unload the dll well. Another option is to add the code directly to the sequence that explicitly, charge and discharge your dll with the Win32 API LoadLibrary and FreeLibrary.

    That said, what you describe, if I understand correctly, looks like a very unusual use of TestStand. Looks like you use TestStand as a dll calling rather than as a sequencer and write your own sequencer above it instead. Have you thought to generate an entire sequence to run in teststand, rather than a step at a time? Basically, convert your test script in a TestStand sequence.

    Hope this helps,

    -Doug

  • Add external Python DLL to the project setup

    Hi all

    I have a Setup program, but can't seem to add a python DLL. There's that VI s that use the DLL, but for some reason, the project does not add the python DLL. I tried to do the project > add to the project, but that allow you to add files randomly, just of Labview files. Not sure why it is so restrictive.

    Any help would be appreciated.

    Thank you

    I thought about it. If you go to work in the project that lists, right-click the add menu has more options. Cordially for someone else.

  • Create Setup without labview

    Hello

    Is it possible to create an installer without LabVIEW? I'm supporting Windows 2000 to 7 and software versions of NEITHER varies with each OS, especially when dealing with Windows due to conflicts VISA oscilloscopes.

    The two main problems I have with the creation of installers with LabVIEW (Application Builder):

    1) Windows 2000 requires the framework produced prior to 2.8.0. It is therefore impossible for installers run on Windows 2000, requiring the installation of the product more recent than 2.8.0 which is basically each installation for Windows 7.

    (2) as far as I know, the software must be installed on a local computer first before you can create a Setup program. Then, you go to the section of additional installers creating a Setup program to add to the installation. The location path will point to the orignal CD drive or location it was installed from the local disk. I do not see why it needed. Why can the Installer be created directly from extracted files without it installed on the machine?

    Thank you

    Wow guys, thanks for the blatent insults two. If you have nothing nice to say don't say it at all.

    A little more explanation:

    Press and hold Windows 2000 in 2014, I agree, are heavy. However, you will need to make these oscilloscopes that are running Windows 2000 in 2014 still cost up to $8,000 to replace and the operating system cannot be upgraded. Why always cost so much? Because they are very useful tools. New and cost $ 20 000 to $30,000. I don't think that this effort is "los [ing] [the company's] ability to make a profit.

    For those of you who are interested in Moose displayed question here is my solution.

    I used SFX Builder (http://sourceforge.net/projects/s-zipsfxbuilder/) to group software NOR in a single executable file. Here are the steps:

    (1) download all necessary software OR

    (2) download SFX Builder

    (3) download 7 - zip (http://www.7-zip.org/)

    (1) extract all the software OR in a single folder and 7-zip can compress them into one archive .7z

    (2) open the SFX generator and adds the tab file from archive .7z

    (3) you can easily set the path of extraction anywhere on the computer, the temp (%temp%) is most useful

    (4) the tab tasks, click add/plus button and select program to run, and then enter the path where the extraction happened, here's an example

    (5) easy as pie!

  • How to use the API of PL/SQL DBFS

    Hi guys,.

    I re-post this question to see if someone can help out me. I'm trying to use the API of PL/SQL DBFS to manipulate the files stored in DBFS.

    Details of the environment:
    Windows 7 or 5.5 OEL (I tried both platforms)
    Database: Oracle DB EE 11.2.0.2
    IDE: SQLDeveloper on Windows 7

    I have two users, DBFS_USER, who is the shop owner DBFS and MYUSER that connects to the store to manipulate files using the API of PL/SQL DBFS.

    Creation scripts:
    -----------------
    Connect / as sysdba;

    Dbfs_ts CREATE TABLESPACE DATAFILE 'D:\oracle\oradata\orcl\dbfs01.dbf' SIZE 1 M AUTOEXTEND ON NEXT 1 M;

    -create users
    create dbfs_user user identified by dbfs_user quota default tablespace unlimited dbfs_ts on dbfs_ts;
    create myuser identified by myuser;

    -grant the role
    GRANT RESOURCES, CREATE VIEW, CREATE SESSION, DBFS_ROLE, CREATE TABLE TO dbfs_user.
    GRANT RESOURCES, CREATE VIEW, CREATE SESSION, DBFS_ROLE, CREATE TABLE TO myuser.

    -create a filesystem (such as DBFS_USER)
    connect dbfs_user/dbfs_user;

    exec dbms_dbfs_sfs.createFilesystem ('STAGING_AREA_FS');

    exec dbms_dbfs_content.registerStore ('STAGING_AREA_FS', 'posix', 'DBMS_DBFS_SFS');

    dbms_dbfs_content.mountStore exec ('STAGING_AREA_FS', 'staging_area');

    commit;

    -export store STAGING_AREA_FS (as DBFS_USER)

    exec dbms_dbfs_sfs.exportFilesystem ('STAGING_AREA_FS');

    -Check the names of table (like MYUSER)
    connect myuser/myuser;

    -He can't see (without brackets)
    Select * from table (dbms_dbfs_content.listMounts);

    -Note at the bottom of the table table_name
    Select * from table (dbms_dbfs_sfs.listTables);

    -Mount as MYUSER (example with SFS table_name $ _FST_32)
    dbms_dbfs_sfs.registerFilesystem exec ('MYUSER_FS', 'DBFS_USER', ' FS$ _FST_32');

    exec dbms_dbfs_content.registerStore ('MYUSER_FS', 'posix', 'DBMS_DBFS_SFS');

    dbms_dbfs_content.mountStore exec ('MYUSER_FS', 'staging_area');

    commit;

    -verification of Mount (like MYUSER)

    Select * from table (dbms_dbfs_content.listMounts);

    Select the path in dbfs_content;


    CREATE a STORED PROC (like MYUSER)
    ----------------------------

    CREATE OR REPLACE PACKAGE MYUSER_PKG

    CreateDirectory function
    (P_File_Path IN VARCHAR2,
    P_ErrMsg OUT VARCHAR2)
    return number;

    END MYUSER_PKG;

    /


    CREATE OR REPLACE PACKAGE BODY MYUSER_PKG

    CreateDirectory function
    (P_File_Path IN VARCHAR2,
    P_ErrMsg OUT VARCHAR2)
    Return number
    IS
    l_Return NUMBER;
    l_props DBMS_DBFS_CONTENT. PROPERTIES_T;
    BEGIN
    l_Return: = 0;

    () DBMS_DBFS_CONTENT.createDirectory
    path = > P_File_Path,
    Properties = > l_props);

    RETURN l_Return;
    EXCEPTION
    WHILE OTHERS THEN
    l_Return: = NVL (SQLCODE,-1);
    P_ErrMsg: = SQLERRM;
    RETURN l_Return;
    CreateDirectory END;

    END MYUSER_PKG;

    /

    When you compile the package, I get this error:
    Error (9,11): PLS-00201: identifier 'DBMS_DBFS_CONTENT' must be declared
    Error (9,11): PL/SQL: ignored element
    Error (13.3): PL/SQL: statement ignored
    Error (15,19): PLS-00320: the declaration of the type of the expression is incomplete or incorrect

    How can I solve the problem in the error message? I'm not an expert in DB. I used this reference documentation: http://download.oracle.com/docs/cd/E11882_01/appdev.112/e18294/adlob_client.htm#CIHDEJAA

    Thanks in advance.

    CAPPA

    You must directly grant the privileges of DBFS_ROLE because roles are not enabled in stored PL/SQL:

    SQL> select* from v$version;
    
    BANNER
    --------------------------------------------------------------------------------
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    PL/SQL Release 11.2.0.2.0 - Production
    CORE    11.2.0.2.0      Production
    TNS for Solaris: Version 11.2.0.2.0 - Production
    NLSRTL Version 11.2.0.2.0 - Production
    
    SQL> show user
    USER is "SYS"
    SQL>
    SQL> create user myuser identified by myuser;
    
    User created.
    
    SQL> GRANT CREATE SESSION, RESOURCE, CREATE VIEW, DBFS_ROLE, CREATE TABLE TO myuser;
    
    Grant succeeded.
    
    SQL>
    SQL> begin
      2  for x in (select privilege, table_name
      3           from dba_tab_privs
      4           where grantee='DBFS_ROLE')
      5  loop
      6   execute immediate 'grant ' || x.privilege || ' on ' || x.table_name
      7   || ' to myuser ';
      8  end loop;
      9  end;
     10  /
    begin
    *
    ERROR at line 1:
    ORA-22812: cannot reference nested table column's storage table
    ORA-06512: at line 6
    
    SQL>
    SQL> connect myuser/myuser
    Connected.
    SQL>
    SQL> CREATE OR REPLACE PACKAGE MYUSER_PKG IS
      2  Function CreateDirectory
      3  (P_File_Path IN VARCHAR2,
      4  P_ErrMsg OUT VARCHAR2)
      5  return Number;
      6  END MYUSER_PKG ;
      7  /
    
    Package created.
    
    SQL> show errors
    No errors.
    SQL>
    SQL> CREATE OR REPLACE PACKAGE BODY MYUSER_PKG  IS
      2  Function CreateDirectory
      3  (P_File_Path IN VARCHAR2,
      4  P_ErrMsg OUT VARCHAR2)
      5  return Number
      6  IS
      7  l_Return NUMBER;
      8  l_props DBMS_DBFS_CONTENT.PROPERTIES_T;
      9  BEGIN
     10  l_Return := 0;
     11  DBMS_DBFS_CONTENT.createDirectory (
     12  path => P_File_Path,
     13  properties => l_props);
     14  RETURN l_Return;
     15  EXCEPTION
     16  WHEN OTHERS THEN
     17  l_Return := NVL(SQLCODE, -1);
     18  P_ErrMsg := SQLERRM;
     19  RETURN l_Return;
     20  END CreateDirectory;
     21  END MYUSER_PKG ;
     22  /
    
    Package body created.
    
    SQL> show errors
    No errors.
    

    You should check why some GRANT statement fails if you have another problem with the other piece of code.

  • Problem update the payload using the API of Services of Workflow task

    I have problems to update the part of the payload of a task by using the API of Services of Workflow (10.1.3) using the SOAP protocol. Try to use the setPayloadAsElementmethod, it seems, that the element of the payload is deleted rather than being defined.

    The purpose of the payload is constructed as follows:

    DocumentBuilder builder is DocumentBuilderFactory.newInstance () .newDocumentBuilder ();.
    Document document = builder.newDocument ();

    Support useful item = document.createElementNS ("http://xmlns.oracle.com/bpel/workflow/task", "payload");
    Child element = document.createElementNS ("http://xmlns.oracle.com/pcbpel/test/order", "command");
    payload.appendChild (child);

    The following lines are used to retrieve and update the subject of the task:

    IWorkflowContext context = getWorkflowContext (userId);
    Task task = taskQueryService.getTaskDetailsById (context, taskId);

    task.setPayloadAsElement (payload);
    taskService.updateTask (context, task);

    However, for some reason, it seems that the payload is not set correctly and in time updateTask is called on the TaskService object, payload of the task is not available. In turn, this causes an error when the SOAP request must be encoded (since the WorkflowTask schema requires a "payload" element).

    I run the code in a debugger and noticed that the the task object has a field nodeArray, which initially contains an element of payload. After the call to setPayloadAsElement has been run, no element of the payload is present in the field of the nodeArray and the mIsPayloadChanged field has been set to true.

    Code is taken almost directly from one [example in the documentation of the API: http://download.oracle.com/docs/cd/B31017_01/integrate.1013/b28985/oracle/bpel/services/workflow/task/model/TaskType.html#setPayloadAsElement_org_w3c_dom_Element _] and I'm completely lost as what to do differently. Could there be a problem with the way the Document object is built?

    Everyone knows about similar problems? Any guidance would be appreciated.

    See you soon,.
    Emil

    P.S. I also tried to spend in an element of payload without child element that does not work either.

    Hi Emil,

    Your code looks ok. However, I use the oracle.bpel.services.common.util.XMLUtil object to generate the document object.

    Document document = XMLUtil.createDocument ();

    was soon Nicolas

  • How to read the counter NI9411 using C API data?

    I use the API C of NOR-DAQmx to read the data of a cDAQ-9188

    I am able to read analog voltages and entered digital fine (NI9201 and NI375).

    Problems with counters (frequency of measure) (NI9411).

    I just get error "all or part of your samples are not yet acquired" after the timeout.

    My pseudo-source:

    DAQmxCreateTask ("", & taskHandle);
    DAQmxCreateCIFreqChan (taskHandle, "cDAQ9188-189E9F4Mod1/ctr0","", 1, 1000, DAQmx_Val_Hz, DAQmx_Val_Rising, DAQmx_Val_LowFreq1Ctr, 0.1, 1, NULL "");
    DAQmxCfgSampClkTiming (taskHandle, "pfi0", 5.0, DAQmx_Val_Rising, DAQmx_Val_ContSamps, 5);
    DAQmxStartTask (taskHandle);
    DAQmxReadCounterU32 (taskHandle, 5, 10.0, (uInt32 *) data, 5, & read, NULL);

    My device and any other names are correct?

    Thank you.

    Have you compared it against examples of api C?  I think that you have the option to install the examples when you install the daqmx drivers.

    If you have done this, and it looks the same then I would say you should try Troubleshooting If you produce any data at all.

    -Bear

Maybe you are looking for