소스 정보
- 저장소
- 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명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? 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).