×
INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Contact US

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

FLEXPORT FP-4U DATA ACQUISITION PROGRAM

FLEXPORT FP-4U DATA ACQUISITION PROGRAM

FLEXPORT FP-4U DATA ACQUISITION PROGRAM

(OP)
I have revisited the original flexport gage interface data acquisition pogram I posted previously to include a real time plot display as well as the immediate creation of an excel file for plotting and data analaysis.

I wish to extend a special thanks to folks at MidwestFlex for the loaner flexport FP-4U to test the program on.

Typically the flexport can be used in conjunction with the Chicago Dial Indicator gage to measure the linear length and subsequent change in linear length of mortars and grout formulations.  

Currently for many this is accomplished by taking periodic, manual readings.  This manual method has many limitations, but primarily the lack datapoints overnight and during weekends.  This program is provided as a facilitator for the utilization of the Flexport FP gage interfaces which when used in conjunction with the Chicago Dial Inidcator gages can allow automated data acquisition via a personal computer, hence "filling in the gaps" where reading were not previously taken.

The program currently provided was written in QBASIC due to it's ease in comprehension and modification, availability and negligible cost.  That is not to say there aren't limitations to using QBASIC (i.e. imperfect timing).  The aformention limitations are undoubtedly magnified due to my programming ability (or lack thereof), for which I apologize.

I do plan to post future versions in Visual C++.

It is my hope that this program will serve as guidance for those looking to utilize the gages and interfaces mentioned earlier, and perhaps to inspire others to adapt it for other purposes or to improve upon it.

