I had a look at the Profinet Adapter and I am pretty sure that I found a typo:
It makes little sense to instantiate the Profinet class (basically calling the init method) and then call the init method again.
class ProfinetAdapter(Profinet, Adapter):
service_name = "Profinet Adapter"
def __init__(self, host_address, csv_path=os.path.dirname(__file__)):
Profinet.__init__(self, csv_path)
Adapter.__init__(self)
I would also urge to add a docstring comment to state that csv_path refers to the parent directory of the csv-file path. If one created a custom csv-file then this path has to be adjusted to the adapter directory in the /communication directory.