소스 정보
- 저장소
- 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 beckhoff-ads-integration명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? 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 | beckhoff-ads-integration |
| description | Générer et intégrer du code Structured Text Beckhoff. |
| version | 1.1.0 |
| author | EVA |
| license | Privée EVA St-Étienne |
| platforms | ["linux","macos","windows"] |
| metadata | {"tags":["beckhoff","twincat","ads","plc","structured-text","automation-engineering"],"related_skills":["industrial-plc-connectivity"]} |
Cette compétence guide l'agent pour concevoir, structurer et intégrer des projets TwinCAT 3 en Structured Text (ST) et configurer les liaisons de communication via le protocole ADS (Automation Device Specification) de Beckhoff.
Les outils de communication directe suivants peuvent être mobilisés :
`beckhoff_ads_get_info` : Lecture du statut du runtime TwinCAT.`beckhoff_ads_read_tag` : Lecture de variables PLC par leur nom de symbole.`beckhoff_ads_write_tag` : Écriture de variables PLC par leur nom de symbole.Pour établir un dialogue entre EVA (ou toute application hôte) et le contrôleur Beckhoff via ADS, les routes doivent être mutuellement déclarées.
192.168.1.100.1.1).851 : Premier runtime PLC de TwinCAT 3.10000 : Système de diagnostic ou routeur ADS lui-même./etc/ads/StaticRoutes.xml doit être configuré de la sorte :
<TcConfig>
<RemoteConnections>
<Route>
<Name>EVAAgent</Name>
<Address>192.168.1.50</Address> <!-- IP de la machine EVA -->
<NetId>192.168.1.50.1.1</NetId> <!-- AMS Net ID de la machine EVA -->
<Type>TCP_IP</Type>
</Route>
</RemoteConnections>
</TcConfig>
Beckhoff propose des blocs fonctionnels asynchrones (dans la bibliothèque Tc2_System) pour interagir avec le système de fichiers de l'OS (Windows ou TwinCAT RTOS). Ces opérations s'exécutent sur plusieurs cycles en utilisant les variables bExecute, bBusy et bError.
PROGRAM PRG_FileLog
VAR
fbFileOpen : FB_FileOpen; // Bloc d'ouverture de fichier
fbFileWrite : FB_FileWrite; // Bloc d'écriture de fichier
fbFileClose : FB_FileClose; // Bloc de fermeture de fichier
hHeaderFile : UINT := 0; // Handle du fichier ouvert
sLogLine : STRING := 'Vitesse: 1450 rpm; Defaut: False$N'; // Ligne à écrire ($N = CR/LF)
bWriteTrigger : BOOL; // Déclencheur d'écriture
iState : INT := 0; // État de la machine d'état
bBusy : BOOL;
bError : BOOL;
END_VAR
CASE iState OF
0: // Attente d'un déclenchement
IF bWriteTrigger THEN
bWriteTrigger := FALSE;
bBusy := TRUE;
bError := FALSE;
iState := 10;
END_IF;
10: // Ouverture du fichier en mode Append
fbFileOpen(
sNetId := '', // Machine locale
sPathName := 'C:\Logs\production.csv',
nMode := FOPEN_MODEAPPEND OR FOPEN_MODETEXT,
bExecute := TRUE
);
IF NOT fbFileOpen.bBusy THEN
IF NOT fbFileOpen.bError THEN
hHeaderFile := fbFileOpen.hFile;
fbFileOpen(bExecute := FALSE); // Reset du bloc
iState := 20;
ELSE
bError := TRUE;
iState := 99; // État d'erreur
END_IF;
END_IF;
20: // Écriture de la ligne de log
fbFileWrite(
sNetId := '',
hFile := hHeaderFile,
pWriteBuff := ADR(sLogLine),
cbWriteLen := INT_TO_UDINT(LEN(sLogLine)),
bExecute := TRUE
);
IF NOT fbFileWrite.bBusy THEN
fbFileWrite(bExecute := FALSE);
iState := 30; // Fermeture obligatoire même après erreur
END_IF;
30: // Fermeture du fichier
fbFileClose(
sNetId := '',
hFile := hHeaderFile,
bExecute := TRUE
);
IF NOT fbFileClose.bBusy THEN
fbFileClose(bExecute := FALSE);
bBusy := FALSE;
iState := 0; // Retour à l'attente
END_IF;
99: // Gestion de l'erreur
bBusy := FALSE;
fbFileOpen(bExecute := FALSE);
iState := 0;
END_CASE
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Description' := 'Consigne de vitesse de la pompe principal'}
rPumpSpeed : REAL;
LREAL (double précision 64 bits) pour les variables de position ou d'axes de mouvement (TwinCAT NC/MC).TIME, LTIME, TOD, DT) doivent être formatés selon le standard (ex: T#500ms, DT#2026-07-06-10:40:00).