SAD and Python with EPICS at IHEP,Beijing, 2002.8.21 Noboru Yamamoto KEK, JAPAN.

Slides:



Advertisements
Similar presentations
RDz and Process Integration Using Menu Manager and HATS to customize your RDz installation David Myers.
Advertisements

WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
JavaScript FaaDoOEngineers.com FaaDoOEngineers.com.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. The Web Services Modeling Toolkit Mick Kerrigan.
The Web Warrior Guide to Web Design Technologies
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 13 Introduction to SQL Programming Techniques.
Python By Steve Wright. What is Python? Simple, powerful, GP scripting language Simple, powerful, GP scripting language Object oriented Object oriented.
Chapter Apache Installation in Linux- Mandrake. Acknowledgment The following information has been obtained directly from
Using the Visual Basic Editor Visual Basic for Applications 1.
© 2010 IBM Corporation IBM Experience Modeler - Theme Editor Installing Python Image Library Presenter’s Name - Presenter’s Title DD Month Year.
Web Page A page displayed by the browser. Website Collection of multiple web pages Web Browser: A software that displays web pages on client computer.
The PHP Story. PHP Story PHP is a programming language. Incorporate(join) sophisticated business logic. Widely used general purpose scripting language.
Linux Operations and Administration
1 Web Developer & Design Foundations with XHTML Chapter 6 Key Concepts.
V Avon High School Tech Club Agenda Old Business –Delete Files New Business –Week 18 Topics: Intro to HTML/CSS: Questions? Summer Work Letter.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
1 Creating Web Forms in HTML Web forms collect information from customers Web forms include different control elements including: –Input boxes –Selection.
JCE A Java-based Commissioning Environment tool Hiroyuki Sako, JAEA Hiroshi Ikeda, Visible Information Center Inc. SAD Workshop.
PHP. Why should we learn web programming? No need write socket programming. - You can forget TCP/IP & OSI layers. - Web server handles socket tasks for.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
ChE 117 Motivation Lots of Tools Can’t always use “Canned Programs”
© 2012 LogiGear Corporation. All Rights Reserved Robot framework.
Using Visual Basic 6.0 to Create Web-Based Database Applications
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
Python: An Introduction
ICALEPCS 2007 WOAB041 Web-Based Electronic Operation Log System Zlog System K.Yoshii and T.Nakamura Mitsubishi Electric System & Service Co., Ltd., Tsukuba,
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
2. Introduction to the Visual Studio.NET IDE. Chapter Outline Overview of the Visual Studio.NET IDE Overview of the Visual Studio.NET IDE Menu Bar and.
Real-time Performance Improvement of “EPICS on F3RP61” Yokogawa Electric Corporation.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Creating Dynamic Web Pages Using PHP and MySQL CS 320.
Tutorial 8 Programming with ActionScript 3.0. XP Objectives Review the basics of ActionScript programming Compare ActionScript 2.0 and ActionScript 3.0.
PC204 Lecture 9 Conrad Huang Genentech Hall, N453A x
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
CHAPTER TWO INTRODUCTION TO VISUAL BASIC © Prepared By: Razif Razali 1.
March 2008EPICS Meeting in Shanghai1 KEKB Control System Status Mar Tatsuro NAKAMURA KEKB Control Group, KEK.
I Power Higher Computing Software Development Development Languages and Environments.
Graphical User Interface You will be used to using programs that have a graphical user interface (GUI). So far you have been writing programs that have.
Programming for GCSE 1.0 Beginning with Python T eaching L ondon C omputing Margaret Derrington KCL Easter 2014.
BlackBerry Applications using Microsoft Visual Studio and Database Handling.
TCL TK. Tcl/Tk C functions can become Tcl commands that are invoked interactively Tk = scriptable, portable user interface –Windows, X (Unix), MacOS,
HTML Overview Part 5 – JavaScript 1. Scripts 2  Scripts are used to add dynamic content to a web page.  Scripts consist of a list of commands that execute.
Department of Computer Science, Florida State University CGS 3066: Web Programming and Design Spring
COS 125 DAY 17. Agenda  Assignment 7 not finished grading  Assignment 8 posted Due April 9  Capstone progress reports due  Quiz 2 Corrected 2 A’s,
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
(ITI310) By Eng. BASSEM ALSAID SESSIONS 10: Internet Information Services (IIS)
Text TCS INTERNAL Oracle PL/SQL – Introduction. TCS INTERNAL PL SQL Introduction PLSQL means Procedural Language extension of SQL. PLSQL is a database.
Test Automation Using Selenium Presented by: Shambo Ghosh Ankit Sachan Samapti Sinhamahapatra Akshay Kotawala.
XP Tutorial 8 Adding Interactivity with ActionScript.
Dr. Abdullah Almutairi Spring PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages. PHP is a widely-used,
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
PHP Tutorial. What is PHP PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe.
Windows Vista Configuration MCTS : Internet Explorer 7.0.
Presented By P.SRIVIDYA 085D1A0552 Programming Language.
Chapter 10 1 Figure 10-1: Database-enabled intranet-internet environment.
Teaching slides Chapter 6. Chapter 6 Software user interface design & construction Contents Introduction Graphical user interface – Rich window based.
PHP using MySQL Database for Web Development (part II)
Development Environment
Introduction to Dynamic Web Programming
ITM352 PHP and Dynamic Web Pages: Server Side Processing 1.
Programming Languages Dan Grossman 2013
Chapter 5 Scripting Language
PYTHON: AN INTRODUCTION
Introduction to Programming the WWW I
Chapter 5 Scripting Language
CIS16 Application Development Programming with Visual Basic
Tutorial 6 PHP & MySQL Li Xu
Web Application Development Using PHP
Presentation transcript:

