Thanks for the assist and explanation of the errors. It can be hard one can't find something in the documentation that tells the user what to change to fix the issue. Am I missing some import documentation somewhere?
A couple of issues.
The Insert Instructions has 2 Import modes. The default is to insert as rungs of logic into a specific location of an existing code block. The other is when you have an entire code block that you want to insert (not inside an existing code block).
I had no idea you could just delete even the code block part and import it as rungs. I couldn't find that anywhere in the documentation.
The code below imports without issue with
as rungs of logic: on
Ignore Element Documentation: on
Ignore MEM_CONFIG Sections: on
// Rung eventlogger2#1
// Offset 0
STR ST1
OUT C222
The issue is the exports allow me to export
without the mem config section included. Which is what I did. There was no memory config section to modify.
And the error message did not specify that I was missing said heap item definitions.
The same errors happen when I use I turn ignore mem config on.
But when I turn mem config on I then get a whole bunch of warnings and some errors because the mem config contains
all of the addresses including some that were made with the ethernet/ip setup that now give the error that the name is too long despite being made in the program and never getting any error messages on it before now and the program itself functioning fine on the plc.
[Error] why_does_this_not_import4_2.txt(495) User Data Type Name length is too long(17); maximum length is 16 characters
why_does_this_not_import4_2.txt(495) User Data Type Name must be 1 to 16 characters; no spaces, can contain only letters, numbers, and/or underscores, cannot start with a number; must be unique
It would be nice if the "Invalid Element Type" error message had at least some kind of hint like which part threw it off. But I get how many permutations there can be when designing error handling.
As for the error above how might I handle these errors, some don't make sense as I have the same _ in other assembly names. What's stranger still is the name appears twice in the mem config section when
no modifications were made in that section. only a simple replacement of "eventlogger2" with "event_logger4_1".
The main question now is:How might I handle these errors? That UDT is in a bunch of places in my code. Do I need to delete most of the mem config except for the heap items and import that?
VI_On_Off_inst112
// Field Name, Data Type, Memory Layout, Read/Write, Display Format, Data View Detail
VI_On_Off_1_16_B, UWORD, 0:0, Read-Write, Native, Short
VI_On_Off_17_32B, UWORD, 0:1, Read-Write, Native, Short
mem config section:
VIOnOffInstTwo VI_On_Off_inst112 decimal 1
VIOnOffInstTwo VI_On_Off_inst112 decimal 1