CBey


    CLS
    CLEAR

    'BASIC DATA AQCUISITION PROGRAM...
    'INTENDED FOR THE FLEXPORT FP 4U IN DEFAULT CONFIGURATION
    'IN CONJUNCTION WITH CHICAGO DIAL INDICATOR BG COMPARATOR GAGES
    'PLEASE BE SURE TO DISABLE THE AUTO-OFF FUNCTION (INDICATED BY HOURGLASS) ON THE GAGE...
    'BY PRESSING AND HOLDING "2ND" BUTTON UNTIL "2ND" APPEARS ON SCREEN, THEN PRESS "OFF" BUTTON...
    'TO DISABLE AUTO OFF FUNCTION.  THE HOURGLASS SHOULD DISAPPEAR
    'ALSO BE CERTAIN TO DISABLE SCREENSAVER AND POWERSAVE FEATURES ON YOUR COMPUTER AS THEY WILL INTERRUPT READINGS
    'THIS PROGRAM WAS WRITTEN IN QBASIC SO THE CODE WOULD BE EASY TO FOLLOW AND MODIFY AS WELL AS HAVING A READILY   
    '...AVAILABLE FREE COMPILER ONLINE

    SCREEN 12'SOME MONITORS MAY NOT SUPPORT THIS SCREEN CONFIGURATION
    INPUT "PLEASE ENTER A FILENAME TO RECORD YOUR MEASUREMENTS"; FILE$
    INPUT "SAMPLING RATE IN SECONDS (I.E. ENTER 30 FOR EVERY 30 SECONDS)"; RATE
    INPUT "TOTAL SAMPLING DURATION IN MINUTES"; SAMPLE
    LET DURATION = SAMPLE * 60
    LET READINGS = DURATION / RATE
    ACTREAD = READINGS + 1
    FILENAME$ = FILE$ + ".XLS"
    OPEN "COM1:9600,N,8,1,CD,CS,DS,RS" FOR RANDOM AS #1
    OPEN FILENAME$ FOR OUTPUT AS #2' CREATES EXCEL FILE FOR DATA
    PRINT #2, "TIME(SEC)"; CHR$(9); "LLC1"; CHR$(9); "LLC2"; CHR$(9); "LLC3"; CHR$(9); "LLC4"; CHR$(9); "DATE";CHR$(9); "TIME"; CHR$(9); "CPU TIMER"'COLUMN HEADERS IN EXCEL SPREADSHEET..CONTINUATION OF PREVIOUS LINE
    
    CLS
    PRINT "PRESS 'Esc' TO STOP MEASUREMENTS..."'INTRO FOR INKEY BELOW ALLOWING ONE KEY TERMINATION OF MEASUREMENTS
    VIEW PRINT 14 TO 15: LOCATE 15, 4: PRINT "0"
    VIEW PRINT 3 TO 4: LOCATE 3, 3: PRINT "+5"
    VIEW PRINT 26 TO 27: LOCATE 26, 3: PRINT "-5"
    VIEW (500, 400)-(40, 40), , 1'ESTABLISHES VIEW WINDOW FOR GRAPH
    WINDOW (0, -5)-(ACTREAD, 5)'ESTABLISHES SCALE FOR GRAPH
    LINE (0, 0)-(ACTREAD, 0)'SETS 0 LINE FOR MONTORING EXPANSION OR SHRINKAGE
    FOR X = 0 TO READINGS
    Z = X * RATE
    VIEW PRINT 29 TO 30
    LOCATE 30, 15: PRINT DATE$, TIME$

    'LLC1
    WRITE #1, "!@R01"'COMMAND TO FLEXPORT CHANNEL 1 TO TAKE COMPARATOR READING
    INPUT #1, A$, COUNT, LREADING1, MODE$, B$'ASSIGNMENT OF VARIABLES AND ACQUISITION OF READING
    PSET (X, LREADING1)'GRAPHING DATA POINTS FOR LLC1
    LINE STEP(0, 0)-STEP(.35, 0), 2
    'LLC2 READING
    WRITE #1, "!@R02"
    INPUT #1, A$, COUNT, LREADING2, MODE$, B$
    PSET (X, LREADING2)'GRAPHING DATA POINTS FOR LLC2
    CIRCLE STEP(0, 0), .25, 3
    'LLC3 READING
    WRITE #1, "!@R03"
    INPUT #1, A$, COUNT, LREADING3, MODE$, B$
    PSET (X, LREADING3)'GRAPHING DATA POINTS FOR LLC3
    LINE STEP(0, 0)-STEP(0, .25), 4
    'LLC4 READING
    WRITE #1, "!@R04"
    INPUT #1, A$, COUNT, LREADING4, MODE$, B$
    PSET (X, LREADING4)'GRAPHING DATA POINTS FOR LLC4
    CIRCLE STEP(0, 0), .125

    PRINT #2, Z; CHR$(9); LREADING1; CHR$(9); LREADING2; CHR$(9); LREADING3; CHR$(9); LREADING4; CHR$(9); DATE$;CHR$(9); TIME$; CHR$(9); TIMER',READING,MODE$ TO BE INCLUDED SENDS DATA TO COLUMNS IN EXCEL SPREADSHEET
    VIEW PRINT 10 TO 15
    COLOR 2
    LOCATE 10, 65: PRINT "LLC1 "; USING "###.###"; LREADING1 'REALTIME DATA VIEW IN TXT
    COLOR 3
    LOCATE 11, 65: PRINT "LLC2 "; USING "###.###"; LREADING2
    COLOR 4
    LOCATE 12, 65: PRINT "LLC3 "; USING "###.###"; LREADING3
    COLOR 7
    LOCATE 13, 65: PRINT "LLC4 "; USING "###.###"; LREADING4
    VIEW PRINT 29 TO 30
   
    LOCATE 29, 45: PRINT "X="; Z
    
    VIEW PRINT 16 TO 20
    LOCATE 16, 65: PRINT FILENAME$
    LOCATE 17, 65: PRINT "RATE"; RATE
    LOCATE 18, 65: PRINT "DURATION"; SAMPLE
    LOCATE 19, 65: PRINT "READINGS"; ACTREAD

    IF X = READINGS THEN END ELSE
    TIME = 804269 '(792055/SECOND) to (806807/SECOND) APPROXIMATELY WILL DEPEND ON CPU CLOCK SPEED AND TIME TO       
  '... EXECUTE INTERSTITIAL COMMANDS
    IF INKEY$ = CHR$(27) THEN END ELSE
    FOR J = 1 TO RATE
    IF INKEY$ = CHR$(27) THEN END ELSE 'OPTIONAL INTENDED FOR LONG DURATION BETWEEN SAMPLES (OR USE CTRL + BREAK)
    FOR t = 0 TO TIME
    NEXT t
    NEXT J
    NEXT X   

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members! Already a Member? Login

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close