Slashdot Mirror


Ask Slashdot: Supporting "Antique" Software?

First time accepted submitter wolfguru writes "As the IT Manager for a large printing firm, I often have to provide hardware to support older software which is used to configure and maintain existing systems, some of which are nearly 20 years old. Much of the software uses RS-232 serial communications to connect to the PLC devices and is often 16 bit versions. Newer systems from the PLC manufacturers supports some of the equipment, but many of the older PLC consoles are essentially unreachable without the serial communications. For any of you faced with similar challenges in keeping a manufacturing environment maintenance department working; what do you use to support them and where do you find equipment that will run the older systems that are sometimes the only means of supporting these types of devices?"

38 of 212 comments (clear)

  1. Virtual Machines by AmiMoJo · · Score: 4, Informative

    Fortunately RS232 is still well supported via PCI-e cards and USB, so you can just run the old system in a virtual machine on modern hardware to avoid many of the problems associated with maintaining old gear.

    My only other advice is to never underestimate the costs, especially when talking to your boss. He/she will want guarantees that everything runs smoothly all the time, which realistically you can't provide without plenty of redundancy and extensive testing. Be clear that old hardware is hard to maintain and repair, and not trivial to replace.

    --
    const int one = 65536; (Silvermoon, Texture.cs)
    SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    1. Re:Virtual Machines by NJRoadfan · · Score: 4, Interesting

      If USB to serial adapters cause communications problems, most motherboards still have RS-232 headers on them (residing at DOS friendly COM1), just need the bracket. Most of them can run DOS as well as long as they have a BIOS boot option as an alternate to EFI mode.

  2. RS 232 to ethernet adapters by Anonymous Coward · · Score: 4, Informative

    They are a god send. For software I use RSlinx Gateway which is for Allen-Bradley PLC's, but has many different driver solutions. Also it will allow you to bridge network connections if your running DH 485/RS 232/DF1/ DH/DH+/Ethernet. Gateway is expensive though there might be a more cost effective solution.

    1. Re:RS 232 to ethernet adapters by DarkOx · · Score: 2

      Don't know about the particular device you mention but just want to remind everyone to "put some thought into things" before just slapping ip->ethernet->rs232 gateways around all over the place. Many of those old RS232 interface had no authentication or access control, the ones that did usually it was a weak password or pin and no rotation or change period enforced. Lots of the remote ip -> serial port solutions I have seen run clear text too, so even if there is a password on the controller it will be easily sniffed if used often. Make sure you have some sorta of access control on the gateway device and make sure it offers some kinda of encrypted channel or that you know exactly what and who has physical access to the networks between the gateway and the client.

      --
      Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
    2. Re:RS 232 to ethernet adapters by some+old+guy · · Score: 2

      Excellent call. You beat me to it.

      The bridge hardware is worth every penny. By the time somebody grinds out a kludgey emulator zombie for some junk freeware, you're up and running with your system. In a factory environment, you often just don't have time to indulge in experimental development of custom applications.

      You can also see if the old RS-232/485 gear is recognizable by a Phoenix Contact or Wago DeviceNet-Serial hub. That's even easier since all modern PLC's support DeviceNet out of the box, and the hubs are fairly inexpensive.

      --
      Scruting the inscrutable for over 50 years.
    3. Re:RS 232 to ethernet adapters by gatkinso · · Score: 2

      The serial interface is not the problem, the 16 bit software talking through it is.

      --
      I am very small, utmostly microscopic.
    4. Re:RS 232 to ethernet adapters by wiggles · · Score: 2

      Anyone who merges their production industrial network with their common business network deserves everything they get.

      There should be an air gap between industrial control networks and business networks, and the industrial networks should never be able to touch the internet.

    5. Re:RS 232 to ethernet adapters by D1G1T · · Score: 2

      Yep. IT network administration and industrial networks are very very different, and require totally different mind-sets. I've been in plants where the people from the company's IT department aren't allowed on the factory floor. Deterministic behaviour and safety systems just aren't things your business IT guys ever think of. Conversely, network security is not something automation technologists have needed to deal with until recently, thus all the problems lately.

    6. Re:RS 232 to ethernet adapters by jamesh · · Score: 2

      I use Netgear WND3800 + usb serial port for the same thing. It moved the control PC out of a hot dirty workshop and seems to work okay so far.

  3. Have a look at PCs for Industrial Automation. by stasike · · Score: 5, Informative

    At work we use Industrial PCs for work with PLCs. You can still buy PC with an ISA slot, and most of industrial PCs have good old serial port. Just contact any competent supplied of industrial automation equipment.
    One of manufacturers is Advantech. Have a look at their UNO line of "brick" computers. Plenty of industrial RS232 and RS485 ports even in the most basic models. Computers are fanless and built to last. Unfortunatelly, those machines are bloody expensive.

    If you look really hard, you can even find new 486 machines. Those are even more expensive than Advantech bricks I wrote about, but there are still people that need those computers, so there are companies able to provide them at a cost.

    1. Re:Have a look at PCs for Industrial Automation. by Dadoo · · Score: 2

      You can still buy PC with an ISA slot

      You don't need an ISA slot to get serial ports. Just a few months ago, I put together a brand new computer at work that has two RS232 ports on a PCI-express card. You can get one from Newegg for around $50.

      --
      Sit, Ubuntu, sit. Good dog.
    2. Re:Have a look at PCs for Industrial Automation. by number11 · · Score: 2

      You can still buy PC with an ISA slot

      You don't need an ISA slot to get serial ports..

      No, but there are specialized boards that still have ISA slots. Sometimes it's considerably cheaper to replace the computer and keep the board, rather than vice versa. A new board will probably require new software, perhaps only available from a single vendor, and it may require retraining doctors, I mean users, who hate change. And, to be honest, if the old system did what they wanted, there's no reason to inflict something different upon them.

  4. You're not alone by mykepredko · · Score: 5, Informative

    Hi Timothy,

    Unfortunately, you didn't provide a lot of information in your post as to what the problems are.

    As people have pointed out, there are a ton of USB to Serial solutions out there so having the modern hardware with the ability to communicate over RS-232 is generally not a problem (although, depending on the connections used, you might want to invest in a RS-232 breakout box and read up on RS-232 handshaking as many of the older devices do use hardware handshaking). I have a few hand wired 9 pin to 25 pin connectors with the CTS-RTS and DSR-DTR pins shorted together as they can simplify your life immeasurably.

    In my experience, the biggest problem is retaining floppies & CDs with the original software on them (assuming that the developers are no longer supporting the product/are out of business). If the company is still in business, usually they're pretty good at providing updated software for their products. If they're not in business, then look to see if they were bought out by anybody. Chances are you'll find that the purchaser is still supporting the product, although it may be under another name.

    Personally, the biggest issue that I see when I have encountered this type of situation is that the original programs are on floppies. If this is the case, you will need to find somebody with a Windows/95 machine that they're keeping together with spit, bailing wire, gaffer's tape and good intentions - you should be able to copy the program onto a USB key and then burn it on a CD/DVD for more permanent storage.

    Once you have the program in a media that you can work with, you may have problems with the installation. You will probably have to create a virtual machine on your PC AND there may be 16 bit programs that you have to convert to 32 bit - here's a great resource that's saved me a couple of times: http://www.reactos.org/forum/viewtopic.php?f=22&t=10988

    Finally, Google is your friend. Chances are the answers are out there for your particular equipment.

    Good luck!

    myke

    1. Re:You're not alone by inasity_rules · · Score: 2

      USB to serial adapters are shit. +/-6V instead of +/-12V and variable latency (USB does not guarantee latency). RS232/RS485 to Ethernet adapters are far better, but nothing competes with a physical port for some obscure finicky equipment. And yes, it is still out there working fine unlike the modern rubbish that fails if the air gets slightly moist.

      --
      I have determined that my sig is indeterminate.
  5. But dos and older windows 9X apps / os may not by Joe_Dragon · · Score: 2

    But dos and older windows 9X apps / os may not like USB to RS232 and or pci / pci-e based RS232 ports. Also VM pass though may not work 100%.

    You can try running free dos / MS-DOS 7.x or 8 on newer hardware but usb may not work as well.

    1. Re:But dos and older windows 9X apps / os may not by hairyfeet · · Score: 4, Interesting

      I'm surprised nobody has simply named the obvious, which is just pick up an older laptop on ebay. Plenty of old Toughbooks still out there, built like tanks,, with RS232 already on them. Sure it isn't as fancy as setting up VMs and trying to get them to talk to the old gear but sometimes the simplest answer is the best IMHO.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    2. Re:But dos and older windows 9X apps / os may not by hairyfeet · · Score: 2

      As somebody who has their first gaming PC, a 100Mhz P1 still running with DOS 3 as the controller for an expensive old column lathe that they don't even make anymore? The problem with having that discussion is some of this stuff is just fricking insanely expensive and in a down economy you may not have the money, or spending that money might seriously hurt operations in other areas.

      Believe me nobody WANTS to keep really old shit, but you may have a PHB middle manager that won't let go of a dime, sometimes as i said the cost is just too high, a lot of time you keep the old shit because you simply have no other choice.

      --
      ACs don't waste your time replying, your posts are never seen by me.
  6. Some observations... by tlambert · · Score: 4, Interesting

    Here are some observations about why the problem isn't as difficult as you are making it out to be.

    First and foremost, for older PLC hardware, the PLC hardware was considered to be the valuable part, and the software/drivers were considered to be overhead that they had to have to sell the hardware. So most of the serial protocols for these things were well documented in order to reduce support costs. In general there was either reluctant free support for their software/drivers, or you paid a fee per incident. If support contracts were an option ... you are unlikely to have kept the payments up this long. So you will likely be writing some code, but you will likely have documentation with which to do it.

    Second, the FTDI drivers are crap. They leak kernel memory in Linux when you unplug them while the device associated with them is open. They also do this in the Windows Drivers, and because Mac OS X is religious about its encapsulation model in IOKit, unplugging them in Mac OS X while the device is open generally leads to a kernel panic. Almost all the USB-to-RS232C/RS422 adapters use chips sourced from FTDI, or use clones of the FTDI chips so they don't have to actually write their own drivers. Rampant code copying between vendors is my suspected reason that most of these vendors refuse to document their hardware well enough that an Open Source driver without the bugs could be written. You are unlikely to be happy with USB fobs.

    Third, 9 pin RS232C is frequently not enough for a lot of older devices. The RS232C specification allows external clocking of the signal, but these pins are not present on the 9 pin connectors, only on the 25 pin. Additionally, there is out of band signaling that is sometimes used on other RS232C pins that aren't as frequently used that can be necessary. As you are with a printing firm, if what we are talking about here is an old Linotype or similar machine, you are likely to be SOL without full 25 pin RS232C. You should be happy that it isn't an 8 pin DIN cable from an old Mac, since at least you get the RI pin on the 9 pin connector.

    Fourth, terminal servers often have these issues, in spades. There are a number of terminal servers where, if you have a blocking outstanding read on the serial port, outgoing writes are blocked until the read completes or times out. They basically expect that you will poll, or that all your communications over the serial port will be synchronous (i.e. you will not end up with output to your Wyse-50 until after you have input something). I can name a number of vendors with 8-port serial cards that have this issue. On the plus side, it's a driver design bug, so if you are swilling to use your own driver, or are willing to go Open Source OS, this is typically not a problem, but you will end up screwed by Windows and Mac OS X -- but a Mac OS X subclass of the broken driver is easier than an entirely new driver written in windows. Computone 8 port cards used to have this problem a lot.

    Fifth, and finally, with USB dongles, it's frequent that the modem control signals are borked up. What I mean by this is that until the pseudo tty USB driver on the host side of things is opened, then the pins on the RS232C side of the adapter are floating in an indeterminate state which depends on the USB fob firmware, and is frequently not where you would want e.g. DTR or CTS/RTS or other signals hanging out for an idle serial port. This can make older equipment Do Things(tm), and the oly real remedy is to get the port open, set the signals right, and THEN plug in the serial cable. Generally, this means that you get to have two sets of signal state for setup, in addition, since the line buffers in some of the older devices are not optoisolated, and on those which are, the optoisolation can blow if you immediately apply voltage before ground, etc.. If you think talking to an old PLC is hard, try replacing an ancient Zilog UART on the damn thing.

    1. Re:Some observations... by Dadoo · · Score: 2

      Third, 9 pin RS232C is frequently not enough for a lot of older devices.

      That hasn't been my experience. I've been doing RS232 since the early 80s, and I've run across very few devices from that time period that use more than the minimum three.

      What I have seen for devices that use the other signals is that they'll use them differently. For instance, the original RS232 spec uses RTS/CTS differently than they're used today. Also, pins will be used incorrectly; I have a computer in my garage that uses DTR for flow control.

      --
      Sit, Ubuntu, sit. Good dog.
    2. Re:Some observations... by inasity_rules · · Score: 2

      And 9 out of 10 USB to serial adapters I have run into can't even generate the correct pin voltages... +/- 6V might work for some devices, but not all. A lot won't see anything below +/-12V. Especially the 'comms powered' type.

      --
      I have determined that my sig is indeterminate.
    3. Re:Some observations... by Lvdata · · Score: 3, Informative

      My ftdi on my arduino does have intermittent upload errors when used inside of VMware. I can live with it as it does a crc check. If your H/W S/W doesn't error check you might want to avoid that combination.

    4. Re:Some observations... by tibit · · Score: 2

      I think those devices have transceiver chips that are broken, because the RS-232 specification for the receiver certainly requires it to work with +/-3V levels - those are considered the minimum levels, in fact. Anything between +3 to +15V and -3V to -15V is a valid logic level. If you have an RS-232 receiver that doesn't work with +/-6V signals, it's broken, plain and simple. I've designed some RS232-powered devices and they obviously had to work through the range of allowed logic level voltages. There's good engineering, then there's cargo cultism. I prefer the former.

      --
      A successful API design takes a mixture of software design and pedagogy.
  7. aka Terminal Server by tengu1sd · · Score: 2

    When you buy a rack mounted unit that does this, it's sometimes called a terminal server. You can provide network to serial access, enable unique passwords on each device and create access lists. When I managed customer equipment, I used to require a DECserver and modem/phone line for last ditch access. In this case, I had firewall, switch, router and console access. Much of this kit is can be found used or see Vnetek. I understand Cisco also makes comparable product. You can pair this with virtual comm port driver, letting you drive these units from a central location.

    Answer number 2, you need to put a business risk into supporting antique systems. Cost of replacement, downtime to find part vs lost business. Consider stocking in house pre staged replacement systems.

  8. Re:RS 232 to ethernet adapters - Security warning by Animats · · Score: 2

    RS232 to Ethernet devices have a big security problem - they can expose your RS-232 device directly to the Internet. Many RS232 to Ethernet devices will talk to anything that tries to talk to them. Some have built-in minimal web servers for configuration, and those make it easy for attackers to find the device.

    Industrial automation people try to have isolated Ethernets for these devices. But then something comes along that needs to be on the isolated net and also needs to talk to something in the outside world. Then someone reconfigures the isolated net to connect to the outside world. Everything still works fine, until somebody breaks in.

    This used to be more of a theoretical attack, but there are now search systems out there finding and cataloging control devices reachable on the Internet.

  9. Re:Consider yourself lucky by inasity_rules · · Score: 3, Interesting

    It is a case of the 'right tool for the right job.' In some cases ladder logic is still the best choice. Running interlocking or normal controls like PID and so forth in ladder makes a lot of sense. Sequential function chart can be useful too, but tends to be overused by IT types who get cornered into control and have no clue what they're doing, as does script. Basically, what I'm saying is if we ever throw out ladder, it means we're being pretty thick. Ladder has a place and makes a lot of sense from the process POV, throw too much of it out and you're being stupid.

    Naturally, put the 'hardware' ladder system into a suitable PLC that can do SFC as well as ladder and the scripting language of your choice, but don't throw out the logic. That is often still the most logical solution and IT types who think ladder is obsolete should honestly be shot at dawn for the bastards who create un-maintainable messes of spaghetti code that they are. Siemens programmers are the worst culprits here.

    --
    I have determined that my sig is indeterminate.
  10. Re:Please by gatkinso · · Score: 3, Funny

    That is an awesome idea. Let us know when you commit that!

    --
    I am very small, utmostly microscopic.
  11. Re:Please by ericloewe · · Score: 2

    Ah, of course. Makes perfect sense - the one thing no game needs but every business user needs...

    I can't blame them, I would also avoid touching anything printer-related with a 3,048m pole if possible. I guess it comes down to emulating HP LaserJet and whatever else was commonly supported at the time, similar to what's currently done with sound cards...

  12. Re:Please by Jappus · · Score: 5, Interesting

    Actually, newer SVN + patches builds for DosBox go much further than that:
    http://www.dosbox.com/wiki/SVN_Builds

    The best one, if you ask me, is the SVN Daum build (alas, their website is down at the moment). To quote its set of difference to Vanilla DosBox:

    Description: The Windows build incorporates Direct3D with pixelshaders, OpenglHQ, Innovation, Glide, zip/7z mount, Beep, NE2000 Ethernet, Graphis user interface (menu), Save/Load states, Vertical sync, CPU flags optimization, Various DOS commands (PROMPT, VOL, LABEL, MOUSE, etc) and CONFIG.SYS commands (DEVICE, BUFFERS, FILES, etc), Continuous turbo key, Core-switch key, Show details (from menu bar), Nice DOSBox icon, Font patch (cp437), MAKEIMG command, INTRO, Ctrl-break patch, DBCS support patch, Automatic mount, Printer output, MT-32 emulation (MUNT), MP3CUE, Overscan border, Stereo-swap, SDL_Resize, MemSize128, Internal 3dfx voodoo chip emulation, etc.

    I emphasized the important bit. What these two little words mean is the this DosBox build can not only emulate a DOS printer to dump stuff into various output formats (PNG, PDF, etc.), but it can also pass along the output to a Windows printer driver (which allows you to print to any USB printer) as well as use a real parallel port on your computer to let the DOS talk directly to the printer.

    I know at least one company that is using this DosBox build to support printing out of a 20+ year old billing software.

  13. Re:Please by ericloewe · · Score: 2

    You're forgetting that in DOS, every application needs its own drivers for anything beyond text mode output (MDA?) and keyboard input, so there's not a single printer interface to emulate - ideally, you emulate the more popular ones.

  14. Re:Please by Jappus · · Score: 2

    DOSBox can't handle Control-Break, which was used an awful lot (for good reasons and bad) in the DOS era.

    See my post from further up in this thread where I've linked to the SVN Daum build of DosBox. Among other things, it contains a very good "Ctrl+Break" patch that adds that particularly little oddity with almost 100% accuracy.

    Nowadays, the SVN builds of DosBox can do so much more than the Vanilla DosBox, it's no wonder the maintainers can't decide which of those patches to add to the mainline first.

  15. Scavenging.. by technos · · Score: 2

    I had to support a manufacturing company 15 years ago that was using (at the time) 15-20 year old gear. I did it by scavenging and making it myself. Robot needs a new SSDD floppy drive? Flea market Commodore. RAM in the Soviet S100 clone going bad? Take apart a broken synth. Winchester drive controller going tits up? Drive around and look at all the junk bins of every computer shop in the county. Need to move a bit of kit but now the non-standard 45-pin cable is too short? Clip the ends off and Radio Shack them to RS-232. I also swapped a lot of gear around; The DOS machine that was used to program one robot was gradually upgraded from an 8088 machine to a 486 as I stole parts from it to keep the CP/M-86 one running.

    The other thing I did a lot of was preventative maintenance. Blow out the dust, check the power supply, clean the disc drive, make sure everything is well seated. Switches got lubed, cables checked for faults, and media replaced.

    --
    .sig: Now legally binding!
  16. Industrial Ethernet Book by D1G1T · · Score: 3, Informative

    One of the few marketing catalogues I actually use. Sometimes flipping through a book can show you products you didn't know existed. http://www.iebmedia.com/

  17. Windows98 VMs by Deideldorfer · · Score: 2

    I have two Windows98 virtual machines to support equipment requiring crusty old modems. They have been running trouble free for several years now.

    --

    Power off before disconnecting connecting connector. Seen on a cash register
  18. Re:20 year old antique?? by plcurechax · · Score: 2

    Am I the only one laughing at the thought something from the early 90s is now considered antique?

    Ha, darn kids probably can't fathom the idea that there were real computers in use by companies and organizations before those flashy single chip microprocessor based PCs were all the rage.

    No mention of minis like PDP, VAX/VMS (RIP DEC), CDC Cyber (12-bit bytes), Data General, or IBM & Unisys mainframes.

    Thankfully there was at least mention of Zilog's Z80, terminal servers, RS-422/485, and green screens.

    Bunch of whiny kids. Next they'll complain their first automobile or hand-me-down cathode ray tube colour television doesn't have WiFi and a web browser. Get old my lawn.

    Heck, I develop, maintain, and extend software that's over 20 years old. I've worked on software written before I was born. Software approaching 50 years old is more like what I would consider ancient. Like much of the insurance and banking industry in Europe and North America.

    So. my serious bit: Learn about industrial computer market, products, and vendors. Use industrial USB to RS-232C converter in most cases (where timing or bit banging isn't used), not the $5 USB-to-serial adapter from the big box electronics store. Take a class from your local community college if PLC or ladder logic is relevant to your environment.

  19. Re:Support for old software should be required. by DogDude · · Score: 2

    Windows maintains the best backwards compatibility in the industry. Apple, the worst. Why you'd lump these two together is beyond me...

    --
    I don't respond to AC's.
  20. Re:20 year old antique?? by techno-vampire · · Score: 2

    Heck, I develop, maintain, and extend software that's over 20 years old. I've worked on software written before I was born.

    The software JPL uses to navigate all of its space probes was written by Dan Alderson, who died in 1986. Why haven't they replaced it? Better yet, ask why should they replace it when it works so well. So far, the only failure it's had was when somebody screwed up a measurement conversion, and you can't blame the software for that!

    --
    Good, inexpensive web hosting
  21. Re:Please by jamesh · · Score: 2

    The beauty of OSS is that if it doesn't work you can add support yourself. And if you lack the technical expertise, pay someone to add the support for you.

    A few years ago I was asked to organise a new PC to replace a failing vintage laptop that connected via rs232 to a cnc machine. The problem was that the program didn't seem to work on anything else. DOSBox didn't work initially because the program used api calls that were considered obsolete when DOS2.0 came out. DOSBox had support for those calls but it was broken, but fortunately easy enough for me to fix and it now works great. Or did work until the machine it was running on broke and they replaced it with a laptop that didn't have an rs232 port. For some reason DOSBox + USB RS232 works very slowly and I haven't had a chance to figure out why yet. Or try the SVN builds.

    OSS FTW!

    Unrelated, I was doing much the same thing somewhere else with a drill, but with slightly more modern software that didn't require DOSBox, but no matter what machine we tried it wouldn't talk to the drill. We tried machine after machine with no success. I asked for a USB serial port but then didn't have internet connectivity to download the drivers so kept analysing the serial output and trying to figure out wtf was going on. Eventually I got internet connectivity, downloaded the drivers for the USB serial port and it worked first time and every time since. I guess the control board on the drill (a paper tape emulator) had slightly dodgy rs232 signalling and for some reason the onboard serial ports of all the computers we tried weren't quite able to talk.

  22. x86 system on a chip? by snooo53 · · Score: 2

    It seems like if someone were to create a small 486 single board computer, similar to a Raspberry Pi, for under $60 or so, there would be an incredible market for it. For running everything from industrial equipment to a DOS/Windows retro gaming rig. Are there any cheap systems like this out there? I've seen lots of cheap ARM based boards but haven't come across any x86 ones.

    --
    The sending of this message pretty much inconveniences everyone involved.