We use a project template for setting up new customer projects. It already contains predefined Tasks & Programs we always need in our projects. Also our project template contains our default Axioline configuration with assigned process data. But when I send my template on a fresh PLC (after assigning the IP address, setting up users and sometimes an FW update to 2021.0.0 LTS) The PLC (AXC F 2152) is in “FAIL” state. (RUN LED is blinking green, FAIL LED permanent red and D LED permanent green) In the Output.log on the PLC I can find the following error: 19.03.21 08:53:30.507 Arp.Plc.Domain.Internal.PlcManager ERROR - Exception occurs while setting up plc component 'Arp.Plc.Gds': Exception of type 'Arp::System::Commons::KeyNotFoundException' was thrown GetBufferIDByFullPortName: Could not find portName 'Arp.Io.AxlC/1.~DI160' in fbIoPortsFramesMap at Arp::Plc::Gds::Internal::Connections::GdsConnectionInfosBuilder::CreateIoDataConnectionInfo(std::shared_ptr const&, Arp::Plc::Commons::Io::IIoProvider* const&, Arp::Plc::Gds::Internal::GdsMetaManager&, Arp::Plc::Gds::Internal::GdsContext&, bool) at Arp::Plc::Gds::Internal::Connections::GdsConnectionInfosBuilder::CreateDataConnectionInfo(std::shared_ptr const&, Arp::Plc::Gds::Internal::GdsMetaManager&, Arp::Plc::Fbm::FieldbusManager&, Arp::Plc::Gds::Internal::GdsContext&) at Arp::Plc::Gds::Internal::Connections::GdsConnectionInfosBuilder::CreateDataConnectionInfos(Arp::Plc::Gds::Internal::Config::GdsConfiguration const&, Arp::Plc::Gds::Internal::GdsContext&) at Arp::Plc::Gds::Internal::Connections::GdsConnectionInfosBuilder::CreateConnectionInfos(Arp::Plc::Gds::Internal::Config::GdsConfiguration const&, Arp::Plc::Gds::Internal::GdsContext&, std::map, std::shared_ptr >, Arp::Plc::Gds::Internal::Connections::ConnectionInfo, std::less, std::shared_ptr > >, std::allocator, std::shared_ptr > const, Arp::Plc::Gds::Internal::Connections::ConnectionInfo> > >&) at Arp::Plc::Gds::Internal::GdsDomain::Setup() at Arp::Plc::Gds::GdsComponent::SetupPlc(bool, Arp::Plc::Commons::Domain::PlcStartKind) at Arp::Plc::Domain::Internal::PlcComponentInfo::SetupPlc(bool, Arp::Plc::Commons::Domain::PlcStartKind) at Arp::Plc::Domain::Internal::PlcManager::LoadAndSetupPlcComponents(bool) at Arp::Plc::Domain::Internal::PlcManager::LoadAndSetupPlcInternal() at Arp::System::Commons::Threading::TaskQueue::ProcessTasksInternal(unsigned int) at Arp::System::Commons::Threading::TaskQueue::ProcessTasks() at Arp::System::Commons::Threading::TaskThread::RunInternal(void*) at Arp::System::Commons::Threading::Thread::RunThread(Arp::System::Commons::Threading::ThreadBinaryCompatibilityExtensions*) at Arp::System::Commons::Threading::Thread::RunInternal(void*) at Arp::System::Ve::Internal::Linux::ThreadService::RunInternal(void*) 19.03.21 08:53:30.508 Arp.Plc.Domain.Internal.PlcManager ERROR - Plc component 'Arp.Plc.Gds' returns false while SetupPlc(isChanging=false, startKind=Warm) was called. Because of the phrase [quote]Could not find portName ‘Arp.Io.AxlC/1.~DI160’ in fbIoPortsFramesMap[/quote] I determined, that the error occurs, because of the defined Axioline configuration. Now I always have to remove all my axioline devices, readd them and reassign the process data. Afterwards, when I send my project again to the PLC it’s running fine. Is there anything I have to do when keeping a predefined axioline configuration in a project template before sending it to a fresh PLC? We use PLC Next Engineer version 2021.0.2 and have FW 2021.0.0 LTS installed on our PLCs. Regards, Fabian
Hi Fabian, thanks for the very detailed description, this is absolutly helpful. Normally, of course, you don’t have to modify the local bus configuration everytime, so the idea having a template is the right way to go. But based on your description this seems to be realted to an issue we’ve seen once before. The behaviour is in detail currently under investigation, but it seems that under special circumstanced a change in the order of the localbus modules could lead to an invalid port configuration. This invalid configuration is detected from the firmware and a start of the project declined, basically is this what you can see in the log. After creating a new and working configuration you should be able to use it without the error comes up again. If not we should have a closer look in the project and maybe procedure. If so we should get in contact directly, can I contact you by mail? Have a great week, Frank