Ik ben bezig met het schrijven van DSS services om in VPL te kunnen gebruiken. Voor elk verschillend onderdeel van ons systeem (input, output, robot etc) ben ik een aparte service aan het schrijven. Dit omdat dat voor ons huidig framework noodzakelijk is.
Nu kan ik zonder problemen een connectie leggen met de controller waar (tot nu toe) een aantal hardwareonderdelen bestuurd kunnen worden, echter met elke service die ik maak moet ik een nieuwe connectie leggen.
Als de connectie tussen de service en de hardware eenmaal gelegd is heb ik ook geen issues, dan kan ik over verschillende connecties mijn data lezen en schrijven.
Mijn probleem onstaat op het moment dat ik meerdere services gebruik wil laten maken van dezelfde controller. Wat er gebeurt bij de services is dat er tegelijk vanuit verschillende services een connectie gemaakt probeert te worden, echter kan de hardware dit niet aan en geeft hij hier errors op. Als ik door mijn code heenstap en ik wacht een seconde ofzo na het leggen van een connectie en ga dan verder dan werkt het dus wel.
Ik heb geen manier om te kijken of de controller bij het leggen van de connectie al bezig is met verbinden, buiten een exception die ik krijg, echter op het moment dat ik die exception krijg heb ik al risico dat de controller in een errormode zit.
Is er een manier, buiten bijvoorbeeld een delay inbouwen en hopen dat hij tijdens deze delay verbonden is, om dit slim aan te pakken? Het gaat me dus puur om het leggen van de connectie naar de controller die ik heb, als die er eenmaal is dan is er geen probleem meer.
Nu kan ik zonder problemen een connectie leggen met de controller waar (tot nu toe) een aantal hardwareonderdelen bestuurd kunnen worden, echter met elke service die ik maak moet ik een nieuwe connectie leggen.
Als de connectie tussen de service en de hardware eenmaal gelegd is heb ik ook geen issues, dan kan ik over verschillende connecties mijn data lezen en schrijven.
Mijn probleem onstaat op het moment dat ik meerdere services gebruik wil laten maken van dezelfde controller. Wat er gebeurt bij de services is dat er tegelijk vanuit verschillende services een connectie gemaakt probeert te worden, echter kan de hardware dit niet aan en geeft hij hier errors op. Als ik door mijn code heenstap en ik wacht een seconde ofzo na het leggen van een connectie en ga dan verder dan werkt het dus wel.
Ik heb geen manier om te kijken of de controller bij het leggen van de connectie al bezig is met verbinden, buiten een exception die ik krijg, echter op het moment dat ik die exception krijg heb ik al risico dat de controller in een errormode zit.
Is er een manier, buiten bijvoorbeeld een delay inbouwen en hopen dat hij tijdens deze delay verbonden is, om dit slim aan te pakken? Het gaat me dus puur om het leggen van de connectie naar de controller die ik heb, als die er eenmaal is dan is er geen probleem meer.