Redundancy Errors

celliott
2020-04-26
2020-05-04
  • celliott - 2020-04-26

    I'm trying to configure my 2 RPs with redundancy and I get the following errors.

    These 2 RPs are both Raspberry Pi Model 2B V1.1, both running Codesys V3.5.15.40 and both have a runtime licence.

    What do these errors mean and how do I fix this issue?

    [ERROR] Study Pi V2: Redundancy Configuration [CODESYS_Control_for_Raspberry_Pi_SL: PLC Logic: Application]: C0035: Program name, function or function block instance expected instead of 'RDCY.UnregisterAreas'
    [ERROR] Study Pi V2: Redundancy Configuration [CODESYS_Control_for_Raspberry_Pi_SL: PLC Logic: Application]: C0063: 'redundancy, 3.5.15.0 (3s - smart software solutions gmbh)' contains no definition for 'UnregisterAreas'
    [ERROR] Study Pi V2: Redundancy Configuration [CODESYS_Control_for_Raspberry_Pi_SL: PLC Logic: Application]: C0035: Program name, function or function block instance expected instead of 'RDCY.AreaRegister'
    [ERROR] Study Pi V2: Redundancy Configuration [CODESYS_Control_for_Raspberry_Pi_SL: PLC Logic: Application]: C0063: 'redundancy, 3.5.15.0 (3s - smart software solutions gmbh)' contains no definition for 'AreaRegister'
    [ERROR] Study Pi V2: Redundancy Configuration [CODESYS_Control_for_Raspberry_Pi_SL: PLC Logic: Application]: C0035: Program name, function or function block instance expected instead of 'RDCY.AreaRegister'
    [ERROR] Study Pi V2: Redundancy Configuration [CODESYS_Control_for_Raspberry_Pi_SL: PLC Logic: Application]: C0063: 'redundancy, 3.5.15.0 (3s - smart software solutions gmbh)' contains no definition for 'AreaRegister'
    [ERROR] Study Pi V2: Redundancy Configuration [CODESYS_Control_for_Raspberry_Pi_SL: PLC Logic: Application]: C0035: Program name, function or function block instance expected instead of 'RDCY.AreaRegister'
    [ERROR] Study Pi V2: Redundancy Configuration [CODESYS_Control_for_Raspberry_Pi_SL: PLC Logic: Application]: C0063: 'redundancy, 3.5.15.0 (3s - smart software solutions gmbh)' contains no definition for 'AreaRegister'
    Compile complete -- 8 errors, 0 warnings

     
  • eschwellinger

    eschwellinger - 2020-04-26

    There ist no version available for redudancy on Raspberry Pi, so no chance to get it up and runinng.

     

    Last edit: eschwellinger 2020-04-26
  • celliott - 2020-04-26

    Thanks for your response.

    I would like to make my application more reliable, I have a 3rd RP which is a Raspberry Pi Model 3B V1.2. If I purchase a MC licence, would this improve reliability?

     
  • eschwellinger

    eschwellinger - 2020-04-27

    what kind of problem do you have with reliability?
    Multicore just give to possibility to distribute parts of the application to specific cores.
    Maybe on a high loaded system this helps, but in general for better reliability ...

    BR
    Edwin

     
  • celliott - 2020-05-01

    My application requires up to 10 simultaneous remote users connecting via visualizations and I need my application running at all times, hence the attempt to use the redundancy configuration.

    I'm experiencing ad-hoc crashing of my application, most likely as a result of my programming but the root cause seems hard to find. When it does crash, I need to manually load up Codesys and stop/start the via menu "Tools - Update Raspberry Pi". I've tried to determine by looking through the "Runtime Info" logs for clues for the malfunction but I can't seem to spot exactly where it's crashing.

    So if redundancy is not an option for the RP, can my RP be configured to automatically restart the Codesys application on my RP or even automatically reboot the RP upon system crash? My apologies if this has already been covered elsewhere in this forum.

     
  • eschwellinger

    eschwellinger - 2020-05-01

    hm.. I would try to solve the root cause, try to improve the application - did you already use checkbounds and things like
    that?
    If it crash, is it just the CODESYS runtime or does the Pi freeze is unreachable by ssh?
    How often a week does it occure?

    I would start the runtime manually to get mot log information in case of an runtime crash.
    1. stop the runtime: by sudo /etc/init.d/codesyscontrol stop
    2. cd /var/opt/codesys
    sudo /opt/codesys/bin/codesyscontrol.bin -d /etc/CODESYSControl.cfg
    3. in a second CLI : tail -f /tmp/codesyscontrol.log

    In case of a crash you should see more information, first you need to know does it crash in the IEC code or does crash the runtime
    -> is there a coredump generated by codesys available -> crash in the iec code

    BR
    Edwin

     

    Last edit: eschwellinger 2020-05-01
  • celliott - 2020-05-01

    I get an error "command not found" when I execute the following.

    sudo /opt/codesys/bin/codesyscontrol.bin -d /etc/CODESYSControl.cfg

    Please confirm that it's correct.

     
  • eschwellinger

    eschwellinger - 2020-05-01

    Which version of the runtime do you use?
    sorry my fault

    cd /var/opt/codesys
    sudo /opt/codesys/bin/codesyscontrol_armv6l_raspberry.bin -d /etc/CODESYSControl.cfg

    and for Multicore:

    cd /var/opt/codesys
    sudo /opt/codesys/bin/codesyscontrol_armv7l_raspberry.bin -d /etc/CODESYSControl.cfg

    if the crash is in IEC the application it should be possible to go to the plclogger and rightclick on the exception line to get the line of code where it happens.
    So this is the first what youi need to do.

     

    Last edit: eschwellinger 2020-05-01
  • celliott - 2020-05-04

    I'm using SL version.

    Using this method of fault finding was invaluable and helped identify errors in my code which was really difficult to find otherwise, the main issue I found that my application was crashing because is was under very rare conditions entering into an infinite loop.

    Thanks for showing me this and I'll definitely use this in the future.

     

Log in to post a comment.