Symptoms
While the NetLinx master is running a program, the following runtime error is seen in diagnostics:
CipMan:RunMainLine - Null Table Error 6
In addition, modules defined in the program may not be working properly.
Cause
One known cause of this error is defining modules of different types in a mixed order.
Resolution
All modules of a certain type must be defined together. For example; the following pseudo-code would cause the runtime error:
DEFINE_MODULE 'A'
DEFINE_MODULE 'B'
DEFINE_MODULE 'A'
DEFINE_MODULE 'B'
This can be corrected by defining the modules as follows:
DEFINE_MODULE 'A'
DEFINE_MODULE 'A'
DEFINE_MODULE 'B'
DEFINE_MODULE 'B'
Note that this does pose a limitation on the use of modules: A module can call another module or be reused, but can not do both. For example, if module type B is defined within module type A, then the following situation occurs:
DEFINE_MODULE 'A' (calls DEFINE_MODULE 'B')
DEFINE_MODULE 'A' (calls DEFINE_MODULE 'B')
This is effectively the same as the original problem:
DEFINE_MODULE 'A'
DEFINE_MODULE 'B'
DEFINE_MODULE 'A'
DEFINE_MODULE 'B'