Print deze pagina | Sluit het venster

Telfunctie

Geprint door: Koploperforum Digitale Treinbesturing
Webadres onderwerp: https://www.koploperforum.nl/topic.asp?TOPIC_ID=6793
Geprint op: 11 okt 2024

Onderwerp:


Auteur onderwerp: flyerman
Onderwerp: Telfunctie
Geplaatst op: 08 dec 2021 19:18:28
Bericht:

Ik heb op mijn station 2 sporen waar goederentreinen kunnen wachten.

Ik zou het leuk vinden als ze daar een tijdje bleven staan. Deze wachtsporen liggen elk tussen 2 stationsporen die aan een perron liggen.

Ik dacht een telfunctie te maken, die telt hoeveel treinen er op de perronsporen zijn langsgekomen, en na een aantal dat de goederentrein weer gaat rijden.

Ik heb hier op het forum wat gezocht en bekeken maar ik krijg het niet werkend. Ik heb de database bijgevoegd en het gaat om blok 104, dat is het blok waar de geoderentrein moet wachten, en de blokken 103 en 105 waar geteld wordt hoeveel treinen er geweest zijn.

Ik zie wel dat er opgeteld wordt in het "uitkomst telfunctie(s)", maar ook dat de teller omlaag gaat, en dat snap ik niet waarom.

Kan iemand eens zijn licht erover schijnen en vertellen waar de fout(en) zit?

Merci

Download Attachment: StationMartinsdijk_20211208_191806.zip
54,66 KB

Reacties:


Reageer op auteur: Bonaza
Gereageerd: 09 dec 2021 10:44:24
Bericht:

Beste,

Bij "onderhouden telfunctie" moet je wel bepalen wanneer de telling gereset wordt. Dat doe je bij "stamgegevens" "reset uitkomst" hiervoer kan je de logische actie "Blok 104 reset" gebruiken. Je moet ook nog een logische actie aanmaken die dan een speciale actie aanstuurt voor het vertrek van de trein uit blok 104. Je kan dan deze logische actie selecteren bij "output" "= gelijk aan 6". Eveneens slecteer je bij jou geval de reset bij 6.

Groeten

Marcel


Reageer op auteur: flyerman
Gereageerd: 09 dec 2021 12:05:25
Bericht:

Merci. Ik heb het een en ander aangepast. Wat ik zou willen is dat wanneer de goederentrein het desbetreffende blok inrijdt, de trein stopt met automatisch rijden (om de wachttijd ingesteld treintype / bloktype te omzeilen), de teller op 0 gezet wordt, en wanneer er random tussen de, bijv. 3 en 6 treinen zijn langsgekomen in de naast liggende blokken, dat de goederentrein vertrekt en weer automatisch gaat rijden.

Zo dat mogelijk zijn allemaal?

Download Attachment: StationMartinsdijk_20211209_120507.zip
54,78 KB


Reageer op auteur: Wim Romijn
Gereageerd: 09 dec 2021 14:19:11
Bericht:

Dat kan volgens mij.
Speciale actie (Rijwindow: stop lok aan), deze wordt gestuurd zodra lok in blok is of rijdt van blok .. naar blok ..
Speciale actie (Rijwindow: stop lok uit), als deze moet gaan rijden.

Telfunctie voor aantal treinen die gepasseerd zijn, deze zet de 2e speciale actie. Zal wel via een logische actie moeten die reageert op de telfunctie.

Voor aansturen van de 1e speciale actie een logische actie voor trein rijdt van blok naar blok.

Je zou misschien ook kunnen werken met een variabele route die actief wordt voor de goederentrein met een verbod naar een volgend blok en die uitgaat als aan de telfunctie voldaan is. Je kan de variabele route al aanzetten als het blok vrij is dan stopt de goederentrein altijd.

Mvtgr,

Wim Romijn.
N - DR5000 - loconet


Reageer op auteur: flyerman
Gereageerd: 09 dec 2021 15:26:15
Bericht:

Het probleem wat ik daar mee heb is dat de keuze "stop loc" via het rijwindow gaat. Ik kies dus de goederentrein, en alle goederentreinen stoppen met rijden wanneer het actief wordt. Dus niet alleen degene waar het op dat moment om gaat.


Reageer op auteur: Wim Romijn
Gereageerd: 09 dec 2021 15:53:07
Bericht:

Dan zou ik het doen via een variabele route.
Als je die koppelt aan een logische actie dan kan bij tabblad divers aangeven geen vertrek uit blok ...
Dan stopt hij in dat blok.
De telfunctie heft deze variabele route dan op.

Hierna activeer je de variabele route weer als deze vrij is, zodat de volgende goederentrein er weer stopt, welke weer vrijgegeven wordt als de telfunctie aan de voorwaarde voldoet, etc.

Mvtgr,

Wim Romijn.
N - DR5000 - loconet


Reageer op auteur: flyerman
Gereageerd: 09 dec 2021 16:02:46
Bericht:

Dat had ik ook geprobeerd, maar ik krijg de route niet gekoppeld aan de desbetreffende trein.

Zal zo nog eens kijken. We blijven bezig.


Reageer op auteur: Bonaza
Gereageerd: 09 dec 2021 16:12:15
Bericht:

Hallo,

Effe een paar vraagjes. De goederentrein op blok 104 is dat steeds dezelfe goederentrein of zijn dit meerdere goederentreinen ? De goederentrein in blok 104 rijdt die een bepaalde route ? (variabel of vaste route)

mvg.

Marcel


Reageer op auteur: Wim Romijn
Gereageerd: 09 dec 2021 16:17:52
Bericht:

Bij tabblad stamgegevens kan je aangeven voor welk type trein etc. hij van toepassing is en bij tabblad waar kan je aangeven welke lok. etc.

Dan zie je hem in het rijwindow bij tabblad rijgedrag en kan je hem aanzetten.

Mvtgr,

Wim Romijn.
N - DR5000 - loconet


Reageer op auteur: flyerman
Gereageerd: 09 dec 2021 16:28:28
Bericht:

Eerst even antwoord naar Wim. Is het de bedoeling dat ik deze variabele route elke keer aanvink, of is 1 keer aanvinken genoeg?

Wanner deze aangevinkt is, dan blijft deze natuurlijk actief en gaat de trein niet meer rijden, want ik heb een richtingsverbod ingesteld naar het volgende blok. Stel dat ik de variabele route automatisch kan opheffen, dan moet deze route natuurlijk weer aangevinkt worden, klopt dat?


@Marcel. In het blok 104 gaat het om meerdere goederentreinen. Alle treinen van het treintype goederentrein. Deze goederentreinen rijden een variabele route, nl de route "korte goederentrein" maar komen steeds in blok 104 terecht om te wachten.


Reageer op auteur: Wim Romijn
Gereageerd: 09 dec 2021 17:36:13
Bericht:

Nee.
Aan de variabele route koppel je een logische actie.
Hij blijft dan actief aan de lok maar werkt als de logische actie waar is.

De tel functie zorgt er voor dat de logische actie niet waar wordt, daardoor gaat de lok rijden en dan komt het blok vrij en dan zorgt de logische actie van blok vrij dat de logische actie weer waar wordt en stopt de volgende lok waaraan de logische actie ook is gekoppeld dat deze dan weer stopt.

Je hoeft dus niet elke keer de var.route aan te zetten, dat gebeurt door de logische actie.

Je hebt bijvoorbeeld een logische actie "Stop in blok x"
Deze blijft waar bij telfunctie < 3?
En niet waar bij aantal van telfunctie > 4?
De telfunctie verhoog je door het tellen van de personen treinen
De telfunctie reset je zodra de goederen trein rijdt vanuit het blok (waar die moet stoppen) naar een ander blok.
Hierdoor is de variabele route actief of niet actief, beter gezegd stoppen of rijden.

Mvtgr,

Wim Romijn.
N - DR5000 - loconet


Reageer op auteur: flyerman
Gereageerd: 10 dec 2021 11:01:30
Bericht:

Ik moet nu even een paar dagen wat anders doen, ga er daarna eens verder naar kijken.

Ik had nog een uurtje en heb nog wat in elkaar gevogeld, alleen wil de vergelijkung niet helamaal lukken.




Ecos 2 met Koploper

Download Attachment: StationMartinsdijk_20211211_134013.zip
54,88 KB


Reageer op auteur: Wim Romijn
Gereageerd: 11 dec 2021 19:35:48
Bericht:

Wat ik zie is dat je de telfunctie laat resetten als het aantal groter is dan 3, het is niet de bedoeling dat de reset op deze manier wordt gedaan.

