Elixir connecting to devices in Profinet

Has anyone had some experience in using Elixir to connect to devices in a Profinet network?

1 Like

I haven’t heard of anyone doing this yet, but from the (very brief) reading I did it seems possible. There are some real time constraints that it might not be possible to guarantee, but the use case is definitely interesting. Please circle back and update here if you find success or need specific help. I’ll keep my eye out to see if anyone else mentions it too.

Any updates on this?
I’m searching for an similar topic. In my case the elixir app should implement a profibus or profinet client. The profibus/profinet client should be able to:
a) read-in sensor data, provided by a process controler which is the profibus/profinet master and
b) provide new data to the profibus/profinet (and therewith back to the proces controler).
So, the difference to Adrian Rangel’s question is that I dont want to communicate with field devices directly - which I think needs an Profibus/profinet master (not a client) in the elixir application.
If this profibus-Elixir interface does not exist today, I would be very happy if there is s/o who can develop this with me …, because I’m too new at elixir to do it by me own in a approriate time :slight_smile:

Hi @tobi :wave:

I am not aware of any Elixir implementations of Profibus/Profinet. But it should definitely be possible :smiley: Elixir has excellent tools for working with binary communication protocols, like :gen_statem and binary pattern matching. I’ve implemented most of KNXnet/IP and I’m currently working (on and off) on IEC104. There’s also a couple libraries for Modbus.

I’m not familiar with the Profibus/Profinet standard. Unfortunately I don’t have much time to help at the moment :frowning: I am curious though - how would you be interfacing with the master? RS-485, Ethernet or something else?

1 Like

There are some python implementations here which you may be able to use as inspiration.

We are using https://github.com/valiot/snapex7
Snapex7 is an Elixir wrapper for the Snap7 library