170 likes | 371 Views
SNL 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). Overview. SNL Editor Features Design. SNL Debugger
E N D
SNL Editor and Debugger EPICS collaboration meeting2008 Shanghai Institute of Applied Physics (SINAP), 13th March 2008 Jan Hatje, Albert Kagarmanov, Gongfa Liu (DESY / MKS-2) Kai Meyer, Matthias Zeimer (C1-WPS)
Overview • SNL Editor • Features • Design • SNL Debugger • IOC Remote Management • User Interface • Check and manipulate status of a state program
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)
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
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
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
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)
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
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)
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 IOC, VxWorks CCE CAN Driver CSS Command (XML) SNL Debugger Redundancy Monitor Task (RMT) SNL Exec Response (XML)
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’
SNL 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
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
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
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
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 -