Hi All
While learning ignition i am trying to improve my troubleshooting skills when things don’t work as intended. At the moment i would use the following tools:
Messageboxes - helpful but far from ideal as they can brake the flow of the logic. Also easy to forget to remove when they are not needed.
Designer preview - very helpful to preview the values of the variables but designer does not load all components the same as the Client. Also designer is limited to previewing 1 screen only
Logging values using designer and print command which will show the values in the console
Using diagnostic tags to captue the values of the tags
Devtools for opening gateway page and checking network communication
Questions:
Do you have any other preferred tools for troubleshooting ?
In general why ignition cannot provide at least similar environment as visual studio for monitoring variables etc. - is it hugely complicated or rather impossible task due to the fact that there are so many different components and jython, internal language combination used? Also the code in ignition is interpreted rather than compiled.
In Wincc there was visual basic script debugger which was giving useful preview of the call-up path with the last values on each function. Is this function not possible in Ignition due to the fact that Ignition does not use ADSI microsoft data model? sorry if i wrote any nonsense here
Can i log “print” commands while operating Client to the wrapper file?
Thanks for great list. I am just downloading pycharm to have a look.
I am impressed by @pturmel and @JordanCClark knowledge and that they find time to answer all these strange questions
Learn what certain error messages mean. For example, what does a SyntaxError (you probably miscounted whitespace), an AttributeError (you tried myComponent.nonExistantPropertyOrFunction), a KeyError (you tried myDictionary['nonExistantKey']), etc.
Given the close interaction between databases and most Ignition programs, it’s also beneficial to also learn what errors from the database mean(and know that they come in as a java.lang.Exception instead of python errors), like a constraint violation etc.
I know this isn’t really a “tool” in the way you are asking, but it’s an invaluable skill in debugging to know what errors typically mean.