YoungWint said:
Think with a bit of jiggery *****y got the cable correct.
How do you know if you've "got the cable correct" ?
From the pin out table on page 10 it may be confusing as it shows the RJ45 pin 3 on the same row as DB-9 pin 3,
and likewise pin 4 on same row as pin 2.
This might suggest you connect pin 3 to 3 and pin 4 to 2.
Make sure you are sending pin 3 Transmit(TXD) on the RJ45 plug side to pin 2 Receive(RXD) on the DB-9 plug side
and RJ45 pin 4 Receive(RXD) from DB-9 pin 3 Transmit(TXD).
Pins 5 to 5 GROUND are ok as shown.
YoungWint said:
...I am working on an application that is to communicate with a Micro Link (Churchill) controlled over DF1 (9 Pin)...
...The connection on the Micro Link is referred to as bus link and is an RJ45 connector...
...Have assumed the micro link requires the data to be set as a SLC Type Message with an associated file number...
My initial assumption from this info is that it's an RS232 DB-9 port on an SLC or MicroLogix controller?
Either way, it appears to be an RSLogix 500 based controller you want to connect to?
Set up the Micro_Link "Global Configuration" for "Allen Bradley" as shown with "9600", "8", "1", "No parity", "RS232". Under "Bus Link scanning options" select "Master" mode. This will allow the Micro_Link to poll the PLC. Note the command timeout instructions as the Micro_Link only operates Half Duplex, so set those as described.
Under "Data_Link options", when "Station address" is set "0", the Micro_Link is referred to as the "Basestation". Any other Station address from 1-250 sets the Micro_Link as an "Outstation". Leave this at "0".
They have shown an example setup for DF1 on a ControlLogix controller, which is set for "DF1 Point to Point". This option is not available on SLC or MicroLogix DF1 ports, so I would use "DF1 Half Duplex" protocol on your controller, as you are setting up a Master/Slave configuration.
Set Baud rate "9600", set Node Address "1", Parity "NONE", Control Line "No Handshaking".
Also note the error checking method to be set in the PLC is firmware version dependant. So you'll need to check whether your Micro_Link's firmware version is pre(BCC) or post(CRC) v3.18 and set accordingly.
Is the Micro_Link monitoring some process value(s) that you want to send to the PLC? Or digital inputs? Which Data Type? Or is there more than one in use?
Assuming you are trying to send/receive to an RSLogix 500 based Allen Bradley controller, you have to setup, or allocate, the N Registers(Integer) or B Registers(Binary) needed in the PLC. Again this is dependant on what data type you are trying to send/receive?
The Micro_Link uses 16bit registers split into two-bytes(8bits each).
The most significant byte(bits 8-15) represents the PLC File Number.
The least significant byte(bits 0-7) represents the PLC Element Number.
The Micro_Link auto sets the data type(N,B) byte that is sent or received, depending on the data type in question.
If sending an analogue data type from the Micro_Link to the PLC, a data type byte value of 0x89(integer) will be sent in the command,
and the File/Element Number will be preceded with N.
If decimal data type, then 0x85(bit) will be sent and the File/Element Number will be preceded with B.
If, for example, one N Register is needed in the PLC to store a value, and it's N7:0. For the Micro_Link mapping table you need to convert this PLC register to a two-byte number.
So this is File 7, Element 0.
To work out the mapping table address for N7:0 = 7 x 256 + 0 = 0x700(HEX) or 1972(DEC)
Example:
To send the value of analogue input 1 from the Micro_Link to the PLC address N7:0, set the parameters in the mapping table so the Data Routing Table entry evaluates to:
Local Analogue Input 1 -> Bus_Link Add 1 *Analogue i/p register 1972
As a "WRITE" message command is configured here between the Micro_Link and the PLC, a message instruction is not needed to be set up in the PLC. Likewise for a "READ" command.
If you get the comms established, then it should only be a matter of figuring out what data you want to send or receive and configuring the Data Routing Table. Do all your send/receive via the Micro_Link Data Routing Table.
This is just how I would set it up initially having read the info.
G.