Starting with a new controller or after a factory reset, my typical process is to:
1. Use putty to setup ip address and hostname.
2. Connect via PLCnext Engineer and send project.
3. Program runs and works, but will not connect to profinet devices.
4. PLCnext Engineer > Project > Online Controllers, scan for device and apply settings.
5. Program runs and profinet devices are connected.
Is there a way around having to scan for the device and apply settings from PLCnext Engineer? I would like to be able to do this setup process without PLCnext engineer being connected over layer 2.
I'm pretty sure that Step 4 simply updates the file /etc/network/interfaces
Can you please check the contents of that file before and after Step 4?
It should be possible to make those changes to that file in Step 1, which should then make step 4 unnecessary.
Please let us know if that works.
Finally testing this again. My test process to eliminate as many variables as possible:
>
1. Factory reset type 2
2. Firmware upgrade via wbm. Tested with 2021.0.5 and 2022.0.4.
3. New template project in PLCnext Engineer- tested with 2021.0 and 2022.0.
4. Import GSDML file.
5. Add Profinet device to project.
6. Profinet - Online Devices and scan profinet. Apply project settings to device.
7. Send project.
It does not connect to the profinet device at this stage. It does not connect until going to Project - Online Controllers, scanning and applying project settings to the controller. The only difference I can see there is the "name of station". I do not know where that can be set via SSH.
> The goal for me is to avoid requiring PLCnext Engineer on the layer 2 network to get the device back up and running after a reset or replacement. If I can use WBM or SSH to configure the network for a routed network connection (layer 3) and send the project through that connection I will be happy. In this case, the profinet devices are already configured to the project settings so they should connect without scanning.
>
> /opt/plcnext/config/Io/PnS/PnS.local.config
> Replace @STATIONNAME1@ with the device name and @STATIONNAME1LEN@ with the length of the device name string. It's working so far.
>