How to build demo versions with Labview ?

Hello,
is it possible to design Labview applications in a kind,
that it is possible to generate "demo versions" of it ? Demo version in the means of feature-limited crippled versions of a full instrumentation software, where SOME hardware access is denied, but you can load and view and analyse data.
Of course it might be useful to compile this demo version with the Labview Application Builder,
What might be the business modell for demo versions:
A hardware manufacturer creates a Labview application which controls the manufacturer's components, and allows instrumentation and data recording. The application is not free but sold for extra money.
As pre-sales benifit, the manufacturer would like to send the (compiled) Labview application to future customers.
Now the problem is, that the customer has not (all) the external devices or PCI/USB devices,
on the other hand the hardware manufacturer does not want to give the "full application" as gilft to the customers.
Now with traditional software development with C++, Java, C#,
either a demo version is gained from the full version by replacing some module with hardware access by modules wth "empty" function body or with function body which return constant values instead of accessing the hardware.
In the world of process industry, usual process control systems may supply "alternative" values if the original device is not available.
What kind of software structure must I build with Labview, to do the same ?
Now the problem with Labview applications is
Labview applications depend on drivers. Drivers depend on hardware.
So if the FULL commercial version of the Labview program accesses a DAQmx driver, GPIB driver or any other hardware driver by a VI,
and often this means that a special manufacturer VI is used in the Labview program which does the actual hardware access,
how to modify the software to make a demo version
a) so that IF the customer buys the hardware and gets the hardware driver, he still does not have the full version
b) so if the customer neither has the hardware nor the driver, he still can run the Labview software and load an view data, push buttons, can execute menu items even can manipulate data ect, can use the manufacturer's VI
Unfortunately, it is no solution just to delete "some" of the VIs with hardware access from the distribution of the demo version, as this just causes error messages during the loading of the (compiled) Labview demo application.
Message Edited by hemmerling on 01-11-2007 12:35 AM
Message Edited by hemmerling on 01-11-2007 12:37 AM

Thanks alot.
Conditional Disable and Diagram Disable Structures
http://zone.ni.com/reference/en-XX/help/371361B-01/lvconcepts/cond_diagram_disable/
are indeed at least a part of what I wanted.
Anyhow, as such "suspended" VIs are often the *source* of signals,
so there must be an addtional method how to provide "alternative" signals for the demo version,
which does not make the administration / further development the full version  too complicated...
For example: The VI for an external signal generator device is disabled, but alternatively it would be nice if the users of the demo version can get a fixed sinus signal instead...
How to do that with Labview and the "Conditional Disable and Diagram Disable Struktures",
and can I test this all even without Labview Application Builder, in the full development system ( so that I don´t need the compiler for frequent checking ) ?
Btw, with what version was this "Conditional Disable and Diagramm Disable" feature introduced ? Is ist already available with Labview 7.0, /.1 ?
Sincerely
Rolf

