-> Hier kostenlos registrieren
Hallo zusammen,
ich bin neu in der SPS-Welt, habe aber direkt eine größere Baustelle.
Ich möchte über TwinCAT 3 eine Steuerung schreiben, die mir ein die Signale von zwölf Hall-Sensoren, zwei Servomoteren von Nanotec und zwei Magnetventilen ansteuert.
Der Aufbau hat 145 Positionen, deren Bestimmung sich aus einer Kombination von maximal vier der zwölf Sensoren ergibt, die "gleichzeitig" auslösen sollen. Z.B. lösen bei Position1 die Sensoren 1,5,12 aus, bei Position2 die Sensoren 4,8,10 (unregelmäßiges Muster). Da ich von den Sensoren bool-Werte erhalte, würde ich diese pro Position gerne in einen Wert zusammenfassen und in ein Array schreiben, damit ich sie danach abgleichen kann, also so:
Sen 1234567...
Pos1: "100010000001"
Pos2: "000100010100"
Leider habe ich keine Ahnung, wie ich das Signal von bis zu vier Sensoren, die ja nie 100%ig gleichzeitig auslösen, in einen Wert bekomme.
Meine erste Idee war, die Position dann mit Strings zu vergleichen, allerdings denke ich, dass das zu ressourcenintensiv ist.
Ich hoffe das ganze war halbwegs verständlich ausgedrückt und jemand hat eine Anregung wie ich das angehen könnte.
Viele Grüße
Yannik
ich bin neu in der SPS-Welt, habe aber direkt eine größere Baustelle.
Ich möchte über TwinCAT 3 eine Steuerung schreiben, die mir ein die Signale von zwölf Hall-Sensoren, zwei Servomoteren von Nanotec und zwei Magnetventilen ansteuert.
Der Aufbau hat 145 Positionen, deren Bestimmung sich aus einer Kombination von maximal vier der zwölf Sensoren ergibt, die "gleichzeitig" auslösen sollen. Z.B. lösen bei Position1 die Sensoren 1,5,12 aus, bei Position2 die Sensoren 4,8,10 (unregelmäßiges Muster). Da ich von den Sensoren bool-Werte erhalte, würde ich diese pro Position gerne in einen Wert zusammenfassen und in ein Array schreiben, damit ich sie danach abgleichen kann, also so:
Sen 1234567...
Pos1: "100010000001"
Pos2: "000100010100"
Leider habe ich keine Ahnung, wie ich das Signal von bis zu vier Sensoren, die ja nie 100%ig gleichzeitig auslösen, in einen Wert bekomme.
Meine erste Idee war, die Position dann mit Strings zu vergleichen, allerdings denke ich, dass das zu ressourcenintensiv ist.
Ich hoffe das ganze war halbwegs verständlich ausgedrückt und jemand hat eine Anregung wie ich das angehen könnte.
Viele Grüße
Yannik