PLC-5/40c read throgh serial port in ML1400

PrasannaP

Member
Join Date
Jan 2018
Location
Bangalore
Posts
10
Hiii.

i am trying to read the PLC-5/40c data to the ML1400 PLC throgh channel 0(25 pin to 9 pin pin configuration). When i downloaded the program in PLC-5/40C, error code of 89 occurs (Processor's messagebbuffer is full). Can anyone help me to resolve this error.

IMG-20180124-WA0004.jpg
 
Last edited:
Welcome to the PLCTalk forum community !

In general, I'd recommend a "SLC Typed Write" command, though the MicroLogix 1400 will accept a PLC-5 message command.

If your controller has a program that has used up all of the available communications buffers, it's possible that this MSG instruction doesn't have one available.

I also recommend a screenshot of the MSG instruction configuration. Be sure that you are triggering it based on an event or a repeating timer, rather than simply re-triggering it every time it completes or errors.
 
Thank you for the follow-up screenshots. I don't have a full computer to comment at length right now but want to post my thoughts.

First:. MSG instructions do not need to be used in pairs, which is what I think you are describing. A Write message in one controller does not require a corresponding Read message in the other controller. The operating system in the target controller handles the data automatically.

The screenshots you posted perform the kind of MSG trigger logic that I recommend against. In that program the MSG will re-trigger every time it completes or errors, which uses up more buffers and bandwidth than the 2-second timer preceding it suggests was intended.
 
ok. i will setup msg instruction in ML1400 as PLC-5 Read for reading data from PLC-5 serial communication.

i have attached the screenshot of the channel0 configuration in PLC-5/40 and Channel2 configuartion in ML1400 for read PLC5 data in ML1400 serially. Whather the configuration i did is correct?

Thanks
 
I would change the Communication Mode on the PLC 5 to "System (Point to Point)".

And the Driver on the Micrologix side to "DF1 Full Duplex".

It might help to speed up the baud rate also, but thats up to you.
 
I would change the Communication Mode on the PLC 5 to "System (Point to Point)".

And the Driver on the Micrologix side to "DF1 Full Duplex".

It might help to speed up the baud rate also, but thats up to you.


As per said i change the full duplex in ML1400 and system point to point, but now also iam not getting data
 
How is the cable wired? the way you have it configured, you should need a simple 3-wire cable. Rx from one PLC goes to Tx on the other and vice versa. Gnd to Gnd on both.
 
How is the cable wired? the way you have it configured, you should need a simple 3-wire cable. Rx from one PLC goes to Tx on the other and vice versa. Gnd to Gnd on both.


Yes sir.
I did the wiring as you said. Tx to Rx , Rx to Tx and Gnd to Gnd. And I configured msg setup in ML1400 as PLC-5 read in channel2
 
It is correct to have set up the controllers for DF1 Full Duplex point-to-point communications instead of DF1 Half Duplex Master/Slave.

It is also correct to set the data rate (19200) and the Error Checking (CRC) the same on both controllers.

Remember that the 25-pin and 9-pin RS-232 ports do not use the same pins for the same functions.

DB25 to DB9
Tx 2 to Rx 2
Rx 3 to Tx 3
Com 7 to Com 5

Disable or remove the MSG logic in the PLC-5/40C so that it does not overwhelm the PLC-5/40C message buffers or the MicroLogix buffers.

Now that you have everything configured correctly, show the configuration of the MSG instruction in the MicroLogix 1400 and the value of any Error codes you are getting from that MSG instruction.
 
It is correct to have set up the controllers for DF1 Full Duplex point-to-point communications instead of DF1 Half Duplex Master/Slave.

It is also correct to set the data rate (19200) and the Error Checking (CRC) the same on both controllers.

Remember that the 25-pin and 9-pin RS-232 ports do not use the same pins for the same functions.

DB25 to DB9
Tx 2 to Rx 2
Rx 3 to Tx 3
Com 7 to Com 5

Disable or remove the MSG logic in the PLC-5/40C so that it does not overwhelm the PLC-5/40C message buffers or the MicroLogix buffers.

Now that you have everything configured correctly, show the configuration of the MSG instruction in the MicroLogix 1400 and the value of any Error codes you are getting from that MSG instruction.

Thank you.I have set the configuration as below attached file. And i deleted the msg setup in PLC-5 write in PLC-5/40C, oonly i setup an msg instruction in ML1400 only as PLC-5 Read.


Please tell me if there is any changes i have to make.
 
Last edited:
Thank you for those screenshots !

It looks like your configuration and addressing are all correct, but the ladder logic that manages the MSG instructions is causing your problems.

Your MicroLogix 1400 screenshot shows that the .EW bit is set for that MSG instruction control block. The "Enabled and Waiting" status bit indicates that this particular MSG instruction is waiting for an available communications buffer in the controller operating system.

I know the SLC-5/03,4,5 controllers had just 4 simultaneous message buffers. I'm not sure how many the MicroLogix 1400 has.

I can't see the ladder logic you are using, but the fact that you are using an OTU (unlatch output) instruction addressed to the Enable bit suggests that you are re-triggering the MSG continuously.

While this method is often shown in sample logic (including in some Rockwell reference manuals) it is not appropriate for systems that need to communicate with large numbers of remote devices. Your program list shows several routine names that suggest that your MicroLogix is communicating with an ABB device and the PLC-5/40 and maybe with other devices.

Examine the MicroLogix 1400 program and see how many MSG instructions you have, and change them to logic that does not automatically re-trigger them by unlatching the Enable bit. In my opinion, the only MSG instruction status bit that should ever be manipulated in logic is the .TO bit, which causes the message to go through an orderly shutdown as though it has timed out at the operating system level.
 
The attached screenshot is an example of how I prefer to use a repeating Timer to trigger MSG instructions.

The .EN bit is used to prevent re-triggering of the MSG instruction while it is still in process, which would put another MSG into the operating system message buffer.

I do not recommend using the self-retriggering method, or ever manipulating the .EN bit with an Output (OTU or OTL or OTE) instruction.

Repeating_MSG.PNG
 

Similar Topics

Hello, I am doing a positioning application for a paint spray machine. The horizontal indexing of the paint gun is done by a Tooth belt axis...
Replies
1
Views
1,651
I have a customer that has (well had) a 1747-L40C, and drop the machine off the truck... it did not like the fall :) So they have a paper print...
Replies
3
Views
2,626
G
I am new to this. I have a slc500 1747-l40c plc, and do not know how to connect to the dh-485 port on it. Can i use a straight cat5 cable and my...
Replies
11
Views
15,405
Hello, I'm trying to delve a little into rs-485 communications for a couple projects of mine. Until now I've been using a delta vfd and a delta...
Replies
2
Views
18
Greetings All, I recently decided to start freelancing in Controls and Automation part time, most of my experience has been with Rockwell...
Replies
2
Views
63
Back
Top Bottom