Skip to content

Reading axioline status via C++


Hello,


I am trying to go through the steps described in the example , and so far I have managed to run the first 2 steps ("Hello PLCnext" and Control Integration) of the example.

When trying to run part 3, I get the following:


I tried to do some debugging and I could find out which line leads to the InvalidOperationException, it seems to be here:

The problem happens in the function call to ArpPlcIo_GetBufferPtrByPortNam . How do we get this example to run? What should we check to make sure our set up is correct?

Comments

  • Hello,

    I can't see your project and source code to give you informaion about the root cause of failure.

    Please try to check follows:

    • The following function must be executed. Please check whether the function parameter “runtime” matches the process name configured in the .acf-config file:
    if (ArpSystemModule_Load("/usr/lib", "runtime", strSettingsFile.c_str()) != 0)
    
    • Please execute the following command line to set the capabilities (after uploading of "Runtime" executable to the plcnext target under directory "/opt/plcnext/projects/Runtime"):

    sudo setcap cap_net_bind_service,cap_net_admin,cap_net_raw,cap_ipc_lock,cap_sys_boot,cap_sys_nice,cap_sys_time+ep /opt/plcnext/projects/Runtime/Runtime

    Best Regards

    Eduard

  • Hi Eduard,

    Thanks for your answer. I had a look at the code and it indeed turned out to be that

    ArpSystemModule_Load("/usr/lib", "runtime", strSettingsFile.c_str()) != 0)
    

    had the wrong project name in it. Changing "runtime" to "Runtime" has resolved the error.

    Thanks!

    Rick

Sign In or Register to comment.