renommer fichier avec la date du jour

Forum traitant des automates industriels de marque Siemens.
Répondre
Cristi
Code sa première boucle
Code sa première boucle
Messages : 15
Enregistré le : 15 nov. 2015, 12:21

renommer fichier avec la date du jour

Message par Cristi »

Bonjour,
J'ai un souci pour renommer un fichier dans un script VB pour la sauvegarde des données de production dans une carte SD d'un IHM TP700.
J'aimerais bien changer la ligne du code <<path = "Storage Card SD\Recettes.csv">> avec cette ligne en ajoutant la date << path = "Storage Card SD\199911312359Recettes.csv">> .
Dans l'automate j'ai crée un DB avec les variables pour la date mais je dois les ajouter dans le code.
En dessous j'ai ajouté deux images, une avec les variables déclarées dans un DB et une image avec le code que je dois modifier.
Quelqun a une astuce pour cela?
Merci d'avance
Fichiers joints
2015-12-05_231121.png
2015-12-05_231121.png (6.84 Kio) Vu 3819 fois
2015-12-05_231858.png
2015-12-05_231858.png (5.4 Kio) Vu 3819 fois
Avatar du membre
Brebiou
Dieu du process
Dieu du process
Messages : 946
Enregistré le : 21 oct. 2015, 08:38

Re: renommer fichier avec la date du jour

Message par Brebiou »

Salut,

Tu ne peux pas plus simplement utiliser la fonction date de VB qui retourne la date du systeme lors de l'enregistrement ?
kosbor
Aguerri de l'automation
Aguerri de l'automation
Messages : 83
Enregistré le : 23 oct. 2015, 18:29

Re: renommer fichier avec la date du jour

Message par kosbor »

bjr,
tu peux creer une fonction qui retourne le format que tu souhaites

Code : Tout sélectionner

Function Format_TimeStringC(Date)
    Dim The_Year, The_Month, The_Day, The_Hour, The_Minute, The_Second
    The_Year = CStr(Year(Date)) & Chr(45)
    If Len(CStr(Month(Date))) < 2 Then The_Month = "0" & CStr(Month(Date)) & Chr(45) Else The_Month = CStr(Month(Date)) & Chr(45)
    If Len(CStr(Day(Date))) < 2 Then The_Day = "0" & CStr(Day(Date)) & Space(1) Else The_Day = CStr(Day(Date)) & Chr(45)
    
    If Len(CStr(Hour(Date))) < 2 Then The_Hour = "0" & CStr(Hour(Date)) & Chr(45) Else The_Hour = CStr(Hour(Date)) & Chr(45)
    If Len(CStr(Minute(Date))) < 2 Then The_Minute = "0" & Minute(Date) & Chr(45) Else The_Minute = CStr(Minute(Date)) & Chr(45)
    If Len(CStr(Second(Date))) < 2 Then The_Second = "0" & Second(Date) Else The_Second = CStr(Second(Date))
	    
    Format_TimeStringC = The_Year & The_Month & The_Day &"--" & The_Hour & The_Minute & The_Second  
End Function
exemple:

Code : Tout sélectionner

path = "Storage Card SD\" & Format_TimeStringC(now) & "-Recettes.csv"
qui donnera

Code : Tout sélectionner

path = "Storage Card SD\2015-12-06--11-17-30-Recettes.csv
pas besoin de variables dans l'automate!, vraiment besoin de variables dans l'automate?
Cristi
Code sa première boucle
Code sa première boucle
Messages : 15
Enregistré le : 15 nov. 2015, 12:21

Re: renommer fichier avec la date du jour

Message par Cristi »

Rebonjour,

Créer des variables dans l'automate,c'est ce qui m'a été demandé de faire mais je peux leur demander de le faire comme vous m'avez proposé. Pour vous le dire franchement, je ne suis pas un pro du VB et si ça ne vous dérange pas, par rapport a mon code que je vous affiche ici, sur quelle ligne je doit mettre la fonction proposé?
Merci.
Fichiers joints
2015-12-06_124903.png
Cristi
Code sa première boucle
Code sa première boucle
Messages : 15
Enregistré le : 15 nov. 2015, 12:21

Re: renommer fichier avec la date du jour sur VB

Message par Cristi »

Rebonjour,

J'ai une autre question concernant le même code. Les recettes vont s'afficher sur un fichier excel et ici je vous donne un exemple avec deux images, une avec la vue des recettes réalisé sur l'IHM et une autre image avec le code dans VB pour afficher les recettes. L'exemple donné dans le code est seulement pour la première recette. La question est comment afficher sur excel le N° de la recette vu que je ne lui ai attribué aucune variable.
Merci.
Fichiers joints
2015-12-06_125424.png
2015-12-06_125424.png (10.59 Kio) Vu 3786 fois
2015-12-06_125945.png
2015-12-06_125945.png (10.14 Kio) Vu 3786 fois
kosbor
Aguerri de l'automation
Aguerri de l'automation
Messages : 83
Enregistré le : 23 oct. 2015, 18:29

