You are not registered yet. Please click here to register!


 
 
plc storereviewsdownloads
This board is for PLC Related Q&A ONLY. Please DON'T use it for advertising, etc.
 
Try our online PLC Simulator- FREE.  Click here now to try it.

---------->>>>>Get FREE PLC Programming Tips

New Here? Please read this important info!!!


Go Back   PLCS.net - Interactive Q & A > PLCS.net - Interactive Q & A > LIVE PLC Questions And Answers

PLC training tools sale

Reply
 
Thread Tools Display Modes
Old January 13th, 2008, 10:23 PM   #1
Koos
Member
New Zealand

Koos is offline
 
Join Date: Jan 2008
Location: Auckland
Posts: 1
RSLinx problem registering definitions from PIUNSOL.INI

Hi,
I have a problem with RSLinx communicating with Allen-Bradley PLC5/40E and PLC5/80E controllers that are programmed to send messages via PLC-2 type unsolicited writes. Our client application interfaces to RSLinx via the RSLinx DTL C-API, but the core problem is really with RSLinx and the PLC5.

The PLC's send MSG command is programmed as a "PLC-2 Unprotected Write" with the Target Device set as, e.g:
Data Table address: 200
MultiHop: No
Ethernet (IP) Address: CLIENT

Because of the "CLIENT" destination address in the PLC message instruction, RSLinx must register a message definition (from the "PIUNSOL.INI" file) with the PLC5 after it makes the CSPv4 connection, in order to tell the PLC5 where to send unsolicited messages.

The PIUNSOL.INI file has entries for each PLC5 unsolicited message instruction set as, e.g.:
[172.17.4.41]
0200=30

Where [172.17.4.41] is the PLC's IP address; 0200 is the message Data Table Address (as in the PLC MSG instruction); 30 is the message length (in Words).

Now this works fine when RSLinx is first started up; but if there is a temporary network outage then when RSLinx reconnects to the PLC5 it attempts to re-register to receive the unsolicted messages - sometimes this works OK but sometimes the PLC5 does not accept the registration, and then RSLinx (and any client application) cannot receive any unsolicited messages from the PLC.

The RSLinx Event Log has event message entries like the following:
11/28/07 09:29:58 172.17.4.41 Error receiving data from the Ethernet Interface
11/28/07 09:29:58 172.17.4.41 [10054] Connection reset by peer
11/28/07 09:29:58 172.17.4.41 CSPv4 connection has been lost
11/28/07 09:30:08 172.17.4.41 Attempting to reestablish a lost CSPv4 connection
11/28/07 09:30:29 172.17.4.41 Unable to establish TCP connection to the Ethernet Interface
11/28/07 09:30:29 172.17.4.41 [10060] Connection timed out
11/28/07 09:30:29 172.17.4.41 CSPv4 connection lost; timed out on socket write
11/28/07 09:31:10 172.17.4.41 Attempting to reestablish a lost CSPv4 connection
11/28/07 09:31:10 172.17.4.41 Device has accepted the CSPv4 connection
11/28/07 09:31:10 172.17.4.41 The station did not accept the message definitions from PIUNSOL.INI.
11/28/07 09:31:10 172.17.4.41 ERR=772 INFO=00000000 00000000

If the PLC then tries to send an unsolicited message it fails, and the instruction shows Error Code 1000(hex). (Note that normal solicited reads/writes to the PLC work perfectly, just the PLC can no longer send unsolicited messages to RSLinx).

RSLinx appears never to attempt to recover from this error state - it never resets the TCP connection to the PLC and appears to never retry to register to receive the unsolicited messages.

One way to recover is to stop and restart RSLinx - but this is not really acceptable when there is maybe only one or two PLCs out of a bunch of 50 or 60 that are not communicating properly.

I have spoken at length with Rockwell's technical support people but they haven't been able to provide a "proper" solution yet.

Rockwell have commented that PLC-2 type unsolicited messages are "old technology" and that the PLC code should be changed to use a PLC-5 type message, with the Target IP address hard-coded in the MSG instruction. Unfortunately we are unable to do this currently, because our customer's PLCs are currently communicating with an older system that uses Interchange instead of RSLinx. The PLC code has to remain compatible with both the old and the new interface software (Interchange and RSLinx), without any changes allowed to the system that is currently using Interchange.

Has anyone come across a problem like this in the past, or know how to make RSLinx and the PLC5 recover communications?
I can't find anything in the RSLinx API that lets the client application tell RSLinx it needs to reset a particular PLC connection.

As a further bit of information, our customer has another system (FactoryLink SCADA) that interfaces to the PLC5s using RSLinx and PLC-2 type unsolicited messages (virtually the same configuration as described above). Somehow FactoryLink and RSLinx on that system can recover the unsolicted message communications after a network outage, even after RSLinx has logged the error message "The station did not accept the message definitions from PIUNSOL.INI". I would love to know how FactoryLink achieves that! Any FactoryLink programmers out there?

All suggestions gratefully accepted.

Koos
  Reply With Quote
Reply
Jump to Live PLC Question and Answer Forum

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Topics
Thread Thread Starter Forum Replies Last Post
RSWho will not run russrmartin LIVE PLC Questions And Answers 15 November 8th, 2013 08:08 AM
RSLinx & DDE links Danocane LIVE PLC Questions And Answers 4 September 23rd, 2004 02:18 PM
Ab Plc5 Rio Problem. fernandes LIVE PLC Questions And Answers 5 March 7th, 2004 01:25 PM
PLC5/40 Backplane Problem????? Andrew Evenson LIVE PLC Questions And Answers 18 August 24th, 2002 07:06 PM
RSLinx communication problem ashley LIVE PLC Questions And Answers 9 July 30th, 2002 06:11 AM


All times are GMT -5. The time now is 12:33 AM.


.