Beter is het volgende:
1: Telfunctie voor het aantal personen treinen in de betreffende blokken.
2: logische actie stop trein in blok 104, die komt bij output van de telfunctie als het aantal kleiner is dan ??.
3: logische actie trein rijdt van blok 104 naar .... deze zet je bij de reset van de telfunctie.

Hierdoor blijft de teller doortellen, ook als dit meer is dan 3.
Hierdoor wordt de logische actie dat de trein in blok 104 moet stoppen niet meer waar en kan hij vertrekken, maakt niet uit wanneer.
Wat in de huidige opzet kan gebeuren is bijvoorbeeld dat ook een andere trein zou mogen vertrekken uit het station en de trein uit blok 104 mag dan pas vertrekken dan doet hij dat niet want door de vroege reset mag hij niet meer want onder tussen is het aantal te laag en moet hij weer blijven staan.

De reset moet dan ook gebeuren door de trein die moest blijven staan en dat is als de trein uit blok 104 vertrekt.
Dan krijg je dat de volgende trein die in blok 104 arriveert moet stoppen.



Mvtgr,

Wim Romijn.
N - DR5000 - loconet


Reageer op auteur: flyerman
Gereageerd: 12 dec 2021 18:57:10
Bericht:

Dank je Wim.

Ik ben de paar dagen dat ik thuis ben even de laatste "oplevering" van de bouw aan het testen, of alles goed werkt kwa bezetmelders en wisselstraten etc.

Van de week weer 5 dagen weg voor werk dan eens kijken of ik jouw verhaal kan vertalen naar het gebruik in Koploper.

Even een filmpje van hoe het er nu uitziet.

https://youtu.be/eLSC6AaBDl0

Ecos 2 met Koploper


Reageer op auteur: flyerman
Gereageerd: 19 dec 2021 09:43:11
Bericht:

Ik heb er nog eens naar gekeken Wim. Maar ik zit met punt 2, logische actie om de trein te stoppen in blok 104. Ik kan alleen maar logische acties koppelen aan de telfunctie die niet zelf zijn waarde bepaald. En daar wringt nu net de schoen.

Een idee hoe dat op te lossen?

Ecos 2 met Koploper


Reageer op auteur: Wim Romijn
Gereageerd: 19 dec 2021 13:00:59
Bericht:

Ik heb daar geen problemen mee.


Download Attachment: Koploper.jpg
192,68 KB

Mvtgr,

Wim Romijn.
N - DR5000 - loconet


Reageer op auteur: flyerman
Gereageerd: 19 dec 2021 18:41:50
Bericht:

Ik zal morgen jouw database eens bekijken Wim. Merci

Ecos 2 met Koploper


Reageer op auteur: Wim Romijn
Gereageerd: 19 dec 2021 19:38:27
Bericht:

Het is niet mijn database maar een afdruk van het idee hoe je de telfunctie kan gebruiken om het te realiseren.

Mvtgr,

Wim Romijn.
N - DR5000 - loconet


Reageer op auteur: flyerman
Gereageerd: 20 dec 2021 00:55:09
Bericht:

Ik zie het, had ff snel gekeken tussen mijn vluchten door. Dacht dat het een database was.

Dit snap ik allemaal wel, het gaat mij om de logische actie, ik krijg dat, zoals gezegd, van punt 2 niet werkend.

Ecos 2 met Koploper


Reageer op auteur: PaulRoman
Gereageerd: 20 dec 2021 10:38:22
Bericht:

Hoi Flyerman,

Omdat ik het leuk vind heb ik jouw probleem even in een testsetting gemodelleerd. Het is ongeveer een implementatie van wat Wim Romijn al heeft beschreven. Jouw probleem staat op tabblad "Flyerman". De naam van de betrokken logische variabelen, telfunctie en variabele route beginnen allemaal met "FLM:". Let niet op de rest van de zooi die in de database staat. Ik gebruik deze nl. om van alles en nog wat te testen, en de testjes bij elkaar in 1 bestand te houden.

Succes,

Paul

Download Attachment: TestBaan_20211220.zip
10,94 KB

Schäßburg an der Kokel


Reageer op auteur: flyerman
Gereageerd: 20 dec 2021 13:33:58
Bericht:

Merci Paul. Ga straks, waarschijnlijk vanavond, eens kijken en laat hier even weten hoe of wat.

Martin


Ecos 2 met Koploper


Reageer op auteur: Wim Romijn
Gereageerd: 20 dec 2021 17:03:02
Bericht:

