The use of Programmable Logic Controllers (PLCs) in the control of large physics experiments is ubiquitous<sup>1, 2, 3</sup>. The programming of these controllers is normally the domain of engineers with a background in electronics, this paper introduces PLC program development from the software engineer's perspective. PLC programs provide the link between control software running on PC architecture systems and physical hardware controlled and monitored by digital and analog signals. The higher-level software running on the PC is typically responsible for accepting operator input and from this deciding when and how hardware connected to the PLC is controlled. The PLC accepts demands from the PC, considers the current state of its connected hardware and if correct to do so (based upon interlocks or other constraints) adjusts its hardware output signals appropriately for the PC's demands. A published ICD (Interface Control Document) defines the PLC memory locations available to be written and read by the PC to control and monitor the hardware. Historically the method of programming PLCs has been ladder diagrams that closely resemble circuit diagrams, however, PLC manufacturers nowadays also provide, and promote, the use of higher-level programming languages<sup>4</sup>. Based on techniques used in the development of high-level PC software to control PLCs for multiple telescopes, this paper examines the development of PLC programs to operate the hardware of a medical cyclotron beamline controlled from a PC using the Experimental Physics and Industrial Control System (EPICS), which is also widely used in telescope control<sup>5, 6, 7</sup>. The PLC used is the new generation Siemens S7-1200 programmed using Siemens Pascal based Structured Control Language (SCL), which is their implementation of Structured Text (ST). The approach described is that from a software engineer's perspective, utilising Siemens Totally Integrated Automation (TIA) Portal integrated development environment (IDE) to create modular PLC programs based upon reusable functions capable of being unit tested without the PLC connected to hardware. Emphasis has been placed on designing an interface between EPICS and SCL that enforces correct operation of hardware through stringent separation of PC accessible PLC memory and hardware I/O addresses used only by the PLC. The paper also introduces the method used to automate the creation, from the same source document, the PLC memory structure (tag) definitions (defining memory used to access hardware I/O and that accessed by the PC) and creation of the PC program data structures (EPICS database records) used to access the permitted PLC addresses. From direct experience this paper demonstrates the advantages of PLC program development being shared between electronic and software engineers, to enable use of the most appropriate processes from both the perspective of the hardware and the higher-level software used to control it.
The real-time control systems for the Gemini Telescopes were designed and built in the 1990s using state-of-the-art
software tools and operating systems of that time. Since these systems are in use every night they have not been kept upto-
date and are now obsolete and very labor intensive to support. Gemini is currently engaged in a major upgrade of its
telescope control systems. This paper reviews the studies performed to select and develop a new standard operating
environment for Gemini real-time systems and the work performed so far in implementing it.
Proc. SPIE. 8451, Software and Cyberinfrastructure for Astronomy II
KEYWORDS: Observatories, Solar telescopes, Control systems, Telecommunications, Java, Photonic integrated circuits, Data communications, Commercial off the shelf technology, Device simulation, Data analysis
As PLCs evolve from simple logic controllers into more capable Programmable Automation Controllers (PACs),
observatories are increasingly using such devices to control complex mechanisms<sup>1, 2</sup>. This paper describes use of COTS
software to control such hardware using the Advanced Technology Solar Telescope (ATST) Common Services
Framework (CSF). We present the Enclosure Control System (ECS) under development in Spain and the UK.
The paper details selection of the commercial PLC communication library PLCIO. Implemented in C and delivered with
source code, the library separates the programmer from communication details through a simple API. Capable of
communicating with many types of PLCs (including Allen-Bradley and Siemens) the API remains the same irrespective
of PLC in use.
The ECS is implemented in Java using the observatory's framework that provides common services for software
components. We present a design following a connection-based approach where all components access the PLC through
a single connection class. The link between Java and PLCIO C library is provided by a thin Java Native Interface (JNI)
layer. Also presented is a software simulator of the PLC based upon the PLCIO Virtual PLC. This creates a simulator
operating below the library's API and thus requires no change to ECS software. It also provides enhanced software
testing capabilities prior to hardware becoming available.
Results are presented in the form of communication timing test data, showing that the use of CSF, JNI and PLCIO
provide a control system capable of controlling enclosure tracking mechanisms, that would be equally valid for telescope
The Discovery Channel Telescope (DCT) is a 4.3-meter astronomical research telescope being built in northern Arizona
as a partnership between Discovery Communications and Lowell Observatory. We present an overview of the current
status of the project software effort, including the iterative development process (including planning, requirements
management and traceability, design, code, test, issue tracking, and version control), our experience with management
and design techniques and tools the team uses that support the effort, key features of the component-based architectural
design, and implementation examples that leverage new LabVIEW-based technologies.
This paper describes the telescope control system for the Magdalena Ridge Observatory Interferometer. To achieve the
rapid development time required by the project we made use of two software packages, LabVIEW from National
Instruments and TCSpk from Tpoint Software. The telescope control system is built from a set of components that
conform to a standard interface and implement a set of component specific commands. Data is distributed throughout the
system in a uniform manner by an event system that uses the publish-subscribe paradigm.
The Gemini Multi-Object Spectrograph (GMOS) was delivered and commissioned at the Gemini North Observatory and it has been in regular science use since November 2001. While GMOS-North met all its reliability and performance requirements on flexure, image quality and throughput, the high velocity precision (2 km/sec) mode will not be implemented until the Atmospheric Dispersion Compensator/Corrector (ADC) is delivered and commissioned.
The ADC optical design incorporating two bonded prism pairs and two corrector lenses is described along with its opto-mechanical and software control design considerations as related to the overall system requirements including: image quality, error budget, optical mounting, opto-mechanical packaging, mechanism control, handling, deployment and telescope observational control considerations.