Post on 31-Jan-2016
description
Jan Hatje, DESYSNL Editor and Debugger 1
EPICS collaboration meeting 2008
SNL Editor and Debugger
EPICS collaboration meeting 2008Shanghai Institute of Applied Physics (SINAP), 13th March 2008
Jan Hatje, Albert Kagarmanov, Gongfa Liu (DESY / MKS-2)
Kai Meyer, Matthias Zeimer (C1-WPS)
Jan Hatje, DESYSNL Editor and Debugger 2
EPICS collaboration meeting 2008
Overview
SNL Editor
• Features
• Design
SNL Debugger
• IOC Remote Management
• User Interface
• Check and manipulate status of a state program
Jan Hatje, DESYSNL Editor and Debugger 3
EPICS collaboration meeting 2008
Project
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)
Jan Hatje, DESYSNL Editor and Debugger 4
EPICS collaboration meeting 2008
State 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
Jan Hatje, DESYSNL Editor and Debugger 5
EPICS collaboration meeting 2008
The 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
Jan Hatje, DESYSNL Editor and Debugger 6
EPICS collaboration meeting 2008
SNL 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
Jan Hatje, DESYSNL Editor and Debugger 7
EPICS collaboration meeting 2008
SNL 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)
Jan Hatje, DESYSNL Editor and Debugger 8
EPICS collaboration meeting 2008
SNL Editor’s 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
Jan Hatje, DESYSNL Editor and Debugger 9
EPICS collaboration meeting 2008
SNL 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)
Jan Hatje, DESYSNL Editor and Debugger 10
EPICS collaboration meeting 2008
SNL 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
CSS
IOC, VxWorks
SNL Debugger RedundancyMonitor Task(RMT)
SNL ExecCommand (XML)
Response (XML)
CCE
CAN Driver
Jan Hatje, DESYSNL Editor and Debugger 11
EPICS collaboration meeting 2008
SNL 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’
Jan Hatje, DESYSNL Editor and Debugger 12
EPICS collaboration meeting 2008
SNL Debugger User Interface
IP Address of IOC
IOC Remote Management
SNL Debugger
List of runningstate programs
List of commandsto display SNL Exec status
List of commandsto manage SNL Exec
General information
Node information
Jan Hatje, DESYSNL Editor and Debugger 13
EPICS collaboration meeting 2008
SNL 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
Jan Hatje, DESYSNL Editor and Debugger 14
EPICS collaboration meeting 2008
SNL 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
Jan Hatje, DESYSNL Editor and Debugger 15
EPICS collaboration meeting 2008
SNL 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
Jan Hatje, DESYSNL Editor and Debugger 16
EPICS collaboration meeting 2008
SNL 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@desy.de, albert.kagarmanov@desy.de,
gongfa.liu@desy.de
- Thank you -