Sending numberical value via Dig IO

Oceansoul

Member
Join Date
Apr 2010
Location
England
Posts
307
Please see my other thread about my project here.

I am counting the number of people in a basement using many small cost effective PLC's but am required to display the total number in the control room. I plan on doing that but "sending" the number into an AB Compact logix PLC so I can then display on SCADA. I can do that bit fine, its the getting a value into the CLX from some other brand of PLC that I'm a bit struggling with.

My plan is to use a digital out from (which ever PLC make) small PLC wired to a digital input of the CLX. Then code the (which ever PLC make) small PLC to transmit the number by "pulsing" the output, and have the CLX monitor this. How would I go about doing this? I thought of (which ever PLC make) small PLC output low in its normal state, then every 5 minutes or so, go high for 10 seconds. When the CLX sees this going high for 10 seconds start counting the pulses. The (which ever PLC make) small PLC then pulses the output for the number of people in the basement. When the pulses have been sent return low. The CLX then moves the counted value to a tag that is read by SCADA. This I can make work, but if there is a large number to send I can see it taking a while.
 
You can certainly use shorter pulses, and if it were me I'd just encode my data in a nine-bit byte based on time after a reset pulse.

Long Pulse (500 ms) = Reset
Short Interval (100 ms ) State HIGH = 1
Short Interval (100 ms ) State LOW = 0
Short Interval (100 ms ) State HIGH = 1
Short Interval (100 ms ) State HIGH = 1
Short Interval (100 ms ) State LOW = 0
Short Interval (100 ms ) State LOW = 0
Short Interval (100 ms ) State LOW = 0
Short Interval (100 ms ) State LOW = 0
Short Interval (100 ms ) State HIGH = 1 (Odd Parity Bit)

The parity bit is the simplest error-checking method, and you can encode values between 0 and 255.

If you wanted to go faster, use three outputs from the micro PLC and implement a simple shift register with a RES, CLK, and DATA line.
 
If digital IO's are a plenty, you can do it that way too. I recently did similar to get an analog value from a NI LabView app into a CPX. Used 8 wires to give 0-255
 
I've done it using five wires to send four bits of data, with the fifth wire used as the "Data Ready" signal.
 
You could also multiplex the outputs. Where 3 bits are the position and 4 bits are the data. I did that once in a conveyor system where there was no communications available.
 

Similar Topics

I’m attempting to send a temperature from a SLC-5/02 to an EZiMarquee display. The vendor said to use a MSG instruction to send the data to the...
Replies
1
Views
81
Hi I need to send a null command down a comms port. But in the crimson software when i used /x00 it coming back "Cannot use null character is...
Replies
2
Views
418
I've been having some trouble figuring out how to get the ip address for the mail relay server, is it something that I need to create separately...
Replies
10
Views
908
Hi Everyone, We have Silo System which has temperature sensor and these sensor data will be communicating through RTU unit to the Dedicated PC...
Replies
2
Views
613
I've been trying to get this Ethernet module configured to send emails to our relay server but cannot get it to work. the EN2T is running...
Replies
7
Views
1,758
Back
Top Bottom