Search the Community

Showing results for tags 'sendunitdata'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 1 result

  1. Hi, Based on other information I've garnered on the web, my A-B driver currently initiates a session with an SLC or MicroLogix as follows: Step 1 - Register Session Step 2 - Forward Open (over CIP CM, encapsulated inside a SendRRData) Step 3 - Can now send read/write tag requests as needed (over CIP PCCC, encapsulated inside a SendUnitData) Please don't hesitate to correct me if I'm wrong, but this appears to be the typical way of doing things (although I've observed how RS/Linx works at a lower level than this to achieve high throughput when data monitoring). At the moment, step 3 executes synchronously. In other words, max one request goes out and my driver can't do anything else whilst it waits for the response. This obviously limits the efficient use of networking bandwidth. I know I can make up payloads which request multiple reads at a time but, regardless, the approach I want to take is to do some request/response matching using a unique transaction id field. In this way, it seems to me I can transmit multiple async requests and not be worried about the order in which the responses arrive. Reading the documentation, it seems that the "Sender Context" is almost purpose-made for this type of matching. The "SendRRData" command certainly responds with the "Sender Context" that I send in the original request. That's great. However the "SendUnitData" command doesn't do this; it always returns a Sender Context of zero. And yet PCCC tag read/write requests are typically sent using "SendUnitData" - so the Sender Context field is useless in that context ? Can PCCC tag reads/writes be carried out with "SendRRData" and, if so, are there are any payload examples of how it's done ? Thanks