Wil je het volledige programma nog eens posten zodat ik het eens kan testen.

Dit zou moeten werken, op tijdstip 0 en lengte 0 staat de tijd wel -40min maar dat is niet erg.

Edit: ik zie net dat mijn display nog een beetje aangepast moet worden maar dat zal ik later doen. (er staan nog uren maar dit is nu aantal minuten geworden)

[Bericht gewijzigd door Floris87 op (46%)]

Ga ik vandaag nog eens onder de loepe nemen ;)

Op zaterdag 11 januari 2025 14:41:48 schreef Lambiek:
[...]
In principe kan het wel op deze manier, maar erg precies is dat niet. Je hebt grote kans dat je looprol gaat slippen en dan klopt je telling niet meer.

Als je haspel is voorzien van een systeem dat de slang netjes naast elkaar wordt gelegd tijdens het oprollen, dan zou je beter het signaal van de haspel kunnen halen. Je weet hoeveel windingen van de slang er op de haspel naast elkaar liggen, dus je kunt berekenen hoeveel meter er op de onderliggende laag aan slang ligt.

Ja, goed idee om op de haspel te meten (spaken o.i.d. detecteren). Echter, hoe weet je hoeveel windingen en lagen er op de haspel liggen? Aantal lagen bepalen door naar naar het naar het opwikkel systeem te kijken lijkt me geen al te beste nauwkeurigheid op te leveren. Beide combineren om te detecteren wanneer er aan een nieuw laag begonnen en spaken tellen zou misschien een mogelijkheid zijn.

Op dinsdag 14 januari 2025 10:04:23 schreef MGP:
[...]
Met een afrondingsproces zou dat kunnen maar waarom zou je afronden als je met integers werkt?
Hierdoor kun je geen getal ontleden in aparte cijfers om bv op een scorebord te afficheren enz.
Afronden in een PLC heeft volgens mij meer nadelen dan voordelen.

Ben er eigenlijk wel van verrast maar sowat, het is nu zo en daar kan ik niks aan veranderen.

Mijn PIC doet beter als hij met integers werkt ;) gelukkig maar anders kun je geen 7seg display's aansturen.

Floris, ik heb nog nooit met een Logo gewerkt, je zult je dus naar anderen moeten richten zoals Toeternietoe voor meer praktische zaken.

Eerst vermenigvuldigen met 10, 100 of 1000 en dan pas delen geeft je uitkomst meer nauwkeurigheid. Met DIV en MOD (indien beschikbaar) kun je ook wat bereiken. DIV (soms \) rondt niet af. 36 MOD 10 levert je 6 op, zes tienden dus, terwijl 36 DIV 3 oplevert, de eenheden.

Op woensdag 15 januari 2025 16:59:14 schreef soldeersmurf:
[...]

Eerst vermenigvuldigen met 10, 100 of 1000 en dan pas delen geeft je uitkomst meer nauwkeurigheid. Met DIV en MOD (indien beschikbaar) kun je ook wat bereiken. DIV (soms \) rondt niet af. 36 MOD 10 levert je 6 op, zes tienden dus, terwijl 36 DIV 3 oplevert, de eenheden.

Ja maar MOD is niet beschikbaar in de Logo anders gingen we er niet over gevallen zijn.
Vermenigvuldigen met 10,100 of 1000 lost niks op, dan moet je terug delen en dan loopt het verkeerd, die komma verplaatsen om op het scherm te zetten is geen bewerking

Maar het is eenvoudiger van eerst 30 af te trekken en dan te delen door 60 zoals Toeternietoe aangaf, deze werkwijze van afronden was ik totaal vergeten en heb ze nochtans vroeger al een paar keren toegepast.

Ondertussen heb ik programma getest en dat werkt prima, @TS je moet wel nog de uren op het scherm wegdoen.

Edit: Tip: Wegens de traagheid van opwinden zou ik ook nog de PULS en DIR sensors van een vertraging voorzien zoals de resetknop maar dan van 0.5 Sec of zoiets.
Ik heb ze er toen niet bijgezet om makkelijker te kunnen simuleren.

Op woensdag 15 januari 2025 18:51:23 schreef MGP:
[...]

Edit: Tip: Wegens de traagheid van opwinden zou ik ook nog de PULS en DIR sensors van een vertraging voorzien zoals de resetknop maar dan van 0.5S of zoiets.
Ik heb ze er toen niet bijgezet om makkelijker te kunnen simuleren.

Waarom zou dit nodig zijn?

Het scherm zal ik nog aanpassen en de dir blok zal ik ook nog aanpassen naar een puls knop en dan is het testen.

Op woensdag 15 januari 2025 19:05:41 schreef Floris87:
[...]

Waarom zou dit nodig zijn?

Je kunt het zien als ontdendering, dan ben je zeker dat het plaatje goed voor de sensor(s) zit bij het tellen want trillingen kunnen roet in het eten gooien.
NB. je moet dat doen na het testen, enkel invoegen voordat het op de machine wordt gemonteerd.

Goeiemiddag,

