Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 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)
Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting Overview SNL Editor Features Design SNL Debugger IOC Remote Management User Interface Check and manipulate status of a state program
Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 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, DESY SNL Editor and Debugger EPICS collaboration meeting 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, DESY SNL Editor and Debugger EPICS collaboration meeting 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, DESY SNL Editor and Debugger EPICS collaboration meeting 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, DESY SNL Editor and Debugger EPICS collaboration meeting 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, DESY SNL Editor and Debugger EPICS collaboration meeting 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, DESY SNL Editor and Debugger EPICS collaboration meeting 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, DESY SNL Editor and Debugger EPICS collaboration meeting 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 DebuggerRedundancy Monitor Task (RMT) SNL Exec Command (XML) Response (XML) CCE CAN Driver
Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 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, DESY SNL Editor and Debugger EPICS collaboration meeting SNL Debugger User Interface IP Address of IOC IOC Remote Management SNL Debugger List of running state programs List of commands to display SNL Exec status List of commands to manage SNL Exec General information Node information
Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 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, DESY SNL Editor and Debugger EPICS collaboration meeting 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, DESY SNL Editor and Debugger EPICS collaboration meeting 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, DESY SNL Editor and Debugger EPICS collaboration meeting 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: - Thank you -