I need to intercept the data/signal from a parallel port

Thread Starter

rhorne

Joined Jan 19, 2017
9
Hello, let me give you a bit of background and then I'll explain what I'm looking to do.

I work for a textile manufacturer in Yorkshire. We have an old jacquard loom that is connected to a PC on which we load patterns from a floppy disk. Yes it's that old.

The PC connects to the jacquard via its parallel port. The software and interface were all bespoke and made years ago. We have no contact with the developer/engineer and it's not a standard off-the-shelf solution so there's no-one I can look to for support short of having a jacquard expert reverse engineer the entire system and software. Which is not viable.

The system just about works, but one of the things the software does is alert the user when a certain number of repeats have been woven by the loom. This alert takes the form of a flashing DOS prompt on screen. Unfortunately it doesn't actually stop the machine. Which is what I'm looking to try and make it do.

I'm wondering if it's possible somehow to analyse the data sent through the parallel port and check to see if there's any unusual data activity or voltage pulses sent along a certain cable when this alert activates. I have no idea whether originally this alert would stop the machine and so reading the data seems the only way to know for sure. I'm hoping then that there's some way to identify this specific stream of data or pulse and then have it trigger a micro switch which we can then use to stop the machine.

I'm an experienced IT user but my electronics experience is limited to basic tinkering with a Pi and an Arduino. That's not to say I'm not prepared to learn or advance my skills. Can anyone give me any advice on how I might be able to achieve my objective or recommend a piece of hardware to do the job?

Is there some sort of reader that can latch on the parallel cable and send the data to another device/laptop?
 

Reloadron

Joined Jan 15, 2015
7,501
A gentleman here who wrote some very good routines for the old Parallel Port was Eric Gibbs who may see this thread and have something to offer. The ideal situation would be to get a look at the original code for what you are running. Reading the parallel port should not be all that difficult depending on the application you are running and how things are getting done. Additionally if the code was provided to you then modifying the code is possible depending on what language and how it was originally written.

Ron
 
A parallel port controlling a CNC is a lot different than a printer.
FWIW: (Different topic) Lots of market choices exist to replace the floppy with USB especially for the Textile market.

Alternatively, you might be able to monitor a set of external events (the external sensors) with a small PLC and say detect, this piece moved 5x, so it's one set etc.
 

Thread Starter

rhorne

Joined Jan 19, 2017
9
The application running on the PC is an old DOS program. I don't have access to the source files so presume it to just be a compiled executable.
 

Thread Starter

rhorne

Joined Jan 19, 2017
9
A parallel port controlling a CNC is a lot different than a printer.
FWIW: (Different topic) Lots of market choices exist to replace the floppy with USB especially for the Textile market.

Alternatively, you might be able to monitor a set of external events (the external sensors) with a small PLC and say detect, this piece moved 5x, so it's one set etc.
I'm not sure how good USB support for DOS is, especially for a dinosaur of a PC like this. The floppy isn't really a problem as the patterns have been copied onto the hard drive.
 
I'm not sure how good USB support for DOS is, especially for a dinosaur of a PC like this. The floppy isn't really a problem as the patterns have been copied onto the hard drive.
No, no no.

Search for floppy emulator textiles

You;ll get: http://www.floppyemulator.com/category/applications/textile/ and more.

The emulator uses the floppy interface, but internally only it uses a USB drive. So, floppy signals control the USB drive.

Some systems can be networked across machines on their own sort of Ethernet network, others have a format package that needs to be run to turn a single USB drive into multiple floppies.

Many of these systems, apparently, didn't have a hard drive.
 

MaxHeadRoom

Joined Jul 18, 2013
28,617
I imagine on a loom you would not need any motion control of any kind, basically just I/O basis machine with a small operator interface.
This would be an ideal job for a PLC with a small HMI from the likes of Maple Systems.
I used a DOS based S/W for a very long time that could be customizable for Galil Motion cards. You do not need the overhead of Windows for simple motion applications and machines such as this.
There is a stripped version of DOS (7.1) and it has many of the features of windows such as long file names etc, also the ability to use USB port, just not hot-swappable.
But as others have mentioned you would need the platform it is written under and the source code to modify it, most likely.
Max.
 

Reloadron

Joined Jan 15, 2015
7,501
I would consider Max's post. I worked with some old automation running Windows 98 and earlier. Sooner or later you will need to come up with a better, newer control system, not "if" but "when". As Max mentions, this would be an ideal job for a PLC (Programmable Logic Controller). Less the actual code for what you have, working from a parallel port is not going to be easy.

Ron
 
@spinnaker

It wasn't my point that it was a CNC, but the notion that the machine is not character controlled or ASCII command controlled, but rather the parallel port is used like it was for CNC where determinacy mattered; meaning a finite time response to an interrupt.
 

Thread Starter

rhorne

Joined Jan 19, 2017
9
I appreciate all of your comments so far but maybe there's some misunderstanding or I'm not explaining myself very well. The PC currently running the software runs a bespoke DOS program that's only a few KB in size. I have no control over this software. I do not have the source code. I do not know what language it was written in. Nor do I know anything much about how data is sent through a parallel cable.

And yes, while the PC is a relative dinosaur, it's actually perfectly adequate for the job it's doing. Of course replacing the floppy drive with something more modern would be useful, but it's not really a concern as the two pattern files we use are saved on the hard drive and I have a full backup in case this machine eventually packs in.