Ondertussen heb ik de gehele installatie voor mijn haspel gemaakt en geïnstalleerd.

Ik heb ondertussen al een klein programma geschreven om eens mijn ingangen te testen en dit lukt, ook lukt het om te verbinden en te testen.

Maar nu wil ik dit grote programma naar mijn Logo! verzenden en dan krijg ik telkens de onderstaande error. Download PC --> Logo! Failed. In de simulatie werkt alles perfect.

Wat doe ik verkeerd, is er iets verkeerd aan het programma?

In de bijlages staat de foto van de foutcode en het programma.

Dat is de foutcode niet, wat er mis is gegaan zie je in Info-window als je op F4 drukt of in het menu VIEW infowindow aanklikt.

Ik zie dat input3 nog een schakelaar is ipv een drukknop, niet vergeten te veranderen.

ja klopt, de schakelaar heb ik aangepast naar drukknop.

oke, ik heb de foutcodes gevonden en daar staat bij allemaal dat er
geen uitgang aan de blokken verbonden is, maar wanneer ik dan deze blokken wil koppelen met een uitgang dan kan dit niet en staat er incompatibel connectors.

Met een open connector lukt dit ook niet.

Wat kan ik hieraan doen.
bedankt!

Probeer een AM flag zoals aan B013

Je kunt alleen digitale signalen met elkaar koppelen, of alleen analoge.
Een Digitaal signaal kun je niet koppelen aan een analoog signaal en omgekeerd.

Een uitgang van een blok MOET altijd verbonden zijn met iets, uitgezonderd uitgangen (Q), merkers (M) en vlaggen (X)(Flags)
Als je een uitgang van een blok niet nodig hebt dan MOET je deze toch ergens aan verbinden, dat kan dan aan een Merker, Flag, of een niet gebruikte uitgang.
Je kunt bv uitgang Q5 hiervoor gebruiken, ook al is deze uitgang niet fysiek aanwezig

De zg interne signalen, bereikbaar via het grijze blokje onder een blok kun je alleen maar verbinden met andere interne signalen. Ook hier weer analoog aan analoog.

bedankt MGP het is gelukt nu en het programma lukt goed.

Maar nu duikt een ander probleem op, ik heb dit geprobeerd met het loopwiel maar dit was (zoals andere al voorspelde) onnauwkeurig genoeg door de bagger en slip die optreed op de slang.

Daarom heb ik nu de sensoren geplaatste op de turbine (het buitenste deel van de haspel) maar hierdoor verandert de de afgerolde afstand per puls van de sensor. Hoe meer slang windingen op de haspel zitten hoe groter de diameter van de haspel en daardoor is de afgerolde afstand per puls van de sensor ook groter.

Ik heb dit eens op de proef genomen en dit waren mijn conclusies.

Winding 1 :
Tussen welke pulsen : 0 --- 82
Afstand per puls 0.832 meter

Winding 2 :
Tussen welke pulsen : 82 --- 182
Afstand per puls : 0.758 meter

Winding 3 :
Tussen welke pulsen : 182 --- 287
Afstand per puls : 0.707 meter

Winding 4 :
Tussen welke pulsen : 287 --- 389
Afstand per puls : 0.646 meter

Winding 5 :
Tussen welke pulsen : 389 --- 500
Afstand per puls : 0.576 meter

Zou dit lukken in de Logo! software om dit uit te rekenen?

Nu doe ik het aantal pulsen x 5 en verschuif de komma 1 keer om het aantal meters te bekomen want 1 puls is 0,5m

zou iemand mij hierbij kunnen helpen?
bedankt!

Zoiets had je toch op voorhand kunnen weten :S

Volgens mij krijg je dat op die manier nooit goed, lengtemetingen doen zonder contact met de slang heeft meer met gissen te maken dan meten.

Logo8 kent geen Piecewise Lineair functie wat het eventueel makkelijker zou gemaakt hebben, hoe dat nu verder moet weet ik niet zo direct.

Ja, maar dit lijkte de simpelste oplossing met het loopwiel dus vond ik het de moeite waard om dit te proberen.

Ook omdat ik geen idee heb hoe ik nu moet aanpakken met de veranderlijke afstand

Zou dit lukken met de <>, >= blokken ?

[Bericht gewijzigd door Floris87 op (13%)]

Je moet het in stukjes verdelen.
de 1e 82 pulsen x 832
dan de tweede serie pulsen tellen vanaf 83 tot 182 x 758
dan 3e serie pulsen.... etc
Dan tel je alle waarden op en je bent er.
Zie voorbeeld, wel zelf je eigen fout eruit halen.
Telt op 0,1 meter, maar werkt op de mm.

Ik heb nog geen tijd gehad om het uitgebreid te testen.

Winding teller.lsc

Bedankt!, ik heb het al uitvoerig getest en het lukt,

Maar ik heb enkele vragen / opmerkingen.

Als ik bij B001 van puls 82 naar 83 ga dan telt deze hierbij 0,8m en als ik bij B002 van puls 82 naar 83 ga ( dus 1 op B003) dan telt deze ook 0,8m bij daardoor heb ik dus bij puls 83 dus 0,8m teveel op mijn totale afstand (B014)
Hoe zou dit op te lossen zijn?

