Top Banner
Jan Hatje, DESY SNL Editor and Debugger 1 EPICS collaboration meeting 2008 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)
18

Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 2008 1 SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 2008 1 SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.

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)

Page 2: Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 2008 1 SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.

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

Page 3: Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 2008 1 SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.

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)

Page 4: Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 2008 1 SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.

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

Page 5: Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 2008 1 SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.

Jan Hatje, DESYSNL Editor and Debugger 5

EPICS collaboration meeting 2008

Current art of SNL development

• Source editing in simple text editor

• Build process just with make files

• No debugging possible

Page 6: Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 2008 1 SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.

Jan Hatje, DESYSNL Editor and Debugger 6

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

Page 7: Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 2008 1 SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.

Jan Hatje, DESYSNL Editor and Debugger 7

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

Page 8: Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 2008 1 SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.

Jan Hatje, DESYSNL Editor and Debugger 8

EPICS collaboration meeting 2008

SNL Editor Live

Just take a look

Page 9: Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 2008 1 SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.

Jan Hatje, DESYSNL Editor and Debugger 9

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)

Page 10: Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 2008 1 SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.

Jan Hatje, DESYSNL Editor and Debugger 10

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

Page 11: Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 2008 1 SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.

Jan Hatje, DESYSNL Editor and Debugger 11

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)

Page 12: Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 2008 1 SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.

Jan Hatje, DESYSNL Editor and Debugger 12

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

Page 13: Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 2008 1 SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.

Jan Hatje, DESYSNL Editor and Debugger 13

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’

Page 14: Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 2008 1 SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.

Jan Hatje, DESYSNL Editor and Debugger 14

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

Page 15: Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 2008 1 SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.

Jan Hatje, DESYSNL Editor and Debugger 15

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

Page 16: Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 2008 1 SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.

Jan Hatje, DESYSNL Editor and Debugger 16

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

Page 17: Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 2008 1 SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.

Jan Hatje, DESYSNL Editor and Debugger 17

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

Page 18: Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting 2008 1 SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.

Jan Hatje, DESYSNL Editor and Debugger 18

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: [email protected], [email protected],

[email protected]

- Thank you -