Industrial Communications

cancel
Showing results for 
Search instead for 
Did you mean: 

DeviceNet Polling Maximum Length?

I am communicating with a set of 4 Watlow EZ-Zone RM controllers over DeviceNet (LabView 2012 SP1, DeviceNet 2.2, NI 9882, cRIO 9014/9114).  I also have a separate control software I can use for manipulating these during the setup to make them start and stop communicating.  I am having an interesting problem with getting poll data from these units where it works for 2 of the controllers, but not when I move to all 4.  I use the basic LabView SingleDevice VI inside my LabView project to Poll data from the unit.  

 

For the set of controllers, there are always 4 status input bytes and then there are an additional [80 * (# of modules)] bytes on the input.  On the output, there are [80 * (# of modules)] bytes.  I can communicate and get data for 1 or 2 units with 84/80 and 164/160 I/O bytes respectively.  When I move up to 3 or 4 units and try 244/240 and 324/320 bytes, respectively, the program gives me an error.  I have made appropriate changes to the "DeviceNet IO Configuration" Type Def. to be able to set and request byte amounts over the default 256.  The program runs with the larger Type Definition, as long as I am only communicating with 1 or 2 modules.  Some one had indicated that I may only be able to pass 200 bytes during a poll, but they were unsure.  The Watlow team indicated that with other scanners (e.g. AB), other customers do not have trouble communicating with 4 units and only hit a limit above 5.

 

The problem seems to be indicative of a limit in the number of bytes I can poll from LabView using the NI 9882.  However, I was able to adapt the VI for showing the Input and Output Sizes from an NI example (http://digital.ni.com/public.nsf/allkb/04114873FFF97BB3482571990008758A) to show me that with 4 units connected my Input Size is 324 and my Output Size is 320.  This makes me think that it may be able to handle this size I/O.  Am I running up against some limits in I/O size or should I be able to work with Input and Output sizes this large in the number of bytes?  Please let me know if you need additional information to make an assessment on this question.

 

Thanks,

Michael

0 Kudos
Message 1 of 3
(6,261 Views)

I also forgot to ask in my last post whether there are ways to change limits on the maximum polling size if they do exist?

0 Kudos
Message 2 of 3
(6,231 Views)

Hi Michael, 

 

In the detailed help it defines the limits of the parameters: 

 

 

input length specifies the number of bytes that NI-IndCom for DeviceNet reads from the I/O connection. The default is 1. Refer to the Electronic Data Sheets (EDS) for specifications. The specific input length setting varies for the following connection types:

  • Poll, COS, and Cyclic—The input length is the same as the number of bytes of the remote device. The value ranges from 0 to 240.
  • Strobe as masterdevice MAC ID is not equal to interface MAC ID. The input length is the same as the number of bytes of the strobe response message. The value ranges from 0 to 8.
  • Strobe as slavedevice MAC ID is equal to interface MAC ID. The input length must be 1. You can obtain the input data consisting of a single Boolean value in bit from the master's strobe command message by using interface MAC ID. The Read DeviceNet IO VI returns this Boolean value as 
Jesse Dennis
Engineer
INTP
0 Kudos
Message 3 of 3
(6,192 Views)