Problem with a script in flexible

userxyz

Member
Join Date
May 2002
Location
any
Posts
2,768
Hi,
The problem I have is in this line:
SmartTags("File") = "C:\" & SmartTags("HISTORIAN BATCH.ORDER_DATABASE.KLANT_NUMMER") & ".csv"

The script does what I should do, it writes a csv on my C: location. But when I add this: "C:\S\HISTORIAN\" then I get ERROR 424 OBJECT REQUIRED.

The Tag "File" is 60 long, that cannot be the problem I think.

Thanks in forward,

Kind Regards,

C


Code:
Dim fso, f, ts, DataSet, Dataformat
On Error Resume Next
Set fso = CreateObject("Scripting.FileSystemObject")
SmartTags("File") = "C:\" & SmartTags("HISTORIAN BATCH.ORDER_DATABASE.KLANT_NUMMER") & ".csv"
If SmartTags ("HISTORIAN BATCH.ORDER_DATABASE.MATRIJS._STEMPEL_1") = 0 Then
SmartTags("Script_String_1")= "ø6,2 L0"
End If
If SmartTags ("HISTORIAN BATCH.ORDER_DATABASE.MATRIJS._STEMPEL_1") = 1 Then
SmartTags("Script_String_1")= "ø6,2 L20" 
End If
If SmartTags ("HISTORIAN BATCH.ORDER_DATABASE.MATRIJS._STEMPEL_1") = 2 Then
SmartTags("Script_String_1")= "ø6,2 L40" 
End If
If SmartTags ("HISTORIAN BATCH.ORDER_DATABASE.MATRIJS._STEMPEL_1") = 3 Then
SmartTags("Script_String_1")= "ø6,2 L60"
End If 
If SmartTags ("HISTORIAN BATCH.ORDER_DATABASE.MATRIJS._STEMPEL_1") = 4 Then
SmartTags("Script_String_1")= "ø6,2 L80"
End If 
If SmartTags ("HISTORIAN BATCH.ORDER_DATABASE.MATRIJS._STEMPEL_1") = 5 Then
SmartTags("Script_String_1")= "ø6,2 L100" 
End If
If SmartTags ("HISTORIAN BATCH.ORDER_DATABASE.MATRIJS._STEMPEL_1") = 6 Then
SmartTags("Script_String_1")= "ø8,2 L0" 
End If
If SmartTags ("HISTORIAN BATCH.ORDER_DATABASE.MATRIJS._STEMPEL_1") = 7 Then
SmartTags("Script_String_1")= "ø8,2 L20" 
End If
If SmartTags ("HISTORIAN BATCH.ORDER_DATABASE.MATRIJS._STEMPEL_1") = 8 Then
SmartTags("Script_String_1")= "ø8,2 L40" 
End If
If SmartTags ("HISTORIAN BATCH.ORDER_DATABASE.MATRIJS._STEMPEL_1") = 9 Then
SmartTags("Script_String_1")= "ø8,2 L60"
End If 
If SmartTags ("HISTORIAN BATCH.ORDER_DATABASE.MATRIJS._STEMPEL_1") = 10 Then
SmartTags("Script_String_1")= "ø8,2 L80" 
End If
If SmartTags ("HISTORIAN BATCH.ORDER_DATABASE.MATRIJS._STEMPEL_1") = 11 Then
SmartTags("Script_String_1")= "ø8,2 L100"
End If
If SmartTags ("HISTORIAN BATCH.ORDER_DATABASE.MATRIJS._STEMPEL_2") = 0 Then
SmartTags("Script_String_2")= "Geen"
End If
If SmartTags ("HISTORIAN BATCH.ORDER_DATABASE.MATRIJS._STEMPEL_2") = 1 Then
SmartTags("Script_String_2")= "ø6,2"
End If
If SmartTags ("HISTORIAN BATCH.ORDER_DATABASE.MATRIJS._STEMPEL_2") = 2 Then
SmartTags("Script_String_2")= "ø8,2"
End If 
If SmartTags("HISTORIAN BATCH.ORDER_DATABASE.MATRIJS._GATEN") = 0 Then
SmartTags("Script_String_3")= "Enkel Gat" 
End If 
If SmartTags("HISTORIAN BATCH.ORDER_DATABASE.MATRIJS._GATEN") = 1 Then
SmartTags("Script_String_3")= "Dubbel Gat 21mm" 
End If 
If SmartTags("HISTORIAN BATCH.ORDER_DATABASE.MATRIJS._GATEN") = 2 Then
SmartTags("Script_String_3")= "Dubbel Gat 31mm" 
End If 
  
