Appel de fonction VBSript sur Siemens

Fermé
AnissaUchiha Messages postés 2 Date d'inscription mardi 12 février 2019 Statut Membre Dernière intervention 13 février 2019 - Modifié le 13 févr. 2019 à 11:04
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 13 févr. 2019 à 11:53
Bonjour j'aimerai savoir comment on fait un appel de fonction ainsi que sa déclaration en VBScript. src='https://img-19.ccm2.net/EP10jDBPmRbhOXkNnNnb4ogOwf4=/440x/d06706ff5a6e436aac92f31284f51554/tmp/Capture.PNG' alt='' width='440' border='0' />

Le but étant d'ajouter une ligne d'écriture sur mon fichier à chaque changement de variable sur écran HMI. J'ai donc rattachés une variable pour surveiller le changement de ActionA que je met en paramètre d'entrée de ma fonction WriteData.

Mais quand je fait l'appel de cette fonction dans mon Sub, il ne le reconnait pas? Même en déclarant "ChangementActionA" il y a une erreur mais le logiciel ne me l'indique pas ou c'est --'


Voici les 2 script :


1er ==>
Sub Continue()


Dim FolderWay , ObjectWay , FileName , File , FileExist, header , value , currentTime , ChangementActionA
Dim EcritureContinue
Do
Call WriteData ( ChangementActionA)
EcritureContinue = SmartTags("BpStopLog") 'J'appel le 1er script
Loop While EcritureContinue = False ' tant que le BPSTOPLOG vaut 0 , on continue d'écrire


End Sub




2eme ==>


Function WriteData(ByVal ChangementActionA)
'Set ==> pour variable global
Dim FolderWay , ObjectWay , FileName , File , FileExist, header , value , EcritureContinue, currentTime ' Declaration des variables
FolderWay = "C:\Users\agher\Downloads\Henallux Automatique\3ème bloc\STAGE\ExcelExemple" 'Là ou l'on veut enregistrer le fichier Excel sous un nom
Set ObjectWay = CreateObject ("Scripting.FileSystemObject") 'Creation d'un object pour voir si le dossier est créé ou pas
'Si le dossier n'existe pas, on le créer.
If Not ObjectWay.FolderExists(FolderWay) Then
ObjectWay.CreateFolder FolderWay
End If

'FileName = Year(Now()) & "_" & Month(Now()) &"_" & Day(Now()) & "-" & Hour(Time) & "_" & Minute(Time) & "_" & Second(Time) & ".csv"
FileName = "EnregistrementValeur.csv"
Set File = CreateObject ("Scripting.FileSystemObject") ' Creation d'un object pour voir si le fichier est créé ou pas
FileExist = File.FileExists(FolderWay & "\" &FileName) ' On créer une variable qui indique le chemin du fichier

'Si le fichier n'existe pas, on le créer
If FileExist = False Then
'On créer le fichier
File.CreateTextFile(FolderWay & "\" &FileName)

'On créer maintenant les en-têtes du fichier Excel
Set header = File.OpenTextFile(FolderWay & "\" &FileName, 8) ' Le 8 signifie "ouvrir le dossier et écrire à la fin"
header.WriteLine("Temps ; ActionA ; ActionB")
header.Close 'Pas oublier de fermer quand on a fini sinon la suite se fera dans les headers

'On vide l'objet
Set File = Nothing
End If
currentTime = Hour(Time) & ":" & Minute(Time) & ":" & Second(Time)

Set File = CreateObject ("Scripting.FileSystemObject")
Set value = File.OpenTextFile(FolderWay & "\" &FileName, 8)
value.WriteLine ( currentTime & ";" & ChangementActionA & ";" & SmartTags("ResetActionA")) ' ";" sépare les collonnes dans Excel


value.Close
End Function
A voir également:

1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
13 févr. 2019 à 11:53
Bonjour,

Comme déjà indiqué précédemment....Pour poster du code sur le forum, merci de le faire en utilisant LES BALISES DE CODE (et en y précisant le langage afin d'avoir la coloration syntaxique)
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
.
Merci.
0