Part 1 - Introduction
We have been exploring methods for using Elixir in industrial applications and challenging ourselves to use it to control several small hydroelectric power plants. In the latest project, we explored the appropriate industrial approach, not just using Elixir. In this presentation, we will first provide an overview of the control system for small hydroelectric power plants, followed by an explanation of the system architecture with Nerves. We will then discuss the issues encountered during the on-site installation. The subsequent presentation by KINUKAWA Ryota, also known as @pojiro, will introduce details of the technical methods applied.
Part 2 - Implementation
This session dives into the technical design and real-world challenges of building a distributed control system for a small hydroelectric power plant using Nerves and Elixir.
We will first present a system map, showing how an Erlang cluster was formed over a fiber-optic network and how different nodes interface with industrial devices.
Next, we will introduce "Modbuzz," a custom Modbus communication library for our needs, and explain how we implemented plant operations using GenServer-based control sequences.
Special focus will be given to safety considerations, such as fault monitoring processes and failure handling strategies when the processes or the Nerves device itself go down.
We will also share insights on what can be prepared in advance versus what can only be resolved on-site. Specifically, we will introduce how we used Mox for testing to prepare in advance, and how we effectively used mix upload.hotswap for on-site troubleshooting.
This session will share practical insights and perspectives for engineers interested in applying Nerves to production-critical and field-deployed systems.
Goatmire was cool. We might do another one. Feel free to sign up to be notified.
Sign upPart 1 - Introduction
We have been exploring methods for using Elixir in industrial applications and challenging ourselves to use it to control several small hydroelectric power plants. In the latest project, we explored the appropriate industrial approach, not just using Elixir. In this presentation, we will first provide an overview of the control system for small hydroelectric power plants, followed by an explanation of the system architecture with Nerves. We will then discuss the issues encountered during the on-site installation. The subsequent presentation by KINUKAWA Ryota, also known as @pojiro, will introduce details of the technical methods applied.
Part 2 - Implementation
This session dives into the technical design and real-world challenges of building a distributed control system for a small hydroelectric power plant using Nerves and Elixir.
We will first present a system map, showing how an Erlang cluster was formed over a fiber-optic network and how different nodes interface with industrial devices.
Next, we will introduce "Modbuzz," a custom Modbus communication library for our needs, and explain how we implemented plant operations using GenServer-based control sequences.
Special focus will be given to safety considerations, such as fault monitoring processes and failure handling strategies when the processes or the Nerves device itself go down.
We will also share insights on what can be prepared in advance versus what can only be resolved on-site. Specifically, we will introduce how we used Mox for testing to prepare in advance, and how we effectively used mix upload.hotswap for on-site troubleshooting.
This session will share practical insights and perspectives for engineers interested in applying Nerves to production-critical and field-deployed systems.
Goatmire was cool. We might do another one. Feel free to sign up to be notified.
Sign up..