The James Web Space Telescope (JWST) is the successor of Hubble in the infrared. Our division, Dapnia, is in charge of the design and completion of the optomechanical part of the imager called MIRIM, one instrument of JWST, and of its test bench called the Ground Support Equipment (GSE). This GSE consists of a warm telescope simulator, of a model (identical to the flight model) of the imager, of a cryostat to cool the imager down to its operating temperature, and of an infrared detector (1024x1024 pixels). The telescope simulator is composed of several optical components to control (hexapod, mirrors, etc.). The major part of the hardware architecture for the control of the IR detector and the telescope simulator is based on PCs and COTS boards. This paper describes the software development and its specificities. ESO software (IRACE and BOB) and EPICS are associated to complete the operator interface. The cryostat control is our homemade supervision system for cryogenics systems based on PLCs, on the WorldFIP Fieldbus network, and on an industrial XPe PC. The tests of the different subsystems have started, and the whole test bench will be operational in summer 2007. THE MIRI IMAGER GSE OVERVIEW ARCHITECTURE CONTROL The first goal of this test bench is to perform cold tests (at 7°K) of the imager MIRIM. It comprises several subsystems: • Filter Wheel Control • Warm Telescope Simulator Control • Infrared Detector Slow Control • Infrared Detector Acquisition • Cryostat Control • One PC dedicated to the high level operator interface and operation sequencing. All these subsystems run on PCs except the slow control of the infrared detector which runs on VME. Three software cohabit: the ESO software IRACE (Infrared Array Control Electronics) [1], EPICS and the homemade Anibus-FBI PLCs supervision [2]. Here is an overview of these different software. IRACE controls the infrared detector acquisition, EPICS controls the Filter Wheel, the Warm Telescope Simulator and the Slow Control of the infrared detector. The Anibus-FBI software controls the cryostat. The different subsystems communicate thanks to Channel Access. BOB (Broker for Observation Blocks) is the high level user interface software providing the supervisory control. It allows to describe and to execute the different steps of an experiment and to carry out successive exposures. FILTER WHEEL CONTROL The Filter Wheel has 18 positions with different optical elements (filters, imaging filters and prism). Max Planck Institute of Astronomy (MPIA) from Heidelberg was in charge of the control for this subsystem. They develop their own control, based on VISUAL C++. It consists in moving the wheel stepwise through the positions, read the position and temperature sensors. Consequently for Dapnia, the problematic was to build an interface between the MPIA Wheel control and EPICS. The MPIA Host PC is a Pentium 4.3 GHz Windows XP. The I/O board used to control the motor is a Meilhaus ME-4680, 32 A/D channels, 4 D/A channels, 32 digital I/O. The Meilhaus board, in fact, controls an electronics box that essentially comprises: • a Linear Amplifier Board which generates a controlled output current for driving the C84 motor and measures the motor’s current and voltage • a Position Sensor Board which reads the position and the temperature sensors. MPIA has provided us with an API to control the hardware. This API functions can initialize the equipment, get the position, get the temperature, move the wheel, get the movement status. Therefore, we have built a Windows EPICS soft IOC (3.14.8.2) based on VISUAL C++ .NET 7.0. All the steps are described in the document [5]. This IOC manages a database. The starting Process Variable is the asked wheel position between 1 and 18. This record is processed whenever a client medm or BOB changes its value. A client channel access task has been developed. This client channel access task subscribes a state change with ca_create_subscription and specifies the callback to be invoked whenever the position variable value changes. This callback calls the API functions to run a movement, read the position, give different status and refreshes the different process variables (movement status, error numbers, error messages, position, temperature, ...). TPPB06 Proceedings of ICALEPCS07, Knoxville, Tennessee, USA Integration of Industrial Systems