Martin,
Heb je in het eerste scherm wel de goede keuze staan hoe de waardebepaling moet, die moet namelijk n.v.t. zijn.

En dan kan je in het scherm verhogen/verlagen kiezen uit logische acties die daarvoor in aanmerking komen, zoals blok xx bezet, deze logische actie doet niets anders als dan in de teller deze verhogen elke keer dat een trein dit blok inrijdt.

In het tabblad "Output" kies je voor een logische actie die waar blijft zolang het aantal onder een bepaalde waarde blijft. Deze logische actie zet je bij de variabele route dat een trein niet mag vertrekken uit blok 105 zolang deze waarde waar is.

Vervolgens maak je nog een logische actie "Trein rijdt van blok 105 naar ...." deze zet je in het tabblad Stamgegevens bij "Reset".

Als je dit allemaal uitvoert dat blijft een trein in blok 105 staan net zolang als de waarde onder een te bepalen aantal is. Nadat deze dan vertrokken is wordt de teller op 0 gezet en begint het weer opnieuw.

Als je dit werkend heb dan kan je een extra uitdaging doen door op je scherm schakelaars te zetten en die te tellen. Dan kan je dat aantal schakelaars vergelijken met je telfunctie en tijdens het rijden bepalen na hoeveel keer dat een trein gepasseerd is te vertrekken.
Zelf ga ik nog een stukje verder door op een extern tableau schakelaars te zetten, die gekoppeld zijn aan bezetmelders, en die sturen de schakelaars op het scherm aan waardoor ik mijn scherm niet meer nodig heb en dergelijke zaken extern kan uitvoeren.

Dit doe ik ook voor bijvoorbeeld tijdens het rijden te bepalen hoeveel getrokken treinen of treinstellen er mogen rijden.

Mvtgr,

Wim Romijn.
N - DR5000 - loconet


Reageer op auteur: flyerman
Gereageerd: 20 dec 2021 17:21:28
Bericht:

Ik heb de database van Paul bekeken wat hij gedaan heeft en ik weet waar mijn fout zit. Ik had wat te rechtlijnig gedacht.

Ik dacht ik maak een logische functie met iets van de trein in een blok en koppel dat aan mijn teller output, dat werkte dus niet omdat die logische functie zelf geen waarde mag toekennen.

Door een variable route te koppelen aan de logsische functie omzijl je dat dus eigenlijk.

Ik heb het dus verkeerd aangepakt, en daar ging het mis.


Dan nog een vraag, ik kan niet duidelijk vinden wat de "groep" doet. Kan je bv in 1 groep alle logische stoppen die met elkaar te maken hebben en dat je makkelijker kan zien wat bij elkaar hoort?


Wim, kan jij hier eens je databse posten, gewoon uit interesse hoe jij dingen doet?

Paul, Wim, Bedankt voor de hulp, ik kan weer even verder.

Ecos 2 met Koploper


Reageer op auteur: Wim Romijn
Gereageerd: 20 dec 2021 17:29:35
Bericht:

Toon in groep gebruikte ik nooit totdat ik jouw vraag las.
Je kan ze in groepen onder verdelen en dan tijdens het rijden bij het zichtbaar maken van de logische acties kiezen welke groep je wil zien. Best handig als je alleen de uitkomsten voor rangeren o.i.d. wil zien. Anders krijg je alles en door regelmatig verversen ben je telkens degene kwijt welke je wil zien.

Hier mijn databeses.

In deze zijn de externe schakelaars gekoppeld aan de schakelaars op het scherm. dit gebeurt met speciale acties.


Download Attachment: Duiven.zip
34,25 KB

Onderstaand mijn huidige baan, hier moet ik de externe schakelaars nog koppelen, het handmatig rangeren via handmatige wisselstraten gaat nu goed. Maar ook de externe knoppen moeten nog gekoppeld worden.


Download Attachment: Tauben.zip
59,38 KB

Bij elke schakelaar op het scherm zie je een bezetmelder getekend, deze zijn straks gekoppeld aan de externe schakelaars.

Mvtgr,

Wim Romijn.
N - DR5000 - loconet


Reageer op auteur: flyerman
Gereageerd: 21 dec 2021 11:19:04
Bericht:

Dank je Wim. Ik ga ze eens bekijken wat jij allemaal gedaan hebt.

Martin

Ecos 2 met Koploper


Koploperforum Digitale Treinbesturing : https://www.koploperforum.nl/

© EKweb 2006

Sluit venster