I think you may be wrong, I believe you can add eliments to a UDT in a contrologix Ver 15 online. Of course you cannot delete elements that are used. Someone correct me if im wrong.
This is correct, and important to note if you want a clear understanding. When creating tags, you must select a data type - either a pre-defined type or your own specialised user-defined type. You can declare arrays of any type.
From version 15 on, you can create UDT's on-line, and as long as there are no tags of that type you can edit or delete the UDT.
The memory in the array needs to be in contiguous locations. Expanding the array would require memory to be shifted around to keep it contiguous. This can not be done (yet) while the processor executes logic that effects that memory.
Interestingly, this was not a problem in the PLC-3. Data files could be created, expanded, shrunk, deleted on-line. There were firmware routines to "gap" and "ungap" memory.
Not being able to resize an array online is not normally a problem. You can just create a new array and change the tags in the programme. You can then rename the affected tags online if necessary (ie if tags are used by SCADA) and delete the old tag.