Reading controller data into LabVIEW through serial connections to controllers?

I'd like to read data from environmental chamber controllers (System Plus) into LabVIEW through RS232 connections.  Has anyone done something similar?
I see interfacing with the serial controllers as the biggest obstacle and although not directly related to LabVIEW programming, I'm hoping someone here can give me some advice or resources on how best to do so now days.
My first thought is to write a program with VB or C++ to act as a terminal and write the data to a text file for LabVIEW to poll.  Aside from using Telix decades ago to work with BBSes, my only other serial experience consists of interfacing with a Kiethly multimeter using a C++ program. 
I would rather not use multiple PCs but I have never worked with more than one serial port on a computer before in the past.  Perhaps LabVIEW itself already provides for multiple serial card communications (wouldn't that be perfect)?
Any info would be great.
Regards,
Dave

Thanks Dennis.
I spoke with Envirotronics and they do not provide the driver for the System Plus controller any longer since there were issues with changing hardware and software.  Their IT department may be able to put something together for me.
Using USB->RS232 connections would be nice given the abundant number of USB ports available on modern PCs.
Without a driver I see parsing the serial text as a challenge in LabVIEW.  I know how to approach this with a traditional programming language but are there any examples around here of how this is done with LV (most recent version is fine)?
Dave

Similar Messages

  • Help with reading information coming from a software into LabVIEW through Serial port

    Hi,
    I am new to LabVIEW and also an amateur in using RS232 for communication. I have this software that has these icons like speed increase/decrease, elevation up/down, start/stop. Now, when I click these buttons on the software, they perform the appropriate functions. For example, if I press start button, the signal must go through a serial COM port into LabVIEW to start the machine. How do I do that? How do I find what format the code word is when I press a button on the software? And how to decode the information to read whether the button pushed is start etc...? Any help would be appreciated.

    I may not be perfect, but I'm all I got!

    That information would be in the programming manual for the device you're controlling. Unless you have a device that has no documentation or you cannot get the documentation that's the first place you should look. If you cannot get the documentation at all then you've got some reverse-engineering to do. To do this you will either need a serial port sniffer (a hardware device), or you can try to use a software-based port capturing program. On Windows PortMon is the most prevalent. This will show you how the port was configured (baud rate, stop bits, etc). Warning: the information is technical.
    As far as how to get it running in LabVIEW, you should take a look at the serial port communication examples that ship with LabVIEW. The most problems occur in figuring out how to (a) terminate a write command, and (b) determining when to stop reading. For (a) this is typically done by appending a carriage return or linefeed to the command. This is device dependent. For (b) this is usually done by the byte stream ending with a character like a linefeed. Again, this is device-dependent. 
    You may also want to peruse this KB article: Serial Instrument Control Tutorial. There are also lots of tutorial on the internet for basic tutorials on serial port communication.

  • How can I read the trace data into LabVIEW for E5071B

    HI 
    I am setting up the measurement using vector network analyzer (VNA) E5071B controlled by NI 488.2. How can I read the trace data into LabVIEW and display on the graph? If anyone having an idea or know well about this process please give me the suggestion, I will much appreciate it.
    Many Thanks

    You want to start with the driver
     In case you do not know it, you can do the driver search in LabVIEW from Tools>Instrumentation>Find Instrument Drivers. You might also want to bookmark the Instrument Driver Network for information on what a driver is and how to use it.

  • Upload data into SAP through standard program

    hi!
    why don't we prefer to upload data into sap through standard program like RFBIKR00 to upload for vendor master or other standard programs to upload durectly without using BDC or LSMW and how do we upload data into SAP through BAPI.
    pls help me with a sample program.
    regards
    Amit

    It totally depends upon the requierment which fields your want to update in transaction if it works with program then use program else go for bdc .
    If there is some any screen enhancement with z fields then program will not solve the problem.
    For BAPI you check these links:
    http://www.sap-img.com/abap/bapi-step-by-step-guidance.htm
    http://sap-img.com/bapi.htm
    Edited by: shilpi agarwal on Aug 22, 2008 7:28 AM

  • Is it possible to directly read a barcode into Labview?

    I  have a barcode reader that reads codes into Notepad as expected, but I'm having no luck reading a code into Labview 8.6. Is it possible to read a code directly into Labview using a bar code reader. The reader I'm using is a Symbol DS6708.   Thank you.
    Solved!
    Go to Solution.

    A bit off topic, and I believe it's been discussed int he Feedback board before.
    But this marking of the wrong post seems to happen very often.  Why do the users  have a tendency to mark their thank you message as the solution rather than the actual helpful message?  Is it a difficult concept?  Something about the wording of solution or the layout of the messages that leads them to it?
    I would go so far as to suggest that users are unable to mark their own messages as the solution.  While it can be perfectly legitimate and there are instances where people solve their own problem, it seems to happen very rarely compared to how often people are wrongly marking their own message.

  • Problems reading xmp data into dng files

    Hi there,
    I am working on a Mac and have exported files as lossy dng for colour correction externally. They have done the work for LR 5 process (I am using CC) and returned xml files. I cannot seem to read this data into the dng files for further editing in Lightroom. I have tried re-importing them and I have tried reading metadata from file. Any help would be appreciated as I usually simply read the xmp to the original RAW but the RAW files are currently on an external drive in another country!!!
    Thanks,
    Andy

    Moominman wrote:
    I am basically trying to export xmp files from a set of low resolution dng files so that I can access my Lightroom edits in the RAW files. I have separated the RAW and dng files in different folders
    Hi Andy,
    I dunno how best to get extracted xmp files into the raw folders, but if you are comfortable with exiftool, you can use it to extract xmp sidecars from DNG files.
    If you want a turn-key solution which does not required you to futz with exiftool, then consider a free plugin I wrote:
    robcole.com - xEmP
    It will allow you to create xmp sidecars with all your DNG adjustments and metadata (which can then be applied to the non-dng raw files).
    However, if you won't need the DNGs in your catalog afterward, then the easiest way is to convert them back to proprietary raw format using this plugin (also free, and I wrote it):
    robcole.com - UnDNG
    Conceptually, you can think of it as converting the DNGs to proprietary raw format, but note: it doesn't convert anything, it just allows existing raw files that are NOT in the catalog, to replace the DNGs that are in the catalog. All adjustments and metadata and everything else will be preserved (just like when you convert a proprietary raw to DNG format).
    Rob

  • How to write data into xml through web service

    Hi,
      I have a requirement to write the data into xml through a web service .send me related links and sample code if any.

    hi kiran,
      write the data into xml : We need suitable set of java Beans for handling WebService Data.
       However, there are cases when you may prefer an alternate mapping, or when there just isn't a well-defined mapping for your particular schema construct (xsd:choice is a common example). For these cases, IBM® WebSphere® has introduced a new feature called Custom Data Binding that allows you to integrate alternate data binding technologies like JAX-B, EMF/SDO and XML beans, as well to define your own XML schema to Java mappings. This article provides an overview of the technology and how you can get started integrating it into your application.
    GO THru THis Links :
    http://www-128.ibm.com/developerworks/websphere/library/
    techarticles/0601_gallardo/0601_gallardo.html.
    Hope It Helps.
    Thanks
    Varun CN

  • Data access in Teststand/LabVIEW through OPC connection

    We are using TestStand 2.0 and LabVIEW6.2 and following problem occurs when accessing the datas from UUT through OPC.
    For the first UUT i get the measurement datas but starting the next UUT causes a system hang up. The corresponding LabVIEW VI stops at the connect to the OPC Server it doesn't read the selected item. Only with LabVIEW there is no problem launching OPC data access for multiple times. Does anyone have expierence with this configuration: TestStand-LabVIEW-OPC?

    For your information, there is a new TestStand Add-on "OPC DA Connect" which adds a StepType Palette dedicated to OPC Data Access.
    You can configure each step by browsing the OPC servers on your network and browsing variables within these servers.
    This toolkit has free deployment licence.
    Hoping this helps.
    Jean-Louis SCHRICKE
    ├ CTA - Certified TestStand Architect (2008 & 2010 & 2014)
    ├ CTD - Certified TestStand Developer (2004 & 2007)
    └ CLD - Certified LabVIEW Developer (2003 & 2005)

  • How do you read in and work with I24 binary data into LabView?

    Hi there,
    I have a program that is reading binary data in as 16 bits per sample.  I have some binary input files that were saved as 24 bits per sample.  How do I convert my old program to handle this data.  I realize that LabView doesn't have built in I24 conversion - how do I do this myself? I found a post that referred to using a boolean array to create your own 24 bit number - but I don't understand what that means...  Any help would be appreciated!
    Thanks so much!

    Do you know the format of the saved 24-bit data?  Can you share some data with us, along with what you think the values are?  If it is I24, then every three bytes represents a 24-bit (signed) integer.  The first question to answer is "What is the order of the bytes"?  How do you want to represent these data?  The obvious choices are as an I32, but since the rest of your data is I16, you might choose I16, instead.
    To convert I24 into I16, you can simply return the high two bytes.  To convert I24 to I32, you need to set a high byte that replicates the sign (saved in the most significant bit of the third byte).  One way to do this is to consider the third byte as an I8 quantity -- if it is positive, set the high byte to 0, and if it is negative, set the high byte to -1.
    Bob Schor

  • Tranfering data to LabVIEW through TCP/IP

    Dear all,
    Hello! I am a new LabVIEW user. What i am trying to do is to transfer
    data from one computer running a commercial package, to a remote
    computer running LabViEW, through TCP/IP. To do that i developed a
    simple LabVIEW code, which establishes a connection first and then
    tries to read data. The connection seems to work, but i get no data.
    After the first TCPread i placed an indicator, to check if data is
    transfered, where i am getting the message "nect"...any ideas on what
    this could mean?
    Any help would be more than welcome!Thank you in advance!
    Ferrari

    I don't think we have enough information to troubleshoot this issue from your description, because there is a nearly infinite number of possibilities to "transfer data via TCP/IP". What kind of "commercial software" is the server you are trying to contact? Is it LabVIEW based? What are the specifications to transfer the data? Are you trying to use low-level TCP or e.g. datasocket?
    LabVIEW Champion . Do more with less code and in less time .

  • Read Write Data into a MS Word document

    The requirement I am fullfilling directly specifies the need to write data into a Microsoft Word Document and if Necessary, Read Back data from a Microsoft Word Document. The data will be simple text but as time goes on I anticipate the systems engineers may expand the requirement. I want to cross one bridge at a time so I am just concentrating on the text issue. I must do it from within a stand-alone application. Not through a server, not through ASP, not through a browser, just a stand alone application. It appears from my own investigation of the JAVA API that this is not possible. Regrettably, I am only a day or so away from switching to C# or VB to get this job done. My first question is
    1. Can Java Do this?
    2. If not, does Sun Microsystems have any plans to add this capabiliy?
    3. Can we make recommendations to Sun to add this capability to JAVA?

    1. Can Java Do this?Java can do anything but there is no built-in ability to do just that.
    2. If not, does Sun Microsystems have any plans to add
    this capabiliy?
    3. Can we make recommendations to Sun to add this
    capability to JAVA?Very doubtful! MS Office document formats are not completely open to the public - and they are weird! Supporting this capability would probably require an agreement with Microsoft and it would mean you had to change the API for every time Microsoft chooses to change the document formats.
    But there are some open source tools that claim to be rather good at reading and writing MS Office files. Take a look at this one:
    http://jakarta.apache.org/poi/index.html

  • Embedding continuous controller data into Quicktime

    Having some trouble here.
    I can add a music track (midi) in Quicktime 7 to another .mov, but if the .mid file contains continuous controller data it seems to get dropped.
    Or at least I've not been able to figure out how to enable that program stream when playing it back inside of Quicktime Player.
    Does Quicktime 7 Player allow playback of .mid continuous controller data or has it been omitted?  It seems to play GM notes but not the additional data.
    8 or 9 years ago I was able to playback all midi data inside Quicktime player as a stand-alone file after merging them in a DAW.
    Thanks in advance.

    Ah - I was afraid of such an answer. It appears that transformers are available only in Logic Pro. (Yes - I know I posted in the wrong forum - which maybe just proves I'm too stupid to even attempt to use Logic.) I was hoping to do it in Express (which I have). $700 is quite a lot to get this capability - there is probably a much cheaper hardware solution, although I haven't looked into that yet.

  • Error while using Rule file in loading data into Essbase through ODI

    Hi Experts,
    I am facing problem while loading data into Essbase. I am able to load data into Essbase successfully. But when i used Rule fule to add values to existing values am getting error.
    test is my Rule file.
    com.hyperion.odi.essbase.ODIEssbaseException: com.hyperion.odi.essbase.ODIEssbaseException: Cannot put olap file object. Essbase Error(1053025): Object [test] already exists and is not locked by user [admin@Native Directory]
         at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
         at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:346)
         at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2458)
         at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:48)
         at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
         at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2906)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2609)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:540)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:453)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1740)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:338)
         at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:214)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:272)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:263)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:822)
         at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:123)
         at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:83)
         at java.lang.Thread.run(Thread.java:662)
    from com.hyperion.odi.common import ODIConstants
    from com.hyperion.odi.connection import HypAppConnectionFactory
    from java.lang import Class
    from java.lang import Boolean
    from java.sql import *
    from java.util import HashMap
    # Get the select statement on the staging area:
    sql= """select C1_HSP_RATES "HSP_Rates",C2_ACCOUNT "Account",C3_PERIOD "Period",C4_YEAR "Year",C5_SCENARIO "Scenario",C6_VERSION "Version",C7_CURRENCY "Currency",C8_ENTITY "Entity",C9_VERTICAL "Vertical",C10_HORIZONTAL "Horizontal",C11_SALES_HIERARICHY "Sales Hierarchy",C12_DATA "Data" from PLANAPP."C$_0HexaApp_PLData" where      (1=1) """
    srcCx = odiRef.getJDBCConnection("SRC")
    stmt = srcCx.createStatement()
    srcFetchSize=30
    #stmt.setFetchSize(srcFetchSize)
    stmt.setFetchSize(1)
    print "executing query"
    rs = stmt.executeQuery(sql)
    print "done executing query"
    #load the data
    print "loading data"
    stats = pWriter.loadData(rs)
    print "done loading data"
    #close the database result set, connection
    rs.close()
    stmt.close()
    Please help me on this...
    Thanks & Regards,
    Chinnu

    Hi Priya,
    Thanks for giving reply. I already checked that no lock are available for rule file. I don't know what's the problem. It is working fine without the Rule file, but throwing error only when using rule file.
    Please help on this.
    Thanks,
    Chinnu

  • How to read clob data into a table

    Hi we have application which take oracle reports(10G)  xml  file as input and runs the report and save the output(csv,pdf) in a table.
    so i need some idea to impliment the follwoin task .
    I need to read the  content of the out file whcih in table stored in CLOB(I have not checked yet) column and store the data into another table .
    FYI: The out put  of the report will have 10+ different column.
    could Some please point me to the right direction  to acomplis h the task .
    Thnaks In Advance.Edited by: 852112 on Apr 13, 2011 10:47 AM

    Welcome to the forum.
    See:
    http://www.oracle-base.com/articles/8i/ImportClob.php
    http://www.oracle-base.com/articles/8i/ImportBlob.php

  • Reading decimal data into a string

    Hi,
    I am having an issue in converting the non char data like decimal into character.  Here is my code In the output I see '#' signs where I am supoose to get certain amount values in the decimal format. I require it because I need to download the data into a file. Any thoughts?  Rest of the code looks fine. Thanks in advance,
    VG
    field-symbols: <fs_table> type standard table,
                   <fs_wa>,
                   <fs_string>.
         CREATE DATA v_dref Type table of (v_tabname).
          assign v_dref->* TO <fs_table>.
          select * from (v_tabname) into table <fs_table>.
          loop at <fs_table> assigning <fs_wa>.
              assign component sy-index of structure <fs_wa> to <fs_string> casting type c.
              if sy-subrc = 0.
                write:/ <fs_string>.
             else.
               write: <fs_string>.
              endif.
            endloop.
    output:   10000100000001019999123120090101                                        ############0001

    @-Clemens - I tried your code , some problems with decimals values , adds a * in front.
    @Vinu - Just some rough modification to the code written by Clemens
    PARAMETERS:p_table TYPE tabname.
    DATA:wf_maximum TYPE i,
         wf_total_fields TYPE i,
         wi_count TYPE i,
         wf_ltype TYPE c,
         wf_length TYPE i,
         wi_index TYPE i.
    DATA:i_comp TYPE cl_abap_structdescr=>component_table,
          wa_comp LIKE LINE OF i_comp,
         wa_fields TYPE abap_compdescr.
    DATA:lr_data TYPE REF TO data,
         lr_line TYPE REF TO data,
         wf_data_str TYPE REF TO data,
         wf_type_struct TYPE REF TO cl_abap_structdescr.
    FIELD-SYMBOLS:<fs_table> TYPE STANDARD TABLE,
    <fs_wa>     TYPE ANY,
    <fs_line> TYPE ANY,
    <fs_field_s> TYPE ANY.
    CREATE DATA lr_data TYPE TABLE OF (p_table).
    ASSIGN lr_data->* TO <fs_table>.
    CREATE DATA lr_line LIKE LINE OF <fs_table>.
    ASSIGN lr_line->* TO <fs_line>.
    SELECT * FROM (p_table) INTO TABLE <fs_table> UP TO 20 ROWS.
    CLEAR:wf_ltype,wi_count.
    DESCRIBE FIELD <fs_line> TYPE       wf_ltype
                               COMPONENTS wi_count.
    LOOP AT <fs_table> ASSIGNING <fs_wa>.
      AT FIRST.
        wf_maximum = 0.
        wf_total_fields = wi_count.
        WHILE wi_count GT 0.
          wi_index = sy-index.
          ASSIGN COMPONENT wi_index OF STRUCTURE <fs_wa> TO <fs_field_s>.
          IF sy-subrc EQ 0.
            DESCRIBE FIELD <fs_field_s> TYPE          wf_ltype
                                        OUTPUT-LENGTH wf_length.
            IF wf_maximum LT wf_length.
              wf_maximum = wf_length.
            ENDIF.
          ENDIF.
          wi_count = wi_count - 1.
        ENDWHILE.
        CLEAR:wa_comp,i_comp[].
        wa_comp-name = 'FIELD'(005).
        wa_comp-type ?= cl_abap_elemdescr=>get_c( wf_maximum ).
        APPEND wa_comp TO i_comp.
        TRY.
            wf_type_struct =
            cl_abap_structdescr=>create( p_components = i_comp ).
          CATCH cx_sy_struct_creation.
        ENDTRY.
        CREATE DATA: wf_data_str TYPE HANDLE wf_type_struct.
        ASSIGN:wf_data_str->* TO <fs_line>.
      ENDAT.
      DO.
        ASSIGN COMPONENT sy-index OF STRUCTURE <fs_wa> TO <fs_line>.
        IF sy-subrc = 0.
          WRITE <fs_line>.
        ELSE.
          EXIT.
        ENDIF.
      ENDDO.
    ENDLOOP.

