Using Digital I/O to generate serial data stream

Hello All,
I am in need to generate a serial data stream. HW I use is MIO-16E-10.
I am planning to use the digital line out to generate the serial data stream.
I seems that if I use the wait timer the minimum pulse width I can get is
1ms. But for my application the pulses have to be shorter than that. I was
wondering about an alternative way to achive this. Any one who has worked
with a similar application please help!
Thanks in advance!
Anand.

Anand,
What you are looking to do is not possible with the digital lines on the board you have.
Depending on what other connections you have on the board, you could use one of the two analog outputs to generate your required serial data stream using pattern generation. Check the DAQ solution wizard=>Custom DAQ applications=>Analog Output=>Generate continuous sine wave. This example should give you a baseline to get started. Substitute the sine wave generator for your desired digital stream Logic 0 =0V, Logic 1=5V.
If you need more than 2 lines, or some form of handshaking, I would suggest using the PCI-6534 or (DIO-32-HS as it was previously called) This will give you the ability to generate serial data streams with timing and/or handshaking.

Similar Messages

  • Warning: Inconsistent Arg. You cannot have Use Stack Variables set if Generate Serial Only is not set

    What does this message mean?
    "Warning: Inconsistent Arg. You cannot have Use Stack Variables set if Generate Serial Only is not set."
     Where do I set Generate Serial Only?
    Thanks,
    Derek
    Solved!
    Go to Solution.

    Hi Derek,
    Not all of the LabVIEW C Generator settings are compatible with one another. In this case, you must set Generate Serial Only (aka "Disable Parallel Execution") if you want to generate code that uses stack variables.
    Michael P
    National Instruments

  • May i know how to use Lab Windows CVI to generate serial I/O?

    i'm using CVI labwindow software now, i would like to use it to generate serial digital input/output data by using an instrument data acqusition card,PCI-DIO-32HS. THank you very much.

    Hello,
    Please refer to the following link for more information about the theory.
    Link 1
    Sincerely,
    Sastry V
    Applications Engineer
    National Instruments

  • How to I Produce Serial Data Stream Using DIO Channel

    I would like to output to a "serial to parallel" circuit (74HC194 (Universal Shift Register IC)circuit) for the purposes of increasing my digital I/O off of my DAQPad-6020E. Does anybody have an example of outputting a data stream (both a clock and a "data out" stream)? All I would need is a clock edge after every output bit, but since I am new to producing vi's, I was hoping that someone would be able to give an example of an approach to take.
    The closest thread I found on the message board was a request to produce a PWM signal. My signal does not have to be that precise since I will be latching every new data bit with an independent clock edge.
    Thanks to anyone out there considering this problem.
    ThisRock

    Hello,
    Because the DAQPad-6020E does not have hardware timed DIO, you will be forced to output software timed digital data. Are you using LabVIEW 7.1? If so, one approach would be to generate an output counter pulse and use that to time a Timed Loop in LabVIEW. That way, for every output pulse of the counter, the timed loop would iterate. If you place your digital write VIs in that loop, you will output a digital value for every rising/falling edge of the counter output.
    Does this answer your question? If not, please give a little more detail about the Universal Shift Register IC and what it would require from your DO lines.
    Regards,
    Sean C.

  • Program to decode serialized data?

    Is there a program around which displays the contents of a serialized data stream? Because I'm having a bit of difficulty in serializing some highly interlinked objects, and I suspect that a class is being serialized which shouldn't be. It would be good just to have a quick look at what objects are in the output file.
    I've seen the spec, and should obviously write a one-off program to do the decoding, but if there's something out there already it would save a lot of time.
    I tried doing a loop with
    Object o=objectInputStream.readObject();but it complained that the UIDs were wrong. Which of course was true.

    If you were to System.out.println(objectInputStream.readObject(); in your loop instead of assigning it to an object, does/will it still generate the UID error?
    I don't know of a program to do what you want, but I do know a tedious way to get around the UID error. When it gives you the error, copy down the UID number of the file, then go over to the class and declare private static final long serialVersionUID = /*the UID of the file followed by an L*/ I feel like it's almost a hack, but it will stop the UID mismatch, and you won't have to worry about it again. (I think. It worked for me when I had UID issues and realized it was because I wasn't declaring serialVersionUID like I should have been.)

  • Using Serial Port for Non-Serial Data Acquisiton

    I searched the forums and couldn't find anything related to this topic.
    I saw that it was possible to use the parallel port for simple digital I/O and I was hoping the serial port can be configured the same. It seems all the VISA VI's only want to use the serial port to recieve ASCII chars at a given baud rate, but is it possible to simply poll the status of the serial line at my own speed to see if it is high or low, kind of like a single pin DAQ?
    It seems it would be possible as long as the serial data is read and controlled by labview and not by Windows. Let me know if you have any ideas how to approach this problem, or any feedback as to why it is not possible.
    Thanks everyone!
    Solved!
    Go to Solution.

    Select Property>Serial Settings>Modem Line Settings. For example, the CTS State is an input to the pc.
    Using these lines is a very poor replacement for a scope or DAQ board. The only things you can get back is Asserted, Unasserted, or Unknown. The range of acceptable signals is quite large. Anything between +3 and -3 is an unknown state. Your other signals are +/3 to 15 volts. what kind of signals do you actually want to capture?
    edit: There is no such thing as VISA Status so I have no idea what you are actually using.
    Message Edited by Dennis Knutson on 07-20-2009 11:09 AM

  • Generate Master data IDOC using report-RPCEMDU0_CALL (Tcode-PC00_m10_OTEM)

    Hi All,
    Can anyone please explain me the functionality of report RPCEMDU0_CALL  (Tcode-PC00_m10_OTEM). This is used to generate master data idocs. Any documentation would be really helpful.
    Also is there any way to alter the idoc data before sending. Please let me know.
    Thanks in advance.
    Regards,
    Priti Thakur

    Standard Doc[ for this transaction.|http://help.sap.com/saphelp_erp60_sp/helpdata/EN/f6/2318b13cf011d2a62900104b56737d/frameset.htm]
    There are few threads in SDN and ittoolbox to discuss about the problems but nothing much!
    To alter the format...explore the program. You can use the "Enhancement" part to add your custom logic to add columns to interface internal table. To access the enhancement...go to the program and press the 6th button from left ..the swirl button or press Shift + F4. Then activate enhancements ...to do the necessary coding as required.
    Also try the user exit:
    Note 1515497 - OT: Selection of a Provider - Customization User Exits
    As per this note, there is a contact info of SAP Developer...if the note and the info is helpful and you need help related to that note or that functionality contact them.
    Edited by: Amosha on Jun 22, 2011 10:31 AM

  • How to use regular expressions to generate test data ?

    Hi
    Someone can help me on what I have to do in order to create test data with regular expressions ?
    For example, I want to introduce a random telephone number (XXX-XXXX) in the phone number Form Field, I want to create the phone number using regular expressions in order to test different values in each playback of the script.
    I don't want to use VB or vbscript in e-tester, I'm just trying to do this with e-load nav editor and e-load
    Thanks a lot

    Hi and thanks for your answer!, it's a great trick ^_^
    I'm doing a research on how to improve the execution speed of the scripts in e-load, so actually I'm trying to avoid the use of databanks and VB code also.
    I was expecting that maybe e-load, e-load nav editor or e-tester can automatically generate test data via Regular Expressions. Someone Knows if this is possible ?
    Also can anyone tell me what the option "Automatically Generated (complex)" means ? I think that this will help me a lot
    *you can find this option in e-load Nav Editor when you select a parameter in the tree view, then go to the  "type" listbox in the properties pane, there you will find this option and some more options like :"Databanked variable", "Custom Dynamic Value", "Function".. etc.
    Thanks again

  • I never used LabView but need to generate a RS-233 serial output string that contains an IRIG timestamp based on a contact closure. Is LabView an appropriate tool to do this? How much does it cost to get started with the product?

    I never used LabView but need to generate a RS-233 serial output string that contains an IRIG timestamp based on a contact closure. Is LabView an appropriate tool to do this? How much does it cost to get started with the product?

    Labview isn't cheap, but it would certainly allow you to build a program (set of vi's - virtual instruments) that would do what you describe. Where would the timecode information come from? Your vi, or program, would: Start up, initialize the serial port, loop until a trigger happened, read the timecode (from where?), output that timecode out the serial port in a loop until you pressed the stop button. There is a free evaluation of Labview software available from NI - the base product itself runs about $995.
    - Dave

  • How to generate Serial numbers using JAVA SCRIPT

    how to generate serial numbers(incrementing by 1) using JAVA SCRIPT
    thanking you,
    pola pradeep

    i am afraid that whether ur looking for this. bcoz its a simple for loop
    <script language="JavaScript">
    //count = limit value for u
    for(i=0;i<count;++i){
         alert(i);
    </script>
    or if ur looking for something else, pls mention ur requrment precisely
    aleena

  • To generate serial # in a field of table..............

    AOA
    i want to generate a series of number in a column name serial, while populating the table through my jdbc application.
    i am using SQL server 2k at back end.
    is there any data type r code to generate serial while table is being populated.

    This is not a Java question but...I think this is what you are looking for:
    From SQL Server documentation:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_create2_8g9x.asp
    IDENTITY
    Indicates that the new column is an identity column. When a new row is added to the table, Microsoft? SQL Server? provides a unique, incremental value for the column. Identity columns are commonly used in conjunction with PRIMARY KEY constraints to serve as the unique row identifier for the table. The IDENTITY property can be assigned to tinyint, smallint, int, bigint, decimal(p,0), or numeric(p,0) columns. Only one identity column can be created per table. Bound defaults and DEFAULT constraints cannot be used with an identity column. You must specify both the seed and increment or neither. If neither is specified, the default is (1,1).
    seed
    Is the value used for the very first row loaded into the table.
    increment
    Is the incremental value added to the identity value of the previous row loaded.
    NOT FOR REPLICATION
    Indicates that the IDENTITY property should not be enforced when a replication login such as sqlrepl inserts data into the table. Replicated rows must retain the key values assigned in the publishing database; the NOT FOR REPLICATION clause ensures that rows inserted by a replication process are not assigned new identity values. Rows inserted by other logins continue to have new identity values created in the usual way. It is recommended that a CHECK constraint with NOT FOR REPLICATION also be defined to ensure that the identity values assigned are within the range wanted for the current database

  • Convert syncronous serial data into sequence of hex values

    Hi,
    I have a problem analysing captured data of a digital I/O board. I hope one of you can give me an advice/hint on this.
    Used Software: Labview Express 7.0
    Problem description:
    The captured digital data contains on channel 0 a clock signal, on channel 1 a reset signal and on channel 3 a data signal. The data signal is syncronized to the clock and consists out of 8 serial data bits. My problem is, how to convert this clock syncronized serial data signal into a sequence (array) of bytes each represented by 2 hex digits?
    More details on the problem environment:
    - The captured data comes from an ASCII file which contains data samples of a 16bit digital I/O card. Every line contains one sample encoded as 4 hex digits
    - The file is converted by a VI to a digital waveform and plotted by a digital waveform graph.
    One of my core problem on the way to a solution lies in the area, of how to "Trigger and Gate" the digital waveform based on the rising edge of channel 0.
    Thanks in advance for your help!
    Tryber.

    I checked with the 7.0 express version we have loaded on an older computer still and the part that I think you can use was in that version. In the second loop I had made a note: Boolean Crossing PtByPt.  This looks at a binary input and can output a true pulse (one iteration) based on the direction input condition.  This has three options;  False-True (rising), True-False (falling), or Either which is the option I had used in that vi.  This should allow you to detect a false-true state change on the clock channel.  Now, you say that the clock pulse is not consistant, but what about the information pulses? That was the reason for the first two loops on my program.  To insure that the digital value was measured during one input pulse to avoid turning two or more input pulses into one digital value. 
    As far as your question about trigger functions between the two, I'm not too sure.  I believe they offer the same options that I tend to use so I havnt had a problem with either.  On your block diagram menu select All Functions > Analyze > Point by Point > Other Functions PtbyPt.  There are some very handy tools in that menu. 

  • Unable to generate "Export data source" for Master data infoobject

    Hi Gurus,
    I'm in BW 3.5
    I need to generate "Export data source" for a master data info object.
    I followed below steps:
        I ticked the checkbox "Characterist. is export data source" in the master data Info object maintenance screen.
        In the Infosource area, for the desired Infoobject --> Right click --> Generate export datasource --> a dialog box displays saying "The generation of DataSource  was successful"
    Problem:
    Even after refreshing, etc.. I couldn't find the generated datasource 8**** for the above master data. I also tried to replicate the datasource from the myself source system, but couldn't find it even there. I don't know where the generated export data source is hiding ???
    Could anyone please help ????
    Thanks,
    Venkat

    Hi Venkat,
    I guess that after creating an export datasource for infoobject this DS should appear in the RSA1-Source systems - MYSELF - datasource overview (with name starting with 8). Since it's a datamart, it should appear also as system generated infosource. And in this case you would be able to assign in URs of data target the appropriate infosource (make sure that in Infoproviders tab of RSA1 you have inserted your infoobject as a data target).
    However, there are some bugs related to export data source. CHeck if you see you export data source in RSA6.
    If you don't see it - consider applying OSS Note #816892 - "30BSP26: Export DS for master data is not generated".
    Note #876845 - "30BSP29: InfoObject change: Export DataSource not adjusted" is also may be useful.
    -Vikram

  • Does anyone know how to display (in LabVIEW) the memory use during execution of an image and data acquisition VI to predict when it is time to cease the acquisition to prevent the program crashing?

    Does anyone know how to display (in LabVIEW) the memory use during execution of an image and data acquisition VI to predict when it is time to cease the acquisition to prevent the program crashing?
    I am acquiring images and data to a buffer on the edge of the while loop, and am finding that the crashing of the program is unpredictable, but almost always due to a memory saturation when the buffers gets too big.
    I have attached the VI.
    Thanks for the help
    Attachments:
    new_control_and_acquisition_program.vi ‏946 KB

    Take a look at this document that discusses how to monitor IMAQ memory usage:
    http://digital.ni.com/public.nsf/websearch/8C6E405861C60DE786256DB400755957
    Hope this helps -
    Julie

  • Is there a way to get several serial data lines to poll and respond quickly?

    I have a PCI-485/8 card where I need to use all 8 ports. Attached is the vi that I�ve developed so far. It works well when there are only 1 or 2 ports. But it really slows down the calling vi when I get up to 8 ports. The Read Delay is intended to set the polling pace, which is used to set the data logging rate. The calling vi is a timed while loop where dt = 0. Due to constraints of the polled device, I cannot set the delay less than 1200 mSec, so it�s set to 1500 mSec as a safety margin.
    The poll string is !!SS0n where n is the address number and must be followed by \r\n. Because the poll must be terminated with \r\n, the termination character (for the VISA Configure Serial Port function) cannot be A or D (hex). Otherwise it sees it�s own poll, terminates, and then ignores the responding string. (The polled devices works from RS-485, 2-wire.) As a secondary question, I�d like to know if there is a way to have it ignore its own poll string. But the bigger issue is that it�s dreadfully slow (i.e. around 10 seconds) with all 8 ports configured. The goal is to have this thing run at a consistent 1500 mSec.
    Please note that I may be approaching the program from a wrong direction and I�m certainly open to use a better way. For example, it may be more appropriate to obtain the data continuously instead of using a polling scheme. The devices being polled is capable of sending data continuously. However, I choose to use the polling method for three reasons. 1) The device does not send data at a continuous rate. (They are slow and not particularly stable.) 2) The provided data string is not consitent. The string varies in length, which may be the cause of the first problem. 3) There is a project scheduled where I will need to poll at least two devices on each port. (I realize that will really slow things down, but I�ll cross that bridge when I get there.) In other words, I�m open to set the devices on the ports in continuous mode if that�s the only way to get a fast and consistent system.
    The application is for an off-shore oil rig where they want to monitor and log data from 8 winches that operate the anchor lines. I�m using LV 7.1, Win2000, NI-Serial v1.6. Please advise�
    Attachments:
    SD41_PR292_Poll_Data_8_2.vi ‏561 KB

    Split this into 3 VIs. The first configures and opens the ports (everything to the left of the VISA Writes). This VI executes before the timed loop starts. The second is in the polling loop with the Error lines passed via shift registers. This includes the Writes, Bytes at Port, and Reads. The VISA Close and the analysis are in the third VI (outside the timed loop). This prevents the program from initializing and closing the ports repeatedly, which may take much longer than you think.
    Also, I would put the Reads inside a Case structure that only calls the read if Bytes at Port > 0. Some devices do not like zero byte reads.
    In the end product you amy want to analyze errors programmatically and attempt to close and re-open a port with an error rathe
    r than having the Error Handler holler at the user.
    With Bytes at Port do you really need the delay?
    Lynn