If SmartTags("HISTORIAN BATCH.ORDER_DATABASE.BUIS._MATERIAAL") = 0 Then
SmartTags("Script_String_4")= "Aluminium"  
End If 
If SmartTags("HISTORIAN BATCH.ORDER_DATABASE.BUIS._MATERIAAL") = 1 Then
SmartTags("Script_String_4")= "Verzinkt Staal"  
End If 
Dataformat = "Datum" & ";" & "Tijd" & ";" & "Ordernummer" & ";" & "Regelnummer" & ";" & "Leverdatum" & ";" & "Artikelnummer" & ";" & "Buistype" & ";" & "Klantnummer" & ";" & "Matrijs Stempel 1" & ";" & "Matrijs Stempel 2" & ";" & "Marijs Gaten" & ";" & "Buismateriaal" & ";" & "Buisdiameter" & ";" & "Buisdikte" & ";" & "Hart Op Hart" & ";" & "Hoek 1" & ";" & "Hoek 2" & ";" & "Grondstoflengte" & ";" &  "Totaal aantal" & ";" & "Aantal per bundel" & ";" & "Aantal geproduceerd" & ";"        
DataSet = (Date & ";" & Time & ";" & SmartTags("HISTORIAN BATCH.ORDER_DATABASE.ORDER_NUMMER") & ";" & SmartTags("HISTORIAN BATCH.ORDER_DATABASE.REGEL_NUMMER") & ";" & SmartTags("HISTORIAN BATCH.LEVER_DATUM") & ";" & SmartTags("HISTORIAN BATCH.ORDER_DATABASE.ARTIKEL_NUMMER") & ";" & SmartTags("HISTORIAN BATCH.BUIS_TYPE") & ";" & SmartTags("HISTORIAN BATCH.ORDER_DATABASE.KLANT_NUMMER") & ";" & SmartTags("Script_String_2") & ";" & SmartTags("Script_String_1") & ";" & SmartTags("Script_String_3") & ";" & SmartTags("Script_String_4") & ";" & SmartTags("HISTORIAN BATCH.ORDER_DATABASE.BUIS._DIAMETER") & ";" & SmartTags("HISTORIAN BATCH.ORDER_DATABASE.BUIS._DIKTE") & ";" & SmartTags("HISTORIAN BATCH.ORDER_DATABASE.WENS._LENGTE") & ";" & SmartTags("HISTORIAN BATCH.ORDER_DATABASE.WENS._HOEK_1") & ";" & SmartTags("HISTORIAN BATCH.ORDER_DATABASE.WENS._HOEK_2") & ";" & SmartTags("HISTORIAN BATCH.GRONDSTOF_LENGTE") & ";" & SmartTags("HISTORIAN BATCH.ORDER_DATABASE.WENS._AANTAL") & ";" & SmartTags("HISTORIAN BATCH.ORDER_DATABASE.WENS._AANTAL_PER_BUNDEL") & ";" & SmartTags("BATCH STATUS.PRODUCTIE_AANTAL"))  
 
If Err.Number <> 0 Then
 ShowSystemAlarm "Error #" & CStr(Err.Number) & " " & Err.Description
 Err.Clear
 Exit Sub
End If
If Not fso.FileExists (SmartTags("File")) Then
 fso.CreateTextFile (SmartTags("File"))
    Set f = fso.GetFile (SmartTags("File"))
 Set ts = f.OpenAsTextStream(8,-2)
 ts.WriteLine Dataformat
 ts.WriteLine ""
 ts.WriteLine DataSet
 ts.Close
Else
 Set f = fso.GetFile (SmartTags("File"))
 Set ts = f.OpenAsTextStream(8,-2)
 ts.WriteLine DataSet
 ts.Close
End If
If Err.Number <> 0 Then
 ShowSystemAlarm "Error #" & CStr(Err.Number) & " " & Err.Description
 Err.Clear
 Exit Sub
End If
Set ts = Nothing
Set f = Nothing
Set fso = Nothing
ShowSystemAlarm "Storage of the data was successful!"
 
Okay

You're right, when I make the folder myself, then it works...

I tought it would work without making the folder myself because this kinda code worked without making the folder myself:

Dim fso
If SmartTags("Databasename") <> "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
SmartTags("File") = SmartTags("Databasename") & ".csv"
ExportDataRecords "Order Database", 0, "C:\S\ORDERS\" & SmartTags("File"), hmiOverwriteWithConfirmation, hmiOn, Null
End If


But it will be the export function that handles the making of the folder in this code...


Okay,

Thanks
 
Is the tag HISTORIAN BATCH.ORDER_DATABASE.KLANT_NUMMER a string tag ?

If it is an integer tag, then I think it should be:

SmartTags("File") = "C:\S\HISTORIAN\" & CStr(SmartTags("HISTORIAN BATCH.ORDER_DATABASE.KLANT_NUMMER")) & ".csv"

Also, display the tag File on the HMI. This can help you to see if it contains garbage.
 
okay

Okay, sound logical...

Look at the DINT as it's a string and use it as a string, okay thanks !!

But after some tests I can see that there is no difference, I still need to make the folder S\HISTORIAN\ myself, else I get the ERROR.


Is the tag HISTORIAN BATCH.ORDER_DATABASE.KLANT_NUMMER a string tag ?

If it is an integer tag, then I think it should be:

SmartTags("File") = "C:\S\HISTORIAN\" & CStr(SmartTags("HISTORIAN BATCH.ORDER_DATABASE.KLANT_NUMMER")) & ".csv"

Also, display the tag File on the HMI. This can help you to see if it contains garbage.
 
Last edited:

Similar Topics

Hi! In a WinCC Flexible script I'm trying to get some bit from some Tag so as I don't have to read to much Tags from PLC. Now, for example, I'm...
Replies
15
Views
11,482
Hello community, There is next issue connected with executing script in the picture window. It doesn't depend on code , it depends on the...
Replies
20
Views
15,204
Hi ! im having some trouble with the following code.. ------------------------------------------------------------------------ dim sr as...
Replies
3
Views
2,889
Using: Wonderware System Plataform 3.0 SP2; Intouch 10 SP2. I used the Archestra to create objects using a script to automatically assign object...
Replies
0
Views
8,147
Hi, I want to make every day a report with all the alarms on a hitlist. But my problem is, how can i detect the maximum number of data records...
Replies
0
Views
1,538
Back
Top Bottom