EEDEED Tuesday, May 18, 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
EEDEED Tuesday, May 18, 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.
EEDEED Tuesday, May 18, 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.
EEDEED Tuesday, May 18, VME DZero System IO Host 1553 RM IOC Ethernet 1553 BLS PS
EEDEED Tuesday, May 18, IO System Overview What is Channel Access? A connection channel between a host machine and an IO device.
EEDEED Tuesday, May 18, 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.
EEDEED Tuesday, May 18, What Needs to be Installed Channel Access Environment Variables Python
EEDEED Tuesday, May 18, Where to find Look here for installation information. d0server6/projects/d0epics/caDDE/CaD DE.htm d0server6/projects/onl_apps
EEDEED Tuesday, May 18, 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 IP’s as needed separated by a space.
EEDEED Tuesday, May 18, 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
EEDEED Tuesday, May 18, Getting Data in a Cell The magic, once CaDDE has been installed, is a one-liner. Put this in the cell =CaDDE|Get!'CALN_CMCP_PA00/LB.' =VALUE(CaDDE|Get!'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.
EEDEED Tuesday, May 18, Starting the CaDDE You will be asked to start the Channel Access DDE and a window will start that lists all the cell PV’s that are in use. Data will dynamically appear in the cell with no further intervention.
EEDEED Tuesday, May 18, BLS GUI
EEDEED Tuesday, May 18, BLS GUI Has a ComboBox Has a Transparent Picture Has a Camera Object Has Buttons
EEDEED Tuesday, May 18, Open BLS_PS_GUI.xls Start the sheet to see some of the components.
EEDEED Tuesday, May 18, BLS Information
EEDEED Tuesday, May 18, Preamp PS
EEDEED Tuesday, May 18, BLS Crate Temperatures
EEDEED Tuesday, May 18, Platform RMI Status
EEDEED Tuesday, May 18, Silicon Tracker PS
EEDEED Tuesday, May 18, 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.
EEDEED Tuesday, May 18, Python doing a Channel Access
EEDEED Tuesday, May 18, PVNG
EEDEED Tuesday, May 18, Detector
EEDEED Tuesday, May 18, Type
EEDEED Tuesday, May 18, Location
EEDEED Tuesday, May 18, Attribute
EEDEED Tuesday, May 18, Tools ConTEXT Visustin
EEDEED Tuesday, May 18, Tips & Tricks Tips Transparent GIFs Conditional Formatting Long Binary Conversion ComboBox 101 Camera
EEDEED Tuesday, May 18, Pictures with Holes Make a GIF with transparent background. Use Paint Shop Pro
EEDEED Tuesday, May 18, Tips Moving to the end of a row or column Split screen Fill down Copy/Paste special Reference (relative and absolute)
EEDEED Tuesday, May 18, Conditional Formatting Cells can be have formats that change according to
EEDEED Tuesday, May 18, Long Binary Conversion May need to convert large HEX numbers to Binary HEX2BIN works only to 1FF Take small pieces of the HEX value.
EEDEED Tuesday, May 18, ComboBox 101 Make a list and name it Place a ComboBox on a sheet Add ListFillRange to the ComboBox object.
EEDEED Tuesday, May 18, 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.