ソース情報
- リポジトリ
- JohnNuwan/EVA_CORE
- ソースの最終更新活動
- 2026年7月18日 08:30
- 検出された SKILL.md の言語
- フランス語
- スター
- 0
- フォーク
- 0
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/JohnNuwan/EVA_CORE --skill vba-industrial-excelコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
Concevoir et maintenir un watchdog auto-correcteur pour services HTTP — checks de santé, auto-restart, état persistant, rapports et pièges bash.
Serveur de messagerie sécurisé auto-hébergé (Signal-like) avec Flask + WebSocket + AES-256-GCM + pont EVA
ADAM-SENTINEL — Veilleur technologique 24h/24h. Scanne 10 domaines, cree des rapports, met a jour les skills, alerte sur les CVE et breaking changes.
SOC 職業分類に基づく
SKILL.md を表示中
| name | vba-industrial-excel |
| description | Scripter en VBA pour automatiser l'ingénierie sous Excel. |
| version | 1.0.0 |
| author | EVA |
| license | Privée EVA St-Étienne |
| platforms | ["windows"] |
| metadata | {"tags":["vba","excel","scripting","automation","engineering","import-export","tia-portal","studio-5000","macros"],"related_skills":["industrial-programming-languages","industrial-exchange-formats"]} |
Cette compétence régit le développement de macros Visual Basic for Applications (VBA) sous Microsoft Excel. Excel sert de pivot d'ingénierie pour générer automatiquement du code automate, structurer des listes d'E/S, formater des alarmes SCADA ou valider des nomenclatures électriques.
Le scripting d'ingénierie manipule fréquemment des milliers de lignes de variables. Sans optimisation, l'appel répété de cellules via le modèle d'objet d'Excel ralentit dramatiquement l'exécution.
Public Sub StartIndustrialProcess()
' Desactivation des calculs et de la mise a jour de l'ecran
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
On Error GoTo ErrorHandler
' --- APPEL DE LA LOGIQUE D'INGÉNIERIE ---
Call GenererTagsPLC
CleanExit:
' Re-activation imperative des fonctionnalites Excel
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.Calculation = xlCalculationAutomatic
Exit Sub
ErrorHandler:
MsgBox "Erreur d'execution : " & Err.Description, vbCritical
Resume CleanExit
End Sub
Excel est couramment utilisé pour exporter des tables d'E/S vers des fichiers importables par les logiciels d'automatisation.
Pour générer les structures XML requises par Siemens TIA Portal :
Public Sub ExportSiemensXml()
Dim xmlDoc As Object
Dim root As Object, tagTable As Object, tagsNode As Object, tagNode As Object
Set xmlDoc = CreateObject("MSXML2.DOMDocument.6.0")
' Definition de la racine
Set root = xmlDoc.createElement("Document")
xmlDoc.appendChild root
Set tagTable = xmlDoc.createElement("PlcTagTable")
tagTable.setAttribute "Name", "Import_Excel_EVA"
root.appendChild tagTable
Set tagsNode = xmlDoc.createElement("Tags")
tagTable.appendChild tagsNode
' Exemple d'ajout d'une variable lue dans Excel (Ligne 2, Colonnes 1 a 3)
Set tagNode = xmlDoc.createElement("PlcTag")
tagNode.setAttribute "Name", Sheet1.Cells(2, 1).Value ; Symbole
Dim dataTypeNode As Object
Set dataTypeNode = xmlDoc.createElement("DataType")
dataTypeNode.Text = Sheet1.Cells(2, 2).Value ; REAL, BOOL, etc.
tagNode.appendChild dataTypeNode
Dim addrNode As Object
Set addrNode = xmlDoc.createElement("LogicalAddress")
addrNode.Text = Sheet1.Cells(2, 3).Value ; %I0.0, %MW10, etc.
tagNode.appendChild addrNode
tagsNode.appendChild tagNode
' Sauvegarde sur disque
xmlDoc.Save "C:\EVA\Exports\siemens_tags.xml"
End Sub
Cette macro parcourt les lignes d'Excel, nettoie les symboles pour être conformes aux contraintes syntaxiques d'automates, et génère un fichier d'import CSV valide pour Rockwell Automation.
Public Sub GenererCsvRockwell()
Dim FilePath As String
Dim FileNum As Integer
Dim Row As Long
Dim Symbole As String
Dim Adresse As String
Dim DataType As String
Dim Description As String
FilePath = "C:\EVA\Exports\rockwell_tags.csv"
FileNum = FreeFile
Open FilePath For Output As #FileNum
' En-tete de format requis par Studio 5000 Import
Print #FileNum, "0.1"
Print #FileNum, "TYPE", "SCOPE", "NAME", "DATATYPE", "DESCRIPTION", "SPECIFIER"
Row = 2 ' Demarrage a la ligne 2 (apres les en-tetes Excel)
While Sheet1.Cells(Row, 1).Value <> ""
Symbole = CleanPlcSymbol(Sheet1.Cells(Row, 1).Value)
DataType = Sheet1.Cells(Row, 2).Value
Adresse = Sheet1.Cells(Row, 3).Value
Description = Sheet1.Cells(Row, 4).Value
' Ecriture de la ligne CSV formatee (delimiteur virgule)
Print #FileNum, "TAG", "", Symbole, DataType, """" & Description & """", Adresse
Row = Row + 1
Wend
Close #FileNum
MsgBox "Export de " & (Row - 2) & " tags realise avec succes !", vbInformation
End Sub
Private Function CleanPlcSymbol(ByVal inputStr As String) As String
Dim cleanStr As String
Dim i As Integer
Dim c As String
' Remplacement des caracteres accentues
inputStr = LCase(inputStr)
inputStr = Replace(inputStr, "é", "e")
inputStr = Replace(inputStr, "è", "e")
inputStr = Replace(inputStr, "à", "a")
inputStr = Replace(inputStr, "ç", "c")
' Filtrage des caracteres non conformes
For i = 1 To Len(inputStr)
c = Mid(inputStr, i, 1)
If c Like "[a-z]" Or c Like "[0-9]" Or c = "_" Then
cleanStr = cleanStr & c
Else
cleanStr = cleanStr & "_"
End If
Next i
CleanPlcSymbol = UCase(cleanStr)
End Function
%MW10 et %MW11 sont deux entiers de 16 bits distincts, mais %MD10 qui prend 32 bits chevauche %MW10 et %MW11). L'agent doit implémenter des vérifications d'adresses pour interdire les superpositions mémoires involontaires.RESEAU_EAU et que l'unité est m3/h, le type de variable doit être un REAL ou INT pour représenter la mesure analogique, et non un BOOL).