Hey guys,
I’m currently working with an X20MM4455 PWM motor controller, and I’m getting this warning on every process variable I’ve mapped to it:
Not possible to clearly determine the task class of source variable “[Tag Name]” using automatic detection. Please assign task class manually
My program and motor controller works seemingly fine, but I’d still like to know what this means. And, how do I assign a task class manually so that this warning goes away?
it’s because of the IO mapping. If you map your IOs, there also is a column with a dropdown where you can select “Automatic” or “TaskClass#1”, …
If it’s set to automatic, it can be that the usage of the variable in your program isn’t distinct, so the AS can’t determine the “correct” task class for this datapoint. It sets, in which context the connected variable is updated. To “solve” this warning, you’ll have to set an update cycle manually!
Just a small hint: The Taskclass column can be hidden in the io-mapping. In this case you can right-click on the header and select columns in the menü. There you can show/hide the “Taskclass” column.
When using variables defined as local variables, the compiler knows the cyclical task and automatically assigns the correct value.
When variables are not local variables (i.e. global variables), the compiler cannot assign cyclical tasks. These variables can be used across the project so more than one cyclical task. In this case, you must select the right cyclic to refresh the variable. Per example, you could set all at cyclic#1.
Maybe in your project the variables you are using are not declared locally. The compiler cannot automatically assign the cyclical task.