EPICS WIN32 Extensions Build 31 =============================== This package includes versions of the EPICS extensions that are built to run on WIN32 platforms, that is, Windows 95/98/NT/2000. The extensions that use X Windows require the Exceed X Server by Hummingbird in order to run. This build was built with Exceed XDK 6.2 with the latest patches. It should run on earlier and later versions of Exceed. If you were previously putting configureWindowPositionToClient=1 in your WIN.INI file to help with Exceed window placement for MEDM, it should no longer be necessary nor advisable. If you are interested in being put on the mailing list for future releases of the EPICS WIN32 Extensions, send email to evans@aps.anl.gov. Bugs and comments may be sent to the author of the extension or to evans@aps.anl.gov. To be useful, bugs should include explicit steps that the person responsible can use to reproduce the problem. Please note that the EPICS WIN32 Installation procedure has changed significantly since Build 20. Especially note the new environment variables that may be needed. For Windows 2000 you need to have administrator privileges to install the EPICS WIN32 Extensions. If you have a previous build of EPICS WIN32 Extensions installed, it is better to uninstall it before installing the new build. This will insure a cleaner installation. You can uninstall the EPICS WIN32 Extensions via Add/Remove Programs in the Control Panel. If you previously installed the extra programs, and no longer want them, you definitely should do an uninstall before the install. Otherwise, needless registry keys will be left. Be sure to close any running programs including Exceed, the Exceed Local Console, and caRepeater before installing or uninstalling. In particular, be sure to close CaRepeater. CaRepeater will not appear on the Task Bar but can be closed in the Dialog Box obtained from Ctrl-Alt-Delete. If your installation is previous to Build 21, uninstall, then clean up any remaining files in the EPICS WIN32 Extensions installation directory before proceeding, since the directory structure will be changed. If you are asked to reboot during uninstall, clean up the directory and then rerun this installation program after rebooting. Setup installs the necessary files in the directory of your choice, by default in: c:\Program Files\EPICS WIN32 Extensions If you change your Exceed version or the location of the Exceed directory or did not have Exceed installed originally, then you should do an uninstall and a reinstall. PATH ==== It should not be necessary to have your Exceed directory in your PATH to run the X programs, as was required in early editions of the EPICS WIN32 Extensions. The location of the EPICS WIN32 Extensions and the Exceed path, if applicable, is stored in the registry for each program in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\AppPaths. This allows you to run programs from Run on the Start Menu or by using the START command (e.g. "start medm") in a DOS window or command shell. Moreover, it insures you will get DLLs from the installed directory and from the Exceed directory. A possible side effect is that the paths in the registry are prepended to your path variable when you run the programs. This means you cannot get different versions of the DLLs by putting other directories in your PATH. (You should normally not want to do this anyway.) If Exceed was not installed when you installed the EPICS WIN32 Extensions, you must reinstall them so the Exceed path will be in the registry keys. CaRepeater ========== Most channel access programs require CaRepeater to be running and will try to start it if it is not running. These applications should be able to find CaRepeater without your doing anything special. You can also start CaRepeater yourself, perhaps by putting it in your StartUp program group. Environment Variables ===================== You may need to define environment variables to run the EPICS WIN32 Extensions. What you need to set depends on what Exceed version you have. The idea is that you should always point to the latest version of the Exceed support files. If your version is earlier than the one with which the EPICS WIN32 EXTENSIONS were built, then you should point to the versions supplied with the EPICS WIN32 EXTENSIONS. Otherwise, you should point to the files supplied with Exceed. The three environment variables of most importance are DISPLAY, XKEYSYMDB, and XLOCALEDIR. Setting the DISPLAY environmental variable causes Exceed to find many DLLs and its Local Console in the EPICS WIN32 EXTENSIONS directory rather than in the usual Exceed directories. You should set this if your version is earlier. The downside of setting DISPLAY is that other local X clients may no longer start Exceed automatically. Exceed must be started manually before they will run. The situation is the same as that you must have Exceed running before displaying remote clients. The command is: set DISPLAY=localhost:0 Setting XKEYSYMDB causes Exceed to find the Keysym database in the EPICS WIN32 EXTENSIONS directory. If you have Exceed 5, this will always be necessary. It will also be necessary if you have another earlier version, unless you have the Exceed XDK. If you are getting messages about unfound keysyms, such as osfActivate, set this variable. If the EPICS WIN32 Extensions are in the default location, the command is: set XKEYSYMDB=c:\Program Files\EPICS WIN32 Extensions\XKeySymDB Setting XLOCALEDIR causes Exceed to find the locale directory in the EPICS WIN32 EXTENSIONS directory. This may only be necessary if you are running Exceed 5. If you are having problems of unexplained nature, try setting this variable. It is known to be necessary for Drag and Drop to work with Exceed 5. The command is: set XLOCALEDIR=c:\Program Files\EPICS WIN32 Extensions\locale Set this to locate resource files if you have any: set XAPPLRESDIR=c:\Program Files\EPICS WIN32 Extensions Set this if you have an Xdefaults file: set XENVIRONMENT=c:\Program Files\EPICS WIN32 Extensions\Xdefaults Set these to log what goes to the Exceed Local Console. Use the log for debugging. The log file will continue to grow if you always have these set: set LOGGING=YES set LOGFILE=c:\Program Files\EPICS WIN32 Extensions\exceed.log You may need to define variables such as EPICS_CA_ADDR_LIST to allow channel access to find your process variables. A description of these variables is in the Channel Access manual. These can be set in your AUTOEXEC.BAT (Windows 95/98) or System Properties/Environment for NT/2000 using lines like the following: set EPICS_CA_ADDR_LIST=164.54.188.65 set EPICS_CA_AUTO_ADDR_LIST=NO It may be convenient to set EPICS_DISPLAY_PATH. This is the path list that MEDM uses to find ADL files. The paths of directories that contain ADL files are specified with a semi-colon as a delimiter. (This is different than on UNIX, where the delimiter is a colon.) See the MEDM Reference Manual for more information. An example of how to set this variable is: set EPICS_DISPLAY_PATH=c:\My Documents\adl;n:\adlsys If you want to access ADL files that are in a system directory on UNIX, you can make a link in your UNIX home directory to the system directory: ln -s /usr/local/iocapps/adlsys ~/adlsys then mount that drive on your PC (as n: for example) and put the directory in the EPICS_DISPLAY_PATH as above. If you run out of environment space, you need to put something like the following line in your CONFIG.SYS: shell=command.com /e:1024 /p The following an example of a typical setup needed to make the EPICS WIN32 Extensions run. You can copy these lines to your AUTOEXEC.BAT and modify them as needed. set DISPLAY=localhost:0 set EPICS_CA_ADDR_LIST=164.54.188.65 set EPICS_DISPLAY_PATH=c:\My Documents\adl;n:\adlsys set XKEYSYMDB=c:\Program Files\EPICS WIN32 Extensions\XKeysymDB Winsock 2 ========= The versions of channel access included here require Winsock 2 to be installed on your system. If you have Windows NT, it is probably already installed. If you have Windows 95, it may not be installed or a bad version may have been installed. If you have the file: C:\WINDOWS\SYSTEM\ws2_32.dll on your Windows 95 system, you probably have Winsock 2 installed. You can look at the Properties of this file and determine the version. It should be 4.10.1656 or later. There is a bug in widely distributed, earlier versions of ws2_32.dll. Channel access will not work well with these earlier versions. You can get a good version of Winsock 2 at: http://www.microsoft.com/windows95/info/ws2.htm If you get an error message about not finding WS2_32.DLL, you do not have Winsock 2 installed or it is not installed properly. Exceed ====== The X Windows programs require an X Server to run. The only X Server supported is Exceed by Hummingbird, http://www.hcl.com. The WIN32 versions have been built with X and Motif libraries supplied with the Exceed XDK. You do not need the XDK to run these programs. You do need Exceed. Exceed 5 is no longer supported. A significant amount of effort has gone into making the programs work with Exceed 5, and you should try it. However, if you have problems you cannot resolve, you will need to upgrade to a later version. The resources are no longer available to fix problems with Exceed 5. Fonts ===== MEDM uses a set of font aliases that will not be installed with Exceed by default. See the MEDM reference Manual for several ways to make these fonts available. If you have Netscape or Internet Explorer installed, you should be able to view the MEDM Reference Manual via the Help button in MEDM. Otherwise, the Reference Manual is with the other EPICS documentation. The location is given below. There is a sample file, fontTable.adl, in the SupportFiles directory of EPICS WIN32 Extensions. This will show you what you are getting for the MEDM fonts. Programs ======== The EPICS Extension provided in this release are: adt.exe (Array Display Tool) alh.exe (Alarm Handler) caRepeater.exe (See above) ca_test.exe (Command-line test program) medm.exe (MEDM) probe.exe (Probe) namecapture.exe (Namecapture) sga.exe (GIF Animator) The documentation for these programs is the same as for the UNIX versions and may be found at: http://www.aps.anl.gov/asd/controls/epics/EpicsDocumentation/WWWPages/ EpicsDoc.html There is a subdirectory of EPICS WIN32 Extensions named SupportFiles. It contains some sample ADL files for MEDM, some GIF files for SGA, configuration files for ADT, and a sample configuration file for ALH. The icons for MEDM, SGA, and ALH in the EPICS WIN32 Extensions group initially start these programs in this directory. You may change that; however, it is suggested that you do not put your own files in that directory as they may interfere with or be lost in subsequent installations. To use printing in MEDM, the print command in Print Setup may be set to use Ghostview or Exceed's lpr command: lpr host-name printer-name user-name e.g lpr helios mcr2 jones The Plot item in the File menu in ADT requires Sddsplot, which is available for WIN32 but is not included in this distribution. Unless Sddsplot is installed, this menu item will not do anything useful. Extra Programs ============== These are programs that may be of interest and are included for testing purposes. You need to do a Full or Custom install to get them. Chaos.exe: Chaos5.exe: This is an X program that does Mandelbrodt plots. It uses Exceed but not EPICS. Chaos5.exe is built with Exceed 5. Chaos.exe is built the same as the other extensions. The UNIX version is built with almost identical code. It makes a nice timing test for X Windows programs converted to WIN32. For the standard Mandelbrodt plot done with the screen maximized, informal testing (on UNIX or Windows 95 unless noted) has indicated: Machine X Server Time (sec) ------- -------- ---------- 486DX2 66 MHz Exceed 5 27.27 Toshiba Satellite Pro Exceed 5 5:31 Pentium 200 MHz Exceed 5 1:14 Pentium 300 MHz Exceed 5 0:46 Pentium 200 MHz Exceed 6 3:55 (Built with Exceed 5) Pentium 200 MHz Exceed 6 3:55 (Built with Exceed 6) Sparc 20 UNIX 2:42 Sparc Ultra 1 UNIX 1:46 Sparc Ultra 2 UNIX 1:35 Sparc Ultra 30 UNIX 1:09 WinProbe.exe: This is a native Windows version of Probe that does not use Exceed but that does use EPICS Channel Access. It was originally written by Fred Vong and is not being developed at this time, but it should work. SM.exe: This is a native Windows program that does not use Exceed nor EPICS. It demonstrates the physics of Synchrotron Motion in an accelerator. It also illustrates the Standard Equation of Nonlinear dynamics. Further information can be obtained from its Help button. Troubleshooting =============== You get dialog boxes saying the program cannot find DLLs that have names starting with "HC" or "HCL": Your Exceed directory is almost certainly not in your path. You can probably fix it by putting the Exceed directory in your path; however, the Exceed directory should not have to be put in your path. Be sure Exceed was installed when you installed the EPICS WIN32 Extensions and has not been moved. See the discussions above. You put your Exceed directory in the PATH, but you still get dialog boxes saying it cannot find the Exceed DLLs: You may have run out of environment space. Try typing PATH or SET in a DOS window to see if it is really set right. If you are on Windows 95/98, try running AUTOEXEC.BAT in a DOS window, and see if it says it is out of environment space. If so, put a line in your CONFIG.SYS as indicated above to get more environment space. The X programs sort of work, but the keys, especially BS, do not behave properly and errors about keys such as osfActivate appear in the Exceed Local Console: Set XKEYSYMDB as described above. Drag and Drop does not work, especially with Exceed 5: Set XLOCALEDIR as described above. You only get a single-sized, default font in MEDM: You probably need to put the MEDM aliases in your font path. See the discussion above or the MEDM Reference Manual. You have a problem but you do not know if it is with Exceed, EPICS, or Windows: Do a full installation and try running the extra programs. They require various combinations of Exceed, EPICS, and Windows. There are problems with setup when doing an installation, reinstallation, or with uninstall: Be sure all programs are closed, especially Exceed and the Exceed Local Console, and that CaRepeater is killed with Ctrl-Alt-Delete or the Task Manager in NT. If you have problems with the Motif programs, check the Exceed Local Console. It may be necessary to set it to not close on last client exit under Option. You may have problems specifying paths to files when the paths contain spaces, such as with the EPICS WIN32 Extensions. It is best to consult a Windows manual or do some trial and error for this.