Questions? Search our site or call us at 1-800-722-6004

Dealing with Devices that Output Data Continuously

There are a few types of instruments that transmit data either continuously or in bursts with many data values arriving in succession over a short period of time. For example many older electronic balances were designed to transmit continuous data to a digital display so that you could watch the weight reading change on the display. They typically transmit up to 10 weight values per second and do not provide a way to stop the data from flowing. (Most newer balances are configurable to transmit data only in response to a prompt sent through the serial port or by pressing a "Print" button on the balance. This is the best way to use a balance with the Wedge.) There are also some devices like tensile strength testers or friction peel testers that perform a test over a short period of time and for the duration of the test they transmit a large number of data values.

Although you may not be able to configure the device to send less data, you may be able to configure the Wedge to ignore enough of the readings so that you are not overwhelmed with data.

One way to do this is to configure the Wedge to treat multiple data records as one long record containing multiple fields and then simply ignore most of the fields. For example, most electronic balances simply transmit a weight reading followed by a carriage return and a line feed character. Normally you would define the "Input Data Record Structure" with "Carriage Return or CrLf Received" as the "End of Record Event" and then specify "Single Field Data Records" as the "Record Structure" for this type of data. If instead, you chose "Multiple Delimited Data Fields" as the "Record Structure" and chose the Carriage Return (ASCII 13) as the delimiter and also specified 30 for the "Maximum Number Of Data Fields" and finally chose "Ignore This Field" for the filters for Fields 1 through 29, you would effectively remove 29 out of each 30 data readings transmitted by the balance. If the balance sent ten readings per second, the Wedge would only pass a single reading through to another application once every three seconds.

Another way to control continuous data is to configure the Wedge so that it is initially suspended when you first activate it (select the "Activate Initially Suspended" option from the Activate menu). If the Wedge Activated but is suspended, it will continue to input serial data into its input buffer however it will not pass any data to another application until you resume it. Next, you could define one hot key that resets the Wedge and then define another hot key that resumes the Wedge for one data record. You can even assign both hot key actions to the same hot key keystroke so that both the reset and the enabling for one record is accomplished with the same keystroke. After you activate the Wedge it will not do anything until you press your hot key. When you press the hot key, the Wedge will reset itself (causing it to flush its input buffer) and then it will enable itself for one data record. After the next record is received, the Wedge will suspend itself again.

If you use the above technique, make sure that you select a "Start of Record Event" that will reliably determine the beginning of each data record (i.e. do not select "Any Character Received" as the Start of Record Event) . The reason for this is because if the device is in the middle of transmitting a data record when you press your hot key, the reset hot key action causes the Wedge to clear out its input buffer thus chopping off the first half of the data record being received. If you had "Any Character Received" selected as the Start of Record Event, the second half of the data record would be received as if it were a complete record. Choosing "Special Character Received" as the Start of Record Event and using the Line Feed (ASCII 10) as the "Special Character" would be a good choice in this situation. Since the device is transmitting a continual stream of data records with a carriage return and a line feed at the end of each data record, you could just as easily think of the line feed as the start of each record and the carriage return as the end. To remove the line feed and the carriage return from each record, you can use either the "Pre-Transfer Character Translation Table to translate them to "Nul" or you can apply a "Numeric Data Only" filter to the field(s) in the Wedge that contains them.


Categories: Tutorial / How-To

Last Updated: 2011.07.04

Need more help?

Don't hesitate to call or email us with your questions

Our office is open 9AM - 5PM Monday Through Friday (E.S.T.)

Technical Support: 215-496-0202

Toll-Free: 1 (800) 722-6004
Skype: taltech1 (Voice only)
Email: support@TALtech.com