Ik ben bezig met het maken van een ovenbesturingsprogramma in C#. Ik zit nu nog in de ontwerpfase en kom het volgende probleem tegen:
Ik heb een aantal objecten die onderdelen van de oven voorstellen en de waarden hiervan bijhouden in properties.
Vanuit de User Interface moet bijvoorbeeld de temperatuurSetpoint van een Thermokoppel ingesteld kunnen worden. Ook moet de ingestelde temperatuurSetpoint kunnen worden afgelezen van de ovenbesturingskaarten (in het geheugen van die kaarten).
Het communiceren met de besturingskaarten gebeurt via een Communicatie object.
Daar zit het probleem, want als ik een temperatuurSetpoint instel en het zo maak dat deze d.m.v. van het Communicatie object via de comport naar de besturingskaarten wordt verstuurd als de propertie geset wordt en ik gebruik vervolgens ook deze propertie wanneer ik de ingestelde waarde op de kaart opgehaald heb met het Communicatie object zou er een oneindige loop ontstaan.
Mijn oplossing is nu om er extra functies als bijvoorbeeld UpdateTemperatuur(value) aan te maken in het thermocouple object die aangeroepen worden als er informatie van de ovenbesturingskaarten wordt opgevraagd.
Maar dat vind ik niet zo'n nette oplossing omdat deze functies dan ook vanuit de GUI aan te roepen zijn. Nou weet ik wel dat ik dat niet moet doen, maar iemand die misschien verder gaat met mijn project niet.
Ook zijn er eigenschappen van de thermocouple die alleen het communicatieobject zou moeten kunnen veranderen en niet de GUI.
Het lijkt me dat er een nettere oplossing moet bestaan.
Sorry als de omschrijving een beetje vaag is ik hoop dat het probleem duidelijk is.
Vind het ook lastig om een passende topictitel hiervoor te bedenken.
Ik heb een aantal objecten die onderdelen van de oven voorstellen en de waarden hiervan bijhouden in properties.
Vanuit de User Interface moet bijvoorbeeld de temperatuurSetpoint van een Thermokoppel ingesteld kunnen worden. Ook moet de ingestelde temperatuurSetpoint kunnen worden afgelezen van de ovenbesturingskaarten (in het geheugen van die kaarten).
Het communiceren met de besturingskaarten gebeurt via een Communicatie object.
Daar zit het probleem, want als ik een temperatuurSetpoint instel en het zo maak dat deze d.m.v. van het Communicatie object via de comport naar de besturingskaarten wordt verstuurd als de propertie geset wordt en ik gebruik vervolgens ook deze propertie wanneer ik de ingestelde waarde op de kaart opgehaald heb met het Communicatie object zou er een oneindige loop ontstaan.
Mijn oplossing is nu om er extra functies als bijvoorbeeld UpdateTemperatuur(value) aan te maken in het thermocouple object die aangeroepen worden als er informatie van de ovenbesturingskaarten wordt opgevraagd.
Maar dat vind ik niet zo'n nette oplossing omdat deze functies dan ook vanuit de GUI aan te roepen zijn. Nou weet ik wel dat ik dat niet moet doen, maar iemand die misschien verder gaat met mijn project niet.
Ook zijn er eigenschappen van de thermocouple die alleen het communicatieobject zou moeten kunnen veranderen en niet de GUI.
Het lijkt me dat er een nettere oplossing moet bestaan.
Sorry als de omschrijving een beetje vaag is ik hoop dat het probleem duidelijk is.
Vind het ook lastig om een passende topictitel hiervoor te bedenken.
[ Voor 5% gewijzigd door RoelRoel op 14-10-2008 16:51 . Reden: Temperatuur verandert in TemperatuurSetpoint ]