Archief - [PROG][VB.NET] Probleem met database

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

NightFlyer

Legacy Member
Hallo,

Ik ga het proberen kort te houden,de bedoeling van het programma is :
een sensor leest de hoogte van water in een bak en stuurt deze spanning via een AD naar mijn programma,in het programma wordt deze spanning omgezet naar een aantal centimeters water dat er in de bak zit.
er kan ook water via een kraan weggedaan worden uit de bak naar een kleinere bak. het programma gaat dan een pomp aansturen om terug water naar de grotere bak te pompen. Dit werkt dus allemaal perfect.
Nu wil ik deze waarden ( Spanning die wordt ingelezen & dan die centimeters) wegschrijven naar een database in Access.
Deze waarden worden 1x juist weggeschreven en dan krijgt de spanning gewoon 1 waarde ( 0,62V) en verandert deze niet meer. Ben er echt al lang op aan t zoeken maar vind het probleem gewoon niet.

Dit is mijn Timer_tick voor het lezen van de spanning in het programma.
Code:
M = ADfunc() / 255 * 5 
M = Math.Round(M, 2)
textM.Text = M
de ADfunc wordt dus berekent in een aparte module.deze

Code:
Module AD
    Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

     Public Sub Pause(ByVal msseconds As Single)
        '        Call Sleep(Int(seconds * 1000.0#))
        Call Sleep(Int(msseconds))
    End Sub


    Public Function ADfunc() As Double
        Dim i, bitwaarde, bitpositie, meting As Integer


        RTS(1)

        Pause(1)
        RTS(0)

        Pause(1)

        meting = 0
        bitwaarde = 128
        For bitpositie = 1 To 8

            If DSR = 1 Then meting = meting + bitwaarde
            DTR(1)
            Pause(1)
            DTR(0)

            Pause(1)
            bitwaarde = bitwaarde / 2
        Next bitpositie
        ADfunc = meting
    End Function

Dit werkt dus allemaal perfect.

maar dan als ik deze 2 regels toevoeg voor naar mijn database te schrijven krijg ik het probleem dat ik vanboven omschreef.

Code:
        DataSet11.Tabel1.AddTabel1Row(textM.Text, lbltijd2.Text, txtcentimeters.Text)
        OleDbDataAdapter1.Update(DataSet11)

TextM is dus gewoon de spanning.
heb ook al geprobeert TextM eerst naar een label te plaatsen,maar dit gaf hetzelfde probleem.
Deze regels stonden ook eerst in een timer,dus ik dacht dat misschien de timers elkaar overlapten , maar nadat ik deze code in een gewone knop zette,kreeg ik nog steeds hetzelfde probleem
Dus hier lag het ook niet aan.
Iemand Ideeen?

Pietsnot

Legacy Member
ik zie dat je geen "return " gebruikt. het is een functie, deze moet iets teruggeven.
wss moet je na "next bitpositie" nog schrijven, "return meting"
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan