WELLOG                          DAQ SOFTWARE



DAQ Software can be written in Low-Level language or High-Level Language.


Low-Level language is considered to be assembly language.  Assembly language uses instructions that are “assembled” into native microprocessor op codes and operands. Assembly language programs are very fast and efficient. Development may be time consuming and requires that great attention be given to every detail. Micro controllers are complete computer systems on a single chip. Companies like Microchip http://www.microchip.com make many different types of microcontrollers. The Microchip PIC microcontrollers are a good example of a low cost – high performance microcontroller. They are reasonably easy to program in low-level assembly language.


Digital Signal Processors:

Advanced microcontrollers called DSP controllers have Digital Signal Processing capabilities. WELLOG uses the latest Digital Signal Processor technology and high speed microcontrollers in current applications.



The Microchip PIC16F877 is an example of a microcontroller.  It is a high performance Reduced Instruction Set Computer (RISC) microcontroller. It has 35 single word instructions. This microcontroller is a complete Data Acquisition (DAQ) system on a single chip.

One common instruction performs addition. The contents of the “working” register (W) may be added to a literal value using the instruction ADDLW. In a program it looks like this:

                        ADDLW            14

If the W register contained the value of 3 and the instruction above is executed then the result would be 17 which is stored into the W register.

The contents of two registers can be added using a similar instruction, ADDWF.

                        ADDWF            14, F

In this case the contents of the W register are added to the contents of register 14 and the result is stored in register 14.

A slight variation is:

                        ADDWF            14,W

In this case the contents of the W register are added to the contents of register 14 and the result is stored in register W.

In order to place a value into the W register, the following instruction may be used:

                        MOVLW            14

This instruction, called a “move” instruction moves the literal value 14 into register W.

Advanced high speed controllers such as the PIC18F8722 used on the V30 Logger use similar instructions.



High-level languages are languages like BASIC, COBOL, FORTRAN, C, C++ and PASCAL. Each language is suited to a particular application. FORTRAN stands for formula translation and is used in mathematical applications. COBOL stands for Consumer Oriented Business Language and is used in business applications. BASIC and C are languages well suited to computer input/output and Data Acquisition (DAQ) applications.

BASIC and C programs are compiled using a compiler to convert instructions into an executable program containing machine level op-codes and operands. PowerBASIC http://www.powerbasic.com is an example of a BASIC language compiler.  PowerBASIC 9 for Windows is the current compiler used by WELLOG for development of virtual instrumentation panels.

Examples of BASIC:

A BASIC program can be written to add two variables called “A” and “B”. The variables may be assigned values and added mathematically as shown in the following example:

                        A = 3                           (The variable A is assigned a value of 3)

                        B = A + 14                  (The variable B is assigned the value contained in variable A plus 14)

                        PRINT B                        (The value contained in variable B is printed on a printer.)

                        PRINT “THE ANSWER IS ”; B     (The statement contained in quote marks is printed and the value contained in variable B.)

A BASIC program can be written that can read (PEEK) and write (POKE) from or to respectively, memory locations in the computer.

Examples of PEEK and POKE:

                        A = PEEK(5000)          (The variable A is assigned the value contained in memory location 5000.) 

                        POKE 5000, 3               (The value 3 is placed into memory location 5000.)

BASIC instructions INP and OUT are used to input and output values to and from computer i/o space.

                        A = INP(300)               (Places the value contained in i/o space 300 into variable A.)

                        OUT 300, 5                   (Places the value 5 into i/o space 300.)

Real Time Operating System (RTOS):

BASIC programs that receive high speed serial data from an RTOS logging system and logs data to a file storage device or Flash memory stick can

be written in Visual BASIC or Visual C++, and PowerBASIC 9.0.  These programs have the look and feel of Windows.

WELLOG has developed Windows “virtual panels” that operate under Windows 2000, XP, and Vista operating systems. The software drives our digital

logging systems. Software in any of the forms described above operate on a hardware platform selected by the user.



Software is needed to acquire data using an acquisition or logging system, communicate with a PC, display and store the data in memory or hard drive.



Software is needed to provide a representative display of the acquired data. WELLOG has NEW Well Logging Software!

WELLOG Well Logging Software saves logs in an easy to display format that allows editing, archiving, sending by email and printing.



WELLOG has presentation software for every acquisition and logging application.

Contact WELLOG for software solutions to your acquisition and logging requirements!

REVISED: 11-26-2018  © 2005 - 2018 WELLOG  All Rights Reserved