Similar Messages

  • How to build a array with high sampling rates 1K

    Hi All:
    Now I am trying to develop a project with CRio.
    But I am not sure how to build a array with high sampling rates signal, like >1K. (Sigle-point data)
    Before, I would like to use "Build Arrary" and "Shift Register" to build a arrary, but I found it is not working for high sampling rates.
    Is there anyother good way to build a data arrary for high sampling rates??
    Thanks
    Attachments:
    Building_Array_high_rates.JPG ‏120 KB

    Can't give a sample of the FPGA right now but here is a sample bit of RT code I recently used. I am acquiring data at 51,200 samples every second. I put the data in a FIFO on the FPGA side, then I read from that FIFO on the RT side and insert the data into a pre-initialized array using "Replace Array subset" NOT "Insert into array". I keep a count of the data I have read/inserted, and once I am at 51,200 samples, I know I have 1 full second of data. At this point, I add it to a queue which sends it to another loop to be processed. Also, I don't use the new index terminal in my subVI because I know I am always adding 6400 elements so I can just multiply my counter by 6400, but if you use the method described further down below , you will want to use the "new index" to return a value because you may not always read the same number of elements using that method.
    The reason I use a timeout of 0 and a wait until next ms multiple is because if you use a timeout wired to the FIFO read node, it spins a loop in the background that polls for data, which rails your processor. Depending on what type of acquisition you are doing, you can also use the method of reading 0 elements, then using the "elements remaining" variable, to wire up another node as is shown below. This was not an option for me because of my programs architecture and needing chunks of 1 second data. Had I used this method it would have overcomplicated things if I read more elements then I had available in my 51,200 buffer.
    Let me knwo if you have more qeustions
    CLA, LabVIEW Versions 2010-2013
    Attachments:
    RT.PNG ‏36 KB
    FIFO read.PNG ‏4 KB

  • Is it possible to build a project with Labview 2010 on a Windows XP system, that is useful for a system with windows 7 on it?

    Hi there,
    I am planning to use Labview 2010 in a short time.
    But before I'm going to use it I have some questions.
    I know it is possible to run Labview 2010 in an XP environment. But is it also possible to, when running Labview 2010 on a XP system, to build a project to a version that is useful in a Windows 7 environment?
    Or do I have to run Labview 2010, when I want to build a project that is useful on a Windows 7 system, on a system with Windows 7?
    Please give me some information.
    I hope to hear from one of you soon.
    Regards,
    Kenny
    Solved!
    Go to Solution.

    Is it possible to build a project with Labview 2009 on a Windows XP system, that is useful for a system with windows 7 on it?
    Thanks.
    Philippe B.
    Certified Associate Developer / Dépt Moyens d'essais
    www.ingenia-system.com

  • How to build a table with predifined? Like Huffman decoding, there are 34 predefined tables?

    I am trying to use Labview for mp3 huffman decoding. there are 34 predefined tables for lookup purpose. I tried build array control, but it is so hard to assign value with size of 16. What is the better way to create predefined array? And how to do lookup table with Labview?

    IMHO, the best way to have something "predefined" is to read this data from a "setup/configuration" file (if you don't want to use "default settings" LV feature). The choice of the format for all the data that you want to store in some kind of configuration file is up to you.
    Also, constructing a "lookup table" in LV doesn't seems different as for any other programming language.

  • How to build a screen with master detail data

    Hi ,expert ,
    Someone can teach me how to build a screen with master detail table ?
    I wnat to build a screen for user to maintain FERT group  and  FERT detail list  in one screen .
    just like this ..
    MASTER Block
    FERT1      
    FERT2 
    FERT3
    DETAIL Block
    FERT1A1
    FERT1A2
    FERT1A3
    when I double click FERT1 in the Master Block the detail view will show FERT1A1  A2 A3
    Thanks for your help ....
    Moderator message : Not enough research before posting. Spec dumping not allowed. Thread locked.
    Edited by: Vinod Kumar on Jun 13, 2011 1:38 PM

    An inefficient way to create the array is to use the build array and a shift register as shown below. It's more effecient in terms of memory management to create the array and then use the replace array subset as shown in the other image. Of course, if you don't need the array inside the loop, just wire the value out of the while loop and on the exit tunnel, right click and select 'Enable Indexing'.
    Message Edited by Dennis Knutson on 07-03-2007 10:25 PM
    Message Edited by Dennis Knutson on 07-03-2007 10:26 PM
    Attachments:
    Crude Build Array.PNG ‏4 KB
    Better Build Array.PNG ‏6 KB

  • IS APPLICATION BUILDER 6 COMBATIBILE WITH LABVIEW 7 ?

    IS APPLICATION BUILDER 6 COMBATIBILE WITH LABVIEW 7 ?

    No it's not but it is a free upgrade last time I checked. Go here and click on the Upgrade Advisor link. You will need the serial number of your current app builder.
    p.s. LabVIEW 7.1 was released today so you might want to skip 7 and go straight to the latest.

  • How to Check ADI Version With Patch Number?

    how to Check ADI Version With Patch Number?

    Hi,
    To find-out the version of 'Web ADI' , there are two methods
    Method : 1
    +. Login to Oracle E-business Suite and using 'Web ADI' , create a Document.
    +. When Excel is launched with the created Document, a Menu is created on the Toolbar in Excel called Oracle (in between Data and Window).
    +. From the Oracle menu select "About". A pop up window is displayed with the version of 'Web ADI' (something like 8.x.x.x)
    Method : 2
    +. Login into E-business Suite as System Administrator
    +. Once the Home Page is up, paste the URL below into the same Browser window (replace hostname,domain and portnumber as applicable)
    BNE ADMIN Servlet for 11i
    http://hostname:portnumber/oa_servlets/oracle.apps.bne.framework.BneAdminServlet
    BNE ADMIN Servlet for 12
    http://hostname:portnumber/OA_HTML/BneAdminServlet
    Cheers
    Ajikumar G
    http://oracleajidba.blogspot.com/
    Edited by: Ajikumar G on May 11, 2010 2:19 PM

  • Building a dll with labview for CVI

    Hi,
    I am making some abstract hardware layers for some instruments and i use to work with Labwindows CVI. But i have found ONE instrument, the Instek pst3201 alimentation which is ONLY created with Labview.
    So i downloaded the 8.6 LV demo and builded the llb projet in order to obtain some .dll, .h and .lib files and included it to a CVI project in order to construct an intermediate Dll level.
    Everything builds fine, like usually when i use an IVI driver but my problem is that when i try to call this intermediate Dll level with my abstact hardware layer using LoadLibrary, nothing is returned like if the DLL doesn't exist.
    So my question is : Do you think that this is a problem from CVI (and i repeat that i have made a lot of others abstract hardware layers using IVi drivers except that this time i haven't got any .fp or .c but  a .h and i include the .lib to the project), or a problem from Labview and i should use the LV Application builder if it's different ?

    Hi,
    It's seems that you have no exported function. What function do you have in your header file? did you tryed to create a really simple dll (doing an addition for example ) in LabVIEW only to verify that you are correctly creating the dll?
    Manuel R
    AE dans une autre vie

  • How to install demo version of Voicedial?

    ok, i am perfectly new to iphone. i have downloaded demo version of the Vocedial onto my desktop. i have no idea how to install it onto the iphone 3g. please, be specific in your instructions, i am a total noob.
    yes, i do have itunes and can sync. just have no idea how make them find that program.
    will appreciate.

    well, like i always knew it: WONNA THINGS DONE RIGHT, DO THEM YOURSELF
    in order to install application that was not downloaded from itunes store, pop up itunes, then click on file>add file> browse to the file> click on file>add it. now it'll be in itunes library and itunes will recognise it.
    go to your phone in itunes>on the top of the window go to applications>you should see your file now. check "chose application to sync" then check whatever application you have in the large pan now>click on sync down at the bottom. of course, you must have your phone connected before you do all this. then it does its magic.
    dear apple, how hard and much of an effort was it to put something like this into your manual or into FAQs on your website? as bad as germans are with their product, they are more user friendly on directions.

  • How to build a array with collected data

    Hi,
    I have collected data from serial port with VISA. Now I want to build a array with 100 date points. Should I connect VISA Read with Build Array directly? How to do it?
    PS: All of them are in a While Structure.
    Thank you!

    An inefficient way to create the array is to use the build array and a shift register as shown below. It's more effecient in terms of memory management to create the array and then use the replace array subset as shown in the other image. Of course, if you don't need the array inside the loop, just wire the value out of the while loop and on the exit tunnel, right click and select 'Enable Indexing'.
    Message Edited by Dennis Knutson on 07-03-2007 10:25 PM
    Message Edited by Dennis Knutson on 07-03-2007 10:26 PM
    Attachments:
    Crude Build Array.PNG ‏4 KB
    Better Build Array.PNG ‏6 KB

  • How to build this query with the minumum number of sub-selects?

    The question I am trying to answer is analogous to this:
    Give me all projects that: (have no employees assigned and are small) or (have only employees with the the last name = "Smith")
    Thanks,
    Roman

    Thank you :
    1- I am in 9.0.4.8 version and can not use allOf expression (availible in beta version)
    2- I not find .notIn(subQuery) operator in 9.0.4.8 version and i replace it by .in(subQuery).not() !
    My new query retrieve Customer who have 0 (zéro) Orders !
    How to retrieve only customer (with orders + with orders without "television") ?
    My new query is :
    <div align="left" class="java">
    <font color="#7f0055"><b>static </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">findCustNoComputer </font><font color="#000000">(){</font>
    <font color="#ffffff">   </font><font color="#000000">ClientSession cs = TopLinkSession.acquireClientSession</font><font color="#000000">()</font><font color="#000000">;</font>
    <font color="#ffffff"></font>
    <font color="#ffffff"></font>
    <font color="#ffffff">  </font><font color="#000000">ReadAllQuery query = </font><font color="#7f0055"><b>new </b></font><font color="#000000">ReadAllQuery</font><font color="#000000">(</font><font color="#000000">Customer.</font><font color="#7f0055"><b>class</b></font><font color="#000000">)</font><font color="#000000">;</font>
    <font color="#ffffff">  </font><font color="#000000">ExpressionBuilder queryBuilder = query.getExpressionBuilder</font><font color="#000000">()</font><font color="#000000">;</font>
    <font color="#ffffff"></font>
    <font color="#ffffff">  </font><font color="#000000">ExpressionBuilder subqueryBuilder = </font><font color="#7f0055"><b>new </b></font><font color="#000000">ExpressionBuilder</font><font color="#000000">(</font><font color="#000000">Customer.</font><font color="#7f0055"><b>class</b></font><font color="#000000">)</font><font color="#000000">;</font>
    <font color="#ffffff">  </font><font color="#000000">ReportQuery subQuery = </font><font color="#7f0055"><b>new </b></font><font color="#000000">ReportQuery</font><font color="#000000">(</font><font color="#000000">Customer.class, subqueryBuilder</font><font color="#000000">)</font><font color="#000000">;</font>
    <font color="#ffffff">  </font><font color="#000000">subQuery.addAttribute</font><font color="#000000">(</font><font color="#2a00ff">&#34;id&#34;</font><font color="#000000">)</font><font color="#000000">;</font>
    <font color="#ffffff">  </font><font color="#000000">subQuery.setSelectionCriteria</font><font color="#000000">(</font><font color="#000000">subqueryBuilder.anyOf</font><font color="#000000">(</font><font color="#2a00ff">&#34;Orders&#34;</font><font color="#000000">)</font><font color="#000000">.anyOf</font><font color="#000000">(</font><font color="#2a00ff">&#34;OrderItems&#34;</font><font color="#000000">)</font><font color="#000000">.get</font><font color="#000000">(</font><font color="#2a00ff">&#34;product&#34;</font><font color="#000000">)</font><font color="#000000">.get</font><font color="#000000">(</font><font color="#2a00ff">&#34;productName&#34;</font><font color="#000000">)</font><font color="#000000">.equal</font><font color="#000000">(</font><font color="#2a00ff">&#34;Computer&#34;</font><font color="#000000">))</font><font color="#000000">;</font>
    <font color="#ffffff">  </font><font color="#000000">query.setSelectionCriteria</font><font color="#000000">(</font><font color="#000000">queryBuilder.get</font><font color="#000000">(</font><font color="#2a00ff">&#34;id&#34;</font><font color="#000000">)</font><font color="#000000">.in</font><font color="#000000">(</font><font color="#000000">subQuery</font><font color="#000000">)</font><font color="#000000">.not</font><font color="#000000">())</font><font color="#000000">;</font>
    <font color="#ffffff"></font>
    <font color="#ffffff">   </font><font color="#000000">Vector allCustomers = </font><font color="#000000">(</font><font color="#000000">Vector</font><font color="#000000">)</font><font color="#000000">cs.executeQuery</font><font color="#000000">(</font><font color="#000000">query</font><font color="#000000">)</font><font color="#000000">;</font>
    <font color="#ffffff">   </font><font color="#000000">Iterator allCustomersIterator = allCustomers.iterator</font><font color="#000000">()</font><font color="#000000">;</font>
    <font color="#ffffff">   </font><font color="#7f0055"><b>while </b></font><font color="#000000">(</font><font color="#000000">allCustomersIterator.hasNext</font><font color="#000000">()) </font>
    <font color="#ffffff">   </font><font color="#000000">{</font>
    <font color="#ffffff">     </font><font color="#000000">Customer tempCustomer = </font><font color="#000000">(</font><font color="#000000">Customer</font><font color="#000000">)</font><font color="#000000">allCustomersIterator.next</font><font color="#000000">()</font><font color="#000000">;</font>
    <font color="#ffffff">        </font><font color="#000000">System.out.println</font><font color="#000000">(</font><font color="#000000">tempCustomer</font><font color="#000000">)</font><font color="#000000">;</font>
    <font color="#ffffff">   </font><font color="#000000">}</font>
    <font color="#ffffff">   </font><font color="#000000">cs.release</font><font color="#000000">()</font><font color="#000000">;</font>
    <font color="#000000">}</font>
    <font color="#ffffff"></font>
    <font color="#ffffff"></font>
    Sql of query :
    SELECT
         t0.CUST_LAST_NAME, t0.CUST_FIRST_NAME, t0.CREDIT_LIMIT, t0.CUST_EMAIL, t0.CUSTOMER_ID, t0.PHONE_NUMBER2, t0.PHONE_NUMBER1, t0.CUST_STREET_ADDRESS1, t0.CUST_CITY, t0.CUST_STREET_ADDRESS2, t0.CUST_STATE, t0.CUST_POSTAL_CODE
    FROM TL_CUSTOMER t0
    WHERE NOT (
         (t0.CUSTOMER_ID IN
              (SELECT DISTINCT t1.CUSTOMER_ID
              FROM TL_CUSTOMER_ORDER t4, TL_ORDER_ITEM t3, TL_PRODUCT t2, TL_CUSTOMER t1
              WHERE (
                   (t2.PRODUCT_NAME = ?) AND
                   ((t2.PRODUCT_ID = t3.PRODUCT_ID) AND
                        ((t3.ORDER_ID = t4.ORDER_ID) AND (t4.CUSTOMER_ID = t1.CUSTOMER_ID)))))))
    Regards

  • For a READ TABLE how to build a dynamic WITH KEY condition?

    Hi All,
    I have a Z table with 6 fields. The first field is the Plant and is the key field. This field can be matched with the field from selection screen. Now I have 4 character fields which can contain various values. Now I have another field at the end of the table and this field is the one which I will need for further processing.
    Now this last field will be selected based on the data for first 5 fields.
    This Read is performed in a loop and the data for all the 4 character fields may not be present.
    Now my problem is how to build a Read statement for this table where I need to get the value of the Last field based on the values of first 5 fields?

    Hi,
        Use
    IF    you have internal table With header line then use
          REad Tablename  with key  field1 = value1   field2 = value2      field3 = value3        field4 = value4    field5 = value5.
      If sy-subrc = 0.
    endif.
    if  you have internal table WithOut header line then use
         REad Tablename into workArea  with key  field1 = value1   field2 = value2      field3 = value3        field4 = value4    field5 = value5.
      If sy-subrc = 0.
    endif.
    regards,
    Amit

  • How do we "demo" software with the app store?

    usually there's a demo to try an app before you buy - how do we do this with the app store?

    Use the developers site for any software demo/download/purchase that is of a substancial cost amount to you.
    You DON'T want to deal with Apple's semi-English speaking India call center if you have a issue. TRUST ME! 

  • Interfacin​g Siemens Desigo PXC Building Automation controller with LabVIEW

    Hello everyone,
    I am currently trying to interface Siemens building Automation controller Desigo PXC100-E.D http://www.buildingtechnologies.siemens.com/bt/glo​bal/en/buildingautomation-hvac/building-automation​...
    with LabVIEW using OPC servers. I had once interfaced the S7-300 PLC of Siemens with simatic step-7 software with LabVIEW but in this case I don't which driver should I select and don't know is it possible or not. If any one of you have similar sort of expierence please I need advice..
    Thanks
    Naqqash.
    Naqqash

    Hi,
    As you have described I've done the whole configuration. I am using MatrikonOPC for BACnet and as I've checked my device and the software are working properly. Now what I am trying to is that I am connecting the BACnet OPC server with LabVIEW so that the MatrikonOPC act as a connection layer between my device and LabVIEW. So that I will be able to change values directly from my LV vi. Now when I connect that Bacnet OPC with LabVIEW using the same procedure for PLC it gets connected because it is showing all the tags from the device. But after doing the whole procedure which is the same according to the tutorial 'connecting LV to any PLC using OPC' when I deploy the variables I am getting some error. I am attaching the screenshot of the error. Please let me know if I am doing any thing wrong.
    PS: I am using a virtual machine and I've tried the whole thing with the NI OPC servers as well according to the tutorial but still when i deploy variables I am getting this error.
    Naqqash
    Attachments:
    OPC_error.JPG ‏22 KB

  • How to build a form with multiple tables in oracle application express

    Hi everyone,
    I have got problem in building a form with multiple tables.I have a main table with (20) columns and this main table is related to the other tables with the primary key-foreign key relation ship.My requirement is i have to build a form which has fields from many tables and all the fields are related to the main table using (ID) column.In that form if i enter ID field i have to get information from differnt tables.
    Please help me to solve this (building a form with mutiple tables)
    Thank you
    sans

    Sans,
    I am no Apex expert, but with a situation as "complex" as yours, have you thought about creating a VIEW that joins these 7/8 tables, placing an INSTEAD OF trigger on that view to do all the business logic in the database, and base your application on the view?
    This is the "thick-database" approach that has been gaining momentum of late. The idea is to put your business logic in the database wherever possible, and let the application (Form, Apex, J2EE, whatever) concentrate on UI issues,

Maybe you are looking for

  • Why can't I print a document from iphone5 to hp wireless printer?

    Why can't I print a document from iphone5 to hp wireless printer?

  • Why does it take so long to render a quicktime and/or wmv file?

    I hope you can help with this! It's taking me forever to save a project as a qt file. I'm saving in expert settings with LAN/Intranet or broadband-high as the setting. In Imovie 4.0.1 I could usally render a 6+ minute project in under 10 minutes with

  • Can I open maps using an address in a calendar event

    I created an event in my calendar and added the address, we then wanted to check where the location was and how long it would take to get there. I assumed that I could just tap the address and maps would open to show the location. Instead I had to co

  • Can't Install Apps Directly To iPod touch

    For some reason my iPod touch can't install apps on its own, I have to go through this big process that involves: 1. Transfering the downloaded app to iTunes on the computer 2. Making all the apps wobble to delete the uninstalled app directly off the

  • Exception handling that never ends...

    Hi, I've been putting the finishing touches on a project I'm working on, and right now I'm "fixing" some of the error handling. I realized that lots of times when I catch an exception, the program never returns to where it left off. Most of these err