the application behaves differently when we start the application via CmpApp.AppStartApplication(pApp) than when we press the "Start" button in online mode in the IDE.
Unfortunately, it looks like the AppStartApplication() function, which is called in the "StopDone" system event, is not able to restart the fieldbus driver correctly, in our case the EtherNet_IP_Scanner:
One workaround is to create a second application which is started after the rested of the main application.
The second application starts the main application after time x and is rest after done start of the main application.
No problems during the fieldbus re-start by this workaround.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
In our application with CODESYS V3.5 SP19 Patch 5 and the Soft-PLC
Name: CODESYS Control Win V3 x64
Typ: 4096
ID: 0000 0004
Version: 3.5.19.50
the application behaves differently when we start the application via
CmpApp.AppStartApplication(pApp)
than when we press the "Start" button in online mode in the IDE.Unfortunately, it looks like the AppStartApplication() function, which is called in the "StopDone" system event, is not able to restart the fieldbus driver correctly, in our case the EtherNet_IP_Scanner:
Name: EtherNet/IP Scanner
Hersteller: 3S - Smart Software Solutions GmbH
Kategorien: EtherNet/IP Scanner
Typ: 100
ID: 0000 100B
Version: 4.5.1.0
Bestellnummer: 1
And one EtherNet/IP adapter
Name: FANUC Robot R30iB Plus
Hersteller: FANUC Robotics America
Kategorien: EtherNet/IP Remote Adapter
Typ: 101
ID: 356_12_4_3
Version: Major Revision=16#3, Minor Revision = 16#1
Beschreibung: EtherNet/IP Target imported from EDS File: fanucrobot0301_r30ibp.eds Device: FANUC Robot R30iB Plus
Version Konfiguration 3.5.6.0
The application was cold reset in both cases via
CmpApp.AppReset(pApp := pApp, usResetOption := CmpApp.RTS_RESET_COLD
.Does anyone know the difference between the functions or services executed by the "START" button in online mode and Cmp.AppStartApplication()?
Thanks and best regards,
markushunter
Last edit: markushunter 2024-03-20
One workaround is to create a second application which is started after the rested of the main application.
The second application starts the main application after time x and is rest after done start of the main application.
No problems during the fieldbus re-start by this workaround.