1 / 35

VBA & Process Variables

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. Disclaimer.

Download Presentation

VBA & Process Variables

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 1

  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. 2

  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. 3

  4. DZero System IO VME IOC Ethernet Host 1553 1553 RM 1553 RM BLS PS 4

  5. IO System Overview • What is Channel Access? • A connection channel between a host machine and an IO device. 5

  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. 6

  7. What Needs to be Installed • Channel Access • Environment Variables • Python 7

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

  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 IP’s as needed separated by a space. 9

  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 Calorimeter7V output • CALN_LVCB_00_1/7VA.EGU • Engineering Units for BLS power supply in location 00_1 of the North Calorimeter 7V output 10

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

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

  13. BLS GUI 13

  14. BLS GUI Has a ComboBox Has a Transparent Picture Has a Camera Object Has Buttons 14

  15. Open BLS_PS_GUI.xls • Start the sheet to see some of the components. 15

  16. BLS Information 16

  17. Preamp PS 17

  18. BLS Crate Temperatures 18

  19. Platform RMI Status 19

  20. Silicon Tracker PS 20

  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. 21

  22. Python doing a Channel Access 22

  23. PVNG 23

  24. Detector 24

  25. Type 25

  26. Location 26

  27. Attribute 27

  28. Tools • ConTEXT • http://www.fixedsys.com/context/ • Visustin • http://www.aivosto.com/visustin.html 28

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

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

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

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

  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. 33

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

  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. 35

More Related