Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Exception when controlling a Task with type Status

Anonymous
2015-10-13
2015-10-15
  • Anonymous - 2015-10-13

    Originally created by: hm@pol.se

    I have an old project for v3.5.xx where a Task is controlled by a global variable. The task type is status.
    This worked fine with the old version but now when I have v 3.5.SP7 and the device Codesys Control Win V3 3.5.7.0 I get this exception when the variable turns TRUE.
    EXCEPTION [ProcessorLoadWatchdog] occurred in: App=[all], Task=[all]

    The code in the POU is a single ladder rung (no loops).

    What can be wrong, is there anything that I could have forgotten?

    /Hans

     
  • eschwellinger

    eschwellinger - 2015-10-13

    Hi Hans,

    hm, which plc are you using?
    any changes in the CODESYSControl.cfg?

    [CmpSchedule]
    ProcessorLoad.Enable=1
    ProcessorLoad.Maximum=95

    BR
    Edwin

     
  • Anonymous - 2015-10-13

    Originally created by: hm@pol.se

    The device I am using is the built in Soft PLC; Codesys Control Win V3 3.5.7.0
    The settings in my CODESYSControl.cfg are:
    [CmpSchedule]
    ;EnableLogger=1
    ;Timeslicing.Mode=Internal
    ;Timeslicing.PlcSlicePercent=80
    ;Timeslicing.PlcSliceUs=4000
    ;Timeslicing.StartOnProcessorLoad=1
    ;SchedulerPriority=5
    ;SchedulerInterval=1000
    ProcessorLoad.Maximum=80
    (I cant find ProcessorLoad.Enable)
    and I have not changed them, but maybe the update to 3.5.SP7 did?

    I tried to change to the values you suggested, but with no change (still exception)?

    Forgot to mention that I have upgraded to windows 10.

    /Hans

     
  • eschwellinger

    eschwellinger - 2015-10-14

    Hi Hans,

    there are 3 posiible reasons for this:
    - your application code really overloads the system (you need to check this by the Taskmonitoring in online mode)
    - Windows 10 influences the priorities / scheduling on Control Win (sure Cntrol Win is no realtime system - if you need realtime - 'Control RTE' is the right choice )
    - Bug in CODESYS, I see one entry which is solved for 3.5.SP7Patch2 but not really sure if this is exactly your problem (you could give it a try by updating to 3.5.7.20)

    BR
    Edwin

     
  • Anonymous - 2015-10-14

    Originally created by: hm@pol.se

    I have one task freewheeling (MainTask) and one activated with status of a GVL (t_manuell).

    When status of the GVL is true the this task activates and runs faster than the freewheling task and causes an exception (ProcessorLoadWatchdog). How is this possible?
    Can a task run faster than freeweehling?
    Is there a way to change this behavior (setting in Codesys)?

    /Hans

    IMG: Task_exception.PNG

     
  • Anonymous - 2015-10-15

    Originally created by: hm@pol.se

    I just installed the latest patch 3.5.7.20, but the problem remains.
    The task controlled via status of a global variable "gets in to spin" (runs more than 20.000 times faster than freewheeling) and causes the exception.

    One solution is to let the task, controlled by status, reset the global variable. This turns of the task and it will be run again when the variable becomes TRUE. With this workaround I donΒ΄t get the exception, but I thought this should be handled by the task-scheduler (am I wrong).

    Any ideas?

    /Hans

    IMG: Task_exception2.PNG

     

Log in to post a comment.