...
There are two forms of data transfer within PROFINET IO, A-cyclic Acyclic and cyclic communication. Cyclic communication is generally what is used to communicate between a controller and a device for IO data, this is given priority on the network over acyclic communication. Acyclic communication is generally used for low priority ad-hoc requests from a supervisor node.
...
# | Title | User Story | Importance | Notes |
---|---|---|---|---|
1 | Investigate if PROFINET standards are available | To streamline the development and reduce the amount reverse engineering that needs to be done, we should investigate if the PROFINET standards are available at a reasonable price. | Medium | |
2 | Setup a test development environment | The driver will need to be tested thoroughly across a number of devices. Having as many devices available would be helpful High | High | Codesys Runtimes are being used as the controller and device. Captures of the discovery process, connection setup and IO transfer have been captured. |
3 | Implement a Proof of Concept | To confirm that there are no underlying issues that would stall the project, a proof of concept should be put together to confirm the performance is acceptable | High | During the discovery process each device identifies itself, this information is used to lookup a GSD file, this information is then used to create a connection. Once the connection is established then the IO transfer begins, and the GSD file once again is used to decode the IO data field. |
4 | Implement Read Functionality | To be able to obtain data from the field device reading functionality should be implemented. This would match with acyclic communication.Medium | Low | As acyclic communication is predominetly used by a supervisor node and we are looking at implementing a controller node, acyclic communication isn't required. |
5 | Implement Write Functionality | To be able to update data with the device write functionality should be implemented | Medium | |
6 | Implement Subscription Functionality | The PLC4X API includes both read and subscription functions. The read function requires that the user sends each request, whereas the subscription functionality requires the user to setup a continuous monitoring list where callbacks are used to notify the user of any tag updates that arrive. This matches with cyclic communication | High | |
7 | Continue work on the Discovery Functionality | To be able to detect any devices on the network a discovery function has been created, work should continue on this. This will more than likely just be testing this function with other devices. | High | As the connection process uses a lot of the information found during the discovery phase, this should be completed.Low |
8 | Test the Driver | To confirm the driver is compatible with other devices, testing should be completed with as many devices | High | |
9 | Investigate the use of GSD files in configuring the connection. Implement a parser to allow the user to pass GSD files as part of the connection setup. | GSD files are used by device manufacturers to help with configuring connections. They outline what data and properties are available . While not strictly required it would allow for the driver to be able to provide a browsing functionality.and how a connection should be made. | High | This file contains all the information to configure a connection and decode the data fields. Extracting this information will be required to configure a connection correctly.Medium |
Questions
Below is a list of questions to be addressed as a result of this requirements document:
...