Ik heb ook B018 aan B014 gekoppeld zodanig dat winding 5 ook meegeteld word

Bij B002 staat er bij On 182, maar moet dit niet 100 zijn want dit is het totaal aantal pulsen bij winding 2. Dus winding 1 en 2 zijn 82 + 100= 182 (en niet 82 + 182 =264)

Dit is ook bij B003 is nu 288 maar moet 105 zijn denk ik.
hetzelfde ook bij B004, moet 102 zijn en B005 moet 111 zijn.

Zou dit het probleem kunnen zijn dat ik hierdoor soms onnauwkeurige lengtes heb op de display? Want als ik bijvoorbeeld boven de 287 pulsen heb dan scheelt het enkele meters met de werkelijke afstand.

Ik schreef je al, ik had geen tijd voor een uitgebreide test.
In de bijlage zijn een paar vautjes opgelost.

Verder moet je zelf nog goed nakijken of het goed werkt.
Het kan zijn dat er een (of meerde) tellerblock net een pulsje hoger of lager afgesteld moet worden.

Noot: B016 telt winding 5, die teller blijft doorlopen ook als er meer dan 500 pulsen zijn.

Verder denk ik dat het allemaal in cm nauwkeurig telt.
In mm kan niet, dan kom je in een tellerblok boven de 32.767 uit, en dat geeft fouten. En je kunt natuurlijk nooit nauwkeuriger werken dan +/- 0,832 meter, de afstand tussen 2 pulsen. Of je moet 2 pulsen genereren bij 1 omwenteling van je meetwiel.

Probeer t effe.

Winding teller V2.lsc

Bedankt!! het werkt nu zeer nauwkeurig.

Maar hoe zorg ik ervoor dat de pulsen worden verminderd als er 2 sensors actief zijn ( 1 = make button 2= switch) Als enkel 1 hoog is dan optellen en als 2 hoog is en dan 1 hoog dan aftrekken van de lengte.

Ik heb dit al getest en in winding 1 lukt dit. Daarna probeer ik winding 2 optellen en aftrekken en dit lukt ook, maar wanneer ik van winding 2 terug naar winding 1 wil gaan dan geraakt mijn counter niet meer onder de 82 pulsen.

Heeft u een idee hoe ik dit moet aanpakken, met dezelfde blokken?

Ondertussen heb ik aan mijn programma verder gewerkt en daaruit blijkt dat wanneer je de gemiddelde afstand per puls van de gehele haspel bekijkt (0,7039m) en dit gebruikt in de berekeningen dan klopt dit zo goed als altijd.

Je zou kunnen denken, dit is niet nauwkeurig vooral bij hele kort of hele lange afstanden. Maar doordat de snelheid ook veranderd dan wordt deze fout eigenlijk weg gewerkt.

Het is de verhouding die telt.
Heb al steekproefgewijs enkele testen/ berekeningen gedaan en met de correctiefactor en met het gemiddelde en daaruit blijkt dat dit behoorlijk hetzelfde resultaat oplevert

De totale tijd zal dan wel juist zijn maar de afgerold lengte niet als je die bv. maar tot halverwege afrolt.
Enkele waarden op het display zullen ook niet meer kloppen en je viel al over de decimale aanduiding, na de komma, van de tijd ;)

Je kunt de fout verminderen door meer plaatjes op de omtrek te plaatsen.

inderdaad dat klopt, dat zou ik ook nog willen aanpassen.

Dan zou ik het programma dat Toeternietoe geschreven heeft enkel willen gebruiken om dit weer te geven op het display ( de lengte en de snelheid)

Want ik denk dat wanneer we deze programma's met elkaar zullen verbinden we te grote nauwkeurigheid fouten hebben doordat het programma verkeerd zal afronden. En deze fout zou blijven gebruiken tijdens het programma.

Op dinsdag 28 januari 2025 18:15:10 schreef Floris87:
Maar nu duikt een ander probleem op, ik heb dit geprobeerd met het loopwiel maar dit was (zoals andere al voorspelde) onnauwkeurig genoeg door de bagger en slip die optreed op de slang.

:)

Als je het goed werkend wil krijgen heb je meer plaatjes nodig of een encoder.

Zit er een oprolsysteem op de haspel? Ik bedoel zo'n systeem die de slang begeleid tijdens het oprollen zodat de slang netjes naast elkaar komt te liggen.

Je hebt so wie so altijd al een fout van bijna een meter met de huidige opstelling.

Het programma te maken voor Oprollen en Afrollen is me nog niet gelukt.
Het is een uitdaging voor me, wie weet lukt het me, maar vooralsnog even niet.

Met 1 teller, en een gemiddelde dan de oprollengte per puls te nemen wordt je fout niet zo heel erg groot, en wordt je programma een heel stuk makkelijker te maken.

Even nagerekend, per puls is het dan 0,696 gemiddeld.
Je max fout is dan een meter of 10, op een totale lengte van 400 meter.
Acceptabel??