P1 poort uitlezen
Re: P1 poort uitlezen
Iets beter lezen:
Ik stel voor dat je alle regels tussen "If left(data,1) = "!" then" en "End If" even inactief maakt door er een ' voor te zetten
End Sub staat niet tussen de genoemde regels toch?
Ik stel voor dat je alle regels tussen "If left(data,1) = "!" then" en "End If" even inactief maakt door er een ' voor te zetten
End Sub staat niet tussen de genoemde regels toch?
Re: P1 poort uitlezen
Sorry, zo dan?
If left(data,1) = "!" then
' P1_Teller=P1_Teller+1
' ElseIf left(data,1) = "(" then
' hs.SetDeviceString "V85",CSng(right(data,9))
' hs.setDeviceLastChange "V85",now
' ElseIf left(data,10) = "1-0:1.7.0(" then
' hs.SetDeviceString "V84",CSng(left(right(data,7),4))*1000
' hs.setDeviceLastChange "V84",now
' ElseIf left(data,10) = "1-0:1.8.2(" then
' V82=CSng(left(right(data,13),9))
' hs.SetDeviceString "V82",V82
' hs.setDeviceLastChange "V82",now''
' ElseIf left(data,10) = "1-0:1.8.1(" then
' V81=CSng(left(right(data,13),9))
' hs.SetDeviceString "V81",V81
' hs.setDeviceLastChange "V81",now
' hs.SetDeviceString "V83",CSng(hs.DeviceString("V82"))+CSng(hs.DeviceString("V81"))
' hs.setDeviceLastChange "V83",now
' ElseIf left(data,9) = "0-0:96.14" then
' hs.SetDeviceString "V80",Cint(right(data,4))
' hs.setDeviceLastChange "V80",now
End If
End sub
If left(data,1) = "!" then
' P1_Teller=P1_Teller+1
' ElseIf left(data,1) = "(" then
' hs.SetDeviceString "V85",CSng(right(data,9))
' hs.setDeviceLastChange "V85",now
' ElseIf left(data,10) = "1-0:1.7.0(" then
' hs.SetDeviceString "V84",CSng(left(right(data,7),4))*1000
' hs.setDeviceLastChange "V84",now
' ElseIf left(data,10) = "1-0:1.8.2(" then
' V82=CSng(left(right(data,13),9))
' hs.SetDeviceString "V82",V82
' hs.setDeviceLastChange "V82",now''
' ElseIf left(data,10) = "1-0:1.8.1(" then
' V81=CSng(left(right(data,13),9))
' hs.SetDeviceString "V81",V81
' hs.setDeviceLastChange "V81",now
' hs.SetDeviceString "V83",CSng(hs.DeviceString("V82"))+CSng(hs.DeviceString("V81"))
' hs.setDeviceLastChange "V83",now
' ElseIf left(data,9) = "0-0:96.14" then
' hs.SetDeviceString "V80",Cint(right(data,4))
' hs.setDeviceLastChange "V80",now
End If
End sub
Re: P1 poort uitlezen
28-2-2015 17:47:04 Error Running script, script run or compile error in file: P1.txt1024:Expected statement in line 25 More info: Expected statement
28-2-2015 17:47:04 Error Running script, script run or compile error in file: P1.txt1024:Expected statement in line 25 More info: Expected statement
28-2-2015 17:47:04 Error Running script, script run or compile error in file: P1.txt1024:Expected statement in line 25 More info: Expected statement
28-2-2015 17:47:04 Error Running script, script run or compile error in file: P1.txt1024:Expected statement in line 25 More info: Expected statement
28-2-2015 17:47:04 Error Running script, script run or compile error in file: P1.txt1024:Expected statement in line 25 More info: Expected statement
28-2-2015 17:47:04 Error Running script, script run or compile error in file: P1.txt1024:Expected statement in line 25 More info: Expected statement
28-2-2015 17:47:04 Error Running script, script run or compile error in file: P1.txt1024:Expected statement in line 25 More info: Expected statement
Re: P1 poort uitlezen
Volgens mij mist het P1.txt bestand een regel zie ik nu. Zet eens helemaal bovenaan het volgende:
Sub P1_event(data)
Laat maar weten of dat helpt.
Sub P1_event(data)
Laat maar weten of dat helpt.
Re: P1 poort uitlezen
Heb p1 script aangepast, zie onderstaand:
Sub P1_event(data)
If left(data,1) = "!" then
P1_Teller=P1_Teller+1
ElseIf left(data,1) = "(" then
hs.SetDeviceString "V85",CSng(right(data,9))
hs.setDeviceLastChange "V85",now
ElseIf left(data,10) = "1-0:1.7.0(" then
hs.SetDeviceString "V84",CSng(left(right(data,7),4))*1000
hs.setDeviceLastChange "V84",now
ElseIf left(data,10) = "1-0:1.8.2(" then
V82=CSng(left(right(data,13),9))
hs.SetDeviceString "V82",V82
hs.setDeviceLastChange "V82",now''
ElseIf left(data,10) = "1-0:1.8.1(" then
V81=CSng(left(right(data,13),9))
hs.SetDeviceString "V81",V81
hs.setDeviceLastChange "V81",now
hs.SetDeviceString "V83",CSng(hs.DeviceString("V82"))+CSng(hs.DeviceString("V81"))
hs.setDeviceLastChange "V83",now
ElseIf left(data,9) = "0-0:96.14" then
hs.SetDeviceString "V80",Cint(right(data,4))
hs.setDeviceLastChange "V80",now
End If
End Sub
Krijg nu de volgende meldingen in log.file
2-3-2015 11:16:13 Error Running script, script run or compile error in file: P1.txt13:Type mismatch: 'CSng' in line 16 More info: Type mismatch: 'CSng'
2-3-2015 11:16:13 Error Running script, script run or compile error in file: P1.txt13:Type mismatch: 'CSng' in line 12 More info: Type mismatch: 'CSng'
2-3-2015 11:16:13 Error Running script, script run or compile error in file: P1.txt13:Type mismatch: 'Cint' in line 22 More info: Type mismatch: 'Cint'
2-3-2015 11:16:13 Error Running script, script run or compile error in file: P1.txt13:Type mismatch: 'CSng' in line 9 More info: Type mismatch: 'CSng'
2-3-2015 11:16:23 Error Running script, script run or compile error in file: P1.txt13:Type mismatch: 'CSng' in line 16 More info: Type mismatch: 'CSng'
2-3-2015 11:16:23 Error Running script, script run or compile error in file: P1.txt13:Type mismatch: 'CSng' in line 12 More info: Type mismatch: 'CSng'
Ik zie overigens de virtuele devices zoals aangemaakt in geen data krijgen.
Sub P1_event(data)
If left(data,1) = "!" then
P1_Teller=P1_Teller+1
ElseIf left(data,1) = "(" then
hs.SetDeviceString "V85",CSng(right(data,9))
hs.setDeviceLastChange "V85",now
ElseIf left(data,10) = "1-0:1.7.0(" then
hs.SetDeviceString "V84",CSng(left(right(data,7),4))*1000
hs.setDeviceLastChange "V84",now
ElseIf left(data,10) = "1-0:1.8.2(" then
V82=CSng(left(right(data,13),9))
hs.SetDeviceString "V82",V82
hs.setDeviceLastChange "V82",now''
ElseIf left(data,10) = "1-0:1.8.1(" then
V81=CSng(left(right(data,13),9))
hs.SetDeviceString "V81",V81
hs.setDeviceLastChange "V81",now
hs.SetDeviceString "V83",CSng(hs.DeviceString("V82"))+CSng(hs.DeviceString("V81"))
hs.setDeviceLastChange "V83",now
ElseIf left(data,9) = "0-0:96.14" then
hs.SetDeviceString "V80",Cint(right(data,4))
hs.setDeviceLastChange "V80",now
End If
End Sub
Krijg nu de volgende meldingen in log.file
2-3-2015 11:16:13 Error Running script, script run or compile error in file: P1.txt13:Type mismatch: 'CSng' in line 16 More info: Type mismatch: 'CSng'
2-3-2015 11:16:13 Error Running script, script run or compile error in file: P1.txt13:Type mismatch: 'CSng' in line 12 More info: Type mismatch: 'CSng'
2-3-2015 11:16:13 Error Running script, script run or compile error in file: P1.txt13:Type mismatch: 'Cint' in line 22 More info: Type mismatch: 'Cint'
2-3-2015 11:16:13 Error Running script, script run or compile error in file: P1.txt13:Type mismatch: 'CSng' in line 9 More info: Type mismatch: 'CSng'
2-3-2015 11:16:23 Error Running script, script run or compile error in file: P1.txt13:Type mismatch: 'CSng' in line 16 More info: Type mismatch: 'CSng'
2-3-2015 11:16:23 Error Running script, script run or compile error in file: P1.txt13:Type mismatch: 'CSng' in line 12 More info: Type mismatch: 'CSng'
Ik zie overigens de virtuele devices zoals aangemaakt in geen data krijgen.
Re: P1 poort uitlezen
Ik stel voor dat je alle regels tussen "If left(data,1) = "!" then" en "End If" even inactief maakt door er een ' voor te zetten. Als je dan geen fouten meer krijgt (en dat verwacht ik) kun je daarna 1 voor 1 het ' weer weghalen totdat de fout terugkomt. Dan weten we precies welke regel de mist in gaat en vinden we vast ook wel een oplossing. Ik zie straks graag welke regel de boosdoener is!
Re: P1 poort uitlezen
Krijg nu inderdaad geen fouten meer, nu 1 voor 1 ' weghalen, regels hebben geen relatie met elkaar? van boven af starten met ' weghalen?
Re: P1 poort uitlezen
Van boven naar beneden weghalen is inderdaad het handigst ja
Re: P1 poort uitlezen
Sub P1_event(data)
If left(data,1) = "!" then
P1_Teller=P1_Teller+1
ElseIf left(data,1) = "(" then
hs.SetDeviceString "V85",CSng(right(data,9))
hs.setDeviceLastChange "V85",now
ElseIf left(data,10) = "1-0:1.7.0(" then
hs.SetDeviceString "V84",CSng(left(right(data,7),4))*1000
'hs.setDeviceLastChange "V84",now
'ElseIf left(data,10) = "1-0:1.8.2(" then
'V82=CSng(left(right(data,13),9))
'hs.SetDeviceString "V82",V82
'hs.setDeviceLastChange "V82",now''
'ElseIf left(data,10) = "1-0:1.8.1(" then
'V81=CSng(left(right(data,13),9))
'hs.SetDeviceString "V81",V81
'hs.setDeviceLastChange "V81",now
'hs.SetDeviceString "V83",CSng(hs.DeviceString("V82"))+CSng(hs.DeviceString("V81"))
'hs.setDeviceLastChange "V83",now
'ElseIf left(data,9) = "0-0:96.14" then
'hs.SetDeviceString "V80",Cint(right(data,4))
'hs.setDeviceLastChange "V80",now
End If
End Sub
Vanaf hier start foutmelding:
2-3-2015 11:57:04 - Error - Running script, script run or compile error in file: P1.txt13:Type mismatch: 'CSng' in line 9 More info: Type mismatch: 'CSng'
If left(data,1) = "!" then
P1_Teller=P1_Teller+1
ElseIf left(data,1) = "(" then
hs.SetDeviceString "V85",CSng(right(data,9))
hs.setDeviceLastChange "V85",now
ElseIf left(data,10) = "1-0:1.7.0(" then
hs.SetDeviceString "V84",CSng(left(right(data,7),4))*1000
'hs.setDeviceLastChange "V84",now
'ElseIf left(data,10) = "1-0:1.8.2(" then
'V82=CSng(left(right(data,13),9))
'hs.SetDeviceString "V82",V82
'hs.setDeviceLastChange "V82",now''
'ElseIf left(data,10) = "1-0:1.8.1(" then
'V81=CSng(left(right(data,13),9))
'hs.SetDeviceString "V81",V81
'hs.setDeviceLastChange "V81",now
'hs.SetDeviceString "V83",CSng(hs.DeviceString("V82"))+CSng(hs.DeviceString("V81"))
'hs.setDeviceLastChange "V83",now
'ElseIf left(data,9) = "0-0:96.14" then
'hs.SetDeviceString "V80",Cint(right(data,4))
'hs.setDeviceLastChange "V80",now
End If
End Sub
Vanaf hier start foutmelding:
2-3-2015 11:57:04 - Error - Running script, script run or compile error in file: P1.txt13:Type mismatch: 'CSng' in line 9 More info: Type mismatch: 'CSng'
Re: P1 poort uitlezen
Dus het faalt op:
hs.SetDeviceString "V84",CSng(left(right(data,7),4))*1000
En daar hoort deze dataregel bij (zie de "elseif" de regel daarboven):
1-0:1.7.0(0001.91*kW)
De 7 karakters van rechts:
.91*kW)
En daarvan de linker 4:
.91*
Dat gaat dus niet goed. Zorg dat je het juiste deel pakt van de string (0001.91 is wat je wilt hebben), even mee spelen dus.
En misschien heb je ook nog een punt/komma probleem. Desnoods pak je alleen het deel voor de punt, dan is het wel afgerond maar heb je dat probleem niet.
hs.SetDeviceString "V84",CSng(left(right(data,7),4))*1000
En daar hoort deze dataregel bij (zie de "elseif" de regel daarboven):
1-0:1.7.0(0001.91*kW)
De 7 karakters van rechts:
.91*kW)
En daarvan de linker 4:
.91*
Dat gaat dus niet goed. Zorg dat je het juiste deel pakt van de string (0001.91 is wat je wilt hebben), even mee spelen dus.
En misschien heb je ook nog een punt/komma probleem. Desnoods pak je alleen het deel voor de punt, dan is het wel afgerond maar heb je dat probleem niet.
Re: P1 poort uitlezen
Bedankt alvast voor al je hulp, ik ga nog even verder zoeken.
Zit met griep thuis dus kan zijn dat ik niet zo snel reageer, voel mij niet zo lekker
Zit met griep thuis dus kan zijn dat ik niet zo snel reageer, voel mij niet zo lekker
Re: P1 poort uitlezen
Succes en beterschap!
Re: P1 poort uitlezen
Hoi toch weer even verder gaan kijken alles werkt nu, is inderdaad spelen met de settings.
Nu nog even de juiste verhoudingen zoeken zodat het ook in de goede waarde wordt weergegeven (Watt of KW) etc.
Hartelijk dank voor je hulp!
Nu nog even de juiste verhoudingen zoeken zodat het ook in de goede waarde wordt weergegeven (Watt of KW) etc.
Hartelijk dank voor je hulp!