This guide explains how to set up and configure the FESTO MPS system.
π FESTO MPS
ββ¬οΈ Cable Connection
π PLC
ββ¬οΈ Modbus Protocol
π Raspberry Pi (CODESYS)
ββ¬οΈ OPC UA Protocol
π₯οΈ Dinasore (4DIAC-IDE)
-
If everything is functioning correctly, no configuration is required! Simply connect the factory system to power, and everything should run automatically.
-
However, if there is an issue with the PLC or Raspberry Pi, check the configuration steps below.
- Schneider
-
The communication is established via a blue interface cable with a DIN plug. This cable contains an FTDI chip which requires the CH340 Driver (USB to Serial). For any assistance, contact Daniel from I004.
-
Communication with the PLC is handled through the UNITELWAY Driver.
- To configure the PLC, you'll need to use PL7 Pro (an older Schneider IDE for Telemecanique PLCs).
-
Identify the Comm Port number (COMXX) in the device manager.
-
Open PL7 Pro and navigate to:
-
PLC->Define PLC Address->Options->Configuration of the driver->UNITELWAY Driver->Configuration -
Change the port to match the Comm Port number from the device manager.
-
-
Once connected, you can modify the settings or upload the project
.stxfile to the PLC. The project file is available here.
-
The physical IN/OUTPUTS from FESTO MPS to PLC mapping is available in this Excel.
-
The PLC is configured to run on
192.168.0.10 -
It hosts a MODBUS TCP/IP server (port 502) which maps all inputs and outputs to IB/QB.
-
This mapping is available in the CODESYS Project at:
Device->Ethernet->Modbus_TCP_Master->Modbus_TCP_Slave->ModbusTCPSlave I/O Mapping
π Note: If the PCL needs to be changed, both the PL7 Pro program and the .stx project must be substituted, as they are specific to the currently installed PLC.
- Raspberry Pi 4
-
IP:
192.168.0.100π Note: this IP must be
192.168.0.100due to PLC configuration, which whitelists MODBUS communication for this address. -
Alternative IP:
10.227.17.233ormpscontroller.local -
Username: pi
-
Password: raspberry
-
You can SSH into the Raspberry Pi using the following command:
ssh pi@mpscontroller.local
- The Raspberry Pi must be running CODESYS RUNTIME and should be configured as in the following image:
- The Raspberry Pi is configured with a CODESYS project. The project can be found here.
π Note: CODESYS only works for one hour, after which time the system needs to be reset (remove the white plug and reconnect).
- CODESYS Login:
- Device name:
mpscontroller.local - Username:
admin - Password:
raspberry
- Device name:
π Note: CODESYS version: 3.5 SP19
-
Protocol: OPC UA
-
Port: 4840
-
CODESYS Mapping:
Device->PLC Logic->Application->Symbol Configuration -
Useful tool: Prosys OPC UA Browser
-
Login:
opc.tcp://mpscontroller.local:4840 -
Variables:
Objects->DeviceSet->CODESYS Control for Raspberry PI 64 SL->Resources->Application->GlobalVars->GVL -
The
NodeIdvariable attribute value corresponds to the name to use in 4DICA-IDE
-
-
Variables: add a new OPC UA variable in CODESYS:
-
Declare variable:
Device->PLC Logic->Application->GVL -
Map variable to OPC UA:
Device->PLC Logic->Application->Symbol Configuration
-
- Copy your function blocks (
.fbtand.pyfiles) to the Dinasore resources directorydinasore-2.0/resources/function_blocks/
- Open your terminal or command prompt and change to the Dinasore directory:
cd /path/to/dinasore-2.0- Start the Dinasore application by running:
python3 core/main.py- Open 4DIAC-IDE and click
Launchto launch the default workspace
- Chose
Create New Systemoption, then enter the<workspace_name>and clickFinish
- Copy the function blocks (
.fbtand.pyfiles) to the 4DIAC workspace4diac-ide-1.11/4diac-ide/workspace/<workspace_name>/<fb_folder_name>/
π Note: You may need to restart the 4DIAC-IDE in order to the new function blocks appear in the Pallete.
- Open the
System Configurationtab and build the following schematic using the components in the Pallete:
- Open the
<workspace_name>Apptab and build your main aplication using the components added before to the Pallete, as in the following example:
π Note: don't forget to correctly set all the needed function blocks inputs
- After building the application, the function blocks need to be mapped, for this: right-click on the block ->
Map to ...->RaspberryPI->EMB_RES
π Note: The system variables state can be seen in real time by clicking in Debug -> Debug System -> <workspace_name> and then right-clicking a function block -> π Watch
- Deploy the system by right-clicking the
<workspace_name>in the left tab and then clickDeploy


