How to configure and monitor PROFINET communication with iCube Engineer
|
Version Number
|
Description
|
|---|---|
|
1.0
|
Initial version
|
1. Supported Components
| Component Name | Version |
|---|---|
| iC922xM-EC / iC922xM-FSoE Controller | ≥ 2023.9 |
| iCube Engineer | ≥ 2023.9 |
| GA700 | ≥1034 |
| GA500 |
≥1017 |
| 053-1PN01 Bus Coupler |
2. Supported Libraries
- Y_DataTypes_Toolbox (≥ 2023_9)
- Y_PLCopenPart1_Toolbox (≥ 2023_9)
- PLCnext Controller
3. Solution details
This
How To Do
explains the following topics:
- Configuration of PROFINET Parameters
- Device Name
- Offline vs Online Device Settings
- PROFINET/IO Update Rate
-
Device Refresh Rate
- Device Connection Mode: Startup vs Application Code
-
Handle Inactive Devices with
AR_MGT
(PROFINET Application Relations Management)
- Debug PROFINET Status using iCube Engineer
- Debug PROFINET Status using the Controller's Web Based Management (WBM)
-
Debug PROFINET Status using Application Code
Before implementing any project including PROFINET devices make sure that the controller has its
Profinet
Controller service active. To do this go to the controller's Web Based Management (WBM) and go to Configuration -> System Services. The following screen will be shown. The
Profinet
Controller service (highlighted in red) should be active to use a PROFINET drive. If it's not active, mark the box in the "Activation" column and click "Apply and reboot". Another important aspect to consider is that
the target controller should have a PROFINET I-Device + Controller license
active (for more details refer to(For Americas) How to manage feature licenses on iC9200 series controllers).
3.1 Configuration of PROFINET Parameters
Device Name
For general settings of PROFINET devices, most parameters should have the default/automatic values. One important basic setting for the connection is the definition of a Device Name. To define this, select the device to be configured and go to Settings -> Ethernet, here a "Name of station" box allows changing the offline Device Name. See the following image for an example:
Offline vs Online Device Settings
To compare the offline vs online settings of the different devices go to the
Profinet
section of the
PLANT
and select "Online Devices" (see 1 in the following image). Its initial view shows all the devices configured in the iCube Engineer project with no online information (if no PROFINET devices are configured then the list will be empty). To obtain the online information select the correct network adapter from the dropdown list (see 2) and then click on "Scan the network." (see 3).
After scanning the network all the discovered devices will be shown in the online section. If the value of "Name of Station (Online)" of one of the discovered devices is the same as "Name of Station (Project Node)" then iCube Engineer will automatically map the offline and online devices as seen in the following image. Other network information is not considered for this mapping. Line 4 of the following image shows an example of the offline and online values being the exact same, but line 1 shows the case in which the IP address is different and line 2 shows the case of missing network info. In all three cases iCube Engineer automatically mapped the offline and online devices. Other devices will be shown in separate lines (like line 3 and 5 in the following image).
If the project doesn't have any offline configuration, then the devices will be only shown in the online section and no mapping will be automatically done (see example in the following image).
For the cases of no automatic mapping, to assign one of the online devices to an offline device simply click on "Select online device here" under "Name of Station (Online)" on the line of the offline device orclick on "Select project device here" under "Name of Station (Project Node)" on the line of the online device and select from the dropdown menu options. Selecting one online device will copy the offline values to the physical device, and selecting the project device will copy the online values to the offline configuration.
To add one of the discovered devices as a new offline device right-click on the device and click "Add To
Project Node" (see 1) or use the "Add the selected device(s) to the project." from the top menu (see 2). Bulk-adding can be done by selecting several lines at the same time.
Once all the devices are mapped, a few more options are available with a right-click or using the top menu. If the offline and online network information is different, the options"Apply
Project Node
Device Settings To Online Device" and
"Apply Online Device Settings To
Project Node
Device" will be available to solve the mismatch. Moreover, the mapping can be separated using "Unassign" or "Unassign and Delete Properties", the former will separate the offline device from the online device keeping the network information as is, the latter will remove the network information of the online device. The location of these options in the top menu is shown in the following image.
PROFINET/IO Update Rate
The update rate for PROFINET system variables can be selected the
Profinet
configuration. Go to Settings -> Update tasks and select the desired task. As mentioned in the information icon, when no task is selected the default is 50ms.
Device Refresh Rate
Device Connection Mode: Startup vs Application Code
The connection mode of each device can be selected to either connect at startup or control the connection from the application code. This allows the use of different modular hardware setups with just one project. Select the specific device from the
PLANT
and go to Settings ->
Profinet
device. Set "Start AR on startup" to Yes to connect the device on startup or to No to control the connection (next section explains how the control the connection in this case).
3.2 Handle Inactive Devices with AR_MGT (PROFINET Application Relations Management)
If the "Start AR on startup" of a device is set to No, then the connection of that device can be controlled using AR_MGT during runtime. To use the function block the Device Name as seen in the project configuration is needed. Also the command to start or stop needs to be set. Further details in the function block's documentation. In the following image an example of runtime connection is seen by sending command 16#2 to the device.3.3 Debug PROFINET Status using iCube Engineer
iCube Engineer includes two main monitoring options for PROFINET communication monitoring (without considering the variables, see section 3.5 for monitoring variables in iCube Engineer). The first one is the basic information in the Cockpit about a PROFINET controller communication error. This information is also available as a status LED on the controller's indicators. For more information about the specific behavior of this indicator refer to the controller's manual.
The second option to monitor PROFINET communication is to use the Notifications section of the Cockpit. Each line shows a different notification, with a brief summary. By clicking the line more details are available at the bottom of the list as seen in the following image.
The same notifications are available as well from the NOTIFICATION LOGGER in the bottom menu, as shown in the following image.
3.4 Debug PROFINET Status using the Controller's Web Based Management (WBM)
The Web Based Management (WBM) offers diagnostic information about the PROFINET communication. Under the "Diagnostics" section of the WBM, "Notifications" and "Profinet" subsections offer details about PROFINET communication and devices. "Notifications" shows all the notifications available in the controller, but a filter can be applied to only show PROFINET-related notifications.
On the other hand, the "Profinet" subsection is dedicated to the status of PROFINET communication and devices. Here the information is presented in a more structured way. The first tab called "Overview" shows the details about the configuration of the iCube controller, such like the activation of PROFINET services and network information. The reference image shows that the controller has the
Profinet
Controller Function activated, but theProfinet
Device Function deactivated.
The "Tree View" tab shows a summarized information of the PROFINET modules and submodules as configured in the project. The legend indicates the status of the modules and submodules.
Finally, the "Device List" shows a list of all the devices configured in the project and a summary of the status in the "Status" column, as seen in the following image. The "Status" column uses color-coding to give a visual hint of the state of the module: red indicates errors, yellow signals warnings, and green indicates that the communication with the module is working without errors or warnings. If the AR is deactivated to communicate with the controller (for example when "Start AR on startup" is set to No), then the "Status" value will be shown in gray. The following image shows an example with all the mentioned cases.
The summary in the "Status" column also shows a hexadecimal value with the specific diagnostic information for the device. The bits of the hexadecimal value indicate the specific types of diagnostic information. The following table summarizes the bits information, find further details
here.
|
Bit
|
Description
|
|---|---|
|
0
|
Set if not connected.
|
|
1
|
Set if data invalid.
|
|
2
|
Set if diagnosis is available.
|
|
3
|
Set if module difference is available in case of configuration difference.
|
|
4
|
Set if AR is deactivated.
|
|
5
|
Set if neighborhood information is not available.
|
|
6
|
Neighborhood information not unique.
|
|
7
|
Identify.cnf on alias received, but name of the device is already configured in another AR.
|
|
8
|
Maintenance Required Information is available.
|
|
9
|
Maintenance Demanded Information is available.
|
|
10
|
Channel or Manufacturer Specific Diagnosis Information are available.
|
|
11..15
|
Reserved (shall be 0).
|
By opening the link in the "Details" column of a device further information about the status is given, as seen in the following image.
3.5Debug PROFINET Status using Application Code
Some system variables are available in the controller to monitor the PROFINET communication in a centralized way (meaning that no information about specific devices is provided with these variables). The following table shows the available variables and summarizes their information. Further information is available
here.
|
System variable
|
Data Type
|
Description
|
|---|---|---|
|
PNIO_SYSTEM_BF
|
BOOL
|
No connection to a configured PROFINET device.
|
|
PNIO_SYSTEM_SF
|
BOOL
|
Diagnostic alarm on a configured PROFINET device.
|
|
PNIO_MAINTENANCE_DEMANDED
|
BOOL
|
Maintenance demand.
|
|
PNIO_MAINTENANCE_REQUIRED
|
BOOL
|
Maintenance required.
|
|
PNIO_CONFIG_STATUS
|
WORD
|
Configuration status of the PROFINET controller.
|
|
PNIO_CONFIG_STATUS_ACTIVE
|
BOOL
|
This variable is set if the desired configuration for the PROFINET controller has been loaded.
|
|
PNIO_CONFIG_STATUS_READY
|
BOOL
|
This variable is set if the PROFINET controller has been initialized correctly. No desired configuration has been loaded by iCube Engineer yet.
|
|
PNIO_CONFIG_STATUS_CFG_FAULT
|
BOOL
|
The desired PROFINET controller configuration has not been applied due to a serious error.
|
|
PNIO_FORCE_FAILSAFE
|
BOOL
|
All PROFINET devices are prompted to set their configured substitute values.
|
|
PNIO_FORCE_PRIMARY
|
BOOL
|
Function blocks use this variable for applicative redundancy to specify the SRL role of the PROFINET controller (Not supported).
|
Specific information about each device is also available as Process Data Items. These variables follow the PROFINET specification. The following image shows an example of these variables for a Yaskawa Drive.
PROFINET alarms monitoring is also available using
RECV_ALARM.