The following is a selection of available applications for the application controller as counterpart to the SoM. For a more detailed description see the application notes for EtherNet/IP and Profinet.
Table of Contents |
---|
01_pnio_io_mirror
Purpose
This example implements a PROFINET slave including a http management interface.
...
This example shows how to implement a basic profinet slave. It only contains the generated stub code from the design tool, application functions need to be added (refer to example 01_pnio_io_mirror).
...
09_
...
ecat_
...
slave
Purpose
This example implements a PROFINET slave and shows generation of process alarmsan EtherCAT slave.
Configuration
By default no IP address is set. Using a configuration tool (e.g. Industrial Communication Explorer) a valid configuration must be provided. The device configuration is following:
...
Slot
...
Subslot
...
Module
...
1
...
1
...
„64 bytes Input" – 64 byte input data
...
2
...
1
...
„64 bytes Output" – 64 Byte Output data
Table 42 Example configuration
The GSDML file for this example is located beside the application code:
"goal\appl\2015013_irj45\ac\10_pnio_process_alarm\gsdml"
Usage Hints
This example continuously generates process alarms to the PLC. Thus this example cannot be used with the current version of the Management Tool. A profinet capable PLC is required to handle the process alarms.
09_ecat_slave
Purpose
This example implements an EtherCAT slave.
Configuration
Index | SubIndex | Name | DataType | Description | ||
0x200c | 0x00 | application object | UINT32 | example object | ||
0x200d | 0x00 | application object | UINT32 | example object | ||
0x200e | 0x00 | Index | SubIndex | Name | DataType | Description |
0x200c | 0x00 | application object | UINT32 | example object | ||
0x200d | 0x00 | application object | UINT32 | example object | ||
0x200e | 0x00 | application object | UINT32 | example object | ||
0x200f | 0x00 | application object | UINT32 | example object | ||
0x200f | 0x00 | application object | UINT32 | example object | ||
0x6200 | 0x01 | Write State 8 Output Lines (SI1) | UINT8 | digital output data | ||
0x6200 | 0x02 | Write State 8 Output Lines(SI2) | UINT8 | digital output data | ||
0x6411 | 0x01 | Write Analog Output 16 Bit (SI1) | UINT16 | analog output data | ||
0x6411 | 0x02 | Write Analog Output 16 Bit (SI2) | UINT16 | analog output data | ||
0x6000 | 0x01 | Read State 8 Input Lines (SI1) | UINT8 | digital input data | ||
0x6000 | 0x02 | Read State Input Lines (SI2) | UINT8 | digital input data | ||
0x6401 | 0x01 | Read Analog Input 16 Bit (SI1) | UINT16 | analog input data | ||
0x6401 | 0x02 | Read Analog Input 16 Bit (SI2) | UINT16 | analog input data |
...
The ESI file for this example is located beside the application code:
"goal\appl\2015013_irj45\ac\09_ecat_slave\esi\09_ecat_slave_port.xml"
Usage Hints
Regarding detailed application function of the application please check application note "1000 – ethercat evaluation". The application configures the ccm module so log messages from the communication controller are transferred to the application controller and thus can be seen on the ACs uart log.
...
10_pnio_
...
process_
...
alarm
Purpose
This example implements firmware update of the ccm module over RPC/SPI.
Usage Hints
The application is intended for linux based systems, since it loads the firmware data from a file. For embedded systems without filesystem a mechanism for storage and retrieval of the firmware data needs to be implemented (see function appl_setup).
13_firmware_update_callback
Purpose
This example demonstrates usage of the optional event callback for firmware update.
Configuration
This example configures the IP address of the module to 192.168.0.100/24.
Usage Hints
This application registers for firmware update events. It thus gets informed about events when the firmware of the communication module is updateda PROFINET slave and shows generation of process alarms.
Configuration
By default no IP address is set. Using a configuration tool (e.g. Industrial Communication Explorer) a valid configuration must be provided. The device configuration is following:
Slot | Subslot | Module |
1 | 1 | „64 bytes Input" – 64 byte input data |
2 | 1 | „64 bytes Output" – 64 Byte Output data |
Table 42 Example configuration
The GSDML file for this example is located beside the application code:
"goal\appl\2015013_irj45\ac\10_pnio_process_alarm\gsdml"
Usage Hints
This example continuously generates process alarms to the PLC. Thus this example cannot be used with the current version of the Management Tool. A profinet capable PLC is required to handle the process alarms.
11_firmware_update
Purpose
This example implements firmware update of the ccm module over RPC/SPI.
Usage Hints
The application is intended for linux based systems, since it loads the firmware data from a file. For embedded systems without filesystem a mechanism for storage and retrieval of the firmware data needs to be implemented (see function appl_setup).
13_firmware_update_callback
Purpose
This example demonstrates usage of the optional event callback for firmware update.
Configuration
This example configures the IP address of the module to 192.168.0.100/24.
Usage Hints
This application registers for firmware update events. It thus gets informed about events when the firmware of the communication module is updated.
16_pnio_io_mirror_mrp
Purpose
This example is based on the application 01_pnio_io_mirror, but adds the Media Redundancy Protocol (MRP).
Configuration
By default no IP address is set. Using a configuration tool (e.g. Industrial Communication Explorer) a valid configuration must be provided. The device configuration is following:
Slot | Subslot | Module |
1 | 1 | „64 bytes Input" – 64 byte input data |
2 | 1 | „64 bytes Output" – 64 Byte Output data |
Table 42 Example configuration
The GSDML file for this example is located beside the application code:
"goal\appl\2015013_irj45\ac\16_pnio_io_mirror_mrp\gsdml"
Usage Hints
This example continuously generates process alarms to the PLC. Thus this example cannot be used with the current version of the Management Tool. A profinet capable PLC is required to handle the process alarms.
http_01_get
Purpose
This example shows usage of the web server. It shows implementing GET-request support.
Configuration
This example uses the configured IP address of the cc module. Check the Management Tool to get the IP address.
Usage Hints
Open the URL HTTP://<DEVICE-IP>:8081, where a simple web page is shown.
http_02_post
Purpose
This example shows usage of the web server. It shows implementing POST-request support.
Configuration
This example uses the configured IP address of the cc module. Check the Management Tool to get the IP address.
Usage Hints
Open the URL HTTP://<DEVICE-IP>:8080, where a simple web page is shown. There a small amount of data can be uploaded to the application.
http_03_list_res
Purpose
This example shows usage of the web server. It shows supporting of hirachical urls.
Configuration
This example uses the configured IP address of the cc module. Check the Management Tool to get the IP address.
Usage Hints
Open the URL HTTP://<DEVICE-IP>:8080, where a simple web page is shown. It provides several sub pages shown on the main page.
...
This example shows usage of the web server. It shows supporting of basic authentication.
Configuration
This example uses the configured IP address of the cc module. Check the Management Tool to get the IP address.
Usage Hints
This example creates 4 pages with separate authentication data:
...
Note |
---|
This example modifies credentials of authentication level 0. If those settings are stored permanently in the CC module, firmware update will fail with default credentials. Reset settings to default value "" using the Management Tool. |
http_05_template_cm
Purpose
This example shows usage of the web server. It shows implementing GET-request support with templating for CM variables.
Configuration
This example uses the configured IP address of the cc module. Check the Management Tool to get the IP address.
Usage Hints
Open the URL HTTP://<DEVICE-IP>:8080, where a simple web page is shown. It demonstrates template replacement of template usage with CM variable reference.
The string [CM:12, 0] will be replaced with the IP address of the device.
...
This example shows usage of the web server. It shows implementing GET-request support with templating for a list.
Configuration
This example uses the configured IP address of the cc module. Check the Management Tool to get the IP address.
Usage Hints
Open the URL HTTP://<DEVICE-IP>:8080, where a simple web page is shown. It demonstrates template replacement of template usage with list support.
http_07_template_table
Purpose
This example shows usage of the web server. It shows implementing GET-request support with templating for a table.
Configuration
This example uses the configured IP address of the cc module. Check the Management Tool to get the IP address.
Usage Hints
Open the URL HTTP://<DEVICE-IP>:8080, where a simple web page is shown. It demonstrates template replacement of template usage with table support.
A table of sensors with different sensor values is generated.
net_01_udp_receive
Purpose
This example shows usage of the UDP. It shows implementing a echo server on a specific UDP port.
Configuration
This example sets the IP address 192.168.0.100/24.
Usage Hints
Using netcat the udp server can be tested. Just type some text, and the server will reply this message.
Code Block |
---|
netcat -u 192.168.0.100 1234 Testing the echo server using UDP! Testing the echo server using UDP! |
net_02_tcp_client
Purpose
This example shows usage of the TCP as a client. It shows how to connect to a TCP server.
Configuration
This example sets the IP address 192.168.0.100/24.
It expects a TCP server on a remote server with IP address 192.168.0.10 on port 1234.
Usage Hints
Using netcat a tcp server can be provided. Once the application runs, the client will send the following messages.
Code Block |
---|
netcat -l 192.168.0.10 1234 TESTSTRING 0TESTSTRING 1TESTSTRING 2TESTSTRING 3TESTSTRING 4 |
net_03_tcp_server
Purpose
This example shows usage of the TCP as a server.
Configuration
This example sets the IP address 192.168.0.100/24.
Usage Hints
Using netcat a connection to the TCP server can be established. Just type some text, and the server will send the following messages.
...