Search the Community
Showing results for tags 'data'.
Found 4 results
Hi, I'm having hard time displaying data that I get through MODBUS. Need to read from multiple slaves, but after download display still shows 0. Maybe do I need to write data to data table and then display on HMI? Or I can just display data vector? I'm really confused, thanks in advance for your help. P.S. Program attached below. Thermofisher.vlp
Hi support and forum members I have successfully used the Visilogic project examples to log data using an SD Card. However, the example program uses SB13 to write data to the SD card every 1 second. This is far too frequent for my application. I want to log data every minute, or every 10 minutes. How can I reduce the write frequency? Do I need to use some delay timers? Can anybody assist me with the correct/optimal ladder for this. Picture of code attached. I'd also like to know how to display the free space in MB or GB left on the SD card Best Regards
Hi, I managed how to get data from database using read_db function from activex.dll in vb6. I want to read whith copymemory function a float value from database but i get a large decimal number with cientific notation. Also i cannot read the entire database, so im doing it in groups of 19 cuz if i do 20 i get an error "9 Subscript out of range". Here is my code: Private Sub LeerBD() Dim Valores() As Byte Dim i As Integer Dim iFecha As String Dim iHora As String Dim iTipo As String Dim iLote As Long Dim iTemCam As Double Dim iHumedad As Integer Dim iPresion As Integer Dim iPeso As Double Dim iEst As String Dim Pointer As Long Dim grupo As Long On Error GoTo mal For grupo = 0 To 101949 Step 19 * 51 Call mComDriver.Read_DB(grupo, 19, 51, 51, Valores) Pointer = 0 For i = 1 To 19 iFecha = PointerToString(VarPtr(Valores(Pointer))) Pointer = Pointer + 10 iHora = PointerToString(VarPtr(Valores(Pointer))) Pointer = Pointer + 10 iTipo = PointerToString(VarPtr(Valores(Pointer))) Pointer = Pointer + 10 Call CopyMemory(iLote, Valores(Pointer), 4) Pointer = Pointer + 4 Call CopyMemory(iTemCam, Valores(Pointer), 4) Pointer = Pointer + 4 Call CopyMemory(iHumedad, Valores(Pointer), 2) Pointer = Pointer + 2 Call CopyMemory(iPresion, Valores(Pointer), 2) Pointer = Pointer + 2 Call CopyMemory(iPeso, Valores(Pointer), 4) Pointer = Pointer + 4 iEst = PointerToString(VarPtr(Valores(Pointer))) Pointer = Pointer + 5 Debug.Print iFecha & "-" & iHora & "-" & iTipo & "-" & iLote & "-" & iTemCam & "-" & iHumedad & "-" & iPresion & "-" & iPeso & "-" & iEst Next i Next grupo Exit Sub mal: MsgBox "[" & Err.Number & "] " & Err.Description, vbCritical, "Error" End Sub the results for iTemCam or iPeso are like this: 8.39516345413446E-320 1.27321882187115E-314 Any ideas what im doing wrong?
I'm working with getting names from a DT on the screen, and I got the folowing: read name from dt, row offset in string1 read name from dt, row offset +1 in string2 .... read name from dt, row offset +14 in string15 next page = offset + 15 reload. This way i can skip through the DT and show all values, but now I got a strung with 15 times almost the same code. The problem is that there isn't a array[string] with which it would be possible to make a loop. If there would be an array[string] then i could save at position [offset] and next time [offset +1], but now i need another name thereby I't isn't possible to make a loop. Any ideas?