48
PINSTECH-160 INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES Muhammad Afzal Rana Zaheer Ahmad Muhammad Athar Farooq Liaqat Ali* Navecd Mushtaq Computer Division * Nuclear Materials Division Pakistan Institute of Nuclear Science & Technology P.O. Nilore, Islamabad, Pakistan May 1998

INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

PINSTECH-160

INTERFACING AND DATA ACQUISITIONINGOF

CREEP TESTING MACHINES

Muhammad Afzal RanaZaheer AhmadMuhammad Athar FarooqLiaqat Ali*Navecd Mushtaq

Computer Division

* Nuclear Materials Division

Pakistan Institute of Nuclear Science & TechnologyP.O. Nilore, Islamabad, Pakistan

May 1998

Page 2: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

PINSTECH-160

INTERFACING AND DATA ACQUISITIONINGOF

CREEP TESTING MACHINES

Muhammad Afzal RanaZaheer Ahmad

Muhammad Athar FarooqLiaqatAli*

NaveedMushtaq

Computer Division*Nuclear Materials Division

Pakistan Institute of Nuclear Science & TechnologyP.O. Nilore, Islamabad

(May 1998)

Page 3: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

ABSTRACT

Automation of DSM-6100-F CREEP TESTING MACHINES is made by using an IBMPC/XT/AT compatibles alongwith DAS-16 High Speed Analog I/O board. Creep test parametersnamely force, temperature and LVDTs(Linear Variable Differential Transducer) left & right arecalibrated. Emperical formula for each parameter is developed to convert data, which is received in theform of counts, into engineering units. LVDT controller module is designed and fabricated to handletwo LVDTs for data acquisition of a creep test required for it.

Page 4: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

ACKNOWLEDGEMENT

We are deeply grateful for encouragement and support from Dr. S.U. Cheema,Head, NMD.

We also acknowledge helpful suggestions guidance and supervision of Mr. B.Majid Ex-Head Computer Division. We are indebted to Mr. M. Khalid Akbar and Mr.Javed-ur-Rehman Head Computer Division who expedited the work.

It is a pleasure to record our thanks to Mr. Abdul Karim, PSO for helpfulcomments. Finally, Mr. Muhammad Mussadiq and Mr. M. Asghar Particularly deserveour deep gratitude for their technical assistance.

Page 5: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

CONTENTS

CHAPTER 1

INTRODUCTION

1.1 Description of DSM 6100-F Machine 1

1.2 Description of Electronic Control System 3

1.3 Electronic Control for High Temp Furnace 3

1.4 Strain Measurement 5

1.5 Technical Data 5

CHAPTER 2

SYSTEM HARDWARE DESIGN

2.1. Hardware System Installation 7

2.2 High Speed Analog I/O Board DAS-16 7

2.2.1 Features ofDAS-16 Interface Board 10

2.2.2 DAS-16 board configuration for Creep Testing Machines 10

2.2.2.1 Setting of Switches 11

2.2.2.2 Base Address Switch 11

2.2.2.3 Channel/System Configuration Switch 11

2.2.2.4 DMA Level Switch 11

2.2.2.5 Unipolar/Bipolar Modes 12

2.2.2.6 Gain Switch 12

2.3 Connector 12

2.4 Interface Box 13

Page 6: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

2.4.1 Screw Terminal Accessory Board STA-16 13

2.4.2 Signal Conditioning Module 13

2.4.3 Signal Distribution Module 13

2.5 Multiplexing and LVDTs Controller modules 13

2.6 Operation of Controller module 15

CHAPTER 3

SYSTEM SOFTWARE DESIGN

3.1 Function Keys Used in Program 17

3.2 Emperical Formulae for Creep Parameters 17

3.2.1 Emperical Formula for Force 17

3.2.2 Emperical Formula for Temperature 20

3.2.3 Emperical Formula for Elongation 21

References 24

Appendix A 25

Comparison of creep curves

Appendix B 28

Program listing

i i

Page 7: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

CHAPTER 1

INTRODUCTION

A creep laboratory, composed of six creep machines model DSM-6100-F was established todetermine creep and creep rupture properties of alloys at high temperature. To determine creep strength(i.e. strain behaviour as a function of time at constant temperature and force) or to determine thebehaviour of force as a function of time at constant strain and temperature (relaxation), it was requiredto note down the reading of creep parameters (force, temperature and elongation), manually from themachines during the tests.

A number of problems were faced with managing, data logging and analysis. Data acquisition offaster creep test was not possible by manual means. Moreover, a substantial number of manpower wasrequired to perform shift duties which was also a problem.

A joint project of CD-NMD was started to computerize the creep machines by interfacing themwith an IBM PC/XT/AT and compatibles. Four machines have been interfaced successfully. The creepparameters force, temperature, elongation from LVDT (Linear Variable Differential Transducer) leftand right are stored automatically in a file designated by the user at the start of the creep test. Dataacquisition is made periodically ranging from 1 second to any desired interval of time specified inseconds. Two LVDTs have been used instead of one LVDT and a mechanical dial.

1.1 DESCRIPTION OF DSM 6100-F MACHINE

Duration of a creep test may be short term or long term (extending over several years). The testtemperature may be as high as 1000°C. The range available for measurement of force is 0-50 KN. Straingauges in the form of devices with a mechanical dial or an electronic sensor are available formeasurement of elongation of specimen. The test specimen may be circular or flat.

Frame of the machine, Fig. 1.1, consists two hollow square sections connected by a cross piece.The cross piece is used to mount the top clamp. At the bottom the hollow square sections are connectedby robust casing which is used to house the motor, angular gear and infinitely variable gearing. Atransformer and semiconductor relays are also housed in this casing.

A three zone high temperature furnace is mounted to one of the hollow section by a bracket. Thesame hollow section also contains the oven controller for 3 zones and the complete measurement andcontrol electronics for the machine. The lower part of the frame includes a sub frame designed toprevent torsion. This frame also incorporates the load spring to apply force on the test specimen. Forceis measured by a built-in precision linear potentiometer arranged in parallel with the load spring. This

Page 8: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

TESTSPECIMEN

SHOCKABSORBER

EXCHANGEABLELOADINOSPRING

SUB FRAMEPREVENTTORSIONFRAMEHOUSING FORMOTOR,ANGULAR GEARTRANSFORMER,SEMICONDUCTORRELAYS ANDVARIABLE GEAR

•TOP CLAMP.i

FRA|MESPECIMEN T

ZH

OR

N|E

HOLDER PH H i G f f ^TEMPERATURE

FURNACE1"

TEMPERATURECONTROLLER FORHIGH

-TEMPERATUREFURNACE

MEASURING,REGULATING ANDINDICATINGELECTRONICS

MOTOR DRIVEWITHSTEPLESSGEAR -

Fig . I.I CREEP MACHINE

Page 9: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

potentiometer supplies an output signal proportional to force, to the electronics. This signal is amplifiedand shown in the correct unit of measurement (KN) on the 4i/2 digit display. Force is adjusted by two-step controller (up, down ,stop). The rate of control i.e. the spindle speed, is infinitely adjustable viaKnob. It is possible to keep the force constant, to adjust it via an external set point transmitter or tooperate at constant strain (relaxation).

1.2 DESCRIPTION OF ELECTRONIC CONTROL SYSTEM

Electronic, control system of the machine is incorporated into the base housing fixed to the righthand side. The basic version contains the following modules which are all located on a single largeprinted circuit.

• Power supply unit ±15v, +5v, +24v supply 1 lOv or 220v, (optional).

• Digital Display; 4m digits, for displaying force, strain and set point for force.

• Measurement Amplifier for force measurement: includes reference voltage (+10.000 V)for the pick up range selector, true value calculator, Null balance.

• Controller for force; the set point is provided via the set point potentiometer on the frontpanel.

Control mode selector (mode): The following possibilities are available:

F-auto = force constant i.e. force controlled mode.

F-man = Manual, i.e. the spindle can be driven by push button operation.

Relax = Constant strain.

• Safety Circuit: monitors maximum force, top and bottom limit switches, fracturedetection. These functions are illustrated in Fig. 1.2.

1.3 ELECTRONIC CONTROL FOR HIGH TEMP FURNACE

Electronic control of the furnace is housed in a second casing above the control electronic for themachine. They consist of the control/display section, together with the power section, comprising semiconductor relays and transformer. The power section is located in the base housing of the machine.

Page 10: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

B L O C K C I R C U I T D I A G R A M O F T H E

D S M 6.1 0 0 - F

relax r

I

f t

measuringamplifier

F

measuringamplifier

rangesslector

F

rangeselector

set pointF

Fig. 1/2

Page 11: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

The control unit consists of three identical, microprocessor-based controllers. A separatecontrol circuit exists for each zone and consists of thermocouple, controller, set point transmitter,display and semiconductor relay. In order to ensure uniform temperature throughout the wholefurnace area, the central zone operates at approximately half the power of the two outer zones.

The control circuit operates only if the safety loop on the control unit is not tripped. In theevent of overloading, the control unit is switched off The running time counter, hour counter is used todisplay hours of operation. It increments only when the furnace is in operation. In the event of fractureof the specimen etc. the furnace is switched offby the electronic system of the machine.

1.4 STRAIN MEASUREMENT

Strain or elongation can be measured by using dial gauge or a LVDT (Linear VariableDifferential Transducer). Before the automation of the machines, one dial gauge and one LVDT wasused for elongation measurement. The reading of elongation was noted manually from the dial gaugeand elongation measured by LVDT was recorded on a Y-T multichannel recorder. Average elongationwas calculated from both the data i.e. elongation data from dial gauge and elongation J i from Y-Trecorder. In the newly developed system the dial has been replaced by another L •, DT and netelongation is taken from the average elongation of both LVDTs.

1.5 TECHNICAL DATA

Test force Maximum:

Force ranges standard:

Accuracy for force:

Spindle travel:

Setting speed:

50 KN

2.5 to 50 KN

1.25 to 25 KN

0.5 to 10 KN

0.25 to 5 KN

± 1% from 10-20%

±0.5% from 20%

of the selected load range.

130 mm

0-40 mm/min.

Page 12: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

Loading speed:

Temp Rage:

Electric supply:

0-25 KN/min.

20-1200°C

220V/0.45 KW.

Technical data for LVDT

Measuring method:

Nominal path:

Accuracy:

Nominal output

Supply:

Scanning force:

inductive (differential coil)

10mm

0.2% FS

80mV/V

5.2V/5 KHZ

1.5 N (by Nominal path)

Technical data of High Temp Furnace

Temp range:

Supply voltage(I-phase A.C):

Maximum power drawn:

Average Power drawnat specific temp, of 1000°C

Coil voltage:

Coil resistance:

20°C-1200°C

220 V

1.9 KW.

1.2 KW.

46V/24V/4

2.5O/1.5D/

Page 13: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

CHAPTER 2

SYSTEM HARDWARE DESIGN

A joint project was started for the interfacing of creep machines with computer to increase theefficiency of creep testing machines. Following steps were taken in this regard:

• An ADC (Analog to Digital Converter) DAS-16 high speed I/O board was used along withits accessories for data logging of all creep parameters i.e. force, temperature and elongation.

• Two identical control modules, designed and fabricated locally were used for multiplexing12 signals of 4 creep testing machines using 8 differential channel of one high speed I/Oboard and to process/ analog signals of two LVDTs (Linear Variable Differential Transducer)in the same controller of each creep testing machine.

• Creep experiments were performed on trial basis to compare the manual and automatic creepdata. Computerized data logging with enhanced accuracy is being processed which is betteras compared to manual one. For graphic illustration see Appendix A.

2.1 HARDWARE SYSTEM INSTALLATION

The following components were installed for computerization of the creep testing machines(Fig. 2.1):

• High speed analog I/O board DAS-16

• Interface Box

• Multiplexing and LVDTs Controller modules.

2.2 HIGH SPEED ANALOG I/O BOARD DAS-16

The DAS-16 is a multi-function, high-speed programmable A/D (and D/A) I/O expansion boardfor an IBM PC/XT/AT compatibles. It is a full length board that installs internally in an expansion slotof an IBM PC/XT/AT and compatibles. It is used to turn the computer into a fast high precision dataacquisition and signal analysis instrument. It has a multilayer construction with integral ground plane tominimize noise and cross talk at high frequencies. Block diagram of the board is shown in Fig. 2.2.

Page 14: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

CREEP / RELAXATION

MACHINE

D S M - 6 1 0 0 - F

(i) CONTROLLER

0i) HEATER

TEMPERATURE

FORCE

LVDT LVDTCONTROLLER

LVDT1

LVDT2

INTERFACEBOX

(i) SIGNALCONDITIONINGMODULE

(II) SCREW

TERMINALACCESSORY BOARD

(ill) SIGNALDISTRIBUTIONMODULE

DAS-16 BOARDIN

COMPUTERPC / AT

Rg_ 2.1 BLOCK DIAGRAM OF HARDWARE INSTALLATION

8

Page 15: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

INSTRUMENTATION

CHO HICHO CO

16 S. E.

OR

8 oirr.ANALOC

INPUTS

CM15 HI

16 SE /5 D1FT

swrrcH

REF 0 IN,

O/A 0 OUT I

REF i IN,

D/A 1 OUT!

-5V

0/A #0 12-BtTMULTPLYINC D A

o/A t^ 12-BITMULTIPLYING D/A

1J

DMA LEVELSELECT P

(1 OR 3) U

OMACONTROL

LOCC

12-STT A/D

I

A / 0 DATA « WUXRCAOSACK RCQSTER

MUX INCREMENT itCONTROL LOGIC

INTERRUPTCONTROL

LOOC

RECJSTER SELECTS

A -iAOORESS DECODE

* SELECT

OS-IS

CONTROL

RCCJSTER

TRICCER

SELECT

LOCJC

TIMER

ENABLEREOSTER

•rlO

QATA

TTI8U PC 9US

i

4—arr

INPUTREGISTER

OtCrTALOUTPUTRECISTER

16-BfTCOUNTER #0

16-BITCOUNTER #1

16-BITCOUNTER #2

PROGRAMMABLE

INTERRUPT

TIMER

+10

10 UH2

XTAL

Fig- 2.2 DAS-16 FUCTIONAL BLOCK DIAGRAM

m IPO A/D TRCn IPIB IP2 CTR 0 >W IPJ

-m OPD-m OPI-V 0P2- « 0P3

CTR 2 OUT

Page 16: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

2.2.1 FEATURES OF DAS-16 INTERFACE BOARD

Following are the key features of this interface board:

• Switch selectable channel input configuration, high impedance manages base I/O addressand DMA level.

• Multiplying double buffered 12-bit D/A output.

• A/D conversions triggerable by software command, internal programmable timer andinternal or direct external trigger ADCs.

• Programmable 3-channel internal timer (Intel 8254) provides trigger pulses for the A/D atany rate from 250 Hz down to 8 pulses/hr.

2.2.2 DAS-16 BOARD CONFIGURATION FOR CREEP TESTING MACHINES

The DAS-16 has several switches and jumpers which must be configured prior to use. The Fig2.3 shows the location of each switch jumper and connector for DAS-16.

CMN £ A/0 CtlAN CONFAOCOg UNI DIP 16 8

It™I [oil Eil

I

DMA UveJ Select .

Fig 2.3 DAS-16 switch and jumper locations

Setting of the switches and respective functions are described in the following sections.

10

Page 17: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

2.2.2.1 SETTING OF SWITCHES

The DAS-16 is configured for operation via several on-board switches as follows:• Base Address• Channel/system configuration• Unipolar/ Bipolar modes• DMA Level Select• Gain

2.2.2.2 BASE ADDRESS SWITCH

It is essential to assign a unique Base Address to each peripheral device such as a DAS-16,within the range 200 to 3F0 Hex (512 to 1008 Decimal) on 16-byte boundary. DAS-16 is configuredfor the Base Address 300 Hex (768 Decimals) with the help of switches as shown below.

1 2 3 4 5 6Basic Address Switches

2.2.2.3 CHANNEL/SYSTEM CONFIGURATION SWITCH

This slide switch is used to select either 8 differential or 16 single ended analog inputchannels to be used. This switch is marked CHAN/CONF on the board. Eight (8) differential inputchannels are selected to minimize the noise by moving the switch to the right (towards the 8designator) as shown below:

CHAN CONF16 8

2.2.2.4 DMA LEVEL SWITCH

This two-position slide switch selects the DMA level as 1 or 3. Some early PC's utilizechannel 3 for their hard drives. If this is the case one cannot choose DMA channel 3 for DAS-16. Fordetail consult [2]. Here the DMA level is selected as 1.

11

Page 18: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

2.2.2.5 UNIPOLAR/BIPOLAR MODES

This two-position slide switch which controls the input range, is marked A/D on the DAS-16.When moved to the UNI (unipolar) position inputs can be positive only (ranges from zero to somepositive full-scale voltage). When moved to the BIP (bipolar) position, inputs can range from equalnegative to positive full-scale limits. This switch is positioned at UNI because input signals are in therange of 0 to 10 volts as shown below:

A/DUNI BIP

2.2.2.6 GAIN SWITCH

This is a 5-position DIP switch. The five positions on the switch are marked A, B, C, D, andUSER. These are used to set the range as shown in Table 2.1.

A

OFFONONONONON

B

OFFOFFONOFFOFFOFF

Table 2.1: Gain SwitchC

OFFOFFOFFONOFFOFF

D

OFFOFFOFFOFFONOFF

USER

OFFOFFOFFOFFOFFON

Selection.UNIPOLARN/A0-1OV0-5V0-2V0-1VUser Set

BIPOLAR

±10V+5V±2.5V±1V±0.5VUser Set

It is selected as shown below:

ON A B C D USER

1 ft*K

1 2 3 4 5

2.3 CONNECTOR

Analog and Digital I/O signals are transmitted through a 37-Pin, D-type connector thatconnects through the computer case at the rear of the board. The mating connector for DAS-16 is astandard 37-pin D-type female such as an ITT/Cannon #DC-37s for soldered connectors. Theconnector pin details are given in [2].

12

Page 19: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

2.4 INTERFACE BOX

A hardware interface box was designed and fabricated to integrate all interface cards andmodules in a single box. The interface box consists of the following modules:

2.4.1 SCREW TERMINAL ACCESSORY BOARD STA-16

The STA-16 is the Screw Terminal Accessory for the DAS-16 series. It contains two 37-pinD-type male connectors. This allows a C-1800 cable to be used for connection to the data acquisitionboard. All signals from the data acquisition board are brought out to the labeled screw terminals. Theanalog input channels are separated by analog ground connections.

2.4.2 SIGNAL CONDITIONING MODULE

The signal condition module is an interface between computer based analog I/O board and theinstrument. The output signal received from controller of creep testing machines for temperature is 0 to10 mv whereas the DAS-16 Analog board input capacity is in volts. The MB37-S is used to handle thisshortcoming. The MV and V input module MB37-S converts lOmv temperature signal to 5V as output.The module MB-01 is used as direct connection module mounting rack.

2.4.3 SIGNAL DISTRIBUTION MODULE

The signal distribution module is used to distribute the input signals between computer basedanalog I/O board and the plotter.

2.5 MULTIPLEXING AND LVDTS CONTROLLER MODULES

According to the original design of creep testing machines it was not possible for the controller ofthe machines to handle two LVDTs at a time, but two LVDTs are necessary for a single machine for properelongation measurement of creep tests. To do this we had to engage two machines for one test. To overcomethis problem two new modules, each for two creep testing machines, were designed, which can control twoLVDTs in the same controller of each creep testing machine for precise elongation measurement. Moreoverthe high speed I/O Board provides an option to select either 8 differential or 16 signal-ended analoginput channels. To minimize the effect of noise, 8 differential analog input channels are opted in creeptests. Four creep testing machines require 12 differential signals because both LVDTs of a machine usessame signal line.

To cope with this situation two identical Multiplexing & LVDTs controller Modules, each fortwo testing machines, were designed and fabricated with discrete components (Fig 2.1). The modulemultiplexes 12 analog differential signals with a single DAS-16 high speed analog I/O board and handletwo LVDTs simultaneously required for elongation measurement for creep test.

13

Page 20: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

CREEPMACHINES 13/14

BLOCK DIAGRAM OF MODULE FORAUTOMATIC DATA AQUISITION OF MULTIPLE CREEP MACHINES

FDRCE

A L

T.C.CDUT)

LVDT

CREEPMACHINES 15/16

FDRCE

AL

T.CXDUT)

LVDT

LVDTSMACHINE 13/14

LVDTCL)

LVDTCR)

LVDTSMACHINE 15/16

LVDTO.5

LVDT(R)

F i g . l.k

FORCE

TEMP

LVDT

FDRCE

TEMP

LVDT

M15/16

RELAY348-879

CHANGEMACHINE

COMPUTER PC/XT/AT

FDRCE FC-)

TEMP 0-10nV

LVDT

0-3V

FC+) t 2 s

FDRCE

TEMP 0-10mV

LVOT

0-5V

,2

DAS-16[CH3 !

CH4

CH3

CHO

CHI

D 1/3

D 0/EDIGITAL OUT

,2

+iev

NDRMALO.)

NDRMALCL)

L V D K O ,

ENERGIZED LVDT CR)

ENERGIZED LVDT CR)

LVDT(R),

RELAY348-879

CHANGELVDT

"33O.n.

+5V

COMPUTER

MANUAL

DOUBLEPOLETHREEPOSITIONSWITCH

OSo

j I

oc

aL3

C3

COMPUTER DIVISION PINSTECHDRAWN

CHEEMA

CHECKED BY

+12VRANA

DESIGNED BY

ZAHEER

DATE29-OS-19M

REV.

CD-BDMCM

14

Page 21: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

2.6 OPERATION OF CONTROLLER MODULES

LVDTs controller module is combination of discrete components and miniature plug in 4-polechange over relay. Computer selects LVDTs (left and right) and machines with change over contacts ofrelay. The relay can be activated approximately 1000 times in a second. The operation and release time ofrelay is 25ms. Digital output signals of DAS-16 high speed I/O board are used to control the logic, Table3.1, to select LVDTs( left and right) and machines (13,14,15,16). The status of machines/LVDTs isdisplayed with the help of LEDs, which are connected with the modules. The controller modules alsomultiplex 12 analog differential signals with a signal DAS-16 high speed analog I/O board, Table 3.2 .

15

Page 22: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

CHAPTER 3

SYSTEM SOFTWARE DESIGN

A program has been developed in BASIC to automate the creep testing machines usingDAS-16 high speed programmable A/D (and D/A) I/O card. DAS-16 is assigned a Base Address of300 Hex (768 decimal). The channel number being read is sent to the mux scan register (BaseAddress + 2). The ADC is triggered to start conversion by sending "0" to the A/D register ( BaseAddress + 0). Then the most significant End Of Conversion bit "EOC" is checked. If EOC =1, theA/D is busy if EOC=0, the A/D is ready to perform the next conversion and the A/D data registerscontain valid data from the previous conversion. When EOC=0 the data is read from the A/Dregisters (Base Address +0 & +1). The channels are read on polling method. Data acquisition ismade periodically ranging from 1 second to any desired interval of time specified in seconds. Thedata acquisition time can be modified during a test. Data is received in form of counts which isconverted into engineering units by using different formulae. An empirical formula is developed(section 3.2) for each parameter. The data is stored in a file designated by the user at the start of thecreep test which is inquired by the program.

Digital I/O 4-bit output port (OP0-3) of high speed analog I/O board [2] is employed tocontrol the logic of Multiplexing and controller module to accommodate 12 differential analogsignals of 4 creep testing machines. Each creep testing machine provides 4 signals (force,temperature, elongation measured by LVDTs left/right). In the low state of 1 & 3 bits of the digitalI/O output port the left LVDTs of the selected machines are latched. On high state of these bits theright LVDTs of these machines are latched. The output bits 0 & 2 are programmed for the selectionof the creep testing machines. In the low state of these bits machines 16 & 14 are ready for dataacquisitioning whereas in high state the remaining two machines (i.e. 15 & 13) are latched for datacapturing.

Table 3.1. Digital bits (OP0-3) selection for multiple machines.

CREEPPARAMETERSForceTemp.LVDTleftLVDTright

MACHINESM#16OP0-LOP0-LOP0-LOPl-LOP0-LOP1-H

M#15OP0-HOP0-HOP0-HOPl-LOP0-HOP1-H

M#14OP2-LOP2-LOP2-LOP3-LOP2-LOP3-H

M#13OP2-HOP2-HOP2-HOP3-LOP2-HOP3-H

L-Low, H-High.

16

Page 23: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

Table 3.2. Control bits (OPO-3) during Creep Tests.

OPO-3 BitsOPO

0011----

OP10101----

OP2----0011

OP3----0101

Creep ParametersForce

YYYYYYYY

Temp.YYYYYYYY

LVDT leftYNYNYNYN

LVDT rightNYNYNYNY

MachinesM#

1616151514141313

3.1 FUNCTION KEYS USED IN PROGRAM

The function keys F3, F4, F5, F6, F7, F8, F9 and FIO are programmed to perform certainfunction on user request. The function keys F3, F4, F5 and F6 are used to start the creep tests onmachines 13, 14, 15 and 16 respectively. When the function key F3/F4/F5/F6 is pressed the dataacquisitioning of the machine is started.

The function key F7 is designated for the change of data acquisition time. The function keyF8 is specified to display screen containing parameters of creep tests on machines 13,14,15 and 16alternatively (if tests on all machines are in progress simultaneously). The function key F9 selectsthe test in progress to be finished. The function key FIO is programmed to end the program and toenter the BASIC interrupt mode.

3.2 EMPIRICAL FORMULAE FOR CREEP PARAMETERS

Four parameters namely force, temperature, and LVDT left & right are monitored for acreep test on a creep testing machine. Data is received in form of counts which is converted intoengineering unit by using empirical formulae. Different empirical formulae are developed fordifferent parameters. However, the LVDT left & right employ the same formula. These formulaeare discussed in the next subsections.

3.2.1 EMPIRICAL FORMULA FOR FORCE

Creep tests are performed at constant stress ranging from 5 KN to 50 KN. The formulainvolved in this parameter is

F = - DF (FF) + (5*D*MULT*KN)/4095,where

17

Page 24: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

DF is one dimensional array containing differences of Creep Testing Machine DisplayValue (CTMDV) and the value computed by the formula ( 5*D*MULT*KN)/4095(Table 3.3). The input analog value to the DAS-16 is in the range of 0-1OV whereasthe output range limits are 0-4095 counts.

FF is index of the one dimensional array DF computed by the relation

FF = INT ((3712-D)/206)+l

D is the data received from ADC in form of counts at the channel specified for force.

MULT is multiplier depending upon the spring used in the creep test machines as per list:

1 for 5 KN

2 for 10 KN

5 for25 KN

10 for 50 KN

KN is constant multiplier having value equal to 1000.

18

Page 25: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

I

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

CTMDVFd(N)

9000

8500

8000

7500

7000

6500

6000

5500

5000

4500

4000

3500

3000

2500

2000

1500

1000

500

10

TABLE

COMPUTEDVALUEFC(N)

9060

8559

8054

7548

7045

6540

6037

5531

5028

4525

4020

3514

3009

2505

2000

1497

966

488

0

3.3

COUNTSC

3712

3505

3298

3091

2885

2678

2472

2265

2059

1852

1646

1439

1232

1026

819

613

408

200

0

ACOUNTS

c rc i + I

207

207

207

206

207

206

207

206

207

206

207

207

206

207

206

205

208

200

DF(I)Fc-Fd

60

59

54

48

45

40

37

31

28

25

20

14

09

05

0

-3

-4

-12

-10

19

Page 26: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

3.2.2 EMPIRICAL FORMULA FOR TEMPERATURE

Almost all the creep tests are performed at high temperature such as 1000°C. The range300-900 is divided into 12 equal part. For each range same empirical formula is used. Thisformula is

where

T = DT(TT) + (D* 1750)72048,

DT is one dimensional array containting temperature difference of Creep TestingMachine Display Value (CTMDV) and computer value evaluated by the formula(D*1750)/2048. See Table 2 A. The input analog signal to the DAS-16 vide theMB37-S type thermocouple (temperature range 0-1750 C) is 0-5 volts. The outputrange is 0-2048 counts.

TT is the index of the one dimensional array DT calculated from the relation

TT = CINT (ABS (927-D)/59)+l

D is the data received in form of counts from the channel specified for temperature.

20

Page 27: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

TABLE 3.4

I

1

2

3

4

5

6

7

8

9

10

11

12

13

CTMDV

Td

900

850

800

750

700

650

600

550

500

450

400

350

300

COMPUTEDVALUE

T

792

739

687

636

586

536

487

439

393

347

301

256

212

COUNTS

C

927

865

804

744

686

628

570

514

460

406

352

300

248

ACOUNTS

62

61

60

58

58

58

56

54

54

54

52

52

DT(I)

Tri-TU C

108

111

113

114

114

114

113

111

107

103

99

94

88

3.2.3 EMPIRICAL FORMULA FOR ELONGATION

Like temperature, a formula is developed for both (left and right) elongations. Thisformula is

L = -DL(EX)+(D*MICRON)/4095,

21

Page 28: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

where

DL is one dimensional array containing elongation difference of Creep TestingMachine Display Value (CTMDV) and the value computed by the formula

(D*MICRON) /4095,

see Table 3.5. The input analog value to the DAS-16 is in the range of 0-10 voltswhereas the output range limits are 0-4095 counts.

EX is the index of the one dimensional array DL computed by the relation

EX = CINT((4095-D)/124)+l.

D is the data received from the ADC in form of counts at the channel specified forthe left and the right elongations.

MICRON is constant multiplier having value equal to 10000.

22

Page 29: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

TABLE 3.5

II

1

I•>L1J

A'1

C3

/:O

1QO

r\y

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

CTMDV

Ld

9930

9699

9401

9100

8799

8499

8199

7900

7599

7300

6999

6698

6398

6101

5799

5499

5201

4899

4601

4300

3999

3699

3400

3102

2799

2500

COMPUTEDVALUE

Lc9988

9753

9451

9150

8847

8549

8242

7944

7639

7338

7035

6735

6432

6129

5829

5526

5231

4923

4622

4319

4017

3717

3416

3123

2811

2510

COUNTS

C

4090

3994

3870

3747

3623

3501

3375

3253

3128

3005

2881

2758

2634

2510

2387

2263

2142

2016

1893

1769

1645

1522

1399

1279

1151

1028

ACOUNTSCrQ+i

96

124

123

124

122

126

122

125

123

124

123

124

124

123

124

121

126

123

124

124

123

123

120

128

123

DL(I)

Lc-Ld

58

54

50

50

48

50

43

44

40

3 8 •

36

37

34

28

30

27

30

24

21

19

18

18

16

21

12

10

23

Page 30: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

REFERENCES

[ 1 ] Creep Machine DSM-6100-F Operating Instruction Manual.

[2] DAS-16 High Speed Analog I/O Boards User Manual; Keithley Metrabyte.

[3] Data Convertors Technical Hand Book Volume 10; FerrantiSemiconductors, 1983.

[4] RS Data Sheet.

24

Page 31: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

APPENDIX - A

COMPARISON OF CREEP CURVES

25

Page 32: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

Creep curve (by computer)H800~880(r65MP

0.35

26

Page 33: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

Coniparlson of creep curvesIffiniT880(r60MP

o.u0J2 -

0.10-

0.06-

0.04-

0.02-

0.00*

.MB (B

0 1 1 2 2Timelh)

D By computer •* By manual means

27

Page 34: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

APPENDIX - B

PROGRAM LISTING

28

Page 35: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

10 'nmd.bas20 ON ERROR GOTO 556030 KEY OFF:CLS40 BASADD = &H30050 SW16 = 0:N16=0:LP16 = 1:K16 = 0:CNT16=051 'R DLR14(24) = 26:DLR14(25) = 2O:DLR14(26) = 18:DLR14(27) = 17:DLR14(28) = 1O60 SW15 = 0:N15 = 0:LP15 = 1:K15=0:CNT15=070 SW14 = O:N14 = O:LP14=1:K14 = O:CNT14 = O80SW13 = 0:N13 = 0:LP13 = 1:K13 = 0:CNT13=090 SRN016 = 0:SRN015=0:SRN014=0:SRN013 = 0 'chk16=0:chk15 = 0:chk14 = 0:chk13 = 0100 SUM = 0:INTV = 3600:KN = 1000110 SCR$ = "O":FLG$ = "F1:FLG16$ = "F":FLG15$ = "F11:FLG14$ = "F":FLG13$ = "F"120 MICRON = 10*1000 'imm = 1f i)0 micron (0-10)130 N = 10:NL = 3:RDNO = 8 'iwt = 2000014ODIMF16(N),T16(N),LVDTR16(N),LVDTL16(N),DF16(21),DT16(21),DLL16(21),DLR16(21)15ODIMF15(N),T15(N),LVDTR15(N),LVDTL15(N),DF15(21),DT15(21),DLL15(21),DLR15(21)160 DIM F14(N),T14(N),LVDTR14(N),LVDTL14(N),DF14(21 ),DT14(35),DLL14(35),DLR14(35)17ODIMF13(N),T13(N),LVDTR13(N),LVDTL13(N),DF13(21)>DT13(35),DLL13(35),DLR13(35)180 DIM MSTS$(4),CT16$(N),CD16$(N),RT16(N),CT15$(N),CD15$(N),RT15(N),CT14$(N),CD14$(N),RT14(N),CT13$(N),CD13$(N),RT13(N)190 DF16(1) = 303:DF16(2) = 295:DF16(3) = 280:DF16(4) = 269:DF16(5) = 254:DF16(6) = 231200 DF16(7) = 223:DF16(8)=208:DF16(9) = 193:DF16(10) = 178:DF16(11) = 155:DF16(12) = 140210 DF16(13) = 122:DF16(14) = 1O9:DF16(15) = 92:DF16(16) = 76:DF16(17) = 59:DF16(18)=43215 DF16(19)=28:DF16(20) = 13:DF16(21) = 0220 DT16(1) = 104:DT16(2) = 107:DT16(3) = 109#:DT16(4) = 109#:DTi6(5) = 113230 DT16(6) = 107:DT16(7) = 107:DT16(8) = 103:DTi6(9) = 100:DT16(10) = 98#240 DT16(11) = 92#:DT16(12) = 88:DT16(13) = 81:DT16(14)=75:DT16(15) = 7O:DT16(16)=6O245 DT16(17) = 50#:DTi6(18) = 40:DT16(19)=35:DT16(20) = 30:DT16(21) = 25250 DLL16(1)=62:DLL16(2) = 56:DLL16(3)=62:DLL16(4) = 49:DLL16(5) = 54260 DLL16(6) = 43:DLL16(7)=43:DLL16(8) = 35:DLL16(9)=42:DLL16(10) = 38270DLL16(11)=31:DLL16(12)=32:DLL16(13)=20:DLL16(14) = 21:DLL16(15) = 14280 DLL16(16) = 9:DLLi6(17) = 7:DLL16(18) = 2:DLL16(19) = 1:DLL16(20) = -2290 DLL16(21)=0293PLR16(1) = 71:DLR16(2)=65:DLR16(3)=62:DLR16(4) = 57:DLR16(5) = 56294PLR16(6) = 53:DLR16(7)=5O:DLR16(8) = 44:DLR16(9)=42:DLR16(1O) = 36295PLR16(11)=35:DLR16(12)=27:DLR16(13)=32:DLR16(14) = 26:DLR16(15)=23296PLR16(16) = 20:DLR16(17) = 15:DLR16(18) = 9:DLR16(19)=6:DLR16(20) = 5297 DLR16(21)=0300 DF15(1) = 402:DF15(2)=382:DF15(3)=360:DF15(4) = 339:DF15(5)=319:DF15(6) = 299310 DF15(7) = 279:DF15(8)=259:DF15(9)=239:DF15(1O) = 216:DF15(11) = 196:DF15(12) = 176320 DF15(13) = 156:DF15(14) = 136:DF15(15) = 113:DF15(16) = 93:DF15(17) = 70:DF15(18) = 50330 DF15(19) = 32:DF15(20) = 7:DF15(21)=0340 DT15(1) = 9O:DT15(2) = 86:DT15(3) = 115:DT15(4) = 85:DT15(5) = 115:DT15(6) = 113350 DT15(7) = 116:DT15(8) = 1O9:DT15(9) = 1O6:DT15(1O) = 1O5:DT15(11) = 99:DT15(12) = 94360 DT15(13) = 88:DT15(14) = 78:DT15(15) = 7O:DT15(16) = 58:DT15(17) = 5O:DT15(18)=45365 DT15(19)=4O:DT15(2O)=36:DT15(21)=3O370 DLL15(1) = 173:DLL15(2) = 168:DLL15(3) = 16O:DLL15(4) = 148:DLL15(5) = 144380 DLL15(6) = 134:DLL15(7) = 123:DLL15(8) = 115:DLL15(9) = 107:DLL15(10) = 100390 DLL15(11) = 89:DLL15(12) = 81:DLL15(13) = 73:DLL15(14) = 63:DLL15(15) = 55400 DLL15(16)=43:DLL15(17)=39:DLL15(18)=29:DLL15(19) = 21:DLL15(20) = 10:DLL15(21) = 54O4DLR15(1) = 178:DLR15(2) = 173:DLR15(3) = 167:DLR15(4) = 157:DLR15(5) = 147405 DLR15(6) = 136:DLR15(7) = 128:DLR15(8) = 120:DLR15(9) = 112:DLR15(10) = 104

29

Page 36: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

406 DLR15(11)=94:DLR15(12) = 86:DLR15(13) = 78:DLR15(14)=68:DLR15(15) = 62407 DLR15(16) = 52:DLR15(17)=44:DLR15(18) = 34:DLR15(19)=23:DLR15(2O) = 15408 DLR15(21) = 5410 DF14(1) = 832:DF14(2) = 792:DF14(3) = 747:DF14(4) = 71O:DF14(5) = 663:DF14(6)=623420 DF14(7) = 576:DF14(8) = 539:DF14(9)=492:DF14(1O)=452:DF14(11)=4O8:DF14(12) = 361430 DF14(13) = 319:DF14(14)=274:DF14(15) = 23O:DF14(16) = 18O:DF14(17) = 138:DF14(18) = 93440 DF14(19) = 51:DF14(2O) = 32:DF14(21) = 3450 DT14(1) = 114:DT14(2) = 115:DT14(3) = 117:DT14(4) = 119:DT14(5) = 119:DT14(6) = 115460 DT14(7) = 115:DT14(8) = 111:DT14(9) = 111:DT14(1O) = 1O5:DT14(11) = 99:DT14(12) = 95470 DT14(13)=87:DT14(14) = 78:DT14(15)=69:DT14(16)=6O:DT14(17)=5O:DT14(18) = 38480 DLL14(1) = 88:DLL14(2) = 85:DLL14(3)=82:DLL14(4) = 74:DLL14(5) = 74:DLL14(6) = 71490 DLL14(7)=66:DLL14(8) = 68:DLL14(9)=63:DLL14(1O)=63:DLL14(11) = 57:DLL14(12) = 52500 DLL14(13) = 49:DLL14(14)=49:DLL14(15) = 44:DLL14(16)=41:DLL14(17)=4O:DLL14(18) = 35

510 DLL14(19) =32:DLL14(20) =32:DLL14(21 ) = 27:DLL14(22) = -26:DLL14(23) = 26511 DLL14(24)=26:DLL14(25)=20:DLL14(26) = 18:DLL14(27) = 17:DLI_14(28) = 10512 DLL14(29) = 12:DLL14(3O) = 12:DLL14(31) = 8:DLL14(32) = -2:DLL14(33)=3:DLL14(34) = O513 DLR14(1) = 83:DLR14(2)=87:DLR14(3) = 8O:DLR14(4) = 77:DLR14(5) = 79:DLR14(6) = 74514DLR14(7) = 71:DLR14(8)=68:DLR14(9)=68:DLR14(1O)=55:DLR14(11) = 65:DLR14(12)=59515 DLR14(13)=47:DLR14(14)=46:DLR14(15)=46:DLR14(16) = 43:DLR14(17)=48:DLR14(18)=47516 DLR14(19) = 45:DLR14(2O)==34:DLR14(21)=32:DLR14(22) = -31:DLR14(23)=26517DLR14(24)=21:DLR14(25)=23:DLR14(26) = 13:DLR14(27) = 1O:DLR14(28) = 17518DLR14(29) = 14:DLR14(3O)=6:DLR14(31) = 5:DLR14(32)=3:DLR14(33) = -1:DLR14(34) = O520 DF13(1)=856:DF13(2)=819:DF13(3) = 784:DF13(4) = 747:DF13(5) = 7O7:DF13(6)=672530 DF13(7)=632:DF13(8)=593:DF13(9)=553:DF13(1O) = 516:DF13(11) = 476:DF13(12) = 441540 DF13(13) = 399:DF13(14) = 362:DF13(15) = 322:DF13(16) = 283:DF13(17) = 245550 DF13(18) = 2O6:DF13(19) = 166:DF13(2O) = 12O:DF13(21) = 9O560 DTi3(1)=95:DT13(2) = 99:DT13(3) = 100:DT13(4) = 103:DT13(5) = 103:DT13(6) = 105570 DT13(7) = 1O4:DT13(8) = 1O2:DT13(9)=99:DT13(1O) = 98:DT13(11)=95:DT13(12)=8858ODT13(13)=94:DT13(14) = 9O:DT13(15)=82:DT13(16) = 75:DT13(17) = 7O:DT13(18) = 6359ODLL13(1) = 1O:DLL13(2) = 12:DLL13(3) = 7:DLL13(4)=4:DLL13(5) = 4:DLL13(6) = 11600 DLL13(7) =O:DLL13(8) =0:DLL13(9) =0:DLL13(10) = -1 :DLL13(11) = 1 :DLL13(12) = 1610PLL13(13)=3:DLL13(14) = 3:DLL13(15)=9:DLL13(16) = 1:DLL13(17)=4:DLL13(18) = 1620DLL13(19) = 3:DLL13(20) = 1:DLL13(21) = 3:DLL13(22)=2:DLL13(23) = 1:DLL13(24)=4621 DLL13(25) = 9:DLL13(26) = 3:DLL13(27)=5:DLL13(28) = 2:DLL13(29) = 2:DLL13(30)=6622 DLL13(31) = 8:DLL13(32) = 8:DLL13(33)=8:DLL13(34)=5:DLL13(35) = 12623 DLR13(1) = 1O:DLR13(2) = 1O:DLR13(3)=9:DLR13(4)=O:DLR13(5) = 1:DLR13(6)=6624DLR13(7)=0:DLR13(8) = 3:DLR13(9) = 12:DLR13(10) = -1:DLR13(11) = 11:DLR13(12) = 11625 DLR13(13) = 6:DLR13(14) = 13:DLR13(15) = 1O:DLR13(16) = 7:DLR13(17) = 7:DLR13(18)=9626DLR13(19)=8:DLR13(2O) = 3:DLR13(21)=3:DLR13(22) = 12:DLR13(23) = 2:DLR13(24) = 11627DLR13(25) = 11:DLR13(26) = 13:DLR13(27) = 5:DLR13(28) = 12:DLR13(29) = 1O:DLR13(3O)=9628DLR13(31)=4:DLR13(32) = 8:DLR13(33)=4:DLR13(34) = 5:DLR13(35) = 12630 FOR 1 = 1 TO 4:MSTS$(I) = "OFF":NEXT640 FOR 1 = 1 TO 10: KEY(I) ON : NEXT I650 GOSUB2310660 ON KEY(3) GOSUB 3130 'Starts test on Creep Machine# 13670 ON KEY(4) GOSUB 2880 'Starts test on Creep Machine# 14680 ON KEY(5) GOSUB 2630 'Starts test on Creep Machine# 15690 ON KEY(6) GOSUB 2380 'Starts test on Creep Machine* 16700 ON KEY(7) GOSUB 5140 'Changes data acquisition time710 ON KEY(8) GOSUB 5380 'Changes screen's display of tests in progress720 ON KEY(9) GOSUB 3970 'Select tests in progress to be finished730 ON KEY(10) GOSUB 770 'Ends program to enter the BASIC intrrupt mode

30

Page 37: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

740 COLOR 14,4:LOCATE 2,14:PRINT DATE$;750 LOCATE 2,69:PRINT TIMES;760 GOTO 740770 END780 '790 ' Read ADC for Creep Test on Machine # 16800 '810 OUT BASADD + 3,0 'De-energizes digital out820 GOSUB 4580830 'STM16 = CDBL(TIMER)840 'IF M>50 THEN MM = nl ELSE MM = 1850 FOR CHANNEL=0 TO 3860 CHANEL=(CHANNEL+2) MOD 3870 CHAN = CHANEL*16 +CHANEL880 'CHAN = CHANNELS 6 + CHANNEL890 FOR MM = 1 TO NL900 OUT BASADD + 2,CHAN 'Sends channel# being read to the scan register910 OUT BASADD + 0,0 Triggers ADC to start conversion920 A = INP(BASADD + 8):AA = A AND &H80 'Masks the most significant bit "EOC"930 IF AA <> 0 THEN 920 'Checks the bit "EOC" whether it is busy or not940 B = INP(BASADD + 1) 'Reads data from the A/D register & stores it B950 C = INP(BASADD+0) 'Reads data from the A/D register & stores it in C960D = INT(C/16) + B*16970 SUM = SUM + D980 NEXT MM990 IF CHANNEL=0 THEN D = SUM/NL:EX=CINT((4095-D)/203) + 1:LL16 = -DLL16(EX) + (D*MICRON)/4095:OUTBASADD + 3,2 :GOSUB 4580 'Converts LVDTL data into Eng. units1000 IF CHANNELS THEN D = SUM/NL:FF = CINT((4095-D)/209) + 1:FR16=-DF16(FF) + D*5*MULT16*KN/4095

Converts force data into Eng. units1010 IF CHANNEL=2 THEN D = SUM/NL:TT=CINT(ABS(927-D)/57) + 1:TMP16=DT16(TT) + (D*1750)/2048 converts

temp, data into End. units1020 IF CHANNEL=3 THEN D = SUM/NL:EX = CINT((4095-D)/205) + 1:LR16 = -DLR16(EX) + (D*MICRON)/4095 OUTBASADD + 3,0 'Converts LVDTR data into Eng. units1030 SUM=01040 'NEXT MM105Q NEXT CHANNEL1060 STD16 = CDBL(TIMER/3600)1070 IF STD16 > ST16THEN SW16 = 11080 IF STD16 < ST16 AND SW16 = 1 THEN N16 = N16+1:SW16 = 01O9OSTD16 = STD16 + (N16*864OO!)/36OO1100 RTM16 = CDBL(STD16-ST16)1110 IF SCR$ = "16" THEN GOSUB 46501120 IF (LP16 + CNT16 = 1) THEN F16(LP16) = FR16:T16(LP16)=TMP16:LVDTR16(LP16) = LR16:LVDTL16(LP16)-LL16:

CT16$(LP16)=TIME$:CD16$(LP16) = DATE$:RT16(LP16) = RTM16:K16 = K16+11130 F1=ABS(FR16-F16(K16)):T1=ABS(TMP16-T16(K16)):LVR = ABS(LR16-LVDTR16(K16)):LVL = ABS(LL16-LVDTL16(K16))1140 IF (F1)>1 OR (T1)>1 OR (LVR)>1 OR (LVL)>1 THEN K16 = K16 + 1:F16(K16) = FR16:T16(K16)=TMP16:

LVDTR16(K16) = LR16:LVDTL16(K16) = LL16:CT16$(K16)=TIME$:CD16$(K16) = DATE$:RT16(K16) =1150LP16 = LP16 + 11160 'RDNO = FIX(60/M) + 1 ':LOCATE 3,60:PRINT "rdno";RDNO1170 IF (K16 = N) OR (K16>N) THEN GOSUB 3530 'kk=n1180 RETURN

31

Page 38: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

1190 '1200 ' Read ADC for Creep Test on Machine # 151210 '--1220 OUT BASADD +3,11230 GOSUB 45801240 'STM15 = CDBL(TIMER)1250 FOR CHANNEL=0 TO 31260 CHANEL = (CHANNEL+2) MOD 31270 'IF CHANNEL=6 THEN CHANEL=5 ELSE CHANEL=CHANNEL1280 CHAN = CHANEL* 16+CHANEL1290 FOR MM = 1 TO NL1300 OUT BASADD + 2.CHAN 'Sends channel# being read to the scan register1310 OUT BASADD + 0,0 'Triggers ADC to start conversion1320 A=INP(BASADD + 8):AA=A AND &H80 'Masks the most significant bit "EOC"1330 IF AA <> 0 THEN 1320 'Cheks the bit "EOC" whether it is busy or not1340 B = INP(BASADD + 1) 'Reads data from the A/D register & stores it into B1350 C = INP(BASADD + 0) 'Reads data from the A/D register & stores it into C1360 D = INT(C/16) + B*161370 SUM = SUM + D1380 NEXT MM1390 IF CHANNEL=0 THEN D = SUM/NL:EX=CINT((4095-D)/208) + 1:LL15 = -DLL15(EX) + (D*MICRON)/4095:OUTBASADD+3,3:GOSUB 4580 'Converts LVDTL data into Eng. units1400 IF CHANNEL=1 THEN D = SUM/NL:FF=CINT((4O95-D)/213) + 1:FR15 = -DF15(FF) + D*5*MULT15*KN/4O95

'Converts force data into Eng. units1410 IF CHANNEL=2THEN D = SUM/NL:TT=CINT(ABS(927-D)/57) + 1:TMP15 = DT15(TT) + (D*1750)/2048 'Converts

temp, data into Eng. units1420 IF CHANNEL=3 THEN D = SUM/NL:EX=CINT((4095-D)/208) + 1:LR15 = -DLR15(EX) + (D*MICRON)/4095:OUTBASADD + 3,1 'Converts LVDTR data into Eng. units1430 SUM = 01440 NEXT CHANNEL1450 STD15 = CDBL(TIMER/3600)1460 IF STD15 > ST15 THEN SW15 = 11470 IF STD15 < ST15 AND SW15 = 1 THEN N15 = N15 + 1:SW15=0148OSTD15 = STD15 + (N15*864OO!)/36OO1490 RTM15 = CDBL(STD15-ST15)1500 IF SCR$ = "15" THEN GOSUB 47501510 IF (LP15 + CNT15 = 1) THEN F15(LP15) = FR15:T15(LP15)=TMP15:LVDTR15(LP15) = LR15:LVDTL15(LP15) = LL15:

CT15$(LP15)=TIME$:CD15$(LP16) = DATE$:RT15(LP15) = RTM15:K15 = K15 + 11520 F1 =ABS(FR15-F15(K15)):T1 =ABS(TMP15-T15(K15)):LVR=ABS(LR15-LVDTR15(K15)):

LVL=ABS(LL15-LVDTL15(K15))1530 IF (F1)>1 OR (T1)>1 OR (LVR)>1 OR (LVL)>1 THEN K15 = K15 + 1:F15(K15) = FR15:T15(K15) = TMP15:LVDTR15(K15) = LR15:LVDTL15(K15) = LL15:CT15$(K15)=TIME$:CD15$(K15) = DATE$:RT15(K15) = RTM151540 LP15 = LP15 + 11550 IF (K15 = N) OR (K15>N) THEN GOSUB 3640 'kk = n1560 RETURN1570 '1580 ' Read ADC for Creep Test on Machine* 141590 '—-1600 OUTBASADD + 3,01610 GOSUB 45801620 'STM14=CDBL(TIMER)1630 FOR CHANNEL=3 TO 6

32

Page 39: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

1640 IF CHANNEL = 6 THEN CHANEL=5 ELSE CHANEL= CHANNEL1650 CHAN = CHANEL*16 +CHANEL1660 FOR MM = 1 TO NL1670 OUT BASADD + 2.CHAN 'Sends channel# being read to the scan register1680 OUT BASADD+0,0 Triggers ADC to start conversion1690 A = INP(BASADD + 8):AA=A AND &H80 'Masks the most significant bit "EOC"1700 IF AA <> 0 THEN 1690 'Cheks the bit "EOC" whether it is busy or not1710 B = INP(BASADD + 1) 'Reads data from the A/D register & stores it into B1720 C = INP(BASADD + 0) 'Reads data from the A/D register & stores it into C1730 D = INT(C/16) + B*161740 SUM = SUM + D1750 NEXT MM1760 IF CHANNEL = 3 THEN D = SUM/NL:FF = CINT((4095-D)/223) + 1:FR14 = -DF14(FF) + D*5*MULT14*KN/4095

'Converts force data into Eng. units1770 IF CHANNEL=4THEN D = SUM/NL:TT = CINT(ABS(927-D)/59) + 1:TMP14 = DT14(TT) +(D*1750)/2048 Converts

temp, data into Eng. units1780 IF CHANNEL=5 THEN D = SUM/NL:EX = CINT((4095-D)/124) + 1:LL14 = -DLL14(EX) + (D*MICRON)/4095:OUTBASADD+3,8:GOSUB 4580 'Converts LVDTL data into Eng. units1790 IF CHANNEL=6 THEN D = SUM/NL:EX=CINT((4095-D)/124) + 1:LR14 = -DLL14(EX) + (D*MICRON)/4095:OUTBASADD + 3,0 'Converts LVDTR data into Eng. units1800 SUM=01810 NEXT CHANNEL1820 STD14 = CDBL(TIMER/3600)1830 IF STD14 > ST14 THEN SW14=11840 IF STD14 < ST14 AND SW14 = 1 THEN N14 = N14 + 1:SW14=O1850 STD14 = STD14+(N14*864OO!)/36OO1860 RTM14 = CDBL(STD14-ST14)1870 IF SCR$ = "14" THEN GOSUB 48501880 IF (LP14 + CNT14 = 1) THEN F14(LP14) = FR14:T14(LP14)=TMP14:LVDTR14(LP14) = LR14:LVDTL14(LP14)

CT14$(LP14)=TIME$:CD14$(LP14) = DATE$:RT14(LP14) = RTM14:K14 = K14 + 11890 F1 =ABS(FR14-F14(K14)):T1 =ABS(TMP14-T14(K14)):LVR=ABS(LR14-LVDTR14(K14)):

LVL=ABS(LL14-LVDTL14(K14))1900 IF (F1)>1 OR (T1)>1 OR (LVR)>1 OR (LVL)>1 THEN K14=K14 + 1:F14(K14) = FR14:T14(K14)=TMP14:

LVDTR14(K14) = LR14:LVDTL14(K14) = LL14:CT14$(K14)=TIME$:CD14$(K14) = DATE$:RT14(K14) = RTM141910 LP14 = LP14+11920 IF (K14 = N) OR (K14>N) THEN GOSUB 3750 'kk = n1930 RETURN1940 '--1950 ' Read ADC for Creep Test on Machine# 131960 ' --1970 OUT BASADD + 3,41980 GOSUB 45801990 'STM13 = CDBL(TIMER)2000 FOR CHANNEL=3 TO 62010 IF CHANNEL=6 THEN CHANEL=5 ELSE CHANEL=CHANNEL2020 CHAN = CHANEL*16 +CHANEL2030 FOR MM = 1 TO NL2040 OUT BASADD + 2.CHAN 'Sends channel# being read to the scan register2050 OUT BASADD + 0,0 Triggers ADC to start conversion2060 A = INP(BASADD + 8):AA=A AND &H80 'Masks the most significant bit "EOC"2070 IF AA <> 0 THEN 2060 'Cheks the bit "EOC" whether it is busy or not2080 B = INP(BASADD4 1) 'Reads data from the A/D register & stores it into B

33

Page 40: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

2090 C = INP(BASADD + 0) 'Reads data from the A/D register & stores it into C2100 D = INT(C/16) + B*162110 SUM = SUM+ D2120 NEXT MM2130 IF CHANNEL = 3 THEN D = SUM/NL:FF = CINT((4095-D)/220) + 1:FR13 = -DF13(FF) + (D*5*MULT13*KN)/4095

'Converts force data into Eng. units2140 IF CHANNEL=4 THEN D = SUM/NL:TT=CINT(ABS(927-D)/59) + 1:TMP13 = DT13(TT) + (D*1750)/2048 Converts

temp, data into Eng. units2150 IF CHANNEL=5 THEN D = SUM/NL:EX = CINT((4095-D)/124) + 1:LL13 = -DLL13(EX) + (D*MICRON)/4095:OUTBASADD + 3,&HC:GOSUB 4580 'Converts LVDTL data into Eng. units2160 IF CHANNEL = 6 THEN D = SUM/NL:EX = CINT((4095-D)/124) + 1:LR13 = -DLR13(EX) + (D*MICRON)/4095:OUTBASADD + 3,4 'Converts LVDTR data into Eng. units2170 SUM = 02180 NEXT CHANNEL2190 STD13 = CDBL(TIMER/3600)2200 IF STD13 > ST13 THEN SW13 = 12210 IF STD13 < ST13 AND SW13 = 1 THEN N13 = N13 + 1:SW13 = 02220 STD13 = STD13 + (N13*86400!)/36002230 RTM13 = CDBL(STD13-ST13)2240 IF SCR$ = "13" THEN GOSUB 49502250 IF (LP13 + CNT13 = 1) THEN F13(LP13) = FR13:T14(LP13)=TMP13:LVDTR13(LP13) = LR13:LVDTL13(LP13) = LL13:

CT13$(LP13)=TIME$:CD13$(LP13) = DATE$:RT13(LP13) = RTM13:K13 = K13 + 12260 F1 =ABS(FR13-F13(K13)):T1 =ABS(TMP13-T13(K13)):LVR=ABS(LR13-LVDTR13(K13)):

LVL=ABS(LL13-LVDTL13(K13))2270 IF (F1)>1 OR (T1)>1 OR (LVR)>1 OR (LVL)>1 THEN K13 = K13 + 1:F13(K13) = FR13:T13(K13)=TMP13:

LVDTR13(K13) = LR13:LVDTL13(K13) = LL13:CT13$(K13)=TIME$:CD13$(K13) = DATE$:RT13(K13) = RTM132280 LP13 = LP13 + 12290 IF (K13 = N) OR (K13>N) THEN GOSUB 3860 'kk=n2300 RETURN2310 ' -----2320 ' M E N U2330 '2340 DEF SEG = &HB800 : BLOAD "nmdmenu.scr" 'Displays main menu2350 COLOR 14,4:LOCATE 2,14:PRINT DATE$;2360 LOCATE 2,69:PRINT TIME$;2370 RETURN2380 '2390 ' CREEP TEST ON MACHINE # 162400 ' -2410 FLG16$ = "T":MSTS$(4) = "ON "2420 IF (FLG13$ = "T" OR FLG14$ = "T" OR FLG15$ = "T") THEN FLG$ = "T" ELSE SCR$ = "16"2430 'CLS:LOCATE 10,20: PRINT " CREEP TEST ON MACHINE# 16"2440 'LOCATE 18,12:PRINT "Give name of the file into which data is to be stored:";2450 'INPUT "",NMD16$2460 'LOCATE 19,12:PRINT "Give time (nnnnnnnn) in Sec: ";2470 'INPUT "",M16:LOCATE 19,12:PRINT "2475 NMD16$ = "M16.DAT":M16 = 7:MULT16 = 22480 RDNO16 = FIX(INTV/M16) + 1 ':LOCATE 3,60:PRINT "rdno";RDNO2490 'LOCATE 20,12:PRINT "Give multiplier (1(5KN),2(10KN),5(25KN),10(50KN):";2500 'INPUT "",MULT162504 'NMD16$ = "M16.DAT":M16=7:MULT16 = 22510 MACH16# = 16

34

Page 41: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

2520ST16$=TIME$:SD16$=DATE$:STM16=CDBL(TIMER)2530 OPEN NMD16$ FOR APPEND AS #62540 PRINT #6,"Date: ",SD16$;2550 PRINT #6,": Starting Time:",ST16$;2560 PRINT #6,": Machine*: ",MACH16#2570 PRINT #6," S/NO C - DATE STD TIME REL TIME Ext-L Ext-R TEMP FORCE"2580 PRINT #6," u u C N"2590 CLOSE #62600TST%=VAL(SCR$):SCRN%=TST% MOD 122610 ON SCRN% GOSUB 4940,4840,4740,46402620 ST16 = CDBL(TIMER/3600):GOSUB 5040:GOSUB 780:GOSUB 33802625 RETURN2630 '2640 ' CREEP TEST ON MACHINE # 152650 '2660 FLG15$=T":MSTS$(3) = "ON "2670 IF (FLG13$ = 'T" OR FLG14$ = 'T' OR FLG16$="T") THEN FLG$ = "T" ELSE SCR$="15"2680 'CLS:LOCATE 10,20: PRINT " CREEP TEST ON MACHINE* 15"2690 'LOCATE 18,12:PRINT "Give name of the file into which data is to be stored:";2700 'INPUT "",NMD15$2710 'LOCATE 19,20:PRINT "Give time (nnnnnnnn) in Sec: ";2720 'INPUT "",M15:LOCATE 19,20:PRINT "2725NMD15$="M15.DAT":M15 = 7:MULT15=22730 RDNO15 = FIX(INTV/M15) +1 ':LOCATE 3,60:PRINT "rdnos";RDNOS2740 'LOCATE 20,12:PRINT "Give multiplier (1(5KN),2(10KN),5(25KN),10(50KN):";2750 'INPUT"",MULT152755'NMD15$ = "M15.DAT":M15 = 7:MULT15 = 22760MACH15# = 152770ST15$=TIME$:SD15$=DATE$:STM15 = CDBL(TIMER)2780 OPEN NMD15$ FOR APPEND AS #52790 PRINT #5,"Date: ",SD15$;2800 PRINT #5,": Starting Time:",ST15$;2810 PRINT #5,": Machine*: ",MACH15#2820 PRINT #5," S/NO C - DATE STD TIME REL TIME Ext-L Ext-R TEMP FORCE"2830 PRINT #5," u u C N"2840 CLOSE #52850 TST%=VAL(SCR$):SCRN%=TST% MOD 122860 ON SCRN% GOSUB 4940,4840,4740,46402870 ST15 = CDBL(TIMER/3600):GOSUB 5040:GOSUB 1190:CTM = CDBL0"IMER):GOSUB 34502875 RETURN2880 '2890 ' CREEP TEST ON MACHINE* 142900 '2910 FLG14$="T":MSTS$(2) = "ON "2920 IF (FLG13$ - T OR FLG15$ = 'T" OR FLG16$ = "T") THEN FLG$="T" ELSE SCR$ = "14"2930 'CLS:LOCATE 10,20: PRINT " CREEP TEST ON MACHINE* 14"2940 'LOCATE 18,12:PRINT "Give name of the file into which data is to be stored:";2950 'INPUT "",NMD14$2960 'LOCATE 19,20:PRINT "Give time (nnnnnnnn) in Sec: ";2970 'INPUT "",M14:LOCATE 19,20:PRINT "2975NMD14$ = "M14.DAT":M14 = 7:MULT14 = 22980 RDNO14=FIX(INTV/M14) + 1 ':LOCATE 3,60:PRINT "rdnos";RDNOS

35

Page 42: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

2990 'LOCATE 20,12:PRINT "Give multiplier (T(5KN),2(10KN),5(25KN),10(50KN):";3000 'INPUT "",MULT143OO5'NMD14$="M14.DAT":M14=7:MULT14=23010 MACH14# = 143O2OST14$=TIME$:SD14$=DATE$:STM14-=CDBL(TIMER)3030 OPEN NMD14$ FOR APPEND AS #43040 PRINT #4,"Date: ",SD14$;3050 PRINT #4,": Starting Time:",ST14$;3060 PRINT #4,": Machine#: ",MACH14#3070 PRINT #4," S/NO C - DATE STD TIME REL TIME Ext-L Ext-R TEMP FORCE"3080 PRINT #4," U U C N"3090 CLOSE #43100 TST%=VAL(SCR$):SCRN%=TST% MOD 123110 ON SCRN% GOSUB 4940,4840,4740,46403120 ST14 = CDBL(TIMER/3600):GOSUB 5040:GOSUB 1570:CTM = CDBL(TIMER):GOSUB 34603125 RETURN3130 '3140 ' CREEP TEST ON MACHINE* 1321gg '3160 FLG13$ = T':MSTS$(1) = "ON "3170 IF (FLG14$ = 'T" OR FLG15$ = T" OR FLG16$='T") THEN FLG$=T" ELSE SCR$ = "13"3180 'CLS:LOCATE 10,20: PRINT " CREEP TEST ON MACHINE* 13"3190 'LOCATE 18,12:PRINT "Give name of the file into which data is to be stored:";3200 'INPUT "",NMD13$3210 'LOCATE 19,20:PRINT "Give time (nnnnnnnn) in Sec: ";3220 'INPUT "",M13:LOCATE 19,20:PRINT "3225NMD13$ = "M13.DAT":M13 = 7:MULT13=23230 RDNO13 = FIX(INTV/M13) + 1 ':LOCATE 3,60:PRINT "rdnos";RDNOS3240 'LOCATE 20,12:PRINT "Give multiplier (1(5KN),2(10KN),5(25KN),10(50KN):";3250 'INPUT "",MULT133255'NMD13$ = "M13.DAT":M13 = 7:MULT13=23260 MACH13# = 133270 ST13$=TIME$:SD13$=DATE$:STM13 = CDBL(TIMER)3280 OPEN NMD13$ FOR APPEND AS #33290 PRINT #3,"Date: ",SD13$;3300 PRINT #3,": Starting Time:",ST13$;3310 PRINT #3,": Machine*: ",MACH13#3320 'PRINT #3," S/NO FORCE TEMP Ext-L Ext-R C - DATE STD TIME REL TIME"3330 'PRINT #3," N C u u"3335 PRINT #3," S/NO C - DATE STD TIME REL TIME Ext-L Ext-R TEMP FORCE"3337 PRINT #3," u u C N"3340 CLOSE #33350 TST%=VAL(SCR$):SCRN%=TST% MOD 123360 ON SCRN% GOSUB 4940,4840,4740,46403370 ST13 = CDBL(TIMER/3600):GOSUB 5040:GOSUB 1940:CTM = CDBL(TIMER):GOSUB 34703375 RETURN3380 '3390 ' CREEP TEST SCHEDULER3400 '3410 'ON TIMER(M) GOSUB 4303420 TIMER ON3430CTM = CDBL(TIMER)

36

Page 43: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

3440 IF CTM < STM16 THEN STM16 = STM16-86400!3443 IF (FLG16$='T" AND MSTS$(4) = "OFF") THEN FLG16$ = "F":IF (FLG13$="F AND FLG14$ = "F" AND

FLG15$ = "F") THEN SCR$ = "0":GOSUB 2310:RETURN ELSE RETURN '26253445 IF (FLG16$ = 'T") AND (FIX(CTM-STM16) = M16 OR FIX(CTM-STM16) > M16) THEN STM16 = CTM.GOSUB 7803447 IF (FLG13$ = "F" AND FLG14$ = "F" AND FLG15$ = "F") THEN GOTO 34303450 IF CTM < STM15 THEN STM15 = STM15-86400!3453 IF (FLG15$='T" AND MSTS$(3) = "OFF") THEN FLG15$="F":IF (FLG13$ = "F" AND FLG14$ = "F" AND

FLG16$ = "F") THEN SCR$="0":GOSUB 2310:RETURN ELSE RETURN '28753455 IF (FLG15$='T") AND (FIX(CTM-STM15) = M15 OR FIX(CTM-STM15)>M15) THEN STM15 = CTM:GOSUB 11903457 IF (FLG13$ = "F" AND FLG14$ = "F" AND FLG16$ = "F") THEN CTM = CDBL(TIMER): GOTO 34503458 IF (FLG13$ = "F" AND FLG14$="F" AND FLG16$ = 'T") THEN GOTO 34303460 IF CTM < STM14 THEN STM14 = STM14-86400!3463 IF (FLG14$ = "T" AND MSTS$(2) = "OFF") THEN FLG14$ = "F":IF (FLG13$="F" AND FLG15$ = "F" AND

FLG16$ = "F") THEN SCR$ = "0":GOSUB 2310:RETURN ELSE RETURN "31253465 IF (FLG14$ = "T") AND (FIX(CTM-STM14) = M14 OR FIX(CTM-STM14)> M14) THEN STM14 = CTM:GOSUB 15703467 IF (FLG13$="F" AND FLG15$="F" AND FLG16$="F") THEN CTM = CDBL(T"IMER):GOTO 34603468 IF (FLG13$="F" AND FLG16$="F") THEN CTM = CDBL(TIMER):GOTO 34503469 IF (FLG13$="F" AND FLG16$='T") THEN GOTO 34303470 IF CTM < STM13 THEN STM13 = STM13-86400!3473 IF (FLG13$='T" AND MSTS$(1) = "OFF") THEN FLG13$="F":IF (FLG14$="F" AND FLG15$ = "F" AND

FLG16$ = "F") THEN SCR$="0":GOSUB 2310:RETURN ELSE RETURN '33753475 IF (FLG13$="T") AND (FIX(CTM-STM13) = M13 OR FIX(CTM-STM13)> M13) THEN STM13 = CTM:GOSUB 19403476 IF (FLG14$="F" AND FLG15$="F" AND FLG16$="F") THEN CTM = CDBL(TIMER):GOTO 34703477 IF (FLG15$="F" AND FLG16$="F") THEN CTM = CDBL(TIMER):GOTO 34603478 IF (FLG15$=T" AND FLG16$="F") THEN CTM = CDBL(TIMER):GOTO 3450 ELSE GOTO 34303480 'IF (FLG16$="T") AND (FIX(CTM-STM16) = M16 OR FIX(CTM-STM16)> M16) THEN STM16 = CTM:GOSUB 7803490 'IF (FLG15$ = 'T") AND (FIX(CTM-STM15) = M15 OR FIX(CTM-STM15)> M15) THEN STM15 = CTM:GOSUB 11903500 'IF (FLG14$ = "T") AND (FIX(CTM-STM14) = M14 OR FIX(CTM-STM14)> M14) THEN STM14 = CTM:GOSUB 15703510 'IF (FLG13$="T") AND (FIX(CTM-STM13) = M13 OR FIX(CTM-STM13)> M13) THEN STM13 = CTM:GOSUB 19403520 'IF (FLG13$="F" AND FLG14$ = "F" AND FLG15$ = "F" AND FLG16$="F") THEN SCR$ = "0":GOSUB

2310:RETURN ELSE GOTO 33803525 'GOTO 3380OCOf) '

3540 ' Write data into the file(creep test on macine # 16)qccn ' ._ _ _

3560 OPEN NMD16$ FOR APPEND AS #63570 FOR K=1 TO K163580 SRNO16=SRNO16+13590 PRINT #6,USING "######";SRNO16;3600 PRINT #6,"",CD16$(K),CT16$(K);3610 PRINT #6,USING "#####.####";RT16(K);3615 PRINT #6,USING "######";LVDTL16(K),LVDTR16(K),T16(K),F16(K)3617 NEXT K3620 CLOSE #6:K16=O:CNT16=CNT16 + 1:LP16 = 13630 RETURN3640 ' -3650 ' Write data into the file(creep test on machine# 15)occn '

3670 OPEN NMD15$ FOR APPEND AS #53680 FOR K=1 TO K153690 SRNO15 = SRNO15 + 13700 PRINT #5,USING "######";SRNO15;

37

Page 44: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

3710 PRINT #5,"",CD15$(K),CT15$(K);3720 PRINT #5,USING "#####.####";RT15(K);3725 PRINT #5,USING "######";LVDTL15(K),LVDTR15(K),T15(K),F15(K)3727 NEXT K3730 CLOSE #5:K15=O:CNT15 = CNT15 + 1:LP15 = 13740 RETURN

3760 ' Write data into the file(creep test on machine# 14)3770 '3780 OPEN NMD14$ FOR APPEND AS #43790 FOR K=1 TO K143800 SRNO14 = SRNO14 + 13810 PRINT #4,USING "######";SRNO14;3820 PRINT #4,lin,CD14$(K),CT14$(K);3830 PRINT #4,USING "#####.####";RT14(K);3835 PRINT #4,USING "######";LVDTL14(K),LVDTR14(K),T14(K),F14(K)3837 NEXT K3840 CLOSE #4:K14 = 0:CNT14 = CNT14+1:LP14 = 13850 RETURN3860 '3870 ' Write data into the file(creep test on machine# 13)3880 '3890 OPEN NMD13$ FOR APPEND AS #33900 FOR K=1 TO K133910SRN013 = SRN013 + 13920 "PRINT #3,USING "######";SRNO13,F13(K),T13(K),LVDTL13(K),LVDTR13(K);3930 'PRINT #3,"",CD13$(K),CT13$(K);3940 'PRINT #3,USING "#####.####";RT13(K):NEXT K3943 PRINT #3,USING "######";SRNO13;3944 PRINT #3,"",CD13$(K),CT13$(K);3945 PRINT #3,USING "#####.####";RT13(K);3946 PRINT #3,USING "######";LVDTL13(K),LVDTR13(K),T13(K),F13(K)3947 NEXT K3950 CLOSE #3:K13=0:CNT13 = CNT13 + 1:LP13 = 13960 RETURN3970 •3980 ' Selects tests in progress to be finished3990 '4000 IF SCR$="0" THEN RETURN4010 IF FLG$="F" THEN SLCT%=VAL(SCR$) MOD 12:ON SLCT% GOSUB 4450,4320,4190,4060:RETURN4020 COLOR 14,0:LOCATE 21,12:PRINT "What exp do you want to close(M#13-16) '13/14/15/16/N"1;4030 INPUT "",OPT$:LOCATE 21,12:PRINT " ":COLOR 14,44040 IF OPT$ = "N" OR OPT$="n" THEN RETURN4050 IF VAL(OPT$) < 13 OR VAL(OPT$) > 16 THEN GOTO 4020 ELSE SCRN%=VAL(OPT$) MOD 12:ON SCRN%GOSUB 4450,4320,4190,4060:RETURN4060 '4070 ' Save & finish the data of creep test on machine # 164080 '4090 OPEN NMD16$ FOR APPEND AS #64100 FOR K=1 TOK164110 SRNO16=SRNO16 + 14120 PRINT #6,USING "######";SRNO16;

38

Page 45: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

4130 PRINT #6,"",CD16$(K),CT16$(K);4140 PRINT #6,USING "#####.####";RT16(K);4145 PRINT #6,USING "######";LVDTL16(K),LVDTR16(K),T16(K),F16(K)4147 NEXT K4150 CLOSE #6:LP16 = 1:K16=0:CNT16=0:CHK16=0:MSTS$(4) = "OFF":GOSUB 50904160 IF (FLG15$ = T" OR FLG14$='T" OR FLG13$='T") THEN GOTO 4170 ELSE RETURN 'GOSUB 2310:RETURN4170 IF FLG13$='T" THEN SCR$="13":GOSUB 4940:GOSUB 5040:RETURN4180 IF FLG14$ = 'T" THEN SCR$ = "14":GOSUB 4840:GOSUB 5040:RETURN ELSE SCR$ = "15":GOSUB 4740:GOSUB

5040:RETURN4190 '4200 ' Save & finish the data of creep test on machine# 154210 '4220 OPEN NMD15$ FOR APPEND AS #54230 FOR K=1 TOK154240 SRNO15 = SRNO15 + 14250 PRINT #5,USING "######";SRNO15;4260 PRINT #5,"",CD15$(K),CT15$(K);4270 PRINT #5,USING "#####.####";RT15(K);4275 PRINT #5,USING "######";LVDTL15(K),LVDTR15(K),T15(K),F15(K)4277 NEXT K4280 CLOSE #5:LP15 = 1:K15=0:CNT15=0:CHK15=0:MSTS$(3) = "OFF":GOSUB 50904290 IF (FLG16$="T" OR FLG14$ = 'T" OR FLG13$='T") THEN GOTO 4300 ELSE RETURN 'GOSUB 2310:RETURN4300 IF FLG16$ = T" THEN SCR$ = "16":GOSUB 4640:GOSUB 5040.RETURN4310 IF FLG13$='T" THEN SCR$ = "13":GOSUB 4940.GOSUB 5040.RETURN ELSE SCR$ = "14":GOSUB 4840.GOSUB

