SCADA Developer
May 2020- September 2020
About Guelph’s Water
what makes guelph’s water different
Guelph Water Services is responsible for supplying clean and potable water to the residents of Guelph. This is made possible by twenty-one groundwater wells and a shallow groundwater collector system called the Glen Collector. The Glen Collector is a series of underground permeable pipes that work to move groundwater from the Arkell Spring Grounds – located in the Township of Puslinch – to be treated and used by the city of Guelph.
Guelph is the largest Canadian city whose drinking water supply relies almost exclusively from groundwater. The water quality is excellent, and requires much less treatment than other cities with higher-risk water sources such as rivers or lakes. The ground acts as a filter with low levels of naturally occurring fluoride, and the City uses ultraviolet technology and added chlorine that is monitored at multiple stages to ensure the water coming out of your tap is as clean and safe as possible.
This process is one that happens 24/7, where the team at the City of Guelph’s Water Services division is always on call to respond to guarantee that the city’s residents have the access they need. The standards they set are consistently higher than the laws and regulations they operate under, and they are constantly looking for ways to improve. We have their dedication and hard work to thank for our great quality drinking water!
The Arkell Springs Project
During my time with the City of Guelph’s Water Services I worked closely with the SCADA (Supervisory Control and Data Aquisition) team. This team is responsible for the monitoring and control of all pumping stations in the City and for the HMI that operators use to interact with equipment.
The project assigned to me was to create new code to control the Arkell Springs Wellfield, which is made of six pumping stations and a diversion chamber. Along with the control code, I also had to produce usable HMI and extensive documentation for each site.
Prior to this position, I had some academic experience with writing assembly-level code in a micro computing course, where I learned the basics of 68k assembly. This provided me with some reference when I began to learn how to develop in ladder logic, an entirely new language that had a similar structure and execution as 68k.
My Project Goals
01
problem solving
I wanted to develop my independent problem solving skills, to allow me to more quickly learn new skills in the workforce. I aimed to use the opportunity of programming for control systems to encourage me to think of software development in more concrete terms, as real-world solutions to real-world problems. In this way, I could think of a software system as consisting of independently functioning pieces of a whole, each with their own function and rules, rather than a singular structure that I built from scratch.
Developing software for control systems gives me a great opportunity to exercise my problem-solving skills because of the strict operating parameters and verifiable results. I’d know if I was getting better with problem solving if troubleshooting became more productive, and I felt more comfortable when errors occurred.
02
visual literacy
One of my responsibilities of this term is to create the HMI needed for the on-site operators to interact with my software, and in turn, the equipment. The visual component of this required me to interpret AutoCad drawings of the site and turn it into a usable interface that is intuitive enough that the operators will immediately know how to navigate. I hoped to use this opportunity to learn exactly what it takes to make an “intuitive” HMI of a complex process.
I could do this by looking at other site’s drawings and example HMIs to see the thought processes behind each deliberate choice, to see the logic behind choices that I would not have made. Doing so allowed me to shift my focus from an aesthetically pleasing UI to one that is based in usability. Focusing on making the screens straightforward and easy to follow helped me design with a specific purpose in mind rather than making them simply visually pleasing.
Id know my success on this part based on whether someone unfamiliar with the SCADA control system could conceivably find the data needed to answer an inquiry or interact with the equipment within a reasonable amount of time.
03
communication
When making a software system of this size, it is important that you also produce the documentation needed to maintain and understand every function it provides. In this position, I produced large documents called PLNs – documents that outline every operation guideline and expectation for a site. There are strict guidelines to how this must be written to ensure continuity with all sites, and it is my job to stay within these parameters while still concisely communicating everything needed. In doing so, I strengthened my written communication skills by being able to produce professional documentation for users both extremely familiar, and brand new to the software system.
I did this by closely following the PLN guidelines using the examples given to me, and trying to incorporate the answers to the questions that I had when I was tasked with using the PLN. In this way, the documentation remains succinct enough for veterans to get exactly the information needed, but helpful enough that novices are able to figure things out on their own. Overall, any edits were made with a light hand to ensure continuity amongst all sites.
I could measure success based on if my documentation answers any possible question about how the software controls the system, while remaining to the point and easily navigated.
new marketable skillS
- PLCLadder Logic Development
- User Interface Design and Implementation
- Project Documentation Writing Skills
- Experience with Querying and Modifying Databases
- Factory Acceptance Testing Experience
Building My New Resume
Thanks to my time at Guelph, I am confident in my skills to produce quality tested code and documentation. This position gave me the chance to work independently on a large project that I’m proud of, and will definitely boost my resume.
I successfully wrote working control code for six sites, further strengthening my development skills. I also developed the UI, further expanding my knowledge of working with multiple interlocking pieces of software to create a reliable interactive product. Once complete, completed factory acceptance testing to ensure both pieces I created were functioning perfectly, making the changes as needed, and adding the documentation to the growing library that I had written.
Overall, I can say confidently that my time with the City of Guelph’s SCADA team at Water Services provided me with invaluable experience and knowledge that will help me not only with future job searches, but in my academic career. They provided me with a steep but surmountable learning curve that taught me how to pick up skills “on the job”, something that will aid me in quick learning for years to come.
I’d like to thank them for their time and guidance, and thank the University of Guelph for the opportunity. I will continue to look back on my time with the SCADA team fondly, and I wish them all the best with their future projects.
contact me
Click the link to be brought to my updated resume page where you can find contact information and when I’ll be looking for job opportunities.