Maybe you are looking for

  • Partner Function not picked in Scheduling agreement.

    Hi I have maintained the Partner functions in Vendor master. But when i create a Scheduling agreement, the partner functions are not picked from Vendor master. Can any body help on this please? Thanks & regards, Sasi

  • 8.1.7.0 to 8.1.7.5 caused numeric errors

    Hi Our front-end application runs on win95 station. Its datas are on an oracle database. In order for the stations to communicate with some instruments (scales, x-ray mineral analysis..) we had to put the oracle driver 8.1.7.5. Since then, we are exp

  • If I back up my iPhone, then "Erase and Sync" my iTunes, will everything on my phone be lost even though I backed it up?

    I recently purchased a new Macbook Pro. I am trying to add music onto my iPhone 5 from iTunes, but it isn't working. I read the discussions to manually add music, but when I try, I get this pop up message: The iPhone "Miranda's iPhone" is synced with

  • Review Activity (RA) Approval Condition is Changing

    Hello everyone, I am running SCSM 2012 R2 version 7.5.3079.0 (no CUs).  I am having an odd issue where it seems as though the approval condition is changing on review activities.  I can't seem to figure out if I've done something or if there is somet

  • BPM and BAM Connectivity Issue....

    Hi All, I'm going to connect my BPM project to BAM application. Initial works are done. But the Data Object should follow name format like 'BI_<partition>_<composite name>_<process name>' . But my composite name and process name has '_' characters. W