This chapter describes the simple step by step procedure for initially preparing the dataTaker data loggers for use with your host computer. The chapter also provides some introductory programming details to perform some simple initial tasks. The dataTaker is supplied with a number of standard accessories. These should be checked when the logger is originally unpacked. dataTaker 50 12 volt mains/line power adaptor RS232 host communications cable Screw driver for signal I/O terminals Getting Started with DT50, DT500 and DT600 Series dataTaker Manual Userís Manual DT50, DT500 and DT600 Series dataTaker Series 3 dataTaker Software Suite CD There are a number of optional accessories which are also available for your dataTaker data logger including Wall mounting industrial enclosures rated to IP55 or NEMA 4 Waterproof portable enclosure rated to IP67 Sensor Simulator Panel PC-Card SRAM Memory Cards ñ 512Kbyte, 1Mbyte, 2Mbyte, 4Mbyte capacity 1.2 AHr and 4 AHr gel cell batteries 17 AHr alkaline battery Display/Keypad Module for dataTaker 50 and dataTaker 500 series Channel Expansion Module for dataTaker 500/600 series loggers This Technical Reference Manual Standard accessories and the optional accessories can be obtained either from your dataTaker supplier. Installing the dataTakerThe dataTaker is normally supplied as a free standing module. The logger can optionally be supplied in an industrial quality wall mounting steel enclosure, or in a weatherproof portable enclosure. The industrial enclosures are rated to IP55 or NEMA 4, which is described as both shower proof and dust proof. This enclosure is constructed of pressed steel, and can be mounted directly onto walls and panels. The enclosure is suitable for most industrial applications, particularly where permanent installation of the dataTaker is required. The weatherproof portable enclosure is waterproof (IP67), and is rated to 10 metres (33 feet) in water. This enclosure has a clamshell design, and is constructed of moulded ABS plastic. The portable enclosure is suitable for outdoor and portable applications. The dataTaker must be installed in a location where ambient temperature does not exceed ñ20 to 70 Deg C, and the humidity does not exceed 80% and is non condensing. If the dataTaker is likely to be subjected to low temperatures, then a desiccant should be included in the enclosure to reduce internal humidity. Where signal cable runs are close to mains/line power or high voltage cables, or other sources of electrical noise, then the signal cables should preferably be shielded and the shield grounded. This is particularly important for low level signals. Open Installation of the dataTakerThe free standing modular dataTaker can be located onto any bench surface, or mounted into user supplied enclosures. The location for the data logger must be dry, relatively free of dusts and corrosive vapours, and not subject to temperature extremes. The dataTaker can be mounted in any orientation, to suit the signal I/O cabling. Protected Installation of the dataTakerThe optional IP55 or NEMA 4 wall mounting steel enclosures allow the dataTaker to be installed into dusty locations, and locations subject to intermittent water showers or sprays. There are 3 industrial quality steel enclosures available. The outside dimensions of these enclosures are as follows Small Industrial Enclosure (SIE) Large Industrial Enclosure (LIE) Small Industrial Cabinet (SIC) The industrial enclosures are constructed of 1.25mm sheet steel, which is corrosion protected and coated with a baked enamel finish. The doors have a polyurethane door seal, and the enclosure bodies have a protective gutter around the door opening to prevent ingress of dirt and water when the door is opened. The doors have 110° hinges for easy access into the enclosure and have cam locks with removable handles. Key locks are optionally available. The enclosures have a custom gear plate for mounting the dataTaker data loggers, Channel Expansion Modules, batteries, modems and other accessories. The optional enclosures for the dataTaker can be installed in any orientation, and may be fixed to any surface. Where the data logger is to be permanently installed, location should be such as to facilitate the routing and entry of signal input and output cables. Facilities for cable entry into the enclosure are not provided during manufacture, because of considerable variation in the requirements for different applications. Cable entry must be effected by the user via holes drilled into the gland plates or the walls of the enclosure, which can be fitted with cable glands. Portable Installation of the dataTakerThe optional portable enclosure allows the dataTaker to be used in roving applications, in locations which may be dusty and subject to intermittent water showers or sprays. The outside dimensions of the portable enclosure is as follows
The enclosure is a clamshell design, constructed of moulded black ABS plastic with a full length stainless steel hinge. The lid is sealed by a neoprene gasket, and held closed by two sturdy latches which can be fitted with padlocks. The enclosure will withstand 800Kg stacking loads, and will not dent, warp, or become misaligned. A contoured and padded carry handle makes the case comfortable and easy to carry. The portable enclosure houses one dataTaker data logger, and one 4Ah gel cell or 17Ah alkaline battery. The dataTaker and battery are mounted on a supporting frame which sits in the base of the enclosure, and is held in place by the enclosure lid when closed. The frame can be lifted out of the enclosure to provide easy access to the screw terminals and connectors of the dataTaker. The frame has lugs for wrapping long cables, and a tray for storage of sensors and shorter cables. The tray can be inverted to provide a surface for custom mounting of connectors, switches, etc. Powering the dataTakerThe dataTaker may be powered from a variety of power sources, depending on the needs of the application and the availability of power sources. A mains/line power adaptor with 12 volt output is supplied with the dataTaker, for powering the logger from the local mains/line power supply. The dataTaker can be powered from any 11ñ24 VDC source or 9ñ18 VAC source. This source must be able to provide at least 600 mA to allow normal operation of the dataTaker and proper recharging of the lead acid rechargeable battery. Suitable alternative power sources include solar panels and lead acid auto batteries. The external power supply is connected to the dataTaker via the terminal pair labelled AC/DC. The AC/DC power input is bridge rectified before being applied to the battery charger and regulator circuits. Therefore for a floating external AC or DC power supply, the polarity of connection is not important. However if an external DC power supply is to be grounded to the dataTaker ground, then a negative ground is mandatory. A positive ground may damage the rectifier. The dataTaker 50 can be fitted with an external 6 Volt sealed lead acid gel cell battery (not supplied with the logger) for powering the logger in the absence of an external power supply. This battery is automatically recharged whenever an external power supply is connected to the logger. The dataTaker 500/600 series loggers have an internal 1.2 AHr 6 Volt sealed lead acid gel cell battery, for powering the logger in the absence of an external power supply. This battery is automatically recharged whenever an external power supply is connected to the logger. The rechargeable lead acid battery can be replaced with a non-rechargeable alkaline battery. This battery offers a higher charge density, and therefore a longer period of operation in the absence of other external power supplies. The Communications CableThe dataTaker 50 has one serial interface - an RS232 serial interface nominated the RS232 COMMS interface. The dataTaker 500/600 series loggers have two serial interfaces - an RS232 serial interface nominated the RS232 COMMS interface, and an RS485 serial interface nominated the NETWORK interface. The RS232 serial interface of the dataTaker Series 2 and Series 3 data loggers is electrically isolated, providing protection to approximately 500Volts. The dataTaker communicates with a host computer via the RS232 COMMS serial interface. The communications cable supplied with the dataTaker is 2 metres (6 feet) in length, with a 9 pin male D connector for the dataTaker installed at one end and a 9 pin female D connector for connection to a Windows computer. A communications cable suitable for use with Apple computers is available from your dataTaker supplier. The wiring schematics for the dataTaker communications cables is detailed in Section II - The RS232 COMMS Serial Interface. Where a number of dataTaker 500/600 series loggers are linked into a network, the individual loggers communicate with each other via the RS485 NETWORK interface. The host computer supervises all loggers in the network, and communicates with the network via the RS232 COMMS interface of any one of the loggers in the network. Establishing CommunicationsThis host computer used to supervise the dataTaker can be any of the following a computer with a Microsoft Windows operating system, running DeTransfer or DeLogger data acquisition software package any computer running a terminal emulation or communications program Establishing communications between a host computer and the dataTaker for the first time can be simplified by following the procedure outlined below: Connect the COM1 serial port of the computer to the RS232 COMMS serial interface of the dataTaker, using the communications cable supplied with the logger. Connect the mains/line power adaptor to a mains power outlet, and connect the output of the adaptor to the two power supply terminals labelled AC/DC POWER. The polarity of this connection does not matter. Power up the dataTaker. Install the DeTransfer and/or DeLogger software onto your computer. These are supplied on the dataTaker Software Suite CD supplied with your dataTaker The dataTaker is shipped with the RS232 COMMS serial interface set to 9600 baud, 8 data bits, 1 stop bit and no parity (See Section II - The RS232 COMMS Serial Interface). The dataTaker baud rate is altered by setting relevant bits of the 8 way DIP switch (See Section II - The RS232 COMMS Serial Interface). DeTransfer or DeLogger will initially attempt to connect to a dataTaker on COM 1 serial interface of the computer, and automatically perform a baud rate match to establish a communications link. Resetting the dataTakerWhen you have physically and logically connected to the dataTaker, you are ready to send commands to the logger. If you are using DeTransfer, type the dataTaker reset command RESET (this must be in upper case) in the lower window of DeTransfer, then press the Enter key RESET [Enter] Pressing the Enter key will only send commands to the dataTaker if the main menu Send|To dataTaker Mode option is checked. Commands can also be sent to the dataTaker by placing the cursor on the command, and holding down the Alt key and pressing the L key (send line) by pulling down the Send menu and clicking on the Line option by clicking the Send Line toolbar button When the dataTaker executes the reset command, the following initialisation message from the dataTaker will be displayed in the upper window of DeTransfer dataTaker nn Version 7.xx where nn is the address of the particular dataTaker, and 7.xx is the Version of the firmware installed. Note: This example of a dataTaker command is enclosed in a box. This format for illustrating dataTaker commands will be used throughout the manual. During the initialization sequence, the Converting LED which is located beside the external AC/DC POWER connector of the dataTaker 50 beside the memory card connector of the dataTaker 500/600 series loggers will flash intermittently, indicating that the analog to digital converter is automatically recalibrating. If you are using DeLogger, then a RESET command can be sent to the dataTaker by pulling down the dataTaker option on the main menu bar and selecting ResetÖ, or clicking the Reset button on the toolbar
DeLogger will respond with a warning dialog that you are about to reset the dataTaker, which will remove antsy stored data. Click the Yes button to proceed with the reset command. If you have successfully connected to the dataTaker, and executed a reset command, then proceed to the section Entering Commands in Low Power Mode below. Identifying Causes of Communication FailureFailure of the communication between the host computer and the dataTaker is indicated either by no response being displayed by DeTransfer, or by 'garbage' characters being displayed. The following checks should be performed to identify and correct the problem. No MessageIf no initialization message is displayed, then check that the dataTaker is connected to the same COM port of the computer that is specified in the DeTransfer connection check that autobauding is selected in the DeTransfer connection definition check the baud rate of logger matches the DeTransfer setting if autobauding is not selected check that the transmit and receive wires from the dataTaker are connected to the receive and transmit pins respectively of the serial interface of the computer check that the signal ground wire from the dataTaker is connected to the signal ground pin of the serial interface of the computer check if any handshake lines of the serial interface of the computer should be linked together to defeat handshaking check that the RS232 serial interface of the computer functions correctly Garbage CharactersIf 'garbage' characters are displayed on the screen of the host, then check that autobauding is selected in the DeTransfer connection definition check the baud rate of logger matches the DeTransfer setting if autobauding is not selected check that the communications cable is wired correctly for the host computer used, and that there are no loose connections check that the RS232 serial interface of the computer functions correctly Entering Commands in the Low Power ModeThe dataTaker generally operates in a low power mode whenever external power is not connected and the logger is being powered by the internal battery. The logger waits for the next scan to become due, or for commands to be received into the RS232 COMMS serial interface, at which time it wakes to normal power mode to process the event. When the dataTaker is in the low power mode, various sections of the logger including the microprocessor and serial interface circuitry are powered off. When a scan becomes due, or a command is are received at the RS232 COMMS serial interface, the dataTaker wakes up to the normal power mode and performs the function required. If commands are sent to the dataTaker while the logger is in the low power mode, then a number of leading characters of the command will be missed as the logger wakes up. The dataTaker takes approximately 250 mS to wake, and any characters received during this period will be missed. The number of characters missed depends on the communications baud rate, such that at the higher baud rates the entire command may be missed. These missed characters will result in command syntax errors due to incomplete commands being received. The dataTaker will return command error messages for what would appear to be syntactically correct commands. This problem can be avoided by sending the logger a [CR] or [LF] character before sending the command. The [CR] or [LF] character will wake the logger ready to receive the command. DeTransfer and DeLogger automatically manage this scenario. Whenever the dataTaker wakes from the low power mode by characters received into the RS232 COMMS serial interface, the logger remains in the normal power mode for 30 seconds after the last character is received, before dropping to the low power mode again (See Section II - Low Power Delay). If the dataTaker is externally powered (this is detected by a positive internal battery current such that the battery is being charged), then the low power mode is not automatically selected unless the low power mode is forced by the Parameter15=1 command (See Section II - Powering the dataTaker). For applications where low power mode operation is not required, or is inconvenient, then automatic selection of low power mode can be disabled by the Parameter15=2 command (See Section II - Powering the dataTaker). Whenever the dataTaker is externally powered, or is operating in the normal power mode, the Converting LED will flash every second as the battery current is tested (See Section II - Powering the dataTaker). The Real Time ClockThe real time clock of the dataTaker is hardware clock, which is backed up by the system lithium battery. The clock maintains time and date even when all logger power supplies have been removed. Once communications have been established with the dataTaker, then the first simple data acquisition command can be executed ñ to return the current time. If you are using DeTransfer, the following command will return the current time for the dataTaker real time clock. T [Enter] The command is entered to the dataTaker by typing an upper case T, followed by the Enter key. The dataTaker will return the current time in HH:MM:SS format as follows Time 00:10:30 If the time is displayed, then full two way communications has been established. If you are using DeLogger, the dataTaker time can be read from the Text View window. Pull down the Window option on the main menu bar, and select the Text1.dlt option. This will bring the Text View window to the front. The dataTaker time can be read using this window as follows (see also illustration overleaf): Drop down the Connections list box at the bottom of the window, and select the connection name for the current connection to your dataTaker Type an uppercase character T in the lower (Entry) screen, then hit the Enter key. This will send the ëRead Timeí command to the logger The dataTaker will return its current time, which is displayed by DeLogger in the upper (Display) screen.
The dataTaker time is displayed in the Fixed Format mode, in which the dataTaker time is displayed as the number of seconds elapsed today. In this example, the time is 43176 seconds today (ie. since midnight), which is 11:59:36. The format for dataTaker data is discussed in detail in Section III. Setting the Real Time ClockWhen you read the dataTakerís time for the first time, it is unlikely to be correct for your time zone. The real time clock of the dataTaker can now be set for the current date and time. The format for the date is dependent on the setting of the mains or line frequency bit (bit 1) of the DIP switch (See Section III - The Real Time Clock). If the line frequency switch is set to 50 Hz (DIP switch bit 1 OFF) then the date format is Day/Month/Year. The date is therefore set in the format D=dd/mm/yyyy [Enter] where dd, mm and yyyy are day, month and year respectively. The year can be entered either as yyyy (eg. 2003) or yy (eg. 03). Alternatively, if the line frequency switch is set to 60 Hz (DIP switch bit 1 ON) then the date format is Month/Day/Year, and the date is therefore set in the format D=mm/dd/yyyy [Enter] where mm, dd and yyyy are month, day and year respectively. The time is set for the current time of day in the format T=hh:mm:ss [Enter] where hh:mm:ss is the current time in standard format. If you are using DeTransfer, the date and time can be set directly by the commands for example D=28/6/2003 [Enter] However, DeTransfer also allows for the time and date of your computer's system clock to be used to set the dataTaker's clock. This command is performed as follows: D=\D [Enter] where DeTransfer substitutes the \D with the current computer system date, and substitutes the \T with the current computer system time. Note : Ensure that your computer's system clock is set correctly, and that the country or regional setting for your computer matches the date format selected by the dataTaker DIP switch. The computer date format is defined in the Regional Options applet in the Windows Control Panel (click Start:Settings:Control Panel:Regional Options). If you are using DeLogger, then the date and time of the dataTaker can be set either by pulling down the dataTaker option on the main menu bar and selecting Set Date/TimeÖ, or by clicking on the Set Date and Time tool on the toolbar
Note : Again, ensure that your computer's system clock is set correctly, and that the country or regional setting for your computer matches the date format selected by the dataTaker DIP switch. The computer date format is defined in the Regional Options applet in the Windows Control Panel (click Start:Settings:Control Panel:Regional Options). Reading the Real Time ClockThe date and the time of day for the dataTaker real time clock are treated as a data source, in the same way as any other channel of the logger. In fact the date and time ëchannelsí can be included with input channels in data collection commands, to produce time and date stamps with the collected data (see Section III). Using DeTransfer, the date and time of the dataTaker can be read by the commands D T [Enter] which returns the date and time in the format Date 28/4/2003 Note : Where 60 Hz line frequency operation is selected, then the date is set and returned in the Month/Day/Year format. Using DeLogger, the date and time of the dataTaker can be read by the following icons in the Program Builder
The current date and time returned by the dataTaker can be seen in the upper Display Screen of the Text Reading the Temperature of the dataTaker and the CEMThe dataTaker and the Channel Expansion Module (CEM-AD) both have an internal temperature sensor which is used to monitor internal temperature. This sensor is an LM35 solid state device, and is permanently connected to an internal analog input channel identified by 1%. Using DeTransfer, the internal or case temperature of the dataTaker is read by the command 1%LM35 [Enter] which specifies the temperature sensor as a solid state LM35 type, powered directly from the analog input channel of the logger (See Section II - Measuring Temperature with Monolithics). The internal temperature is returned in the format 1%LM35 21.2 Deg C The internal or case temperature of a Channel Expansion Module is read by the command 1:1%LM35 [Enter] The internal temperature sensor is read once in response to the command. The internal temperature is returned for the Channel Expansion Module in the format 1:1%LM35 21.2 Deg C Note: The Channel Expansion Module is identified by a module number which is automatically allocated by the dataTaker during RESET, and refers to the position of the Channel Expansion Module on the expansion bus (ie: CEM number 1 is closest to the dataTaker and CEM number 2 is the last module on the bus). The module number of the Channel Expansion Module is prefixed to the command for the module channel to be read. In the above example a single Channel Expansion Module is assumed, which has the module number 1: The dataTaker has the module number 0: on the expansion bus, and so the internal temperature of the dataTaker could also have been read by the command 0:1%LM35 Whenever any analog input channel is scanned or 'converted', the Converting LED will flash, indicating that the analog to digital conversion is active. Using DeLogger, the internal or case temperature of the dataTaker and CEM can be read by the Program Builder icons
A First Program - Reading the Time and Temperature of the dataTakerThe time and internal temperature of the dataTaker or the Channel Expansion Module can be read at regular intervals, and returned to0 the host computer. Using DeTransfer, the time and internal temperature can be returned every 5 seconds by the command RA5S T 1%LM35 [Enter] The dataTaker interprets the command and begins scanning the internal temperature channel every 5 seconds. This command combines a repetitive scanning command (RA5S), and timestamp command (T), and a channel from which data is required (1%LM35). This single line is in fact a small dataTaker program. The dataTaker can run up to 4 different scanning commands in the same program, each scanning at different intervals, and each scanning different groups of channels. Each of these is known as a Schedule, and the 4 Schedules are identified a Schedule A, B, C and D. The single line program above could also have been entered as a multi-line program, as would be necessary for larger programs, as follows BEGIN [Enter] This multi-line format for entering programs is discussed fully in Section III, however we will use this format through the Sections I and II of this manual. The temperature data and a timestamp is returned every second in the general format Time 12:22:45 Using DeLogger, this small program can be entered into the dataTaker by creating the program graphically in the Program Builder as follows
where the Schedule A has a Time channel and the internal temperature channel added to it. Refer to your DeLogger manual for further information on use of the Program Builder in DeLogger. There is no need to understand the structure of multi-line programs if you are using DeLogger, because DeLogger automatically takes care of program structure. You only need to be aware of the separate tabs in the Program Builder for the 4 Schedules A, B, C and D. Halting ScanningThe dataTaker will continue to read the internal temperature channel and return data until a Halt command is received. Using DeTransfer, a Halt command is entered as follows H [Enter] Note: If DeTransfer does not display data as fast as it is returned from the dataTaker, then entering a Halt command will not immediately halt data scrolling in the Receive window of DeTransfer. Although scanning by the dataTaker is halted, data that is held in the internal buffers of DeTransfer continues to be displayed. However these buffers will eventually empty, and the screen will stop scrolling data. Using DeLogger, scanning of data can be halted either by pulling down the dataTaker option on the main menu bar and selecting HaltÖ, or by clicking on the Halt tool on the toolbar
Resuming ScanningHalting a Schedule does not delete the schedule from the logger. Schedules that have been halted can be resumed scanning by entering a Go command to the logger. Using DeTransfer, a Go command is entered as follows G [Enter] and scanning of the temperature channel will resume. Using DeLogger, the scanning of data can be resumed either by pulling down the dataTaker option on the main menu bar and selecting RunÖ, or by clicking on the Run tool on the toolbar
Command StylesThe dataTaker commands are composed of printable upper case ASCII characters and numerals. Any lower case characters are ignored by the dataTaker, and can be used to self document commands. In the case of the DeTransfer program (we will no longer show the [Enter] key in our programs) entered earlier, BEGIN this could have been entered in DeTransfer as follows BEGIN This is of course extreme, however only the digits and the upper case characters are recognised by the dataTaker command processor. A limitation of self documenting commands and programs in this way is that the dataTaker must receive the RA1S in this example as a continuous sequence of characters without intervening spaces. The underscore character can be used to space the components of the command, to improve the readability. The exception to use of lower case characters to self-document programs are Switch commands (See Section III ñ Switch Commands). The Switch commands are used to configure the dataTaker, and an upper case character specifies that a particular feature is enabled while a lower case character specifies that the feature is disabled. DataTaker programs may be simple like those above, or may be more extensive where more involved data logging tasks are to be performed. For example the following command programs the dataTaker for a more extensive task BEGIN or more concisely BEGIN which returns data every 10 seconds as follows the current time (timestamp) the voltage measured for analog input channel 4 the temperature measured by a type K thermocouple connected to analog input channel 5 Command lines from DeTransfer can contain several separate commands, but are limited to a maximum of 250 characters. If you are using DeLogger, then program structure is managed entirely by DeLogger and you do not need to consider these programming options. The Internal Power Supply Backup BatteryThe dataTaker has a sealed lead acid gel cell battery which can be used to provide primary power, or to provide backup power in the event of failure of the primary external power supply. In the dataTaker 500/600 series loggers, the battery is contained within the data logger chassis and is often referred to as the internal battery. By contrast, the battery is physically external to the dataTaker 50 chassis, and is mounted by the user in the enclosure containing the data logger. Nonetheless the battery still performs the role of a backup battery. A 4 AHr backup battery is able to power the logger for up to 65 days. If the battery is allowed to fully discharge, then data logging function will cease, however data will still be retained in the internal data storage memory because this memory is backed up by the lithium system battery. The dataTaker 50 is shipped with the gel cell lead acid battery (if purchased) disconnected and separately packed. The dataTaker 500/600 series loggers are shipped with the gel cell lead acid battery installed but disconnected. The battery must be connected to the internal battery connector before first use (see the tag advising of this requirement). The internal backup battery is recharged whenever external power is supplied to the dataTaker. A full recharge takes approximately 8 hours. Whenever the dataTaker is not in use the battery should either be disconnected, or left on charge. The battery charger circuit of the dataTaker is designed for long term battery maintenance. When the Internal Battery Goes Flat . . .If the logger is being powered from the internal battery, and this battery discharges, then the logger will respond as follows Series 1 and Series 2 loggers will discharge the battery to the point where operation of the logger is no longer possible and the microprocessor will eventually stop. The program will be lost, and any data stored in the internal data memory will be lost. Data stored in a memory card however will be OK. Series 3 loggers will discharge the battery to a ëgrey outí threshold, at which point the logger will power down to an inactive mode and will not respond to any communications, scan triggers or other activity. The program and stored data are fully preserved in this state. When external power is applied, the logger will re-activate, and resume the program it was running before becoming inactive. The Lithium System BatteryThe dataTaker has a lithium battery which maintains the real time clock and internal data memory when the logger is not powered. The ½AA sized battery must be replaced every 2 years. The battery is located on the bottom (processor) circuit board, and the logger must be disassembled to replace the battery. |
Page ContentSection 1Construction of the dataTaker 50 Construction of the dataTaker 500 600
Section 2Powering Sensors from the dataTaker The RS232 COMMS Serial Interface Measuring 4-20mA Current Loops Measuring Frequency and Period Measuring Temperature with Thermocouples Measuring Temperature with RTDs Measuring Temperature with IC Temperature Sensors Measuring Temperature with Thermistors Measuring Bridges and Strain Gauges Measuring Vibrating Wire Strain Gauges Installing The Panel Mount Display
Section 3Communication Protocols and Commands Entering Commands and Programs |