Title: VBA
1VBA Process Variables
- System Overview
- Setup (What installations are needed)
- What are Process Variables and what are they good
for. - How do we get data in a cell.
- Tools
- Tips Tricks
2Disclaimer
The use of dynamic data exchange to access
process variable related to the DZero experiment
is restricted. You will need a good reason to be
included on the list. The IP address of the
machine that is running the application must be
added to a master list maintained by Stuart Fuess.
3Why is Access Restricted
- Mostly used to read information for equipment in
the Experiment. - Can be made to write to equipment.
- This may be a simple Reset signal or complex
sequence, that is the danger. - Ops, I turned off the experiment.
4DZero System IO
VME
IOC
Ethernet
Host
1553
1553 RM
1553 RM
BLS PS
5IO System Overview
- What is Channel Access?
- A connection channel between a host machine and
an IO device.
6IO System Overview
- Experimental Physics and Industrial Control System
EPICS is a set of software tools and applications
which provide a software infrastructure for use
in building distributed control systems to
operate devices such as Particle Accelerators,
Large Experiments and major Telescopes. Such
distributed control systems typically comprise
tens or even hundreds of computers, networked
together to allow communication between them and
to provide control and feedback of the various
parts of the device from a central control room,
or even remotely over the internet. EPICS uses
Client/Server and Publish/Subscribe techniques to
communicate between the various computers. Most
servers (called Input/Output Controllers or IOCs)
perform real-world I/O and local control tasks,
and publish this information to clients using the
Channel Access (CA) network protocol. CA is
specially designed for the kind of high
bandwidth, soft real-time networking applications
that EPICS is used for, and is one reason why it
can be used to build a control system comprising
hundreds of computers.
7What Needs to be Installed
- Channel Access
- Environment Variables
- Python
8Where to find
- Look here for installation information.
- d0server6/projects/d0epics/caDDE/CaDDE.htm
- d0server6/projects/onl_apps
9Adding Environment Variable
- Add the EPICS_CA_ADDR_LIST to your System
Properties. - In the advanced section of System
Properties/Environment Variables - Add as many IPs as needed separated by a space.
10What is a Process Variable
- Object link to communicate with IO
- Objects have several attributes
- Example CALN_LVCB_00_1/7VA.DESC
- Description of BLS power supply in location 00_1
of the North Calorimeter 7V output. - CALN_LVCB_00_1/7VA.ESLO
- Scaling Factor for BLS power supply in location
00_1 of the North Calorimeter 7V output - CALN_LVCB_00_1/7VA.EGU
- Engineering Units for BLS power supply in
location 00_1 of the North Calorimeter 7V output
11Getting Data in a Cell
- The magic, once CaDDE has been installed, is a
one-liner. - Put this in the cell
- CaDDEGet!'CALN_CMCP_PA00/LB.'
- VALUE(CaDDEGet!'CALN_CMCP_PA00/LB.')
- Value() will be needed if you do any math
- Python scripts can be used to call IO device
using channel access drivers.
12Starting the CaDDE
- You will be asked to start the Channel Access DDE
and a window will start that lists all the cell
PVs that are in use. - Data will dynamically appear in the cell with no
further intervention.
13BLS GUI
14BLS GUI
Has a ComboBox
Has a Transparent Picture
Has a Camera Object
Has Buttons
15Open BLS_PS_GUI.xls
- Start the sheet to see some of the components.
16BLS Information
17Preamp PS
18BLS Crate Temperatures
19Platform RMI Status
20Silicon Tracker PS
21Shell Calls
- VBA can call an external process
- For example a DOS batch process can be called
passing parameters to it from VBA - ret Shell("c\data\argument.bat " arg1 " "
arg2 " " arg3, 1) - The DOS process can call a Python script passing
parameters to it. - BOnOff.py 1 2
- The Python script executes using values sent from
the spread sheet.
22Python doing a Channel Access
23PVNG
24Detector
25Type
26Location
27Attribute
28Tools
- ConTEXT
- http//www.fixedsys.com/context/
- Visustin
- http//www.aivosto.com/visustin.html
29Tips Tricks
- Tips
- Transparent GIFs
- Conditional Formatting
- Long Binary Conversion
- ComboBox 101
- Camera
30Pictures with Holes
- Make a GIF with transparent background.
- Use Paint Shop Pro
31Tips
- Moving to the end of a row or column
- Split screen
- Fill down
- Copy/Paste special
- Reference (relative and absolute)
32Conditional Formatting
- Cells can be have formats that change according
to
33Long Binary Conversion
- May need to convert large HEX numbers to Binary
- HEX2BIN works only to 1FF
- Take small pieces of the HEX value.
34ComboBox 101
- Make a list and name it
- Place a ComboBox on a sheet
- Add ListFillRange to the ComboBox object.
35Camera
- Open Tools/Customize/Commands Tools tab.
- Drag the Camera to your favorite Tool Bar.
- Mark and area and click the camera.
- Place the image on a sheet.
- It is live and sizeable.