5040:RETURN4320 '4330 ' Save & finish the data of creep test on machine# 144340 '4350 OPEN NMD14$ FOR APPEND AS #44360 FOR K=1 TO K144370 SRNO14 = SRNO14+14380 PRINT #4,USING "######";SRNO14;4390 PRINT #4,"",CD14$(K),CT14$(K);4400 PRINT #4,USING "#####.####";RT14(K);4405 PRINT #4,USING 11######";LVDTL14(K),LVDTR14(K),T14(K),F14(K)4407 NEXT K4410 CLOSE #4:LP14 = 1:K14 = 0:CNT14 = 0:CHK14 = 0:MSTS$(2) = "OFF":GOSUB 50904420 IF (FLG16$ = T" OR FLG15$ = "T" OR FLG13$ = 'T") THEN GOTO 4430 ELSE RETURN 'GOSUB 2310:RETURN4430 IF FLG15$='T" THEN SCR$="15":GOSUB 4740:GOSUB 5040:RETURN4440 IF FLG16$ = 'T" THEN SCR$ = "16":GOSUB 4640:GOSUB 5040:RETURN ELSE SCR$ = "13":GOSUB 4940:GOSUB

5040:RETURN4450 '4460 ' Save & finish the data of creep test on machine# 134470 '4480 OPEN NMD13$ FOR APPEND AS #34490 FOR K=1 TOK134500 SRNO13 = SRNO13 + 14510 'PRINT #3,USING "######";SRNO13,F13(K),T13(K),LVDTL13(K),LVDTR13(K);4520 'PRINT #3,"",CD13$(K),CT13$(K);4530 'PRINT #3,USING "#####.####";RT13(K):NEXT K4533 PRINT #3,USING "######";SRNO13;4534 PRINT #3,"",CD13$(K),CT13$(K);

39

Page 46: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

4535 PRINT #3,USING "#####.####";RT13(K);4536 PRINT #3,USING "######";LVDTL13(K),LVDTR13(K),T13(K),F13(K)4537 NEXT K4540 CLOSE #3:LP13 = 1:K13=0:CNT13 = 0:CHK13=0:MSTS$(1) = "OFF":GOSUB 50904550 IF (FLG16$="T" OR FLG15$='T" OR FLG14$="T") THEN GOTO 4560 ELSE RETURN 'GOSUB 2310.RETURN4560 IF FLG14$="T" THEN SCR$="14":GOSUB 4840:GOSUB 5040:RETURN4570 IF FLG15$="T" THEN SCR$="15":GOSUB 4740:GOSUB 5040:RETURN ELSE SCR$ = "16":GOSUB 4640:GOSUB

5040:RETURN4580 '4590 ' Waits for LVDTs display4600 '4610 FOR J = 1 TO 30000:NEXt J4620 RETURN4630 '4640 DEF SEG = &HB800:BLOAD "creep16.scr"4650 LOCATE 6,63:PRINT ST16$:LOCATE 6,3:PRINT SD16$4660 LOCATE 2,11 PRINT DATE$:LOCATE 2,71:PRINT TIME$4670 LOCATE 3,26:PRINT "RDG INTERVAL: SEC":LOCATE 3,38:PRINT M164680 LOCATE 9,344690 LOCATE 6,474700 LOCATE 6,19

PRINT USING "####.###";RTM1!PRINT USING "######";FR16PRINT USING "####";TMP16

4710 LOCATE 12,19 : PRINT USING "######";LL164720 LOCATE 12,48 : PRINT USING "######";LR164730 RETURN4740 DEF SEG = &HB800:BLOAD "creep15.scr"4750 LOCATE 6,63:PRINT ST15$:LOCATE 6,3:PRINT SD15$4760 LOCATE 2,11:PRINT DATE$:LOCATE 2,71:PRINT TIME$4770 LOCATE 3,26:PRINT "RDG INTERVAL: SEC":LOCATE 3,38:PRINT M154780 LOCATE 9,34 : PRINT USING "####.###";RTM154790 LOCATE 6,47 : PRINT USING "######";FR154800 LOCATE 6,19 : PRINT USING "####";TMP154810 LOCATE 12,19 : PRINT USING "######";LL154820 LOCATE 12,48 : PRINT USING "######";LR154830 RETURN4840 DEF SEG = &HB800:BLOAD "creep14.scr"4850 LOCATE 6,63:PRINT ST14$:LOCATE 6,3:PRINT SD14$4860 LOCATE 2,11 PRINT DATE$:LOCATE 2,71 PRINT TIME$4870 LOCATE 3.26PRINT "RDG INTERVAL: SEC":LOCATE 3.38PRINT M144880 LOCATE 9,34 : PRINT USING "####.###";RTMU4890 LOCATE 6,47 : PRINT USING "######";FR144900 LOCATE 6,19 : PRINT USING "####";TMP144910 LOCATE 12,19 : PRINT USING "######";LL144920 LOCATE 12,48 : PRINT USING "######";LR144930 RETURN4940 DEF SEG = &HB800:BLOAD "creep13.scr"4950 LOCATE 6.63PRINT ST13$:LOCATE 6.3PRINT SD13$4960 LOCATE 2,11 PRINT DATE$:LOCATE 2,71 PRINT TIME$4970 LOCATE 3.26PRINT "RDG INTERVAL: SEC":LOCATE 3.38PRINT M134980 LOCATE 9,344990 LOCATE 6,475000 LOCATE 6,19

PRINT USING "####.###";RTM13PRINT USING "######";FR13PRINT USING "####";TMP13

5010 LOCATE 12,19 : PRINT USING "######";LL13

40

Page 47: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

5020 LOCATE 12,48 : PRINT USING "######" ;LR135030 RETURN

5050 ' Displays machines status5060 '5070 COLOR 14,0:LOCATE 25,1 :FOR 1 = 1 TO 4:PRINT "M# -";I + 12;:PRINT " ";MSTS$(I);5080 PRINT " ";:NEXT:COLOR 14,4:RETURN5090 '5100 ' Returns machines status5 1 1 0 '5115 CHK = 05120 FOR 1 = 1 TO 4 :IF MSTS$(I) = "ON " THEN CHK = CHK+15124 NEXT I5130 IF CHK < 2 THEN FLG$ = "F" ELSE FLG$ = "T"5135 CHK=0:RETURN5140 '5150 ' Changes data acquisition time of tests in progress5160 '5170 IF SCR$ = "0" THEN RETURN5180 IF FLG$ = "F" THEN SCRNT% = VAL(SCR$) MOD 12:ON SCRNT% GOSUB 5340,5300,5260,5220:RETURN5185 'RETURN5190 COLOR 14,0:LOCATE 21.12PRINT "What time do you want to change(M#13-16) '13/14/15/16'";5200 INPUT "",OPTN$:LOCATE 21,12:PRINT " ":COLOR 14,4

5210 IF VAL(OPTN$) < 13 OR VAL(OPTN$) > 16 THEN GOTO 5190 ELSE SCRN%=VAL(OPTN$) MOD 12ONSCRN% GOSUB 5340,5300,5260,5220:RETURN

5220 COLOR 14,0:LOCATE 21,20:PRINT "Give (M16) time (nnnnnnnn) in Sec: ";5225 "RETURN5230 INPUT "",M 16:LOCATE 21,20:PRINT " ":COLOR 14,45240 IF SCR$ = "16" THEN LOCATE 3,38:PRINT " ":LOCATE 3,38:PRINT M165250 RETURN5260 COLOR 14,0:LOCATE 21,20:PRINT "Give (M15) time (nnnnnnnn) in Sec: ";5270 INPUT "",M15:LOCATE 21,20:PRINT " ":COLOR 14,45280 IF SCR$ = "15" THEN LOCATE 3,38:PRINT " ":LOCATE 3,38:PRINT M155290 RETURN5300 COLOR 14,0:LOCATE 21,20:PRINT "Give (M14) time (nnnnnnnn) in Sec: ";5310 INPUT "",M14:LOCATE 21,20:PRINT " ":COLOR 14,45320 IF SCR$ = "14" THEN LOCATE 3,38:PRINT " ":LOCATE 3,38:PRINT M145330 RETURN5340 COLOR 14,0:LOCATE 21,20:PRINT "Give (M13) time (nnnnnnnn) in Sec: ";5350 INPUT "",M13:LOCATE 21,20:PRINT " ":COLOR 14,45360 IF SCR$="13" THEN LOCATE 3,38:PRINT " ":LOCATE 3,38:PRINT M135370 RETURN5380 '5390 ' Changes screens(13-16) display5400 '5410 IF SCR$="0" THEN RETURN5420 SCRN%=VAL(SCR$) MOD 12: ON SCRN% GOSUB 5430,5460,5490,55205425 RETURN5430 IF FLG14$ = "T" THEN SCR$ = "14":GOSUB 4840 :GOSUB 5040:RETURN5440 IF FLG15$ = "T" THEN SCR$ = "15":GOSUB 4740 :GOSUB 5040:RETURN5450 IF FLG16$ = T " THEN SCR$ = "16":GOSUB 4640:GOSUB 5040:RETURN ELSE RETURN

41

Page 48: INTERFACING AND DATA ACQUISITIONING OF CREEP TESTING MACHINES

5460 IF FLG15$="T" THEN SCR$ = "15":GOSUB 4740 :GOSUB 5040:RETURN5470 IF FLG16$="T" THEN SCR$="16":GOSUB 4640 :GOSUB 5040:RETURN5480 IF FLG13$ = 'T" THEN SCR$="13":GOSUB 4940:GOSUB 5040:RETURN ELSE RETURN5490 IF FLG16$ = 'T" THEN SCR$="16":GOSUB 4640 :GOSUB 5040:RETURN5500 IF FLG13$="T" THEN SCR$ = "13":GOSUB 4940 :GOSUB 5040:RETURN5510 IF FLG14$=1T" THEN SCR$="14":GOSUB 4840:GOSUB 5040:RETURN ELSE RETURN5520 IF FLG13$ = T ' THEN SCR$="13":GOSUB 4940 :GOSUB 5040:RETURN5530 IF FLG14$='T" THEN SCR$ = "14":GOSUB 4840 :GOSUB 5040:RETURN5540 IF FLG15$='T" THEN SCR$ = "15":GOSUB 4740:GOSUB 5040:RETURN ELSE RETURNcccri ' _\J\J\J\J ——— — —

5560 RESUME NEXT5570 '5580 ' Wait for displaying both LVDT'S equally.CCQf) '

5600 'FOR JJJ = 1 TO 2000: NEXT JJJ5610 IF M16 = 1 THEN RETURN5620IWT = STM + FIX(M/2)5630 STND = CDBL(TIMER)5640 IF STND < IWT GOTO 56305650 OUT BASADD + 3,05660 RETURN5670 'CLS:SHELL : GOSUB 810 : RETURN

42