Figure 4.2.1: Modbus TCP data stream Re-printed with permission from MPE. DNP3 is a newer SCADA standard that has found a home mainly in the electric utilities. Only recently has it begun to move into waste water utilities. Benefits include the increased security provided by specialized security objects in the data stream as well as being Wi-Fi capable. DNP3 used the same modified 5-layer model. Along with the increased security measures, it has the capability to change the Modbus master-slave relationship to a master-master relationship. This allows messages to be sent and received by the device and the master control center. The functionality of DNP3 far exceeds that of Modbus, Modbus has 10 function codes that might be applicable to this device where DNP3 has closer to 20 function codes that are applicable. A Modbus to DNP3 gateway device has a detailed software design. The model that was chosen was the waterfall model figure 4.0.2. First off, it was a simple enough design process that wouldn’t slow down the development of the product by constant testing every step taken and yet it still provided a nice outline and flow overall. The design team could follow the waterfall life cycle step by step up to the maintenance which is where it would hand off the product to the sponsor, MP electronics. Figure 4.2.2: Waterfall lifecycle model Re-printed under a creative commons license The fact that this model had sequential progression through its steps allows one to easily work through the design process. While generally this method is considered more for hardware, the software team found that it would fit the project’s purposes quite well solely on the time factor. The team would not have the more than 4 months to code all the firmware for this project. The thought that anyone would have a working model and it would need an improvement in four months is just unrealistic. After that time frame, MP electronics would have the
Test Procedure: 1. Make sure the circuit board is powered-up. 2. Check to see if cables are connected to the Ethernet Connectors. 3. Ensure that the connectors are secured correctly to the Ethernet controller. Pass Requirements: The Modbus data enters the microcontroller and converts to DNP3 data that will be leaving the circuit board. Test Information: Test was completed on 3/06/13. Result: Pass Test Number: 8 Test Name: Microcontroller Voltage Regulator Power-On Reset Test Time: Bread boarding stage
Test Time: Debugging stage Test Reason: This test is to see if the function adds the correct security object to the outgoing data stream. Test Procedure: Plug the device in Wait for device to power up and cycle through the initialization phase. Send a data stream into the device. Check the output of the DNP3 decodes function. Requirements for Pass: Security code must correctly validate if code matches the device. It must recall the decode function if it does not validate. Test Information: Test was completed on 3/26/13. Result: Pass Test Number: 6 Test Name: Verify Event Recording Test Time: First Debugging stage
Test Reason: This test is to see if the Modbus data stream correctly converts to DNP3 protocol. Test Procedure: Plug the device in Wait for device to power up and cycle through the initialization phase. Set the Modbus data stream to match an all clear flag. Output each register that is used to change Modbus to DNP3. Output the entire DNP3 data stream before it goes into the DNP3 encode function. Verify that the conversion was completed correctly. Requirements for Pass: Outputted data stream must be in correct DNP3 protocol. Test Information: Test was completed on 3/26/13. Result: Pass Test Number: 9 Test Name: Check Error Storage Size Test Time: First Debugging stage