Maybe you are looking for

  • Ipod and itunes connection

    major problem: my ipod dosent seem to be syncing some certain apps. (and only those certain apps yet it sync music, movies, podcasts and music videos)Also only the apps that i have purchased form the itunes are not syncing. it keeps on saying eg: The

  • Ipad 4. Running extremely slow - any help out there ?

    Hi. My 64gb ipad on 6:1:3 runs sloooow. Sometimes not at all. 3 -4 bars coverage, 11gbit free space, all apps off other than the one selected, history and cache deleted. Email is about half or more speed of that of my iPhone. Safari frequently won't

  • Finder doesn't work properly after waking up from sleep?

    I have a brand new MacBook Pro with Lion installed on it. It travels back and forth from home to work with me, and at work I plug it in to an Apple Display. When I leave work, I put the laptop to sleep and take it home. At home, when it wakes up from

  • Filter Data with Merged and non merged columns in one

    Hi there, I have an excel spreadsheet that has got merged and non merged columns. What I want to be able to do is, filter a row that has got merged column and non merged columns. But when I filter it only takes the first line, rather than the merged

  • Displaying ppt and doc files in weblogic

    I am working on weblogic 8.1 I have .doc and .ppt files in directories under the webroot. When I click on the url to display the file I get garbage instead of getting the option to open/save the file. How can I enable the open/save option? Do I have