[Ecostruxure Control Expert] Utilisation des adresses directes dans le programme
Re: [Ecostruxure Control Expert] Utilisation des adresses directes dans le programme
Effectivement, c'est ce que j'ai fait. Mais, on est quand même d'accord que les dernières versions ne permettent plus d'exporter directement en .XEF ?
- itasoft
- Mi homme - Mi automate

- Messages : 7803
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: [Ecostruxure Control Expert] Utilisation des adresses directes dans le programme
-----------
le .ZEF c'est un fichier binaire tu peux rien en faire
le .XEF c'est un fichier ASCII
ZEF n'as rien à voir avec le XEF
-----------
je dirais que ça existe que sur la version unity XL
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: [Ecostruxure Control Expert] Utilisation des adresses directes dans le programme
ZEF indispensable pour inclure les DTMs
XEF que le code
XEF que le code
Re: [Ecostruxure Control Expert] Utilisation des adresses directes dans le programme
- itasoft
- Mi homme - Mi automate

- Messages : 7803
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: [Ecostruxure Control Expert] Utilisation des adresses directes dans le programme
le ZEF est un ZIP
dans ce cas il faut le deZIP et le reZIP après traitement, à voir
dans ce cas il faut le deZIP et le reZIP après traitement, à voir
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: [Ecostruxure Control Expert] Utilisation des adresses directes dans le programme
@itasoft
T'as un exemple de cette moulinette VBA stp ? juste pour m'inspirer..
T'as un exemple de cette moulinette VBA stp ? juste pour m'inspirer..
- itasoft
- Mi homme - Mi automate

- Messages : 7803
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: [Ecostruxure Control Expert] Utilisation des adresses directes dans le programme
Code : Tout sélectionner
'START_Remplace Remplace les Objets par les symbols associés
'ça veut dire que les symbols avec les objets associés existent déjà dans le .XEF
'mais que dans le programme .XEF ce sont les objets qui sont utilisés et non les symbols
'Génére un nouveau fichier *.XEF à ouvrir dans Unity et Enregistrer *.STU
[b]Private Sub CommandButtonSTART_Click()[/b]
Dim TXT As String, sLIGNE As String, sSYMB As String, sOBJm As String, sOBJ As String, sNUM As String, sTYP As String
Dim fileNameCible As String
Dim mySize As Long, Y As Long, X0 As Long, X1 As Long, X2 As Long, X3 As Long, nbl As Long
Dim Number1 As Integer
Dim ya1 As Boolean, ya2 As Boolean, ya3 As Boolean, ya4 As Boolean
Dim TList() As String
If InStr(TextBoxFile.Text, ".XEF") = 0 Then Exit Sub
TextBoxResult.Text = ""
Label1.Caption = "0"
Label2.Caption = "0"
MSFlexGrid1.Clear
MSFlexGrid1.Rows = 0
MSFlexGrid1.Cols = 3
MSFlexGrid1.ColWidth(0) = 2500
MSFlexGrid1.ColWidth(1) = 2600
MSFlexGrid1.ColWidth(2) = 2500
'Charge fichier .XEF
mySize = FileLen(TextBoxFile.Text)
TXT = String(mySize, Chr(0))
Number1 = FreeFile
Open TextBoxFile.Text For Binary As #Number1
Get #Number1, , TXT
Close #Number1
' <variables name="WT1_10" typeName="ARRAY[0..9] OF INT" topologicalAddress="%MW1">
X0 = 1
Do
X1 = InStr(X0, TXT, "<variables name=")
If X1 > 0 Then
X2 = InStr(X1, TXT, ">")
sLIGNE = Mid(TXT, X1, X2 - X1 + 1)
ya1 = InStr(sLIGNE, "typeName=") > 0
ya2 = InStr(sLIGNE, "topologicalAddress=") > 0
ya3 = InStr(sLIGNE, "%") > 0
ya4 = InStr(sLIGNE, "ARRAY") = 0
If ya1 And ya2 And ya3 And ya4 Then
TList = Split(sLIGNE, Chr(34))
sSYMB = TList(1)
sTYP = TList(3)
sOBJ = TList(5)
MSFlexGrid1.AddItem sOBJ & vbTab & sSYMB & vbTab & sTYP
X3 = InStr(X1, TXT, "%")
Mid(TXT, X3, 1) = "£"
nbl = nbl + 1
End If
X0 = X1 + 1
End If
Loop Until X1 = 0
If nbl = 0 Then
TextBoxResult.Text = "ERR"
Exit Sub
End If
'TRIER decroissant
MSFlexGrid1.Col = 0
MSFlexGrid1.ColSel = 0
MSFlexGrid1.Sort = 6
DoEvents
For Y = 0 To MSFlexGrid1.Rows - 1
sOBJ = MSFlexGrid1.TextMatrix(Y, 0)
sSYMB = MSFlexGrid1.TextMatrix(Y, 1)
If StrComp(sOBJ, sOBJm) <> 0 Then TXT = Replace(TXT, sOBJ, sSYMB)
sOBJm = sOBJ
Next Y
TXT = Replace(TXT, "£", "%")
'Produit le fichier .XEF resultant
'à ouvrir sur Unity la place du .XEF Source
'Générer
'Enregistrer sous un nouveau nom
fileNameCible = Replace(TextBoxFile.Text, ".XEF", "_RESULT.XEF")
On Error Resume Next
Kill fileNameCible
Error.Clear
DoEvents
Number1 = FreeFile
Open fileNameCible For Binary As #Number1
Put #Number1, , TXT
Close #Number1
Label1.Caption = Format(nbl)
TextBoxResult.Text = fileNameCible
End SubAutomaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: [Ecostruxure Control Expert] Utilisation des adresses directes dans le programme
Merci "Itasoft".
Est-ce que le fichier .xef est protégé en écriture par défaut ?
Si oui, savez vous comment modifier son état de lecture/écriture ?
*Erreur d'exécution '54'
Est-ce que le fichier .xef est protégé en écriture par défaut ?
Si oui, savez vous comment modifier son état de lecture/écriture ?
*Erreur d'exécution '54'
- itasoft
- Mi homme - Mi automate

- Messages : 7803
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: [Ecostruxure Control Expert] Utilisation des adresses directes dans le programme
NON c'est pas protégé
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr

