Like always, bump the silecs version via eclipse context menu.

However, this time as well some C++ calls in the silecs library have changed (massive internal simplification). If you are using one of these calls in non-generated code, you will need to fix that code (you will get build errors otherwise).

Here the calls which have changed:

Old:
Silecs::PLC::connect(x,y,z)

New:
// First argument is not needed any more, PLC will automatically use "FULL_SYNCHRO"
Silecs::PLC::connect(y,z)

Old:
Silecs::PLC* pPLC = pCluster_->getPLC*(pDevice->plcHostName.get());

New:
Silecs::PLC* pPLC = <classnname>::getPLC(pDevice);

Old:
Silecs::Device* pPLCDevice = pPLC->getDevice("SilecsHeader");

New:
Silecs::Device& pPLCDevice = pPLC->getDeploy()->getHeader();

New:
Silecs::Device& pPLCDevice = pPLC->getDeploy()->getDesign("designName");

Old:
pPLCDevice->getRegister("myreg")->getValString();
pPLCDevice->getRegister("myreg")->getValUInt32();
pPLCDevice->getRegister("myreg")->setValUInt8(42);
...

New:
pPLCDevice->getRegister("myreg")->getInputValAsString();
pPLCDevice->getRegister("myreg")->getVal<uint32_t>();
pPLCDevice->getRegister("myreg")->setVal<uint8_t>(42);
...
Topic revision: r2 - 11 Sep 2024, AlexanderSchwinn
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback