EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: msi again
From: Goetz Pfeiffer <[email protected]>
To: [email protected]
Date: Thu, 23 Sep 2010 12:15:03 +0200
On 09/08/2010 03:54 PM, Benjamin Franksen wrote:
On Tuesday, September 07, 2010, Ben Franksen wrote:
I am now convinced that the global definitions I proposed earlier have
been a mistake and apologize for having presented them prematurely. The
solution using static scopes (as sketched above) is clearly superior
I attached a complete (but rather terse) description of syntax and semantics
that follows the mentioned sketch. Nested scopes are allowed, but (to keep
things simple) not inside file blocks. I am not wedded to this or any other
concrete detail; consider it as a request for comments.

I think we can move discussion to [email protected] from here on, so
please direct your replies there (unless you think it is of interest to a
wider audience).

Cheers
Ben

Helmholtz-Zentrum Berlin für Materialien und Energie GmbH
Hahn-Meitner-Platz 1, 14109 Berlin
Vorsitzende des Aufsichtsrates: Prof. Dr. Dr. h.c. mult. Joachim Treusch
Stellvertretende Vorsitzende: Dr. Beatrix Vierkorn-Rudolph Geschäftsführer: Prof. Dr. Anke Rita Kaysser-Pyzalla, Prof. Dr. Dr. h.c. Wolfgang Eberhardt, Dr. Ulrich Breuer
Sitz der Gesellschaft: Berlin Handelsregister: AG Charlottenburg, 89 HRB 5583

Disclaimer automatically attached by the E-Mail Security Appliance
mail0.bessy.de 09/08/10 at Helmholtz-Zentrum Berlin GmbH.
Hi,

I would just like to mention that the discussion about msi here and with
Benjamin brought about the idea to implement msi in python.

Pymsi implements substitution files as python statements. By this substitution
files may contain any python code aside from the usual "file" statements.

Here is a link to the documentation:
http://www-csr.bessy.de/control/pymsi/pymsi.html

Here is the download link:
http://www-csr.bessy.de/control/pymsi/dist/pymsi-1.01.tar.gz

And here is the command to clone our repository:
hg clone http://www-csr.bessy.de/control/pymsi/pymsi-hg pymsi

This is the main project page:
http://www-csr.bessy.de/control/pymsi

Here is a short example:

do(
    file("adimovhgbl.template",
         subst(
           DESCVAR="adimovhgbl_ins.mac",
           GBASE="U3IV:",
           DRV="V",
           AdiMopVer="9",
           TRIG1="U3IV:AdiVGblPvr.PROC",
           TRIG2="U3IV:AdiVGblMvr.PROC",
         ),
         subst(
           DESCVAR="adimovhgbl_ins.mac",
           GBASE="U3IV:",
           DRV="H",
           AdiMopVer="9",
           TRIG1="U3IV:AdiHGblPvr.PROC",
           TRIG2="U3IV:AdiHGblMvr.PROC",
         ),
         pattern(
           ("GBASE","DRV","AdiMopVer","TRIG1","TRIG2"),
           ("U3IV","C","9","U3IV:AdiCGblPvr.PROC", "U3IV:AdiCGblMvr.PROC"),
           ("U3IV","P","9","U3IV:AdiPGblPvr.PROC", "U3IV:AdiPGblMvr.PROC"),
         ),
    ),
    file("adimogbl.template",
         subst(
           DESCVAR="adimogbl_ins.mac",
           GBASE="U3IV:",
           TRIG1="U3IV:AdiMoVGblTrg.PROC",
           TRIG2="U3IV:AdiMoHGblTrg.PROC",
           TRIG3="",
           TRIG4="",
         ),
    ),

)

Features of the package are:

* uses the EPICS maclib, so macro substitution is compatible with msi.
* substitution files are parseble by python, so all the features and powers of
  the python scripting language are available.
* Scopes of macro definitions are well defined.
* The pymsi language (the format of the substitution files) can easily be
  extended.
* conversion tool for conversion from old substitution file format included.
* Free to use for non-commercial applications

Greetings

  Goetz Pfeiffer

--
Dipl. Ing. Götz Pfeiffer
Software Engineer - Insertion Device Control

Helmholtz Zentrum Berlin für Materialien und Energie GmbH
Elektronenspeicherring BESSY II
Albert-Einstein-Str. 15, 12489 Berlin

[email protected]
[email protected]

Helmholtz-Zentrum Berlin für Materialien und Energie GmbH
Hahn-Meitner-Platz 1, 14109 Berlin


References:
Re: msi again Benjamin Franksen

Navigate by Date:
Prev: [Merge] lp:~epics-core/epics-base/apple-ios into lp:epics-base Andrew Johnson
Next: Channel Access and Virtual IPs Ernest L. Williams Jr.
Index: 2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: msi again Ben Franksen
Next: Latest R3.14 branch: build problem with vxWorks 6.8 Ernest L. Williams Jr.
Index: 2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Feb 2012 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·