RSLinx problem registering definitions from PIUNSOL.INI

Koos

Member
Join Date
Jan 2008
Location
Auckland
Posts
1
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?o_O

All suggestions gratefully accepted.

Koos
 

Similar Topics

Hi, I am having a problem with the CCW v20.1 from Rockwell. It is the first time I am using it, as I used to work with Siemens or RsLogix, but...
Replies
10
Views
2,014
Hello all. Just ran into a problem recently, and I’m guessing it might be somewhat common. I bought a license on 1/4/19 for RSLInx Classic –...
Replies
3
Views
5,720
Hey all, I'm trying to connect to a CompactLogix controller in RSLinx inside a VM. When I connect to the controller, I can see the USB symbol pop...
Replies
17
Views
7,781
Hi, It's seem like it's is easy to install RSlinx Enterprise, However i found some problems. I have : ---Windows 7 64bits ---Factory Talk...
Replies
2
Views
1,680
I have problem about RSLinx Enterprise (FactoryTalk View SE) as follows; 1) I create Device Shortcut name (such as name "ABPLC") and match...
Replies
0
Views
2,182
Back
Top Bottom