DirectSOFT Software for Windows TroubleShooting Guide
There are currently two known problems when trying to install the software. The first problem is only a Windows 3.1 or 3.11 problem, and it shows up when the software needs to prompt you to insert the second disk. What you see on the screen is a box telling you that the software has generated an Application Error. The filename LZWSERV is usually mentioned. What has happened is that Windows is trying to get some memory that is being used by an adapter such as a video card or network card in the high memory area of the computer,. The remedy is to tell Windows not to use this memory area by simply adding the command line argument "/D:X" when you start Windows ( example: WIN /D:X ).
The second problem occurs only under Windows 95 and only if the installation diskettes are write protected. The computer appears to lock up just after the main installation screen appears. What is really happening is that the message that should tell you that the disk is write protected is not being handled correctly and the dialog box that should prompt you to un-writeprotect the disk and retry is not visible. The remedy is again very simple, un-writeprotect the disk and retry the installation.
Our DirectSOFT programming software requires no additional hardware than what is already available on a normal computer, an unused serial port. The key word in this phrase is unused. Before continuing, some background information on how personal computers work with serial devices is useful in understanding how to configure your computer to work with multiple serial devices. Serial ports are pathways in a computer that direct information to and from the attached serial devices. Although a computer can have multiple applications that use these serial ports, only one serial device at a time can use any given port. The serial ports get access to the CPU through a mechanism called "interrupts". This is where the initial design of the personal computer has become a liability. Since there are four separate serial ports available in the BIOS you would think there would be four interrupts separate assigned. Not so. COM1 and COM3 share interrupt #4 and COM2 and COM3 share interrupt #3. To further complicate things, there can be different settings for DOS and for Windows. Our software expects the default settings for ports COM1 and COM2. There could be different interrupt values for COM3 and for COM4 if you have this additional hardware present in the computer. From within Windows you can use Control Panel to make sure that the ports are set with default values. Select Control Panel, double click Ports, double click the COM port you want, click on Advanced to see the data for that port. These are the default values for the serial ports.
COM1 |
Base I/O Port Address |
03F8 4 |
COM2 |
Base I/O Port Address |
02F8 3 |
COM3 |
Base I/O Port Address |
03E8 4 |
COM4 |
Base I/O Port Address |
02E8 3 |
In a typical personal computer running DirectSOFT there will be two serial devices active, the mouse with it's device driver and the PLC with the DirectSOFT driver. As long as the mouse is connected to COM1 or COM3 and DirectSOFT is connected to COM2 or COM4 you should be able to communicate freely. The problems come along when you have a third or possibly fourth serial device, like an internal fax/modem. Now you have three devices and essentially two serial ports ( because of the shared interrupts ), so something has to give. The first indication of an interrupt conflict is in the Configure Link screen when trying to establish a link to the PLC. If you have just clicked on the Auto button, what you probably saw was the list of parity and baud rate combinations change so fast you could not read them, then the message "Comm Error Connecting to PLC" showed up. If this list of combinations changed about once per second you most likely do not have an interrupt conflict, it's probably a device driver interfering with the communications. We now need to determine what is using these COM resources. Historically it has been either the mouse or an internal modem.
If you have an internal modem, and it can be set to use some other interrupt by jumpers or with software, you are home free but be aware that most of them cannot be set this way. The only other option is to let the modem and the mouse share an interrupt by setting the mouse to COM1 and the modem to COM3, leaving DirectSOFT on COM2. The downside is that the mouse may stop working when you dial the modem or the modem may not work because the mouse driver is already using the interrupt. Sometimes the only way to get both the mouse and DirectSOFT to work is to remove the modem card from the computer.
Other alternatives are remove the mouse and it's driver by selecting the "No Mouse or Other Pointing Device" in the Windows Setup utility ( Windows without a mouse is not much fun but it can be done ), purchase a Bus mouse with it's interface card that allows you select an unused interrupt, or purchase an additional serial interface card to get COM3 and/or COM4 with the ability to select different interrupts for these ports.
Most problems with the mouse are something like "my mouse quits working when I start DirectSOFT". This is probably caused by DirectSOFT scanning the COM port where the mouse is connected when the communication server starts up. This problem usually occurs with older mouse drivers ( like those originally shipped with the Windows software ) that do not register themselves with Windows correctly. This registration error prevents DirectSOFT from accurately detecting ports already in use. This can be remedied by telling DirectSOFT which ports it can access. The file DIRCTSFT.INI located in the WINDOWS directory contains a section that controls port access. This file can be edited with any text editor, such as Windows Notepad. Open the file and search for the section [devasync.dll]. You will see the following information.
[devasync.dll] COM1Enable=1 COM2Enable=1 COM3Enable=1 COM4Enable=1
You simply set the port enable bits to match your machine''s configuration by changing the 1's to 0's to disable the ports you don't want DirectSOFT to use. It is good practice to disable all ports EXCEPT for the port you want to use to connect to the PLC, For example, to disable COM1 ( mouse ), COM3 ( not present ) and COM4 ( not present ) set the port enable bits as follows:
[devasync.dll] COM1Enable=0 COM2Enable=1 COM3Enable=0 COM4Enable=0
Now save the changes and restart DirectSOFT.
If you still cannot get a connection established to a PLC, the next logical step is to swap the mouse and DirectSOFT ports to make sure that both serial ports are working correctly inside Windows. Doing this can sometimes require the Windows installation diskettes to load the mouse driver for the other serial port. If you are using one of the mouse drivers that comes with Windows, the first thing to do is exit Windows, change to the WINDOWS directory and run SETUP.EXE. Select the mouse option from the menu, choose a driver for the COM port you want to use, ( if you were using COM1 pick a driver for COM2 and vice versa ), Accept the changes. If SETUP needs drivers from the Windows diskettes, it will tell which disk to use.
If you are not using a mouse driver that came with Windows, for example a Logitek Mouse, find out from your mouse installation guide what it takes to move the driver to the COM port you want. For a Logitek Mouse you simply specify what COM port you want as a command line parameter in AUTOEXEC.BAT, like 'c:\lmouse\mouse 2' to only use COM2. Once you do this, power down, swap the mouse and DirectSOFT cables, power up and make sure the mouse is found on the COM port you specified, and make sure it works in Windows. If the mouse does not work, you may have found the source of the communication problem, a hardware problem of some kind with the COM port. If you are brave enough to navigate around in Windows without the mouse, you should now be able to create a link to the PLC on the COM port you just freed up.
If you still cannot get a connection established, you can try the following to see if there is some other DOS device driver causing the problem. We essentially need to reboot the system clean except for the one device driver needed for Windows. If you have DOS 6.00 or greater, there is a real easy way to do this. Reboot the computer, wait until you see the line 'Starting MS-DOS...' appear on the monitor, then press the F8 key. DOS will now prompt you to confirm each line in CONFIG.SYS. You should type 'N' to every option except for the line that something like has 'DEVICE=C:\WINDOWS\HIMEM.SYS'. Once at the DOS prompt change to the WINDOWS directory and start Windows as normal and retry the connection.
If you don't have DOS 6.XX or greater you should simply comment out each line of CONFIG.SYS ( insert a REM at the beginning of the line ) except for the line containing HIMEM.SYS, reboot and retry the connection.
Laptop computers bring an entirely new set of problems because they are usually laden with device drivers for all of the options on the computer. The option that usually gets in the way is the PCMCIA driver set. Again you usually get the infamous "Comm Error Connecting To PLC" message when trying to establish a link to the PLC. With a PCMCIA slot you usually get a new Windows serial device driver, possibly some other Windows drivers and a CONFIG.SYS full of "device=" commands. The Windows serial driver is found in the SYSTEM.INI file located in the WINDOWS directory. In the [boot] section at the top of the file, there is a line that starts with 'comm.drv='. DirectSOFT is expecting the default driver so the line needs to read 'comm.drv=comm.drv'. If it is something like "comm.drv=c:\pcmplus\pcmplus.drv", simply comment it out ( by inserting a ';' as the first character on the line ) and add the line comm.drv=comm.drv. While we're editing the file, continue to look through the file for other lines that have the same path information as the driver you just commented out, if you find any, comment them out as well. If there are any more they will most likely be in the [386Enh] section. Most PCMCIA cards will work just fine with the Windows version of the driver. We now need to do the same thing to the CONFIG.SYS file, commenting out lines ( insert a REM at the beginning of each line ) that have anything to do with the PCMCIA slot. Restart the computer and try again.
Another thing you get into with laptop computers is Power Management software. This software monitors system activity and shuts down power to parts of the PC to conserve the batteries. Since the serial port is one of the things that is monitored, this driver can keep a connection to a PLC from working. This option is usually installed in the CONFIG.SYS file as a 'device=XXXXXX' line. It is hard to be specific about the file name but a few examples are BATTERY.PRO, POWER.EXE and PM.EXE. Comment out the drivers, reboot your computer and try the connection again.
Power Management could also be a BIOS setup option ( check the CMOS setup ). If it is, disable the option and retry the connection. Sometimes there is even a driver used by Windows. It will usually show up in the WIN.INI file in the WINDOWS directory, usually on the line beginning with "load=" or "run=". If so comment them out, restart Windows and retry the connection.
Toshiba laptops and any sold under different brand labels almost always have a specialized video device driver that can adversely affect communications. They usually don't completely inhibit communications, they just cause an excessive amount of data errors and retries. While in DirectSOFT, with status enabled, you probably see the word 'Error' show up in red on the On-line toolbar where the word On-line usually shows up. You can eliminate this by using the VGA driver that comes with Windows instead of the Toshiba driver. Select the Windows Setup ( it is usually in the Main group ), click Options, then select Change System Settings, click the down arrow on the Display option to see the list of available drivers. Scroll through this list looking for the VGA option. Click on the option then click on OK. Windows should now ask you if you want to use the Current VGA driver or install a new one, select Current. Windows will now have to restart to take effect. There should be no visible difference with the new driver, but hopefully the communications will work better.
The standard windows serial device driver that came as part of Windows 3.1 and 3.11 has a known bug only when used on Pentium 60 and 66 Mhz machines and some 486 computers with PCI motherboards. It causes something like 'my machine locks up when DirectSOFT tries to bring up the launch window'. There is an updated driver provided by Microsoft. Obtain the new serial driver 'SERIAL.386' ( dated 2-17-94 or later ), place it in the WINDOWS\SYSTEM directory the restart Windows. This file is available in numerous places on the Internet ( example ftp://ftp.microsoft.com/Softlib/WG1001.EXE ) It is important to note the date because there is another version of this file dated November 1993 that does not have this particular fix in it.
Software for other PLC vendors sometimes have device drivers that replace the default drivers. One example is Allen Bradley. Their KT card has drivers you may need to comment out. Their APS software, if setup to run from within Windows, will put "device=" statements in the SYSTEM.INI file that may need to be commented out ( search for things like "dh485.386" in the [386Enh] section ).
If you are trying to connect DirectSOFT to a DL 405 CPU being powered with 110VAC, you must install the shunt across the bottom two screws on the power supply connector ( see pg. 3-2 of the DL 405 User Manual ). Failure to connect the shunt when powering the CPU with 110VAC puts the CPU near brownout and prevents the UARTs from operating correctly.
There are even some screen savers that can prevent DirectSOFT from establishing a connection to a PLC because they also monitor the machine ( serial ports ) for activity and this monitoring activity is the problem. Disable the screen saver and retry the connection
There is only one problem currently with printing that we know of and again it is not of our own doing. If you have this problem it manifests itself by generating a General Protection Fault and dumping you out of the software any time you pick any of the Print options. This problem can be cured by deleting the global print settings file 'c:\dirctsft\program\bin\prntserv.rst'. Exit Windows, delete the file, restart Windows and DirectSOFT and try the print again.
Another thing that sometimes happens is that the documentation shows up fine on the screen and in Print Preview but doesn't show up on the printed page. It is usually a color related problem. Windows uses your video card in combination with the printer driver to generate the output for the printer. Since the printer is black and white and the display is in color, Windows has to make the translation from color to monochrome as part of the stuff sent to the printer. Bugs in printers drivers ( yes they do exist ) sometimes cause Windows to guess wrong at the color translation and generate white text on a white background. The fix is to go to the View menu, select Color Setup and set the colors to Black Text on White Background and retry the print.
As a general rule, if the ladder view looks correct in Print Preview but does not show up correctly on the printed page, the thing you should suspect is the printer driver you are using. Upgrade your printer driver to the most current one available ( check out on the Internet, most companies now have home pages with driver updates available ). The drivers that come packaged with Windows can sometimes be several years old and don't support all of the new printers correctly. If your printer has the ability to emulate some other printer, you can use the printer driver for the one being emulated. Make sure it still looks correct in Print Preview and retry the print.