P9999¶
- Code
P9999
- Message
Capability is not implemented (yet!)
Analyzing the IEC 61131-3 source failed because the source contains elements that are not supported by this compiler. The elements are probably valid.
Because the compiler does not support the elements, the solution normally requires adding support for the elements to the IronPLC compiler.
avoid the particular elements (this is usually not feasible)
verify that you have the latest version of the IronPLC compiler
report the program so support can be added (see below).
Reporting the program¶
We can only add support for an unsupported capability once we can see the program that needs it. Sending us the program gives the best results, so please do — there are two ways, and no GitHub account is required:
From the IronPLC Playground (easiest). When a program produces P9999, a Submit Code button appears next to the diagnostic. Clicking it sends the program directly to the IronPLC team.
As a GitHub issue. Attach the source file (or paste it) so we can reproduce the problem.
Note
Whichever route you choose, the program you submit is shared with the IronPLC team and may become public — for example in a GitHub issue. Do not submit anything confidential.
Known Limitations¶
The following features are not yet supported in code generation and will produce this error:
ARRAYelement accessSTRUCTmember accessFUNCTION_BLOCKwith SFC bodiesSTRINGpass-by-reference (VAR_IN_OUT)Direct variables (hardware-mapped I/O such as
%IX0.0)Enumerated values in expressions and
CASEselectors
Think IronPLC is wrong about this?
If you believe this diagnostic is incorrect, open an issue on GitHub with a small sample that demonstrates the problem.