Proficy Modbus TCP Error A890H

tearoscarlet

Member
Join Date
Jan 2014
Location
MA
Posts
12
Hi all!
I have an RX3i with an embedded ethernet port. I am successfully connecting to some remote IO using Modbus tcp. However, if I issue my comreq command sequence too frequently I get an A890H error code described as "Channel Resources in Use. Try the command again; a resource will become available." per http://platforma.astor.com.pl/files/getfile/id/9043 .
Basically if I only call up my comreq command routine once a second then I have no problems. If I try to do it any faster then I get this error code. It looks like my sweep time is under 2 ms. I also have some bits that make it so that if the comreq sequence routine is in the middle it cannot be called again.
I have 4 comreq command sequences to different devices and if I trigger any of them faster than 1 second * the number of devices then I get this error.

This can't be the fastest that the Rx3i can issue modbus tcp?
Any help would be appreciated!
 
What COMREQ command code are you executing when you get the error code? What is the sequence of COMREQ commands you are using for each device? You should probably be using a different channel for each physical device. The Rx3i can have up to 32 channels open simultaneously.
 
I am issuing the open then the read multiple registers and then close. Each is on a different channel, 4,5,6,7. I'm just wondering what resource this error code is talking about that is currently in use. Has anyone else seen this error code? Maybe I shouldn't be opening and closing the modbus channel for every read or write, but that should still work. Even if I only do one device this error code still happens when I query it quicker than 1 second.
 
Opening and closing channels take time.
My reading of the A890 fault code description of "channel resources in use" is that it doesn't point to a specific channel, but rather that CPU resources associated with opening or closing channels aren't available. That's based on the next sentence, "Try the command again; a resource will become
available."
I would suggest opening the channels once and leaving them open as long as your read requests are successful. Then see if you can't get a faster polling rate. Monitor the COMREQ status word to make sure each COMREQ command executes successfully before executing the next one.
 
Thanks for the suggestion. I'll try leaving it open and closing it when I'm done. I'm already monitoring the status word and not doing another request if it's faulted. If it faults I issue a close request and then try again. This allows it to recover from the error code. How can I increase the polling rate? When I'm online with the PLC it says the sweep time is 2ms.
 
How can I increase the polling rate? When I'm online with the PLC it says the sweep time is 2ms.
The PLC sweep time does not have a significant impact on the throughput speed of Modbus TCP transactions. All of the COMREQs are executed in NOWAIT mode, which means that the ladder logic solution continues while the COMREQ is executed.
To poll as fast as possible, write a value of zero to the COMREQ status word just before you execute the command. When a value of 1 appears in the word, you know that the COMREQ has executed successfully and you can execute another. Any other non-zero value is an error code
 
I suggest saving those error codes in a rotating stack of 3-4 and if you get about 3 in a row throw up a flag for someone to check into them
 
It appears that if I leave it open that I do not get this error code and I am able to read/write a little faster than every 100ms. I was writing a zero to the status word before every comreq command already, so all i had to do to modify my code was not to close the port every time. On first scan I open the port and if there is an error code in any of the status words than I close the port and re-open it. Thanks everybody for their help!
 

Similar Topics

Hello, I' working with Proficy ME 5.7. I must acquire data from a controller by MODBUS TCP. This controller requiers, before the data to be...
Replies
4
Views
4,320
I'm looking for some help with an old Alspa C80-35. I've purchased the Proficy ME sofware and I have uploaded the programme from the PLC. I...
Replies
3
Views
3,770
Has anyone migrated Proficy Historian data to a new server? I followed the guide to move all the data over, but when I run the utility, it stops...
Replies
0
Views
45
I'm getting frustrated creating arrays of variables in Machine edition. I need to make 2 variable arrays that are 102x2 in size, with varying...
Replies
3
Views
103
Hi I am wondering if the RXI-042 PLC model (below PN) is programable via Proficy Machine Endition, if so, what is the firmware version needed for...
Replies
2
Views
95
Back
Top Bottom