I wanted to share some findings on using MoveIoUnitToNumTableEx with a Groov EPIC controller, as the correct usage wasn’t immediately obvious and I had trouble finding documentation specific to the EPIC.
The Command:
MoveIoUnitToNumTableEx(YourIO_Unit, YourNumericTable, 0, 32);
The Float Table: Must be 512 elements in size.
Why 512? Even if you are physically using an 8-slot rack, the EPIC appears to poll all 16 possible module slots at 32 points per slot (16 × 32 = 512). If your table is smaller than 512 you will get a -3 error (overrun/wrong size).
Additional Notes:
-
This command was originally designed for SNAP PAC controllers, and its behavior on the Groov EPIC may not work exactly as originally intended or documented.
-
Using 32 points per module future-proofs your code — if you ever add a higher density module you won’t need to resize your table or change your command.
-
Credit to Opto22 support for helping resolve this.
Hope this saves someone else some troubleshooting time!