소스 정보
- 저장소
- JohnNuwan/EVA_CORE
- 최근 소스 활동
- 2026년 7월 18일 08:30
- 감지된 SKILL.md 언어
- 프랑스어
- 스타
- 0
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
SOC 직업 분류 기준
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/JohnNuwan/EVA_CORE --skill rockwell-l5x-courbon-conventions명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
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.
| name | rockwell-l5x-courbon-conventions |
| description | Conventions Courbon/EVA pour projets Rockwell L5X. |
| version | 1.0.0 |
| author | EVA |
| license | Privée EVA |
| metadata | {"EVA":{"tags":["rockwell","studio-5000","l5x","courbon","EVA","plc"],"related_skills":["rockwell-l5x-generation"]}} |
Projet 1756-L83E v33
├── UDT_GEN_* ← UDTs génériques système
├── UDT_EM_* ← UDTs Equipment Module (pattern 5 UDTs par EM)
├── UDT_RECIPE_* ← UDTs de recette
├── UDT_PARAM_* ← UDTs de paramétrage
├── UDT_BATCH_MGT_* ← UDTs batch management MES
└── 46+ FCT_XX ← Programmes indépendants
PITFALL CRITIQUE : Ne JAMAIS générer du code Rockwell pour un projet Courbon/EVA sans avoir d'abord analysé les fichiers L5X existants fournis par les ingénieurs. La première version générée sans référence sera structurellement incorrecte et devra être réécrite.
Process validé :
Cette skill contient des fichiers de référence sous references/ :
references/em_catalog.md — Catalogue complet de tous les UDT_EM_XXX (150+ UDTs) des projets ROH et RGYreferences/conversion_guide.md — Guide pour convertir un projet zone-based/AOI-based vers les conventions FCTtemplates/fct_template.l5x — Template L5X complet pour un FCT standardIO_FCT : UDT_GEN_FCT # Interface fonction (OBLIGATOIRE)
IO_RECIPE : UDT_RECIPE_XXX # Recette
IO_BATCH_MGT_FROM_FCT : UDT_BATCH_MGT_FROM_FCT # Batch vers MES
IO_BATCH_MGT_TO_FCT : UDT_BATCH_MGT_TO_FCT # Batch depuis MES
PLC_TASK_EXC : UDT_GEN_PLC_TASK # Task exchange
PLC_CONFIG : UDT_GEN_PLC_CONFIG # PLC configuration
L_EM_XXX : UDT_EM_XXX # Equipment Module instance
L_CURRENT_STEP : DINT # Compteur d'étape
PARAM_XXX : UDT_PARAM_XXX # Paramètres fonction
I_SYN_XXX : BOOL # Synoptique entrée
UDT_EM_XXX: container {COMMAND, STATUS}
COMMAND: UDT_EM_XXX_CMD
ID_EM: DINT
CMD: DINT # 0=Idle, 1=Start, 10=Stop, 20=Abort, 30=Reset
ID_FCT_RESERV: DINT
SETPOINT: UDT_EM_XXX_SETPOINT (SP01..SP24: REAL)
STATUS: UDT_EM_XXX_STA
ID_EM: DINT
STS: DINT # 0=Idle, 1=Running, 2=Complete, 3=Aborted, 10=Fault
ID_FCT_RESERV: DINT
MEASURE: UDT_EM_XXX_STA_BOOL (18 booléens)
UDT_EM_XXX_REPORT: ID_EM + STS + 24 measures
CMD: 0=Idle, 1=Start, 10=Stop, 20=Abort, 30=Reset
STS: 0=Idle, 1=Running, 2=Complete, 3=Aborted, 10=Fault
CASE L_CURRENT_STEP OF
0: // Idle
10: // Start sequence
20: // Step 1
30: // Step 2
...
999: // Fault/Abort handling
END_CASE;
L_* = Local (interne au FCT)
I_* = Input (depuis extérieur)
IO_* = Input/Output exchange
EXC_* = Exchange inter-systèmes
PLC_* = PLC system tags
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="33.00"><Controller> avec ProcessorType 1756-L83E<DataTypes> section avec TOUS les UDTs utilisés<Program> avec Name= FCT_XX_NAME<![CDATA[...]]>FCT_XX_NAME.L5X (ex: FCT_01_EXTRUSION)ROH_Zone_NAME.L5XROH_UDT_Definitions.L5XROH_AOI_Definitions.L5XROH_Master_Project.L5XLes mêmes conventions logiques s'appliquent en Siemens SCL. Voici le mapping :
| Concept Rockwell | Équivalent Siemens |
|---|---|
| FCT_XX | FB_XX (Function Block) |
| UDT_EM_XXX | TYPE "UDT_EM_XXX" (PLC data type) |
| IO_FCT : UDT_GEN_FCT | Interface VAR_INPUT / VAR_OUTPUT du FB |
| L_EM_XXX : UDT_EM_XXX | VAR_IN_OUT (passage par référence REF_TO) |
| L_CURRENT_STEP : DINT | VAR L_Step : Int |
| Main(SFC) + Running(SFC) | CASE L_Step OF 0/10/20/.../999 |
| EnableInFalse / Prescan (RLL) | Pas nécessaire — géré par OB cycle + OB100 startup |
| CDATA | Source SCL direct (pas d'encapsulation XML) |
| CMD/STS codes | Identiques : 0/1/10/20/30 et 0/1/2/3/10 |
# (ex: #L_Step)" (ex: "DB_GRINDER".EM)tDelay : TON)CASE #L_Step OF 0: ... 10: ... 999: ... END_CASE;FUNCTION_BLOCK "FB_XX_NAME"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_INPUT
IO_CMD_START : Bool; // CMD=1
IO_CMD_STOP : Bool; // CMD=10
IO_CMD_ABORT : Bool; // CMD=20
IO_CMD_RESET : Bool; // CMD=30
END_VAR
VAR_OUTPUT
STS_RUNNING : Bool; // STS=1
STS_COMPLETE : Bool; // STS=2
STS_FAILURE : Bool; // STS=10
STS_CODE : Int; // Valeur STS
END_VAR
VAR_IN_OUT
EM : "UDT_EM_XXX"; // Equipment Module
END_VAR
VAR
L_Step : Int; // Step sequencer
tDelay : TON; // Multi-instance timer
END_VAR
BEGIN
// Command decoding + CASE step sequencer + Status update
END_FUNCTION_BLOCK
Pour 50+ FB, utiliser un template Python :
template = '''FUNCTION_BLOCK "FB_{num:02d}_{name}"
...
CASE #L_Step OF
0: // Idle
10: // Start
20: // Running
50: // Complete
999: // Fault/Abort
END_CASE;
END_FUNCTION_BLOCK'''
Voir les projets ROH (46 FB) et RGY (54 FB) dans output/ROH_DevAssite/siemens/fbs/ et output/rockwell_gen/RGY_corrected/siemens/fbs/ pour des exemples complets.