VBA - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

VBA

Description:

The use of dynamic data exchange to access process variable related to the DZero ... The IP address of the machine that is running the application must be added to a ... – PowerPoint PPT presentation

Number of Views:61
Avg rating:3.0/5.0
Slides: 36
Provided by: linda238
Learn more at: https://www-ppd.fnal.gov
Category:
Tags: vba | daves

less

Transcript and Presenter's Notes

Title: VBA


1
VBA 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

2
Disclaimer
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.
3
Why 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.

4
DZero System IO
VME
IOC
Ethernet
Host
1553
1553 RM
1553 RM
BLS PS
5
IO System Overview
  • What is Channel Access?
  • A connection channel between a host machine and
    an IO device.

6
IO System Overview
  • What is EPICS?
  • 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.
7
What Needs to be Installed
  • Channel Access
  • Environment Variables
  • Python

8
Where to find
  • Look here for installation information.
  • d0server6/projects/d0epics/caDDE/CaDDE.htm
  • d0server6/projects/onl_apps

9
Adding 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.

10
What 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

11
Getting 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.

12
Starting 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.

13
BLS GUI
14
BLS GUI
Has a ComboBox
Has a Transparent Picture
Has a Camera Object
Has Buttons
15
Open BLS_PS_GUI.xls
  • Start the sheet to see some of the components.

16
BLS Information
17
Preamp PS
18
BLS Crate Temperatures
19
Platform RMI Status
20
Silicon Tracker PS
21
Shell 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.

22
Python doing a Channel Access
23
PVNG
24
Detector
25
Type
26
Location
27
Attribute
28
Tools
  • ConTEXT
  • http//www.fixedsys.com/context/
  • Visustin
  • http//www.aivosto.com/visustin.html

29
Tips Tricks
  • Tips
  • Transparent GIFs
  • Conditional Formatting
  • Long Binary Conversion
  • ComboBox 101
  • Camera

30
Pictures with Holes
  • Make a GIF with transparent background.
  • Use Paint Shop Pro

31
Tips
  • Moving to the end of a row or column
  • Split screen
  • Fill down
  • Copy/Paste special
  • Reference (relative and absolute)

32
Conditional Formatting
  • Cells can be have formats that change according
    to

33
Long Binary Conversion
  • May need to convert large HEX numbers to Binary
  • HEX2BIN works only to 1FF
  • Take small pieces of the HEX value.

34
ComboBox 101
  • Make a list and name it
  • Place a ComboBox on a sheet
  • Add ListFillRange to the ComboBox object.

35
Camera
  • 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.
Write a Comment
User Comments (0)
About PowerShow.com