Ik hoop dat iemand hier me de goede kant op kan sturen.
Zelf ben ik geen programmeur, door een derde is het volgende opgezet en ben zoekende waar de fout zit.
Klant heeft een aantal sensoren, welke een puls geven aan een chip, welke vervolgens uitgelezen word. data wordt weggeschreven naar een database en op de chip word elke poort op 0 gezet.
Dit draait op een windows 7 machine en word doormiddel van een .vbs file steeds opnieuw gestart. Dit gaat enige tijd (ene keer een uur andere keer 3 uur en dna weer 10 minuten) goed, maar vervolgens komt er een foutmelding.
Het probleem hiermee is dat de database geen input meer krijgt terwijl de counters op de chip oplopen. aangezien het hier een oplossing betreft om batches te meten is het de bedoeling dat het door blijft lopen.
De code waar het om gaat:
Zelf ben ik geen programmeur, door een derde is het volgende opgezet en ben zoekende waar de fout zit.
Klant heeft een aantal sensoren, welke een puls geven aan een chip, welke vervolgens uitgelezen word. data wordt weggeschreven naar een database en op de chip word elke poort op 0 gezet.
Dit draait op een windows 7 machine en word doormiddel van een .vbs file steeds opnieuw gestart. Dit gaat enige tijd (ene keer een uur andere keer 3 uur en dna weer 10 minuten) goed, maar vervolgens komt er een foutmelding.
Het probleem hiermee is dat de database geen input meer krijgt terwijl de counters op de chip oplopen. aangezien het hier een oplossing betreft om batches te meten is het de bedoeling dat het door blijft lopen.
Windows Script Host Script: c:\application\restartcounter.vbs Regel: 20 Teken: 2 Fout: Niet gevonden Code: 80041002 Bron: SWbemObjectEx
De code waar het om gaat:
VBScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| Do While True Dim oShell : Set oShell = CreateObject("WScript.Shell") Dim objShell 'Wait a sec WScript.Sleep 3000 ' Kill Counter' oShell.Run "taskkill /im Counter.exe", , True 'Kill Counter 2 strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colProcessList = objWMIService.ExecQuery _ ("SELECT * FROM Win32_Process WHERE Name = 'Counter.exe' OR Name = 'Counter.application'") For Each objProcess in colProcessList objProcess.Terminate() Next 'Wait a sec WScript.Sleep 2000 Set objShell = CreateObject("Shell.Application") 'objShell.ShellExecute "C:\Users\Administrator\Desktop\Final_Counter\Counter.application", "", "", "", 1 objShell.ShellExecute "C:\application\Final_Counter\Counter.application", "", "", "", 1 Wscript.Sleep 15000 Loop |
[ Voor 0% gewijzigd door RobIII op 22-09-2015 13:59 . Reden: Code tags toegevoegd ]