Title: This is the title of the presentation
1SNL Editor and Debugger
EPICS collaboration meeting 2008 Shanghai
Institute of Applied Physics (SINAP), 13th March
2008 Jan Hatje, Albert Kagarmanov, Gongfa Liu
(DESY / MKS-2) Kai Meyer, Matthias Zeimer
(C1-WPS)
2Overview
- SNL Editor
- Features
- Design
- SNL Debugger
- IOC Remote Management
- User Interface
- Check and manipulate status of a state program
3Project
- SNL Editor
- University of Hamburg, Kai Meyer, Matthias
Zeimer, C1-WPS (contract) - Further development Matthias Zeimer (Master
thesis)
- SNL Debugger
- Albert Kagarmanov (Desy)
- Gongfa Liu (Desy)
4State Notation Language (SNL)
- Programming of sequential operations
- SNL program is executed on the IOC
- Interaction with EPICS databases via channel
access
Declaration part
State Set part
5The new SNL Editor
- SNL Project type with adequate folder structure
- SNL Editor is inherited from Eclipse standard
editor - SNL Editor is connected to .st files
- SNC compiles SNL- files with each saving
- Compiler options settable in preference page
6SNL Editor features
- SNL Keywords are colored
- Outline view shows program structure
- Items in Outline view are linked with editor
items - Checks the basic structure of the program
- Problem view with a list of code errors
7SNL Editor Techniques
- Based on the eclipse core text editor, inspired
by the C Development Toolkit - SNL Editor is integrated in the eclipse platform
- The editor uses the SNL compiler delivered with
the EPICS Environment - Outline parsing is done by a custom parser with
extended code verification - Available for CSS from Desy update site
(eclipse.desy.de/update/beta)
8SNL Editors current state of development
- Completed
- Basic project handling
- Editor highlighting completed for SNL 2.1
- Outline parsing complete
- SNL compilation process support
- In progress
- full build support for LinuX and VxWorks
9SNL Editor Outlook
- Integration of Drag and Drop and Object
contribution for CSS datatypes - Extended check of code structure
- Automatic code completion (syntactically)
- Providing code custom templates
- Automatic code completion (semantically)
- Integration of any target build process
- Minor changes of the SNL language to enhance
interoperability (ex. SNL for Java IOCs)
10SNL Debugger IOC Remote Management
- SNL Debugger is part of the Remote IOC Management
- Redundancy Monitor Task (RMT) distributes XML
commands - RMT reads and writes to SNL Exec
- SNL Debugger is integrated in CSS
- Using common CSS IOC-Communication
- Support Drag and Drop and object contribution of
CSS datatypes
IOC, VxWorks
CCE
CAN Driver
CSS
Command (XML)
SNL Debugger
Redundancy Monitor Task (RMT)
SNL Exec
Response (XML)
11SNL Debugger
- Examine and check running state programs
- Read / Write values of variables
- Jump to states of a state set
- Control run mode of state sets
- Host list is configurable by preferences
- SNL Documentation Menu Help ? Help Contents
? CSS Applications
12SNL Debugger User Interface
IP Address of IOC
IOC Remote Management
General information
Node information
SNL Debugger
List of running state programs
List of commands to display SNL Exec status
List of commands to manage SNL Exec
13SNL Debugger Variables
- Overview of all variables in a SNL program
- Shows type, value and assignment of selected
variable - Object contribution for process variables
- Value of a variable can be set on the IOC
14SNL Debugger State set
- Shows information for every state set
- The current state can be changed by the user to
any state in the program - Run modes suspend, resume and single Step
are available
15SNL Debugger SNL Exec
- SNL Report shows
- Statistic of communication between IOC master and
slave - Status of all running state programs
- Synchronization status
- Settings of tuning time
- SNL Actions
- Starts or stops the synchronization
- Starts or stops a state programs
- Rebuild the entry table of the state program
16SNL Debugger
- Using SNL Debugger on Linux (Add RMT to SNL Exec)
- List with IP addresses of redundant pairs in
preferences - Necessary modifications in SNL will be applied by
Desy to the standard distribution
- SNL Debugger is available for CSS (csstudio.org
? Download ? CSS Platform) - Get SNL Debugger from the predefined update site
- For questions please contact jan.hatje_at_desy.de,
albert.kagarmanov_at_desy.de, gongfa.liu_at_desy.de - - Thank you -