Menu

Appel de fonction VBSript sur Siemens

Messages postés
2
Date d'inscription
mardi 12 février 2019
Dernière intervention
13 février 2019
-
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
Afficher la suite 

Votre réponse

1 réponse

Messages postés
24556
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 février 2019
1842
0
Merci
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.
Commenter la réponse de jordane45