In Progress

TCP/IP to SLC-500 Hardware DLL Needed

I need a DLL written in C# .NET 4.0 (Anything between 2.0 and 4.5 is OK, 4.0 is preferred because I am using Visual Studio 2010). This DLL will communicate between another C# program and a TCP/IP socket to an Allen Bradley SLC-500. The SLC-500 is an older piece of hardware with relays inside and a a few inputs. I have a few sources I have gathered from around the internet, but in reality I have no conclusive evidence of what protocol this thing understands or how to talk to it. I am almost certain it is a PCCC protocol. I have captured a full TCP stream in hopes of decoding it. I have also downloaded a .NET DLL by AutomatedSolutions. I can talk to it in that it receives my commands and I get an OK status back, but nothing actually happens on the unit itself.

I will provide any hardware level detail I can. I also have a developement machine plugged into the physical hardware with Visual Studio running on it for you to program in, or at least play around with. In addition, there is a webcam on the laptop pointed at the valves this SLC-500 controls. If something works, you will see physical action in the webcam.

The final high level interface to this DLL from the software side is fed from a spreasheet. One line is:

Valve3_0 10772 [PLC1,N10:2]

This says turn Valve 3 in sequence 0 on PLC1, Node 10:2 to value 10772 (decimal integer). I should be able to pass this into a function sendToSLC500(ip, port, nPLC, node, value) and something should happen.

I should also be able to readFromSLC500(ip, port, nPLC, node) and have it return a value.

Two of the few available manuals that mentions programming protocols for the SLC500 are attached. The *.pcap file is a wireshark sniff while an old unit is operating the valves.

An example of one of the hundreds of captures is:

0000 00 30 64 03 0c 8b 00 00 bc 1e 7f 53 08 00 45 00 .0d........S..E.

0010 00 50 b2 55 00 00 40 06 ae d8 0a 00 02 bd 0a 00 .P.U..@.........

0020 02 be 08 ae 04 25 87 e5 a2 20 00 1b 00 58 50 18 .....%... ...XP.

0030 0b 68 a7 4c 00 00 02 07 00 0c 00 00 01 01 00 00 .h.L............

0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

0050 00 00 00 05 00 00 4f 00 d4 72 00 80 85 1d ......O..r....

Note that that is the full TCP stream with IP headers and everything. The data itself starts on line 0030, 7th byte in (0x01, followed by 0x07) and is 42 bytes long and goes to the end of the stream.

Skills: C# Programming, Engineering, Industrial Engineering, Socket IO, Software Architecture

See more: what is r programming, what is an interface in programming, studio d4, socket programming in c, slc 500 programming, programming laptop, node programming, net socket programming, laptop for programming, high level programming, high end engineering, c# hardware programming, allen bradley software, wireshark, valves, tcp, tcp socket, tcp programming, tcp ip, tcp c#, tcp / ip, studio l, software developement, sniff, sharp turn

About the Employer:
( 10 reviews ) Colorado Springs, United States

Project ID: #4986249

3 freelancers are bidding on average $116 for this job


Hello. I've worked with similar task with other device. I'm introducing with your requirements and I'll adjust my bid if necessary.

$123 USD in 6 days
(995 Reviews)

I have vast development/debugging experience in TCP/IP socket level networking protocols/applications/programs in both Linux and Windows platforms. In addition, we also have software development skills in C# and .NET. More

$100 USD in 5 days
(0 Reviews)

I think the easiest way to make this work might be an OPC server running on the windows machine. You should be able to directly call the OPC server from your code to relay commands to and data from the PLC. I'm not s More

$125 USD in 10 days
(0 Reviews)