Skip to content

PLCnext enters a FAIL state when running programs (that use the GDS ANSI C APIs to read/write digital IO) where the programs are configured to run under different ESMs

I am playing with the PLCnext AXC F 2152 starter kit. I have re-wired the digital outputs to the digital inputs.

I have written a C++ PLM program that read and writes to the digital outputs and I have written another C++ PLM program that simply reads the digital inputs. Both these C++ PLM programs use the ANSI C APIs (e.g. ArpPlcIo_GetBufferPtrByPortName, ArpPlcGds_GetVariableOffset and ArpPlcGds_BeginWrite/Read).

When I use PLCnext Engineer to configure both programs to run on the same ESM, it works as I expect. However, when I configure the programs to run under different ESMs, it crashes the PLC (the FAIL LED comes on and the PLC reboots into a FAIL state).

I want to understand why C++ PLM programs using the ANSI C APIs have to run under the same ESM when reading/writing digital IO?

Comments

  • Hello,

    This is a question that will require some quite detailed technical investigation. I would like to get some more information from you so we can reproduce the problem here.

    Is it OK if we contact you directly by email, using the address you used to register for this forum?

    Regards,
    Martin Boers.

  • It is fine to communicate to me via email. Thanks.

Sign In or Register to comment.