I don't believe I have the technical know-how to replace the interface with a PLC, and even if I did, the loom itself still receives its input via parallel cable, unless you are telling me the PLC replaces this. But this all seems like it's over-complicating things.

In my mind, I imagined that when the PC sends the stop signal, it's just a voltage pulse or a specific stream of data along one of the strands in the parallel cable. I was hoping I could just identify this and intercept it and use this to fire a microswitch which is connected to the machine's stop mechanism. That's all. I'm not looking to strip out the guts, upgrade any components or bring it into the 21st century. This is a machine that's stood dormant for the best part of 10 years that we've finally gotten going and weaving again that I just want to be able to turn off when it completes a set run of repeats.

Thanks for your patience. You must all be tearing your hair out. :)
 

ericgibbs

Joined Jan 29, 2010
18,766
hi rh,
I am assuming that the loom has 384 hooks.

On the 25pin PC parallel port output connector.
the first Weft code is all 8 Bits for loom head registration sync.
followed by 48 times 8 Bit bytes of hook data, running at approx 90 Wefts/min

You could make a parallel port breakout PCB that shows the state of the 8 Bits of parallel hook data being sent to the loom head.

The problems would be recognising the 'repeat pattern', on which you want to stop the loom also you would have to find the pin on the 25way connector that gets the 'sync' pulse back from the loom into the PC program, saying 'ready' for the next hook data stream.

Eric
Are you in the Bradford area.?
 
Last edited:

Thread Starter

rhorne

Joined Jan 19, 2017
9
hi rh,
I am assuming that the loom has 384 hooks.

On the 25pin PC parallel port output connector.
the first Weft code is all 8 Bits for loom head registration sync.
followed by 48 times 8 Bit bytes of hook data, running at approx 90 Wefts/min

You could make a parallel port breakout PCB that shows the state of the 8 Bits of parallel hook data being sent to the loom head.

The problems would be recognising the 'repeat pattern', on which you want to stop the loom also you would have to find the pin on the 25way connector that gets the 'sync' pulse back from the loom into the PC program, saying 'ready' for the next hook data stream.

Eric
Are you in the Bradford area.?
Hi Eric, yeah we're in Haworth West Yorkshire. Are you knowledgeable in this field at all?
 

ericgibbs

Joined Jan 29, 2010
18,766
hi,
I have in the past, written programs for the PC parallel port.
Ref the DOS PC program, can you post the 'exe' file that you run.?
You may have to zip it or change the extension to say 'txt' to get it allowed by the site software.
also a copy of one of the floppy program files.
I could try to run it on my PC.

You say you get a screen 'flashing' message for a 'repeating' operation, what form does that take on the screen.?
also do you have an audible bleep when this happens.?

E
I am a West Yorkshire guy, doing missionary work in South..:rolleyes:
 

Thread Starter

rhorne

Joined Jan 19, 2017
9
Attached is the main program mce.exe with exe renamed .txt
The pattern file we are currently working on is also attached. 360METRE.ep with .ep renamed .txt

It runs in Windows through DOSBOX which is helpful but I don't know how to break apart the exe file to view the source code. There are a whole load of other files in the folder the executable came from, I'm not sure if they're depencies or not, if you want the whole lot then see attached mce.zip.

If you load mce.exe without 360METRE.ep in the same folder you'll receive a file not found error on opening. You can clear this off by pressing escape.

The flashing message just says something along the lines of REPEAT or REPEAT COUNT COMPLETED. I haven't heard an audible beep but I don't know without taking it apart if this PC even has an internal speaker connected.

Appreciate you looking into this and if you're an expert in this field, we may require your services in a more formal capacity. We have a loom technician just no-one that can edit the software or interface.

By all accounts the software sends the pattern to the jacquard, but when the machine weaves, the pattern doesn't weave in a contiguous manner. It jumps about a bit. What I mean by this is instead of going ABCDEFG ABCDEFG ABCDEFG it will go ABCFEGD ABCFEGD ABCFEGD. The ordering is mixed up, but it's consistent. I could send you a photograph of a sample weave to demonstrate this better if that would help. But this is kind of off tangent and much more than I'm hoping to achieve right now.
 

Attachments

DNA Robotics

Joined Jun 13, 2014
647
Status signals back to the computer only happen on 5 pins.

You can put LEDs on those wires to watch when they change. (with a 330 ohm resistor.)

If for instance, the ACK (acknowledge) pin lights up after each operation, you can count those pulses. Even if you have to use an opto-isolator to amplify the signal for a counter, to ring a bell, turn off the power to your machine, etc.

Parallel port.jpg

Parallel port 2.jpg
On second thought, those signals would happen so fast that you wouldn't notice them. But they could still be counted.
 
Last edited:

ericgibbs

Joined Jan 29, 2010
18,766
hi rh,
The mce.exe runs OK and I have used the Reko decompiler.
Does the 'Repeat Count Completed' message appear on the programs CMD window.
Please confirm this is exactly what the complete message shows.
E
 

Attachments

Thread Starter

rhorne

Joined Jan 19, 2017
9
hi rh,
The mce.exe runs OK and I have used the Reko decompiler.
Does the 'Repeat Count Completed' message appear on the programs CMD window.
Please confirm this is exactly what the complete message shows.
E
I believe the message is Repeat Count Completed, yes.
 
Top