Trying To Make Two Controllers Talk Over I/O Wires

Just beware of the bits being totally wrong for a small read error.


If you have to use analog, what about pulsing the serial comm's above through the analog signal.


The address could be the analog value = 20mA = Bit 0, 19mA = Bit 1, for a pulse,. Then the next pulse is status, 20mA = ON, 12mA = Off




A better example for an error of -3:


0100000000000001 16385

0011111111111110 16382 Every bit is wrong
 
Back in the dark ages, before fancy networks, we would send 16 bit positions between the PLC and motion controller simply using a 16 bit parallel I/O card. However there had to be a hand shaking line too so the motion controller could tell when the data was valid. It was simple, expensive, but it worked. It did take two scans to send one 16 bit position. One to send the data and another for the strobe.

As for sending the data by analog. Geeze guys just think about it.
Yes, there is going to be noise so the lower bits of data are not going to be reliable. This means that the bits should be packed into the upper bits of a 16 bit word.
The spare bit should be at bit 0 for starters and the rest of the bits moved up one.
I can't see where the "own address" is useful because of the direct wiring. Where else is this data coming from or going too? That applies to the destination address too. So now there are only 5 bits that need to be packed in the upper 16 bits and the noise better not be that bad. What I don't like about the analog solution is there is no way to tell if the data is valid unless one filters the data and not see a change for so many scans.
 
If the DCS has a 300 ms cycle rate, then you could maximize the efficiency by sending a "clock" from the DCS to your PLC. Simply let ithe signal from the DCS alternate each cycle.
You PLC then updates the data that are being sent every time the clock changes. Since your PLC will be much faster than the DCS you dont have to worry about timing.


I dont understand the description of the signals. How many bits are the real data ?
 
UPDATE: We got this to work by using only 8 bits. 16 bits was out of the question, but even 12 bits, and then 10 bits failed the accuracy tests. But 8 bits turned out to be very stable and predictable. Ended up cutting the OwnAddress field to 4 bits, removing the PartnerAddress field (making it "implied" on both ends), but keeping the (4) individual, 1-bit fields for the "handshaking".

DID have to put in a "time filter" because the values would typically ramp up or down maybe 2 or 3 times before "settling out", but that was no big deal...
 
Last edited:
We did a lot of data transfer using digital io "ghettonet" back when fieldbuses were rare and expensive.

The trick is to use a strobe signal to send the data through. Run the strobe at 50% duty. Assert the data on the rising edge and read data on the falling edge.

If you want to go faster then send more than one bit at a time!
 
We did a lot of data transfer using digital io "ghettonet" back when fieldbuses were rare and expensive.

The trick is to use a strobe signal to send the data through. Run the strobe at 50% duty. Assert the data on the rising edge and read data on the falling edge.

If you want to go faster then send more than one bit at a time!

All that serial comms stuff sounds like fun, but we were able to consistently send the 8-bit value IN and OUT of Analog I/O cards and decode the bits on either end accurately every time. What I was seeing was - the values were always very close to actual such that rounding them always produced the correct number.

For example: if a number was "over" or "under" it was always by .2 or .3 at most, and rounding produced the correct value. So anything less than .5 got rounded down and anything greater then .5 got rounded up ... but I never saw any numbers in the "danger zone" of say, .4 to .6. Will it *always* be that way? I don't know. But for all the testing we ended up doing, it was.
 

Similar Topics

I can't seem to get the Panel View Plus 7 standard edition to downgrade to V_11, when I check the AB downloads and compatibility websites for this...
Replies
1
Views
97
Hi I used to be able to launch PLCsim without any problem. Now it tells me " STEP 7 Professional Licence is required to simulate this PLC"...
Replies
15
Views
454
Hello! When trying to load the hardware configuration I get error 0050-133 2 2458, check the diagnostic buffer. When checking the buffer, it says...
Replies
4
Views
128
We have a keg check weigher that that lost a fight to a forklift. The scale was previously a Systec IT3000, which was the only PROFIBUS slave...
Replies
5
Views
646
Back
Top Bottom