UM3240 Industrial Actuator and Sensor Node User Manual
Introduction
FP-IND-IODOUT1 is an STM32Cube function pack that lets you enable IO-Link communication between P-NUCLEO-IOD3A1 or P-NUCLEO-IOD04A1 or P-NUCLEO-IOD7A1 kits and an IO-Link master through the L6362A or L6364Q transceivers mounted on the STEVAL-IOD003V1 and X-NUCLEO-IOD02A1, respectively.
The function pack integrates an IO-Link demo-stack and management of the IPS2050H and IPS2050H-32, dual high-side switches mounted on the X-NUCLEO-OUT03A1 and X-NUCLEO-OUT04A1, respectively. The function pack also integrates an IO-Link demo-stack for the management of the IPS4260LM quad low-side intelligent power switch mounted on the X-NUCLEOOUT07A1. FP-IND-IODOUT1 also includes the IODD file to be uploaded to your IO-Link master.
The software included in the package can be used in IAR, Keil, and STM32CubeIDE integrated development environments.
1 FP-IND-IODOUT1 software expansion for STM32Cube
1.1 Overview
FP-IND-IODOUT1 is an STM32 ODE function pack and expands STM32Cube functionality.
The software enables the control of the IPS2050H/IPS2050H-32/IPS4260LM devices that acts like actuators, through the IO‑Link communication line. Furthermore, it enables IO-Link data transfer to/from the IO-Link transceivers L6362A and L6364Q.
For the L6364Q only, the software allows reading of its internal temperature sensor.
The key package features are:
- Complete firmware to develop industrial IO-Link actuator and sensor nodes
- Middleware libraries and drivers featuring IO-Link stack for L6362A and L6364Q
- Drivers to provide commands to IPS2050H/IPS2050H-32/IPS4260LM
- Ready-to-use binary to evaluate P-NUCLEO-IOD3A1 and P-NUCLEO-IOD04A1 and P-NUCLEO-IOD7A1 as an industrial IO-Link actuator and sensor node
- Easy portability across different MCU families, thanks to STM32Cube
- Free, user-friendly license terms
1.2 Architecture
The application software accesses the stacked shields through the following software layers:
- the STM32Cube HAL layer, which provides a simple, generic, multi-instance set of application programming interfaces (APIs) to interact with the upper application, library, and stack layers. It has generic and extension APIs and is directly built around a generic architecture and allows successive layers like the middleware layer to implement functions without requiring specific hardware configurations for a given microcontroller unit (MCU). This structure improves library code reusability and guarantees an easy portability on other devices.
- the board support package (BSP) layer, which supports all the peripherals on the STM32 Nucleo except the MCU. This limited set of APIs provides a programming interface for certain board-specific peripherals like the LED, the user button, etc. This interface also helps in identifying the specific board version.
Figure 1. FP-IND-IODOUT1 software architecture
1.3 Folder structure
Figure 2. FP-IND-IODOUT1 package folder structure
The following folders are included in the software package:
- _htmresc: contains graphics for html documents.
- Documentation: contains a compiled HTML file generated from the source code detailing the software components and APIs (one for each project).
- Drivers: contains the HAL drivers and the board-specific drivers for each supported board or hardware platform, including those for the on-board components, and the CMSIS vendor-independent hardware abstraction layer for the Arm Cortex-M processor series.
- Middlewares: libraries and protocols featuring the IO-Link ministack.
- Projects: contains the sample application implementing an industrial IO-Link actuator and sensor node.
This application is provided for the NUCLEO-L073RZ and NUCLEO-G071RB and NUCLEO-L452RE platforms in three development environments: IAR Embedded Workbench for Arm, MDK-ARM software development environment, and STM32CubeIDE. For the P-NUCLEO-IOD3A1 the application is provided for the NUCLEO-L073RZ and NUCLEO-L452RE platforms. For the P-NUCLEO-IOD04A1 and P-NUCLEOIOD7A1 the application is provided for the NUCLEO-L073RZ and NUCLEO-G071RB platforms.
1.4 APIs
Detailed technical information with full user API function and parameter descriptions are in a compiled HTML file in the “Documentation” folder.
1.5 Sample application description with P-NUCLEO-IOD3A1
The sample application is provided in the Projects folder, using the STEVAL-IOD003V1 with L6362A transceiver
and X-NUCLEO-OUT03A1 with the IPS2050H.
Ready-to-build projects are available for multiple IDEs. You can upload one of the binary files provided with FPIND-
IODOUT1 via STM32 STLINK Utility, STM32CubeProgrammer, or the programming feature in your IDE.
To evaluate the FP-IND-IODOUT1 firmware, it is necessary to upload the IODD file on the control tool of your
IO‑Link Master and connect it to the STEVAL-IOD003V1 by a 3-wire cable (L+, L-/GND, CQ). Section 2.3 shows
an example where the IO-Link Master is the P-NUCLEO-IOM01M1 and the related control tool is the IO-Link
Control Tool developed by TEConcept (ST partner). Alternatively, you can use another IO-Link Master with the
related control tool.
1.6 Sample application description with P-NUCLEO-IOD04A1
The sample application is provided in the Projects folder, using the X-NUCLEO-IOD02A1 with L6364Q transceiver and X-NUCLEO-OUT04A1.
Ready-to-build projects are available for multiple IDEs. You can upload one of the binary files provided with FPIND- IODOUT1 via STM32 STLINK Utility, STM32CubeProgrammer, or the programming feature in your IDE.
To evaluate the FP-IND-IODOUT1 firmware, it is necessary to upload the IODD file on the control tool of your IO‑Link Master and connect it to the X-NUCLEO-IOD02A1 by a 3-wire cable (L+, L-/GND, CQ). Section 2.3 shows an example where the IO-Link Master is the P-NUCLEO-IOM01M1 and the related control tool is the IO-Link Control Tool developed by TEConcept (ST partner). Alternatively, you can use another IO-Link Master with the related control tool.
1.7 Sample application description with P-NUCLEO-IOD7A1
The sample application is provided in the Projects folder, using the X-NUCLEO-IOD02A1 with L6364Q transceiver and X-NUCLEO-OUT07A1 with the IPS4260LM.
Ready-to-build projects are available for multiple IDEs. You can upload one of the binary files provided with FPIND- IODOUT1 via STM32 STLINK Utility, STM32CubeProgrammer, or the programming feature in your IDE.
To evaluate the FP-IND-IODOUT1 firmware, it is necessary to upload the IODD file on the control tool of your IO‑Link Master and connect it to the X-NUCLEO-IOD02A1 by a 3-wire cable (L+, L-/GND, CQ). Section 2.3 shows an example where the IO-Link Master is the P-NUCLEO-IOM01M1 and the related control tool is the IO-Link Control Tool developed by TEConcept (ST partner). Alternatively, you can use another IO-Link Master with the related control tool.
2 System setup guide
2.1 Hardware description
2.1.1 P-NUCLEO-IOD3A1 STM32 Nucleo pack
The P-NUCLEO-IOD3A1 is an STM32 Nucleo pack composed of the STEVAL-IOD003V1 and X-NUCLEOOUT03A1 expansion boards stacked on the NUCLEO-L073RZ or NUCLEO-L452RE development boards. The STEVAL-IOD003V1 features an IO-Link device transceiver for the physical connection to an IO-Link master, while the X-NUCLEO-OUT03A1 is an industrial digital output expansion board based on IPS2050H for STM32 Nucleo, and the NUCLEO-L073RZ or NUCLEO-L452RE are the necessary hardware resources to run the FP-INDIODOUT1 function pack and to control the transceiver and the power switch. The FP-IND-IODOUT1 combines an IO-Link demo stack library (derived from X-CUBE-IOD02) with the X-CUBE-IPS section related to the XNUCLEO- OUT03A1 and features an example of IO-Link device actuator and sensor node. The P-NUCLEOIOD3A1 can be used for evaluation purposes and as a development environment. The STM32 Nucleo pack provides an affordable and easy-to-use solution for the development of IO-Link and SIO applications, evaluation of L6362A communication features and robustness, together with the computation performance of the STM32L073RZ and STM32L452RE microcontrollers.
Figure 3. P-NUCLEO-IOD3A1 STM32 Nucleo pack
2.1.2 P-NUCLEO-IOD04A1 STM32 Nucleo pack
The P-NUCLEO-IOD04A1 is an STM32 Nucleo pack composed of the X-NUCLEO-IOD02A1 and X-NUCLEOOUT04A1 expansion boards stacked on the NUCLEO-L073RZ or NUCLEO-G071RB development boards.
The X-NUCLEO-IOD02A1 features an IO-Link device transceiver for the physical connection to an IO-Link master, while the X-NUCLEO-OUT04A1 is an industrial digital output expansion board based on IPS2050H-32 for STM32 Nucleo, and the NUCLEO-L073RZ or NUCLEO-G071RB are the necessary hardware resources to run the FP-IND-IODOUT1 function pack and to control the transceiver and the power switch.
The FP-IND-IODOUT1 combines an IO-Link demo stack library (derived from X-CUBE-IOD02) with the X-CUBEIPS section related to the X-NUCLEO-OUT04A1 and features an example of IO-Link device actuator and sensor node.
The P-NUCLEO-IOD04A1 can be used for evaluation purposes and as a development environment.
The STM32 Nucleo pack provides an affordable and easy-to-use solution for the development of IO-Link and SIO applications, evaluation of L6364Q communication features and robustness, together with the computation performance of the STM32L073RZ and STM32G071RB microcontrollers.
Figure 4. P-NUCLEO-IOD04A1 STM32 Nucleo pack
2.1.3 P-NUCLEO-IOD7A1 STM32 Nucleo pack
The P-NUCLEO-IOD7A1 is an STM32 Nucleo pack composed of the X-NUCLEO-IOD02A1 and X-NUCLEOOUT07A1 expansion boards stacked on the NUCLEO-G071RB or NUCLEO-L073RZ development boards.
The X-NUCLEO-IOD02A1 features an IO-Link device transceiver for the physical connection to an IO-Link master, while the X-NUCLEO-OUT07A1 is an industrial digital output expansion board based on IPS4260LM for STM32 Nucleo, and the NUCLEO-G071RB or NUCLEO-L073RZ are the necessary hardware resources to run the FP-IND-IODOUT1 function pack and to control the transceiver and the power switch.
The FP-IND-IODOUT1 combines an IO-Link demo stack library (derived from X-CUBE-IOD02) with the X-CUBEIPS section related to the X-NUCLEO-OUT07A1 and features an example of IO-Link device actuator and sensor node.
The P-NUCLEO-IOD7A1 can be used for evaluation purposes and as a development environment.
The STM32 Nucleo pack provides an affordable and easy-to-use solution for the development of IO-Link and SIO applications, evaluation of L6364Q communication features and robustness, together with the computation performance of the STM32G071RB and STM32L073RZ microcontrollers.
Figure 5. P-NUCLEO-IOD7A1 STM32 Nucleo pack
2.1.4 P-NUCLEO-IOM01M1 STM32 Nucleo pack
The P-NUCLEO-IOM01M1 is an STM32 Nucleo pack consisting of the STEVAL-IOM001V1 and the NUCLEOF446RE boards. The STEVAL-IOM001V1 is a single IO-Link master PHY layer (L6360), while the NUCLEOF446RE runs an IO-Link stack rev 1.1 (developed by and property of TEConcept GmbH, license limited to 10 k minutes, renewable without additional costs). The IO-Link stack update is allowed exclusively by following the procedure described in UM2421 (freely available at www.st.com). Any other erase/overwrite of the preloaded stack makes it impossible to restore it.
The STM32 Nucleo pack provides an affordable and easy-to-use solution for the evaluation of IO-Link applications, L6360 communication features and robustness, together with the STM32F446RET6 computation performance. The pack, hosting up to four STEVAL-IOM001V1 boards to build a quad-port IO-Link master, can access the IO-Link physical layer and communicate with IO-Link Devices.
You can evaluate the tool via the dedicated GUI (IO-Link Control Tool©, property of TEConcept GmbH) or use it as an IO-Link master bridge accessible from the dedicated SPI interface: source code of demo project (low-level IO-Link master access to the demo application, developed by TEConcept GmbH) and API specification are available for free.
Figure 6. P-NUCLEO-IOM01M1 STM32 Nucleo pack
2.2 Hardware setup
The following hardware components are needed:
- One STM32 Nucleo pack for IO-Link device applications (order code: P-NUCLEO-IOD3A1 or P-NUCLEOIOD04A1 or P-NUCLEO-IOD7A1)
- One STM32 Nucleo pack for IO-Link master with IO-Link v1.1 PHY and stack (order code: P-NUCLEOIOM01M1)
- A 3-wire cable (L+, L-/GND, CQ)
2.3 How to control the P-NUCLEO-IOD3A1 and P-NUCLEO-IOD04A1 and PNUCLEO- IOD7A1 through the P-NUCLEO-IOM01M1 IO-Link master
Step 1. Connect the P-NUCLEO-IOM01M1 and the P-NUCLEO-IOD3A1 or P-NUCLEO-IOD04A1 or PNUCLEO- IOD7A1 via the 3-wire cable (L+, L-/GND and CQ-, refer to the board serigraphy).
Step 2. Connect the P-NUCLEO-IOM01M1 to a 24 V/0.5 A power supply.
The following figures show how to connect the P-NUCLEO-IOM01M1 and the P-NUCLEO-IOD3A1 or
P-NUCLEO-IOD04A1 or P-NUCLEO-IOD7A1 with the FP-IND-IODOUT1 firmware running.
Figure 7. Terminal settings for P-NUCLEO-IOD3A1
Figure 8. Terminal settings for P-NUCLEO-IOD04A1
Figure 9. Terminal settings for P-NUCLEO-IOD7A1
Step 3. Launch the IO-Link Control Tool on your laptop/PC.
Step 4. Connect by mini-USB cable the P-NUCLEO-IOM01M1 running the IO-Link Control Tool to your laptop/PC.
The next steps (5 to 13) refer to actions to be performed on the IO-Link Control Tool.
Step 5. Upload the IODD file of P-NUCLEO in use to the IO-Link Control Tool by clicking on [Select device] and follow the instructions to upload the proper IODD (xml format) file available in the IODD directory of the software package.
After this action, the information about the selected device will be shown. IODD files are provided for COM1 (4.8 kbit/s, only for P-NUCLEO-IOD3A1) and COM2 (38.4 kbit/s) and COM3 (230.4 kbit/s) transmission rates.
Figure 10. Device Selection
Figure 11. Device Selection for P-NUCLEO-IOD3A1, P-NUCLEO-IOD04A1 and P-NUCLEOIOD7A1
Step 6. Select the COM port and connect the Master by clicking on the green icon (top left corner).
Figure 12. Master Connection
Step 7. Click on [Power ON] to supply the P-NUCLEO. If P-NUCLEO-IOD3A1 is used, then the green LED on the STEVAL-IOD003V1 turns on. If P-NUCLEO-IOD04A1 or P-NUCLEO-IOD7A1 is used, then the red LED on the X-NUCLEO-IOD02A1 blinks.
Step 8. Click on [IO-Link] to start an IO-Link Communication. If P-NUCLEO-IOD04A1 or P-NUCLEO-IOD7A1 is used, then green LED on X-NUCLEO-IOD02A1 blinks.
Figure 13. Power ON and IO-Link
The next steps (9 to 21) refer to actions to be performed on the IO-Link Control Tool to provide commands to the IPS2050H or IPS2050H-32 or IPS4260LM mounted on the X-NUCLEO-OUT03A1, XNUCLEO- OUT04A1 or X-NUCLEO-OUT07A1 shield boards. You can also take actions to check the status of the diagnostic pins.
In general, to provide a command to the Intelligent Power Switch through the IO-Link line using the Control Tool, it is necessary using the Control Tool [Write Selected] command. To be effective, this action requires pressing [Enter] after changing and verifying that the value changes color to blue.
Following this, clicking on [Write Selected] applies the action correctly, and the text color should change to green.
In the following steps we report the generic string X-NUCLEO-OUT0xA1 according to the P-NUCLEO in use, the user must consider X-NUCLEO-OUT03A1 or X-NUCLEO-OUT04A1 or X-NUCLEOOUT07A1. Similarly, Channel N refers to a generic channel available on the X-NUCLEO-OUTxA1.
Step 9. Use [Observation Menu]>[X-NUCLEO-OUT0xA1 ]>[Channel N]>[Steady State ON or OFF] to power ON or OFF channel 1,2 or only for P-NUCLEO-IOD7A1 channels 3 or 4 in steady state mode.
If the value set is 1, the action is to power on the channel. The value 0 will turn off the channel. Turning on in steady state mode a channel already turned on in PWM mode will interrupt the PWM and turn on the steady state mode. The figure below shows an example of switching on channel one in steady state mode.
Figure 14. Channel 1 Steady State ON for P-NUCLEO-IOD04A1
Figure 15. Channel 3 Steady State ON for P-NUCLEO-IOD7A1
Step 10. Click on [Observation Menu]>[X-NUCLEO-OUT0xA1]>[Channel N]>[PWM frequency value [Hz]] to set the PWM frequency you want to use for channel 1,2 or only for P-NUCLEO-IOD7A1 channels 3 or
4. The frequency range that can be set is 0 to 100 Hz. The frequency step is 1 Hz.
Step 11. Click on [Observation Menu]>[X-NUCLEO-OUT0xA1]>[Channel N]>[PWM Duty Cycle value [%]] to set the duty cycle you want to use for channel 1,2 or only for P-NUCLEO-IOD7A1 channels 3 or 4.
The duty cycle range that can be set is 0% to 100%. The duty cycle step is 1%.
Step 12. Click on [Observation Menu]>[X-NUCLEO-OUT0xA1]>[Channel N]>[PWM ON or OFF] to power ON or OFF channel 1,2 or only for P-NUCLEO-IOD7A1 channels 3 or 4 in PWM mode.
If the value set is 1, the action is power on the channel. The value 0 turns off the channel. Turning on in PWM mode a channel that is already turned on in steady state mode interrupts the steady state and turns on the PWM mode. The figure below shows an example of switching ON the channel one in PWM mode.
To see the inputs and related outputs of the IPS change, it is necessary to set the value of the frequency and duty cycle to a value other than zero.
Figure 16. Channel 1 PWM ON for P-NUCLEO-IOD04A1
Figure 17. Channel 4 PWM ON for P-NUCLEO-IOD7A1
Step 13. For P-NUCLEO-IOD3A1 or P-NUCLEO-IOD04A1 use [Observation Menu]>[X-NUCLEOOUT0xA1]>[ Channel N]>[Fault Status] to verify the status of the channel 1 or 2 fault pin.
It is necessary to select the row and click on [Read Selected]. A Read value of 0 means no fault, while 1 indicates a fault.
For P-NUCLEO-IOD7A1 use [Observation Menu]>[X-NUCLEO-OUT07A1]>[Channel N]>[Diag Level] to verify the level of the channel N diag signal.
It is necessary to select the row and click on [Read Selected]. A Read value of 0 means diag signal level low, while 1 indicates a level high.
Figure 18. Channel 1 Fault Check for P-NUCLEO-IOD04A1
Figure 19. Channel 1 Diag Level Read for P-NUCLEO-IOD7A1
Step 14. For P-NUCLEO-IOD7A1 use [Observation Menu]>[X-NUCLEO-OUT07A1]>[FLT Status] to verify the FLT pin status.
It is necessary to select the row and click on [Read Selected]. A Read value of 1 means no fault, while 0 indicates a fault. If the NO FAULT or FAULT string appears grey it means that it has not yet been read by the device and therefore is not significant. The string is green after reading the status from the device. In general it is always necessary to click on [Read Selected] to update the status of the FLT pin.
Figure 20. FLT Check for P-NUCLEO-IOD7A1
Step 15. For P-NUCLEO-IOD7A1 use [Observation Menu]>[X-NUCLEO-OUT07A1]>[OL Status] to verify the OL pin status. It is necessary to select the row and click on [Read Selected]. A Read value of 1 means no fault due to open load, while 0 indicates an open load fault. If the NO FAULT or FAULT string appears in gray it means that it has not yet been read by the device and therefore is not significant.
The string is green after reading the status from the device.
Figure 21. OL Check for P-NUCLEO-IOD7A1
Step 16. If a P-NUCLEO-IOD04A1 or a P-NUCLEO-IOD7A1 is used, then to activate the data-exchange with L6364Q internal temperature sensor, go to [Parameter Menu]>[Process Input Selection] and select the L6364Q temperature sensor. Press [Enter] and then click on [Write Selected] (the text will turn green) and the data coming from the device will be shown in the Process Data section. You can graph the temperature sensor data by clicking the [Plot] button.
Figure 22. Temperature Sensor Read for P-NUCLEO-IOD04A1 and P-NUCLEO-IOD7A1
Figure 23. Temperature sensor plot (example with P-NUCLEO-IOD04A1)
Step 17. For P-NUCLEO-IOD3A1 or a P-NUCLEO-IOD04A1 it is possible to use the values of the IPS fault pins values as if they were two sensors and then reflects their values cyclically as process data. To do this, go to [Parameter Menu]>[Process Input Selection] and select IPS2050H FAULT Pins value or IPS2050H-32 FAULT Pins value respectively, press [Enter] (the text will turn blue), then click on [Write Selected] (the text will turn green) and the data coming from the IPS2050H/IPS2050H-32 fault pins will be shown in the Process Data section. You can graph the status of the fault pins by pressing the [Plot] button. For P-NUCLEO-IOD7A1 it is possible to use the values of the IPS FLT and OL pins values or per channel DIAG signals as if they were sensors and then reflects their values cyclically as process data. To do this, go to [Parameter Menu]>[Process Input Selection] and select FLT and OL Signalization or DIAGs Level, press [Enter] (the text will turn blue), then click on [Write Selected] (the text will turn green) and the data coming from the IPS4260LM FLT and OL pins or from DIAG signals will be shown in the Process Data section. You can graph the status of the fault pins by pressing the [Plot] button.
Figure 24. IPS fault pins data read for P-NUCLEO-IOD3A1 or P-NUCLEO-IOD04A1 (example for
P-NUCLEO-IOD04A1)
Figure 25. IPS FLT and OL pins data read for P-NUCLEO-IOD7A1
Figure 26. IPS DIAG signals data read for P-NUCLEO-IOD7A1
2.4 Software setup
The following software components are needed to set up a suitable development environment to create applications for IO-Link applications for NUCLEO-L073RZ or NUCLEO-G071RB (used for P-NUCLEO-IOD04A1 and P-NUCLEO-IOD7A1) and NUCLEO-L073RZ or NUCLEO-L452RE (used for P-NUCLEO-IOD3A1), L6362A/ L6364Q, and IPS2050H/IPS2050H-32 or IPS4260LM:
• FP-IND-IODOUT1 firmware and related documentation available on www.st.com
• One of the following developments tool-chain and compilers:
– IAR Embedded Workbench for Arm toolchain + ST-LINK/V2
– RealView Microcontroller Development Kit toolchain (MDK-ARM software development environment
+ ST-LINK/V2)
– STM32CubeIDE + ST-LINK/V2
Revision history
Table 1. Document revision history
IMPORTANT NOTICE – READ CAREFULLY
STMicroelectronics NV and its subsidiaries (“ST”) reserve the right to make changes, corrections, enhancements, modifications, and improvements to ST products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on ST products before placing orders. ST products are sold pursuant to ST’s terms and conditions of sale in place at the time of order acknowledgment.
Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or the design of purchasers’ products.
No license, express or implied, to any intellectual property right is granted by ST herein.
Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product.
ST and the ST logo are trademarks of ST. For additional information about ST trademarks, refer to www.st.com/trademarks. All other product or service names are the property of their respective owners.
Information in this document supersedes and replaces information previously supplied in any prior versions of this document.
© 2024 STMicroelectronics – All rights reserved
UM3240
UM3240
Read More About This Manual & Download PDF:
Documents / Resources
![]() |
ST UM3240 Industrial Actuator and Sensor Node [pdf] User Manual UM3240 Industrial Actuator and Sensor Node, UM3240, Industrial Actuator and Sensor Node, Sensor Node |