DSC / Logging Data / Converting to ASCII-Spreadsheet / LV 8

Hello there!
I have to log an array of three DBL-values. I created a shared variable of the array-type an turned on logging. Logging works fine, the problem arises when i have to store the acquired data in an ASCII-file.
 I use "Read Trace" from the DSC Module with the selected data type "variant". The output is fine (according to the probe i placed there). Wiring the whole thing to an "Unbundle by name" gives the correct timestamps and an array of variant. To store this data using "Write to Spreadsheet file" i have to convert the data to the orginal arrays of DBL. But i can't figure out how to do this. I placed the "Variant to Data" and wired a DBL-array to the type-input. Labview stops with Error 91: Data type incompatible.
I can't use the "Write traces to spreadsheet file" since the output is just "<complex data>" but no values. Anybody any idea?

Hi Jan,
See the attached vi i think it will help you!
Attachments:
test 1.vi ‏24 KB

Similar Messages

  • DSC 8.6.1 wrong timestamps for logged data with Intel dual core

    Problem Description :
    Our LV/DCS 8.6.1 application uses shared variables to log data to Citadel. It is running on many similar computers at many companies just fine, but on one particular Intel Dual Core computer, the data in the Citadel db has strange shifting timestamps. Changing bios to startup using single cpu fixes the problem. Could possibly set only certain NI process(es) to single-cpu instead (but which?). The old DSCEngine.exe in LV/DSC 7 had to be run single-cpu... hadn't these kind of issues been fixed by LV 8.6.1 yet?? What about LV 2009, anybody know?? Or is it a problem in the OS or hardware, below the NI line??
    This seems similar to an old issue with time synch server problems for AMD processors (Knowledge Base Document ID 4BFBEIQA):
    http://digital.ni.com/public.nsf/allkb/1EFFBED34FFE66C2862573D30073C329 
    Computer info:
    - Dell desktop
    - Win XP Pro sp3
    - 2 G RAM
    - 1.58 GHz Core 2 Duo
    - LV/DSC 8.6.1 (Pro dev)
    - DAQmx, standard instrument control device drivers, serial i/o
    (Nothing else installed; OS and LV/DSC were re-installed to try to fix the problem, no luck)
    Details: 
    A test logged data at 1 Hz, with these results: for 10-30 seconds or so, the timestamps were correct. Then, the timestamps were compressed/shifted, with multiple points each second. At perfectly regular 1-minute intervals, the timestamps would be correct again. This pattern repeats, and when the data is graphed, it looks like regular 1-sec interval points, then more dense points, then no points until the next minute (not ON the minute, e.g.12:35:00, but after a minute, e.g.12:35:24, 12:36:24, 12:37:24...). Occasionally (but rarely), restarting the PC would produce accurate timestamps for several minutes running, but then the pattern would reappear in the middle of logging, no changes made. 
    Test info: 
    - shared variable configured with logging enabled
    - data changing by much more than the deadband
    - new value written by Datasocket Write at a steady 1 Hz
    - historic data retrieved by Read Traces
    - Distributed System Manager shows correct and changing values continuously as they are written

    Meg K. B. , 
    It sounds like you are experiencing Time Stamp Counter (TSC) Drift as mentioned in the KB's for the AMD Multi-Core processors. However, according to this wikipedia article on TSC's, the Intel Core 2 Duo's "time-stamp counter increments at a constant rate.......Constant TSC behavior ensures that the duration of each clock tick is
    uniform and supports the use of the TSC as a wall clock timer even if
    the processor core changes frequency." This seems to suggest that it would be not be the case that you are seeing the issue mentioned in the KBs.
    Can you provide the exact modle of the Core 2 Duo processor that you are using?
    Ben Sisney
    FlexRIO V&V Engineer
    National Instruments

  • How can i log two (almost equal) data streams into one spreadsheet file?

    Hello,
    My problem is (as stated above) that i would like to log data obtained from 15 current-sensors and data obtained from 15 pressure sensors into one spreadsheet file. The idea is to put them next to eachother (preferabley pressure current sensors 1, pressure current sensors 2, pressure current sensors 3 etc.).
    Next to that I'm having difficulty logging certain constraints into a separate spreadsheet file. I.e. I've placed a maximum value constraint on my datalogger and I wish to log the data that has surpassed the max. constraint seperatly from the main logging file (see above) and (of course) preferably with the associated sensors. I would be extremly grateful if someone
    out there could help me with this problem becouse when I've fixed these problems my internship will finally have come to an end (and i NEED a vacation). Thanks in advace;
    Gideon Haan
    Nefit Buderus bv Deventer (Netherlands)
    [email protected]

    Shouldn't be too difficult. You would obviously have to have some form of test to see when your data has gone out of the specified range. You could then have this secondary logging process inside a case structure. You could innitialize this second file with the same header info. This is easiest if you go ahead and log all the sensor values into this new "surpassed" file if any of them are over. Otherwise, you will have to enter space characters ahead of the sensor values to ensure that the columns line up. You can create a string constant with a bunch of space characters and just use it over and over as necessary.

  • LabVIEW DSC Logging too Many Data Points for Integer Tags

    Hi,
    I am having a strange problem with LabVIEW 2013 SP1 DSC data logging, running on XP SP3.
    All the integer Data Type Tags in my Tag Database that are set to data log, are logging way too much data. When I look at the amount of logged data points for these int16 in Historical view I see its logging a point nearly every second. See screen shots below or attached jpeg's of screen shots of trace view and Trace Props of one of the integer Tags. I would prefer the integer tags to only log on change like the boolean tags.
    These tags are being acquired from a Horner OCS over Modbus Serial RTU. The Modbus comms is set-up to poll once a second.
    The problematic Tag Data Type in DSC logging are Int16
    The Modbus register data items denotations I am using for Int16 is S4#####
    Example  'OCS_Modbus_Master\S403709' 
    The same register represented in OCS Register is shown as '%R0709'
    The trace properties for some of these int16 tags is showing database page numbers in the thousands, which compared to the largest floating point tag is currently showing 172 pages after several months of logging.
    I would have expected int16 tags to only log a value when the value changes and since the 'update deadband' tag setting is disabled for integer tag properties there is no way to config the tag to only log on changes. What is the default logging config for integers. Log everything or log on any change?
    I would prefer for these integer tags to only log on change, since they change infrequently, log on change would be much more data efficient.
    I tried changing the tag data type to floating point and gave it an update deadband value to try and see if that would reduce the amount of logged data, it didn't seem to make any difference.
    Not sure if the issue lies in the
    > Modbus Comms
    > The DSC data event tracking module
    > The DSC Data Logging module
    > Some kind of  Horner OSC data type mismatch which results in DSC polling seeing the acquired value as having changed on every poll.
    Any suggestions greatly appreciated
    Thanks
    Paul
    Attachments:
    Integer Tag Data Points Trace View.jpg ‏125 KB
    Integer Tags Data Points Tag Properties.jpg ‏42 KB

    This definitely sounds like a citadel/logos issue. There are two possibilities:
    1) corrupt database
    2) corrupt logos
    To see if it is a corrupt database, simply go to your database folder and move all the files out of that folder to a different folder. Then restart the application. Your application will create a clean database. This may solve the problem. If so, then you know it is a corrupt database.
    To upgrade/reinstall logos, go to the Control Panel -> Add/Remove Programs. If you see logos there, uninstall it. After uninstalling it, install the most recent logos version (found at ftp://ftp.ni.com/support/lookout/logos).
    Please let me know if the problem persists. As you know, you may also always call in to the Tech Support Line.
    Thanks.

  • DSC not logging data

    Hi all,
    For some reason, my DSC has stopped logging data. I have a fairly simple setup (8 modbus servers) that are being read as I/O servers in the DSC. I have checked the "Log Data"option, and this was working for several months. Recently, I had to move to a different computer, and now nothing is being logged. The data are coming in correctly, the database seems to exist, but there's no new data being stored. I have tried creating a new database,  and then going into "Project library: Properties" and poining it to the new database, but nothing seems to happen.
    I'd welcome any suggestions.
    thanks,
    mike
    Attachments:
    OAlab_pH_control.lvproj ‏9 KB

    Hi Matthew,
    There is no error message. In fact, I can access the shared variables just fine. The historical data charts act like they should, but they have no data. I've looked in the folder where the database lives, and see that it has basically never been used... there are 5 files (sdb_lock, pid_cdih, stridm.cdin, nodetree.elog, nodetree.elog.ckpt0) but nothing else.
    I also did locate the original computer and found the technical report.
    At this point, I'm reasonably comfortable abandoning any previous historical data, so I wouldn't object to a solution that involved starting the database over. I'd like to be able to use the original project to specify all the variables because it was laborious to set them all up. 
    thanks for your help.
    mike
    Attachments:
    ni_supportOLD.zip ‏311 KB

  • Changing sampling time for logging data in DSC

    currently I created lots of shared variables by Modbus server. I'm wondering when I active logging data to Citadel, there is any option for change sampling time for logging data or not. I only saw option for changing base on percentage of value differences.
    Since I want to export them to MS Excel later, I want decrease the number of sample datas by decreasing sampling time.
    Thanks in advance.

    This is my idea that i try
    First, I add Enqueue Message for Enable time case
    Then, I create Enable time cases and write box diagram fallow below pic.
    But when i run program,it don't work, time don't count 
    Please help me.

  • How to log data directly to an ODBC datasource(MS-Access).

    Greetings,
    I have been logging the data(Array) obtained from a transducer directly into a spreadsheet using Labview VI.
    Now I need to put this data directly into an Access 2000 Database.
    Any Suggestions ???.

    There are a couple of options for logging data to an ODBC database: the LabVIEW Datalogging and Supervisory Control (DSC) module or the LabVIEW Enterprise Connectivity Toolkit.
    With LabVIEW DSC comes the ODBC Citadel Database. This allows you to easily log data, and you could retrieve this data into MS Access with SQL statements. More information about the DSC module can be found at:
    http://sine.ni.com/apps/we/nioc.vp?lang=US&pc=mn&cid=1010
    The Enterprise Connectivity Toolkit gives you tools for database connectivity, statistical process control, and internet-enabling technologies. More information about this toolkit can be found at:
    http://sine.ni.com/apps/we/nioc.vp?lang=US&pc=mn&cid=2452

  • Unable to store log data into database through JDBCAppender of Log4j

    I am able to store the log data into the file as well as to display that on console. But unable to store the same into the database. I am not getting any error or warning while execution. The code of log.properties is as below : -
    log4j.rootLogger=ERROR, C, FILE
    log4j.logger.org.firebird=ERROR, C
    log4j.logger.org.firebirdsql=ERROR, C
    log4j.logger.org.apache.joran=ERROR, C
    log4j.logger.org.apache.log4j.joran.action=ERROR, C
    log4j.appender.FILE=org.apache.log4j.FileAppender
    log4j.appender.FILE.file=/log.txt
    log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.FILE.layout.ConversionPattern=[%d{MMM dd HH:mm:ss}] %-5p (%F:%L) - %m%n
    log4j.logger.org.apache.log4j.jdbcplus.examples=DEBUG, JDBC
    # console appender
    log4j.appender.C=org.apache.log4j.ConsoleAppender
    log4j.appender.C.layout=org.apache.log4j.PatternLayout
    log4j.appender.C.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n
    # JDBC appender using custom handlers, 2a)
    log4j.appender.JDBC=org.apache.log4j.jdbcplus.JDBCAppender
    log4j.appender.JDBC.connector=org.apache.log4j.jdbcplus.examples.MySqlConnectionHandler
    log4j.appender.JDBC.sqlhandler=org.apache.log4j.jdbcplus.examples.SqlHandler
    log4j.appender.JDBC.dbclass=com.mysql.jdbc.Driver
    log4j.appender.JDBC2.url=jdbc:mysql:172.22.15.131/3306:plugins?
    log4j.appender.JDBC2.username=user18
    log4j.appender.JDBC2.password=user18
    log4j.appender.JDBC.buffer=1
    log4j.appender.JDBC.commit=true
    log4j.appender.JDBC.sql=INSERT INTO logtest (id, prio, iprio, cat, thread, msg, layout_msg, throwable, ndc, mdc, mdc2, info,
    addon, the_date, the_time, the_timestamp, created_by) VALUES (@INC@, '@PRIO@', @IPRIO@, '@CAT@', '@THREAD@', '@MSG@',
    '@LAYOUT:1@', '@THROWABLE@', '@NDC@', '@MDC:MyMDC@', '@MDC:MyMDC2@', 'info timestamp: @TIMESTAMP@', '@LAYOUT@', cast
    ('@LAYOUT:3@' as date), cast ('@LAYOUT:4@' as time), cast ('@LAYOUT:3@ @LAYOUT:4@' as timestamp), 'me')
    log4j.appender.JDBC.layout=org.apache.log4j.PatternLayout
    log4j.appender.JDBC.layout.ConversionPattern=%m
    Please help me out.. As I got stuck...

    Hi,
    This might help
    http://avdeo.com/2008/05/21/uploading-excel-sheet-using-oracle-application-express-apex/
    I think heading about that blog post is wrong. It is solution to import CSV.
    But you can convert your Excels easilly to CSV.
    I think import pure Excel is quite hard, and I have not seen any solutions.
    See this post also
    Importing Excel spreadsheet into Oracle via Apex
    Br,Jari

  • Using event risen to log data into citadel

    Hi all,
    I have an HMI application in LV & DS 8 reads My OPC items, and log data, alarms and events into citadel. Knowing Citadel is event-driven, I want to use this event to distinguish a change in database and update my Historical Alarm & Even List in the HMI front panel instead of ever polling the database.
    I really appreciate any help.

    Can you post more information on what you are doing? I haven't done much with Citadel but I thought that it is aimed at logging data as it changes, i.e. all of the data logged in there will be different else it wouldn't have been logged in the first place?!
    There are block diagram functions that allow you to read the traces back and this is all you need. Check out the examples that come with the DSC module.
    Let me know if I can help you further.

  • How do I  save a Numbers spreadsheet as an ASCII spreadsheet

    I need to convert an Appleworks spreadsheet to a Numbers spreadsheet and then save it as an ASCII file in order to upload it to my internet site.
    Conversion of the AW SS to Numbers is no problem. However, unlike AW, there is no selection I can make in the "Save As" menu to save the Numbers file as an ASCII.
    Any suggestions?

    Peggy:
    As you suggested, I copied and pasted my 450 row Numbers table into Pages (12 pages in total) and then converted it to text - I saved it to my desktop and renamed the file with a ".txt" tag. Then I uploaded to the server.
    The result when seen on the net is a page with 10 offices with total sales volume, units sold, etc. However, using the above procedure, while I do get the names of the 10 offices, I get no numbers.
    If any of you wish to contact my by email, I will direct you Peggy, Jerry and Brie, to the site to see the present result and future effort results.
    Thank you for your time and efforts.
    [email protected]

  • Logging data after a trigger with Lookout Direct

    Hi,
    I would like to log data with Lookout Direct after a trigger input (not periodically or continuously).  I am using Lookout DIrect version 4.5.1 build 19 and a Direct Logic 250 PLC.
    Does anyone have suggestions on how to do this?  I would prefer that this data be logged into Excel.  I have 24 sensors connected to the PLC and each time a sensor transitions from hi to low I would like to log the time of transition. 
    Currently I have individual spreadsheet storage objects for each sensor as well as individual latchgates to indicate when logging has been completed.  In the PLC code there is a state machine for each individual sensor as well and one of the states waits for an acknowledgement from Lookout that data logging has been completed before moving on to the next state (I will have to dig a bit deeper to remember exactly why I needed to do that).
    I am hoping there is a more traditional approach that is easier than what I am doing.  One of the problems I have been facing is Lookout Direct crashing every few days and I suspect it is because the sensors are often sensed within milliseconds of each other and opening/closing so many files is causing problems.  I worked through a list of possible reasons that Lookout may be crashing (provided by tech support) and I am nearly convinced I am just asking too much of the program...
    Any help will be greatly appreciated
    Thank you,
    David

    In case someone can help with this, here is a bit more information about my application and the PLC/Lookout code I have developed:
    Actuators have two positions, nominal and folded.  Prox sensors are used to monitor the position of actuators.  12 actuators can be monitored simultaneously.  The time at which prox sensors are sensed high is recorded so that actuator speed and actuation success is logged. 
    The PLC code consists of 12 separate state machines, each with the following 8 states:
    State 1
      System reset or nominal timer reset
      Wait for nominal prox release
    State 2
      Nominal prox released
      Wait for folded prox sense
    State 3
      Folded prox sensed
      Wait for folded ack from Lookout (acknowledges that timer value has been logged)
    State 4
      Folded ack from Lookout received
      Wait for folded timer reset (this state is active for one scan only)
    State 5
      Fold-in timer reset
      Wait for folded prox release
    State 6
      Folded prox released
      Wait for nominal prox sense
    State 7
      Nominal prox sensed
      Wait for nominal ack from Lookout (acknowledges that timer value has been logged)
    State 8
      Nominal ack received from Lookout
      Wait for nominal timer reset (this state is active for one scan only)
    Lookout acknowledges that timer values have been read and saved with LatchGates.  Lookout uses a SpreadSheet Storage Object to save the PLC timers when the PLC enters states 3 or 7 (prox sensor triggered).  The logged member of the SpreadSheet Storage Object is used to change the state of the LatchGates which, in turn, signal the PLC to proceed to the next state.  When the folded file is saved, the nominal LatchGate is turned off and the folded LatchGate is turned on and vice-versa for the nominal file.
    The LatchGate/SpreadSheet Storage combination is what I am hoping to improve upon.  I believe Lookout is crashing when 12 SpreadSheet Storage Objects log to 12 different files during the same 1 second period of time.
    If anyone has suggestions of a way to log this data in the PLC memory or a software package better suited for this application, please let me know!  I believe this would be simple with LabVIEW, unfortunately obtaining the additional hardware and software that I would need hasn't been easy! 

  • Possible to log data this way?

    Hello, i was wondering if its possible to have data logged onto a file in the following manner. Essentially, whenever someone starts the program, it'll log data into a NEW file everytime they push start. To make sure the file doesn't overwrite itself, I'll use LV's time stamp feature as a string to append itself onto the name of the file. In the end, everytime someone starts the program, it'll have the name of the file followed by the time stamp which will be saved to some directory.
    thank you.

    BurningH34t wrote:
    Hello, i was wondering if its possible to have data logged onto a file in the following manner. Essentially, whenever someone starts the program, it'll log data into a NEW file everytime they push start. To make sure the file doesn't overwrite itself, I'll use LV's time stamp feature as a string to append itself onto the name of the file. In the end, everytime someone starts the program, it'll have the name of the file followed by the time stamp which will be saved to some directory.
    thank you.
    Hello,
    Here is a simple VI which produces new files in a readable timestamped format which will always save files within the same directory as the VI itself.
    This VI saves to a spreadsheet as an example but it could be easily replaced with more file I/O.
    Alex Thomas, University of Manchester School of EEE LabVIEW Ambassador (CLAD)
    Attachments:
    AutoNaming.vi ‏13 KB

  • Log data on the host computer using cRIO-9035

    Is it possible for me to log data on the host computer opposed to on the controller itself? I'm needing to log quite a bit of data and I'm not wanting to use my storage on the cRIO. I'm using scan mode on the controller.
    Thanks

    Lots of ways to do this. You can write a datalogger to run on the PC, to read shared variables hosted on controller and  write them to a file. There is also the DSC module for logging hundreds to thousands of shared variables to a database, if you need that.

  • Having trouble converting array to spreadsheet string, storing the file and coverting back to array with complex numbers

    I am working with a network analyzer. I have arrays made of 5 columns the first consisting of an integer and the next four consisting of complex numbers. I am converting the array into a spreadsheet string and then saving the file using the write characters to a file VI. That seems to work well as when I open the file in Excel all the data is there. However when I try to reverse the process, open file and convert back to array, I loose some of the data. Specifically the imaginary parts of my complex numbers are all going to zero. I have narrowed down the problem to be in the conversion from spreadsheet string to array and vice versa. I
    think the problem may be with the 'format' input to the VI. I do not have an adequate resource for this so I am not sure what to put in to accomplish my task. Any takers?

    Hi Biz
    I don't think there is a direct way of converting a complex number to a
    string, so when you convert the array to a spreadsheet string, the
    numbers would be converted to real data.
    However, you could try separating the real and imaginary parts using the
    "Numeric: Complex to Re/Im" function, and then store these - either in
    separate files or in adjacent columns/rows in the same file. Then, when
    you read in the data again, use the "Numeric: Re/Im to Complex" function
    to put the two "halves" together.
    If you actually want Excel to interpret the numbers as imaginary, then
    you'll probably want to create a string for each complex number of the
    form "Re + Im*i" (after separating the Re and Im parts), by using
    "String:Format into String" with 2 numeric inputs and the format string
    "%f+%fi".
    Reading the data back into Labview then would require splitting the
    string into the 2 pieces by using "Stringcan from String" with 2
    numeric outputs (smae precision as original numbers specified by the 2
    Default Value inputs) and the same format string "%f+%fi", and then using
    the above-mentioned "Numeric: Re/Im to Complex" function. It worked for
    me, so if you can't follow what I am describing, send me an email and I
    can email you what I did (LV 5.1.1).
    Paul
    Biz wrote:
    > Having trouble converting array to spreadsheet string, storing the
    > file and coverting back to array with complex numbers
    >
    > I am working with a network analyzer. I have arrays made of 5 columns
    > the first consisting of an integer and the next four consisting of
    > complex numbers. I am converting the array into a spreadsheet string
    > and then saving the file using the write characters to a file VI. That
    > seems to work well as when I open the file in Excel all the data is
    > there. However when I try to reverse the process, open file and
    > convert back to array, I loose some of the data. Specifically the
    > imaginary parts of my complex numbers are all going to zero. I have
    > narrowed down the problem to be in the conversion from spreadsheet
    > string to array and vice versa. I think the problem may be with the
    > 'format' input to the VI. I do not have an adequate resource for this
    > so I am not sure what to put in to accomplish my task. Any takers?
    Research Assistant
    School of Physiotherapy, Curtin University of Technology
    Selby Street, Shenton Park, Western Australia, Australia. 6008
    email: [email protected]
    Tel. +61 8 9266 4657 Fax. +61 8 9266 3699
    "Everyone who calls on the name of the Lord will be saved." Romans 10:12
    "For all have sinned and fall short of the glory of God, and are
    justified freely by his grace through the redemption that came by Christ
    Jesus." Romans 3:23-4

  • How fast DSC loggs data

    Hi,
    I have an application that detects frequency and THD% and then Log this data to data base.
    I'm thinking of using DSC for this application and I wonder how fast can it be.
    will I lose data when using DSC for this application.

    The DSC engine can't save data with microsecond timing resolution for an analog signal. But you can take your signal and flatten it to a binary string. Then write the resultant string value to a string tag configured as a BLOB. Here is a 7.0 example for creating the binary string from array data. You can flatten clusters of data and then use the historical DSC vi's to get the logged data.
    Attachments:
    array data into binary string.vi ‏31 KB

Maybe you are looking for

  • Issue when running acutal Off-cycle payroll in India!

    Dear experts! I have an urgent issue when running ACTUAL off-cycle payroll in India as below: "Payroll already performed once in future". In testing mode, everything is fine. I have tried to check payroll result in pc_payresult and pu01, and Infotype

  • Converting textframes into anchored objects

    Hi All, I'm generating the ePub files from the InDesign and found that some of my textframes which are in separate stories are captured at the end of the files, but I'd like to have them at the exact position. But when those frames are capturing manu

  • M72z - trying to install Wireless-N 2230 :/

    Hi, I'm trying to install Wireless-N 2230 in M72z but when i plug it inn and start the machine I get a communicat:  Error 1802: unauthorised network card plugged in - Power off and remove the network card. Well - I thought that if I buy a card that i

  • Ran out of disk space - 1TB drive

    I've run out of disk space for back up with my 1 TB drive I use for TM. The key reason is because of the HD files I am using for my home movies not to mention the media I have been buying off of iTunes. I have an unused 500GB drive. Can I somehow cre

  • Trial Expired in One day

    I Just come back from a long gone,recently see some new products from Adobe,especially Photoshop Cs4 Extended. So I downloaded the trial to check it out,it's quite late so I only have time to took a quick look from it,put my pc to sleep next morning