Re: renommer fichier avec la date du jour

Message par kosbor »

pour l'automate je vois pas l'utilité mais tu peux ecrire dedans si "ils" veulent :D tu change false par true ou enleves le if et endif
apres pour la fonction, crees en une tu l'appelles Format_TimeStringC (pas besoin de param à la la limite) et tu colles ça

Code : Tout sélectionner

    Dim The_Year, The_Month, The_Day, The_Hour, The_Minute, The_Second,obj

    The_Year = CStr(Year(Now)) & Chr(45)
    If Len(CStr(Month(Now))) < 2 Then The_Month = "0" & CStr(Month(Now)) & Chr(45) Else The_Month = CStr(Month(Now)) & Chr(45)
    If Len(CStr(Day(Now))) < 2 Then The_Day = "0" & CStr(Day(Now))  Else The_Day = CStr(Day(Now)) 
   
    If Len(CStr(Hour(Now))) < 2 Then The_Hour = "0" & CStr(Hour(Now)) & Chr(45) Else The_Hour = CStr(Hour(Now)) & Chr(45)
    If Len(CStr(Minute(Now))) < 2 Then The_Minute = "0" & Minute(Now) & Chr(45) Else The_Minute = CStr(Minute(Now)) & Chr(45)
    If Len(CStr(Second(Now))) < 2 Then The_Second = "0" & Second(Now) Else The_Second = CStr(Second(Now))
	
    If False Then
		SmartTags("PLC_Year")  =Hex(The_Year-2000)	
		SmartTags("PLC_Month") =Hex(The_Month)	
		SmartTags("PLC_Day")   =Hex(The_Day)	
		SmartTags("PLC_Hour")  =Hex(The_Hour)	
		SmartTags("PLC_Minute")=Hex(The_Minute)	
		SmartTags("PLC_Second")=Hex(The_Second)
    End If			
		
      
    Format_TimeStringC = The_Year & The_Month & The_Day &"--" & The_Hour & The_Minute & The_Second
puis appeler la function comme ça l.22:

Code : Tout sélectionner

path = "Storage Card SD\" & Format_TimeStringC & "-Recettes.csv"
et l.26

Code : Tout sélectionner

path = "Storage Card SD\" & Format_TimeStringC & "-Recettes.txt"
Modifié en dernier par kosbor le 06 déc. 2015, 15:47, modifié 2 fois.
kosbor
Aguerri de l'automation
Aguerri de l'automation
Messages : 83
Enregistré le : 23 oct. 2015, 18:29

Re: renommer fichier avec la date du jour sur VB

Message par kosbor »

Cristi a écrit :Rebonjour,

J'ai une autre question concernant le même code. Les recettes vont s'afficher sur un fichier excel et ici je vous donne un exemple avec deux images, une avec la vue des recettes réalisé sur l'IHM et une autre image avec le code dans VB pour afficher les recettes. L'exemple donné dans le code est seulement pour la première recette. La question est comment afficher sur excel le N° de la recette vu que je ne lui ai attribué aucune variable.
Merci.
tu dois aussi exporter le n° sinon tu verras rien dans excel
et en plus y'aura decalage avec l'entete et les valeurs

pour ce qui est des recettes avec leur activx sur Window CE je ne connais pas, mais p-e tu peux savoir le n° avec une function pour cet activx

Je gere toujours mes recette avec le nom de recette (on ne peut pas enregistrer plusieurs avec le meme nom , lorsqu'on modifie on fait +1 au n° de version et on met la ligne active à false et on ajoute la nouvelle ligne donc avec version +1 et active à true et ajout de cette ligne)
Cristi
Code sa première boucle
Code sa première boucle
Messages : 15
Enregistré le : 15 nov. 2015, 12:21

Re: renommer fichier avec la date du jour

Message par Cristi »

Rebonjour,

J'ai une autre question concernant les scripts.
Les données de production comme les recettes, doivent donner de nouvels valeurs sur le serveur web à chaque cycle de production , valeurs affichés a l'activation d'une étape de grafcet qui reste à choisir et tout ça à le faire je crois dans un script ou peut être dans l'automate. Je dois faire la même chose pour des températures, sauf que là, les valeurs doivent être affichés sur le serveurs chaque 30 secondes. Si quelqun connait une astuce je suis prenant.
Merci d'avance.
Répondre