SAD and Python with EPICS at IHEP,Beijing, Noboru Yamamoto KEK, JAPAN

Simple, well understood behavior

High Level Applications in KEKB ● Applications and Operator displays in KEKB Application Launcher ● SAD is widely used for high level applications. ● medm/dm2k is used for simple displays. ● Python is also used for application development.

SAD applications ● Operator Interface – Optics measurement – Optics calculation and Optics – Collision Monitors... ● Slow Feedback (with OPI)* – iBump:a system keeps beams in collision – Closed orbit correction *)It is preferable to separate FB loop and its user interface into different processes.

KEKB Launcher ● Program written in SAD/KEKB Frame ● Starting point of KEKB operation ● User can register a new command on the fly*. ● simple load balancing between servers. ● User can select a host to execute a command. *) Application reads a configuration file, kbl.conf, at start up and on request by operator.

Applications in KBL

A sample SAD/KBFrame application

Applications using Python and Pmw

SAD and Python compared ● SAD – Accelerator modeling – Developed at KEK – Mathematica like scripting – support CA and Tk widget – Modules for KEKB operation ● Python – General Purpose Object Oriented dynamic language – Developed by Open source project – Simple and Clean syntax – Support CA and Tk widget – RDBMS interface – Variety of extension modules

SAD installation ● SAD Source Download Page – – You need ID and password to download the source code. Contact for your ID and password. – You also need Tcl/Tk source code and a patch specific to SAD/Tkinter. – Electric conference room for SAD (in Japanese).

SAD script ● SAD Scripts follows Mathematica(R) syntax.No statements, just functions. ● Every Elements has a form: – Head[arg1, arg2,...] – eg. If[cond, st1, st2 ] ● Some Element has a special notation – Plus[ 1, 2] 1+2 – List[a,b,c] {a, b, c} ● Name of element/function is same as that of Mathematica.

KEKB Frame ● Framework, i.e. a collection of programs/scripts, to support development of GUI Application – Standard Menu – Help menu including “Process Info” – status bar including print button ● Build upon Tkinter Widget Set

Extending SAD ● SAD modules can be used to extend SAD script functionality, i.e. add a new function to SAD script. ● SAD modules is a library written in SAD script. ● Fortran and C is used to develop SAD program itself. ● Fortran or C can be used add a new functionality to SAD script.

Python installation ● Python Web site: – Source code and binary(Windows, Mac, rpm) – gnuzip;tar; configure; make from tar.gz file. – Use of Pmw(Python mega widget) together with Tkinter is recommended – Use of Gtk+(PyGtk) is another possibility. – Get CA interface from ANL EPICS web site or KEKB web site (or Both)

Python syntax ● Python uses indentation to specify a block structure of a program e.g.: if cond : statements_1 else: statements_2 other_statements ● Usage of special characters are common to most of programing language.

Extending Python ● Python modules add new functions and/or classes to Python language. ● There already exists a rich set of Python modules. ● C or C++ can be also used to develop new modules ( C-modules). ● Tools such as SWIG can be used to develop a C- module.

Embedding Python ● Python can be used as an extension language of the existing program. ● It adds flexibility and extendability to the program. ● For example, PostgreSQL, a free RDBMS, can use Python to define a stored procedure or define a new object.