Strange behaviour - cycle time very long

jinx
2015-05-30
2015-05-31
  • jinx - 2015-05-30

    Hi,
    I found out some strange behaviour (I think it is somehow linked with 1-wire devices configured).
    The fastest task (which has fastest cycle time defined - or is the first with the same fastest cycle time defined), takes unreasonable long time to execute.
    I have 4 tasks:
    1. I2C
    2. MainTask
    3. Onewire_scan (this one is empty)
    4. VISU_TASK

    Example1 - see cycle time definitions (the fastest cycle time and the first of the same 100ms cycle time is MainTask):
    1. I2C .. 101ms .. priority 2
    2. MainTask .. 100ms .. priority 1
    3. Onewire_scan (this one is empty) .. 5000ms .. priority 20
    4. VISU_TASK .. 100ms .. priority 31

    Example2 - see cycle time definitions (the fastest cycle time and the first of the same 100ms cycle times is I2C task)
    1. I2C .. 100ms .. priority 2
    2. MainTask .. 100ms .. priority 1
    3. Onewire_scan (this one is empty) .. 5000ms .. priority 20
    4. VISU_TASK .. 100ms .. priority 31

    Example3 - see cycle time definitions (the fastest cycle time 99ms has VISU_TASK)
    1. I2C .. 100ms .. priority 2
    2. MainTask .. 100ms .. priority 1
    3. Onewire_scan (this one is empty) .. 5000ms .. priority 20
    4. VISU_TASK .. 99ms .. priority 31

    Example4 - all cycle times set to 100ms BUT NO 1WIRE DEVICE IS CONFIGURED - all tasks run normally
    1. I2C .. 100ms .. priority 2
    2. MainTask .. 100ms .. priority 1
    3. VISU_TASK .. 100ms .. priority 31

    BR,
    Gregor

    IMG: example1

    IMG: example2

    IMG: example3

    IMG: example4

     
  • jinx - 2015-05-30

    I can confirm it is linked to OneWire device beeing configured.
    As soon as I configure only one DS18B20 1-wire meter I have problems with cycle time described above.
    If I delete all DS18B20 devices, cycle times are normal (so I think).
    BR,
    Gregor

     
  • eschwellinger

    eschwellinger - 2015-05-30

    Hi,
    you need to add a own task for the onewire handling,
    you Need to take care that you do not reference other outputs in this Task.
    Check this with the Taskdeployment.
    BR
    Edwin

    IMG: OneWireTask.png

    IMG: Taskdeployment.png

     
  • jinx - 2015-05-31

    Thank's Edwin,
    this is it. Defining task for onewire helps!
    The only comment I have with connected 4 DS18B20 thermometer, task for reading temperature takes 3.3 seconds, which I think is very slow. But now this is own task, so no problem.

    Thank you.
    Gregor

     

Log in to post a comment.