Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>INFORM II (Yaskawa) Language SupportNew to Visual Studio Code? Get it now.
INFORM II (Yaskawa) Language Support

INFORM II (Yaskawa) Language Support

S7EF4N0

|
4 installs
| (0) | Free
Syntax highlighting, snippets, completion, hover, outline and static diagnostics for Yaskawa INFORM II robot job files (.JBI).
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

INFORM II (Yaskawa) — VS Code Extension

Language support for Yaskawa INFORM II robot jobs (DX100 / DX200 / YRC1000 / YRC1000micro), made to work on .JBI files directly in VS Code.

English · Italiano

Features

Area Status
Syntax highlighting: 155 INFORM II instructions for YRC1000, /JOB and // /// sections, labels (including numeric *1), variables (B/I/D/R/S/P/BP/EX/FL), position data (C/BC/EC), signals and files (IN#, OT#, MPF#, WEV#, CLF#, PRESSCL#, ...), tags (VJ=, PL=, PLIN=, COORD=, U/D=, ...), valueless tags (FPT, CHK, SRCH, PICK, TWC-A, ...), strings, comments, deactivated instructions COMM, multi-group tags +MOVJ ✅
Snippets for jobs, subroutines, motion, structured blocks (IFTHEN/ELSE/ENDIF, WHILE, SWITCH/CASE, FOR) and I/O ✅
Comments (' and end-of-line //), automatic indentation, block folding ✅
Instruction completion at the beginning of a line (with signature and documentation) ✅
Structured language: snippets and indentation for IFTHENEXP/ELSEIFEXP/ELSE/ENDIF, WHILEEXP/WHILE … DO/ENDWHILE, FOR/NEXT (also with STEP), SWITCH/CASE/DEFAULT/ENDSWITCH and label + JUMP loops; block folding ✅
Label completion after JUMP *, workspace jobs after CALL JOB: / JUMP JOB:, job variables ✅
Hover on instructions, tags, variables, position data, signals, labels, sections, condition keywords ✅
Job outline (sections + labels) and Workspace Symbols across all .JBI files ✅
Step numbers (virtual): every line of the instruction section is labelled with its step, starting at 0000 on the NOP line, exactly like the controller job list. The numbers are decorations: they are never written into the file. Two modes (lines = comments and labels counted, instructions = only instructions) and a Go to step command ✅
Controller (FTP): browse the job folders of the controller in a dedicated view of the Explorer, download a job and open it, upload the file back (overwrite confirmation), download to a local file, create folders and delete remote files. The password is kept in the VS Code keychain, never in the settings ✅
"Go to definition" from JUMP *LABEL, CALL JOB:NAME, JUMP JOB:NAME ✅
Static diagnostics: missing final END, structured-language block balance, duplicate/undefined labels, parentheses, unknown instructions ✅
Argument validation: unknown tags or tags not allowed for the instruction, out-of-range values (PL 0‑8, VJ 0.01‑100 %, V 0.1‑1500, T ±327.67, ACC/DEC, SMODE), variable indices (P/BP/EX 0‑127), required arguments (position, signal, element), user alarm codes (SETUALM 8000‑8999) ✅
Arc welding (chapter 2.7 of the manual): tag documentation (AC=, AV=, AVP=, AN3=/AN4=, RETRY, REPLAY, WELDn), argument validation with instruction-specific ranges and snippets (arcon, arcof, arcset, wvon, wvof, the saldatura block) ✅
Motor-gun spot welding (manual RE-CSO-A054): SVSPOT, SVGUNCL, SVSPOTMOV, SVDRESMOV, GUNCHG, DRESSON, DRESSOF with their tags (GUN#, PRESS#, PRESSCL#, DRS#, CLF#, WP=, WTM=, WST=, PLIN=/PLOUT=, TWC-A…TWC-BE, PICK/PLACE, BCOFF), validated ranges and dedicated snippets ✅
Arc monitor and weaving change: ARCMONON/ARCMONOF (AMF#), WVCHG/SWVCHG (AMPV=, AMPH=, DIS=) ✅
Alarm list (1,334 controller alarm codes): hover on alarm codes inside comments + search command ✅
Commands: INFORM II: Insert instruction from reference, INFORM II: Search alarm code, INFORM II: Go to step ✅
Localized UI: English / Italian ✅

Requirements

  • VS Code 1.90 or newer.
  • Node.js 18+ and npm — needed only to build (npm install + npm run compile), not at runtime: the extension has no runtime dependency other than vscode.
  • Jobs saved on disk as .JBI files: that is the only extension associated with the language. The controllers save each job as one .JBI file (all the production jobs this extension was validated against are .JBI); the INFORM manuals do not document any other job-file extension.
  • A sample job in samples/ESEMPIO.JBI to try out highlighting, completion and diagnostics.

Quick start (development)

npm install
npm run compile      # generates the grammar + compiles TypeScript

Then press F5 to open an Extension Development Host window with the extension active, and open a .JBI file.

Two debug configurations are available:

  • Esegui estensione INFORM II (usa out/ precompilato) — starts immediately from the content already present in out/, without npm; handy when you only change grammar, snippets or language-configuration.json.
  • Esegui estensione INFORM II (con build) — runs npm: compile before launching; use it when you change the sources in src/.

Available tasks: npm: compile (build), npm: watch (continuous compilation), npm: typecheck (type checking only).

Settings

Setting Default Description
inform2.diagnostics.enable true Enables static diagnostics on jobs.
inform2.diagnostics.unknownInstruction off Severity for instructions outside the catalogue: off, information, warning.
inform2.diagnostics.arguments true Validates arguments: allowed tags, value ranges, variable indices, required arguments.
inform2.completion.enable true Enables completion.
inform2.workspaceJobs.enable true Looks up jobs in the workspace for CALL JOB: and definitions.
inform2.lineNumbers.enable true Shows the step number beside every line of the instruction section.
inform2.lineNumbers.mode lines Which lines get a step number: lines counts every line of the instruction section (comments and labels included), instructions counts only instruction lines.
inform2.lineNumbers.start 0 First step number, assigned to the first line of the instruction section (normally NOP).
inform2.ftp.host (empty) Address of the controller whose FTP server holds the job files.
inform2.ftp.port 21 FTP port of the controller.
inform2.ftp.username (empty) FTP user name configured on the controller.
inform2.ftp.remotePath / Remote folder shown first in the Controller view (for example / or /JOB).
inform2.ftp.timeout 15000 Timeout for FTP operations, in milliseconds.

inform2.diagnostics.unknownInstruction is off by default so that instructions from options not covered by the loaded manuals are not reported. The catalogue covers every standard YRC1000 instruction: you can set it to warning to highlight unexpected instructions.

Project structure

.
├─ package.json                 # manifest: language, grammar, snippets, settings, commands
├─ language-configuration.json  # comments, brackets, folding, indentation
├─ src/
│  ├─ extension.ts              # activation and provider registration
│  ├─ data/
│  │  ├─ instructions.json      # instruction catalogue (155 entries)
│  │  ├─ arguments.json         # argument validation rules
│  │  ├─ alarms.json            # controller alarm list (code -> name/description)
│  │  └─ reference.ts           # variable types, I/O signals, sections, tags
│  ├─ language/
│  │  ├─ inform.ts              # line-by-line job parsing
│  │  ├─ arguments.ts           # argument validation engine (no vscode dependency)
│  │  ├─ alarms.ts              # alarm search
│  │  ├─ jobIndex.ts            # workspace job index
│  │  └─ docs.ts                # Markdown documentation for hover/completion
│  └─ providers/                # completion, hover, symbols, diagnostics, folding, definition
├─ scripts/build-grammar.mjs    # generates syntaxes/inform2.tmLanguage.json from the catalogue
├─ tools/                       # manual extraction, analysis and validation scripts (Python)
├─ snippets/inform2.json
└─ l10n/                        # runtime translations (Italian)

Extending the instruction catalogue

All instruction knowledge lives in src/data/instructions.json. Adding an entry:

{
  "name": "MOVJ",
  "category": "move",
  "signature": "MOVJ <position> VJ=<speed> [PL=<level>] [UF#(<n>)] [TF]",
  "summary": "Moves to the target position with joint interpolation.",
  "verified": true
}

automatically gives you highlighting, completion, hover and diagnostic recognition. The grammar is regenerated by npm run generate:grammar (included in npm run compile).

Optional fields:

  • "pattern": regular expression used instead of the name, for instructions with a numeric suffix (e.g. MACRO uses "MACRO[0-9]{1,2}").
  • "verified": set to true only for entries confirmed by the manual; while missing, hover and completion show a "provisional description" note.
  • "usage": forms observed in real job files, shown in the hover for instructions that are not documented in the loaded manuals.
  • "markers": file-format keywords that are not instructions (e.g. COMM for deactivated instructions), documented but excluded from completion.

Commands

Command Description
INFORM II: Insert instruction from reference List of instructions with signature and description; press Enter to insert the name into the job.
INFORM II: Search alarm code Search by code or name in the controller alarm list; press Enter to insert AL<code> into the active job.
INFORM II: Go to step Asks for a step number and moves the cursor to that line of the instruction section (useful to jump where the pendant shows an error).
INFORM II: Connect to the controller Opens the FTP connection (it asks the address if inform2.ftp.host is empty) and fills the Controller view.
INFORM II: Refresh the controller folder Re-reads the remote folder.
INFORM II: Open job from the controller Downloads the job and opens it in the editor.
INFORM II: Download job to a local file Saves the remote job where you choose.
INFORM II: Upload file to controller Writes the file of the active editor to the controller, after a confirmation.
INFORM II: New folder on the controller Creates a folder in the selected remote folder.
INFORM II: Delete on the controller Deletes the selected remote file or folder, after a confirmation.
INFORM II: Forget the controller password Removes the password kept in the VS Code keychain.

Controller (FTP)

The controller has an FTP server with the job folders. To use it you need version 0.8.0 or newer of the extension.

Step 0 — check the version

Extensions panel → INFORM II (Yaskawa) → the version must be 0.8.0 or newer. If it is older, run:

code --install-extension "inform2-yaskawa-0.8.1.vsix"

then Ctrl+Shift+P → Developer: Reload Window. Without this update the inform2.ftp.* settings do not exist and VS Code will not accept them.

Step 1 — set the parameters (guided, recommended)

Ctrl+Shift+P → INFORM II: Configure the controller connection, or click the gear in the title of the Controller (FTP) view (Explorer).

Answer the questions:

Question Example What to write
Address of the controller (IP or host name) 192.168.1.10 the controller on the network
FTP port of the controller 21 keep 21 unless the controller uses another port
FTP user name configured on the controller user the FTP user enabled on the controller
Folder to show first (for example / or /JOB) / /JOB to open directly on the jobs
Password — leave empty to be asked at every connection

Then choose User settings (all your projects) or Workspace settings (only this folder) and confirm with Connect now.

Step 1 (alternative) — set the parameters by hand

Ctrl+Shift+P → Preferences: Open User Settings (JSON) and add:

"inform2.ftp.host": "192.168.1.10",
"inform2.ftp.port": 21,
"inform2.ftp.username": "user",
"inform2.ftp.remotePath": "/"

In the graphical Settings window search for inform2 (not "ftp"): the whole INFORM II group appears, with the five ftp.* settings.

Step 2 — connect and work

Ctrl+Shift+P → INFORM II: Connect to the controller, or the plug icon in the view title. The view fills with the remote folders. Then:

  • click a job to open it: it is copied to a local working folder, so highlighting, step numbers and diagnostics work as usual;
  • INFORM II: Upload file to controller writes the file you are editing back to the controller (it asks the remote path and a confirmation, because the remote file is overwritten);
  • right click on an element for the other actions: download to a local file, new folder, delete.

Step 3 — if something does not work

Symptom Cause and fix
The inform2.ftp.* settings do not appear, or VS Code says they are unknown the installed version is older than 0.8.0, or the extension is disabled: update it and reload the window
The command Configure the controller connection is missing from the Command Palette same cause: update the extension and reload the window
Connection to <address> failed: … wrong address or port, wrong user or password, or the FTP server is not enabled on the controller

Notes:

  • the connection is opened only when you ask for it: nothing happens on startup and the extension works offline as before;
  • the password stays in the VS Code keychain, never in settings.json and never in the messages; remove it with INFORM II: Forget the controller password;
  • transfers use passive mode (PASV) and binary type (TYPE I), the ones needed for .JBI files.

Hovering an alarm code also works inside comments of a job (e.g. 'AL4414 excess segment), where they are usually noted.

Manuals and copyright notes

Yaskawa manuals are protected material: this extension does not embed their text. The descriptions shown (hover, completion) are original summaries based on the official manuals, with a reference to the manual chapter.

Data derived from the manuals is limited to factual information (instruction lists, allowed ranges, alarm codes and names), acting as a browsable index. Entries marked as "provisional description" come from options not documented in the loaded manuals (e.g. COMARCON, MEMON, MACRO): for those, hover also shows the forms observed in real jobs.

Known limitations

  • Catalogue descriptions and the entries in src/data/reference.ts are currently in Italian (the user interface is English/Italian).
  • Alarm names are extracted automatically from the alarm list: some entries may be incomplete or merged.
  • Argument validation covers the documented rules (ranges for PL, VJ, V, T, ACC, DEC, indices P/BP/EX, required arguments of the main instructions). Variable types are not checked in every context.
  • Diagnostics are purely static: they do not validate execution logic or controller state.
  • Syntax may vary between controller generations: the current profile is YRC1000 / YRC1000micro.

Roadmap

  • [x] Phase 1 — foundation: language, editor features, static diagnostics.
  • [x] Phase 2 — manuals: complete YRC1000 instruction catalogue derived from the official Yaskawa manuals (RE-CKI-A466, RE-CSO-A052/A053/A054/A055) and validated against real production jobs (not included in the package).
  • [x] Phase 3 — arguments and alarms: argument validation (tags, ranges, indices, required arguments), alarm list (1,334 codes) with hover and search command, signatures of optional instructions derived from real usage.
  • [x] Phase 4 — full manual coverage: 155 instructions, no manual table or index entry left out; added the motor-gun spot welding, arc monitor and weaving change families.
  • [x] Phase 5 — structured language: snippets, indentation, folding and diagnostics for every loop and selection type (IFTHENEXP, WHILEEXP, FOR/NEXT, SWITCH/CASE, label loops).
  • [x] Phase 6 — step numbering: virtual step number (0 = NOP) beside every line of the instruction section, Go to step command and lines/instructions counting modes.
  • [x] Phase 7 — controller connection (FTP): controller view with remote folders, download/upload of jobs, new folder, delete; password in the VS Code keychain.
  • [ ] Phase 8 — per-controller instruction library: separate profiles for DX200 / YRC1000 / YRC1000micro; integration of the manuals of still uncovered options (COM-ARC, Memory Play, Macro Command, search functions, handling).
  • [ ] Phase 9 — job tools: job comparison, import/export, renumbering of a job.

INFORM II (Yaskawa) — Estensione VS Code

Supporto linguistico per i job robot Yaskawa INFORM II (DX100/DX200/YRC1000/YRC1000micro), pensato per lavorare sui file .JBI direttamente in VS Code.

English · Italiano

Funzionalità

Area Stato
Evidenziazione sintassi: 155 istruzioni INFORM II per YRC1000, sezioni /JOB //////, etichette (anche numeriche *1), variabili (B/I/D/R/S/P/BP/EX/FL), dati di posizione (C/BC/EC), segnali e file (IN#, OT#, MPF#, WEV#, CLF#, PRESSCL#, ...), tag (VJ=, PL=, PLIN=, COORD=, U/D=, ...), tag senza valore (FPT, CHK, SRCH, PICK, TWC-A, ...), stringhe, commenti, istruzioni disattivate COMM, tag multi-gruppo +MOVJ ✅
Snippet per job, sottoprogrammi, movimenti, blocchi strutturati (IFTHEN/ELSE/ENDIF, WHILE, SWITCH/CASE, FOR) e I/O ✅
Commenti (', // a fine riga), indentazione automatica, folding sui blocchi ✅
Completamento istruzioni a inizio riga (con firma e documentazione) ✅
Linguaggio strutturato: snippet e rientri per IFTHENEXP/ELSEIFEXP/ELSE/ENDIF, WHILEEXP/WHILE … DO/ENDWHILE, FOR/NEXT (anche con STEP), SWITCH/CASE/DEFAULT/ENDSWITCH e ripetizioni con etichetta e JUMP; piegatura dei blocchi ✅
Completamento etichette dopo JUMP *, job del workspace dopo CALL JOB: / JUMP JOB:, variabili del job ✅
Hover su istruzioni, tag, variabili, dati di posizione, segnali, etichette, sezioni, parole chiave di condizione ✅
Outline del job (sezioni + etichette) e Workspace Symbols su tutti i .JBI ✅
Numeri di passo (virtuali): ogni riga della sezione istruzioni mostra il proprio passo, da 0000 sulla riga NOP, come nell'elenco del job sull'insegnatore. I numeri sono decorazioni: non vengono mai scritti nel file. Due modalità (lines = conta anche commenti ed etichette, instructions = solo istruzioni) e comando Vai al passo ✅
Controller (FTP): sfoglia le cartelle dei job del controller in una vista dedicata dell'Explorer, scarica un job e aprilo, ricarica il file modificato (con conferma di sovrascrittura), salva su file locale, crea cartelle ed elimina file remoti. La password resta nel portachiavi di VS Code, mai nelle impostazioni ✅
"Vai alla definizione" da JUMP *LABEL, CALL JOB:NAME, JUMP JOB:NAME ✅
Diagnostica statica: END finale, blocchi del linguaggio strutturato, etichette duplicate/inesistenti, parentesi, istruzioni non note ✅
Validazione argomenti: tag sconosciuti o non ammessi per l'istruzione, valori fuori intervallo (PL 0‑8, VJ 0.01‑100 %, V 0.1‑1500, T ±327.67, ACC/DEC, SMODE), indici variabili (P/BP/EX 0‑127), argomenti obbligatori (posizione, segnale, elemento), codici allarme utente (SETUALM 8000‑8999) ✅
Saldatura ad arco (sezione 2.7 del manuale): documentazione dei tag (AC=, AV=, AVP=, AN3=/AN4=, RETRY, REPLAY, WELDn), validazione argomenti con intervalli specifici e snippet (arcon, arcof, arcset, wvon, wvof, blocco saldatura) ✅
Saldatura a punti con pistola a motore (manuale RE-CSO-A054): SVSPOT, SVGUNCL, SVSPOTMOV, SVDRESMOV, GUNCHG, DRESSON, DRESSOF con i loro tag (GUN#, PRESS#, PRESSCL#, DRS#, CLF#, WP=, WTM=, WST=, PLIN=/PLOUT=, TWC-A…TWC-BE, PICK/PLACE, BCOFF), intervalli validati e snippet dedicati ✅
Monitor d'arco e cambio oscillazione: ARCMONON/ARCMONOF (AMF#), WVCHG/SWVCHG (AMPV=, AMPH=, DIS=) ✅
Lista allarmi (1.334 codici dal manuale allarmi del controller): hover sul codice allarme nei commenti + comando di ricerca ✅
Comandi: INFORM II: Inserisci istruzione dal riferimento, INFORM II: Cerca codice allarme, INFORM II: Vai al passo ✅
Interfaccia localizzata IT / EN ✅

Requisiti

  • VS Code 1.90 o superiore.
  • Node.js 18+ e npm — servono solo per compilare (npm install + npm run compile), non a runtime: l'estensione non ha dipendenze runtime oltre a vscode.
  • Job salvati su disco come file .JBI: è l'unica estensione associata al linguaggio. I controller salvano ogni job in un file .JBI (tutti i job di produzione su cui l'estensione è stata validata sono .JBI); i manuali INFORM non documentano altre estensioni per i file di job.
  • Un job di prova in samples/ESEMPIO.JBI per verificare evidenziazione, completamento e diagnostica.

Avvio rapido (sviluppo)

npm install
npm run compile      # genera la grammar + compila TypeScript

Poi F5 per aprire una finestra Extension Development Host con l'estensione attiva, e aprire un file .JBI.

Sono disponibili due configurazioni di debug:

  • Esegui estensione INFORM II (usa out/ precompilato) — avvia subito usando il contenuto già presente in out/, senza bisogno di npm; adatta se modifichi solo grammar, snippet o language-configuration.json.
  • Esegui estensione INFORM II (con build) — esegue npm: compile prima dell'avvio; usala quando modifichi i sorgenti in src/.

Task disponibili: npm: compile (build), npm: watch (compilazione continua), npm: typecheck (solo controllo dei tipi).

Impostazioni

Impostazione Default Descrizione
inform2.diagnostics.enable true Abilita la diagnostica statica dei job.
inform2.diagnostics.unknownInstruction off Gravità per istruzioni fuori catalogo: off, information, warning.
inform2.diagnostics.arguments true Valida gli argomenti: tag ammessi, intervalli di valore, indici variabili, argomenti obbligatori.
inform2.completion.enable true Abilita il completamento.
inform2.workspaceJobs.enable true Cerca i job nel workspace per CALL JOB: e le definizioni.
inform2.lineNumbers.enable true Mostra il numero di passo accanto a ogni riga della sezione istruzioni.
inform2.lineNumbers.mode lines Quali righe ricevono il numero: lines conta ogni riga della sezione istruzioni (commenti ed etichette compresi), instructions conta solo le righe di istruzione.
inform2.lineNumbers.start 0 Primo numero di passo, assegnato alla prima riga della sezione istruzioni (di norma NOP).
inform2.ftp.host (vuoto) Indirizzo del controller il cui server FTP contiene i file di job.
inform2.ftp.port 21 Porta FTP del controller.
inform2.ftp.username (vuoto) Nome utente FTP configurato sul controller.
inform2.ftp.remotePath / Cartella remota mostrata all'apertura della vista Controller (ad esempio / oppure /JOB).
inform2.ftp.timeout 15000 Timeout delle operazioni FTP, in millisecondi.

inform2.diagnostics.unknownInstruction è disattivato di default per non segnalare istruzioni di opzioni non incluse nei manuali caricati. Il catalogo copre tutte le istruzioni standard YRC1000: puoi impostare warning per evidenziare eventuali istruzioni estranee.

Struttura del progetto

.
├─ package.json                 # manifest: linguaggio, grammar, snippet, impostazioni, comandi
├─ language-configuration.json  # commenti, parentesi, folding, indentazione
├─ src/
│  ├─ extension.ts              # attivazione e registrazione dei provider
│  ├─ data/
│  │  ├─ instructions.json      # catalogo istruzioni (155 voci)
│  │  ├─ arguments.json         # regole di validazione degli argomenti
│  │  ├─ alarms.json            # lista allarmi del controller (codice -> nome/descrizione)
│  │  └─ reference.ts           # tipi variabile, segnali I/O, sezioni, tag
│  ├─ language/
│  │  ├─ inform.ts              # parsing riga per riga dei job
│  │  ├─ arguments.ts           # motore di validazione argomenti (senza dipendenze da vscode)
│  │  ├─ alarms.ts              # ricerca allarmi
│  │  ├─ jobIndex.ts            # indice dei job del workspace
│  │  └─ docs.ts                # documentazione Markdown per hover/completamento
│  └─ providers/                # completion, hover, symbols, diagnostics, folding, definition
├─ scripts/build-grammar.mjs    # genera syntaxes/inform2.tmLanguage.json dal catalogo
├─ tools/                       # script di estrazione, analisi e validazione dei manuali (Python)
├─ snippets/inform2.json
└─ l10n/                        # traduzioni runtime (italiano)

Come estendere il catalogo istruzioni

Tutta la conoscenza delle istruzioni vive in src/data/instructions.json. Aggiungendo una voce:

{
  "name": "MOVJ",
  "category": "move",
  "signature": "MOVJ <posizione> VJ=<velocità> [PL=<livello>] [UF#(<n>)] [TF]",
  "summary": "Movimento verso la posizione di destinazione con interpolazione articolare.",
  "verified": true
}

si ottengono automaticamente: evidenziazione, completamento, hover, riconoscimento nella diagnostica. La grammar viene rigenerata da npm run generate:grammar (incluso in npm run compile).

Campi opzionali:

  • "pattern": espressione regolare usata al posto del nome, per le istruzioni con suffisso numerico (es. MACRO usa "MACRO[0-9]{1,2}").
  • "verified": impostare true solo per le voci confermate sul manuale; finché è assente, hover e completamento mostrano la nota "descrizione provvisoria".
  • "usage": forme osservate nei job reali, mostrate nell'hover per le istruzioni non documentate nei manuali caricati.
  • "markers": parole chiave del formato file che non sono istruzioni (es. COMM per le istruzioni disattivate), documentate ma escluse dal completamento.

Comandi

Comando Descrizione
INFORM II: Inserisci istruzione dal riferimento Elenco delle istruzioni con firma e descrizione; invio per inserire il nome nel job.
INFORM II: Cerca codice allarme Ricerca per codice o nome nella lista allarmi del controller; invio per inserire AL<codice> nel job attivo.
INFORM II: Vai al passo Chiede un numero di passo e porta il cursore su quella riga della sezione istruzioni (utile per raggiungere il punto indicato dall'insegnatore dopo un allarme).
INFORM II: Connetti al controller Apre la connessione FTP (chiede l'indirizzo se inform2.ftp.host è vuoto) e popola la vista Controller.
INFORM II: Aggiorna la cartella del controller Rilegge la cartella remota.
INFORM II: Apri un job dal controller Scarica il job e lo apre nell'editor.
INFORM II: Scarica il job in un file locale Salva il job remoto dove scegli tu.
INFORM II: Carica il file sul controller Scrive nel controller il file dell'editor attivo, dopo una conferma.
INFORM II: Nuova cartella sul controller Crea una cartella nella cartella remota selezionata.
INFORM II: Elimina sul controller Elimina il file o la cartella remota selezionata, dopo una conferma.
INFORM II: Dimentica la password del controller Cancella la password conservata nel portachiavi di VS Code.

Controller (FTP)

Il controller espone un server FTP con le cartelle dei job. Per usarlo serve la versione 0.8.0 o successiva dell'estensione.

Passo 0 — controlla la versione

Pannello Estensioni → INFORM II (Yaskawa) → la versione deve essere 0.8.0 o successiva. Se è più vecchia, esegui:

code --install-extension "inform2-yaskawa-0.8.1.vsix"

poi Ctrl+Shift+P → Developer: Reload Window. Senza questo aggiornamento le impostazioni inform2.ftp.* non esistono e VS Code non le accetta.

Passo 1 — imposta i parametri (guidato, consigliato)

Ctrl+Shift+P → INFORM II: Configura la connessione al controller, oppure clicca l'ingranaggio nel titolo della vista Controller (FTP) (nell'Explorer).

Rispondi alle domande:

Domanda Esempio Cosa scrivere
Indirizzo del controller (IP o nome host) 192.168.1.10 il controller sulla rete
Porta FTP del controller 21 lascia 21 se il controller non usa un'altra porta
Nome utente FTP configurato sul controller utente l'utente FTP abilitato sul controller
Cartella da mostrare all'apertura (ad esempio / oppure /JOB) / /JOB per aprire direttamente i job
Password — lascia vuoto per inserirla a ogni connessione

Poi scegli Impostazioni utente (tutti i tuoi progetti) o Impostazioni del workspace (solo questa cartella) e conferma con Connetti ora.

Passo 1 (alternativa) — imposta i parametri a mano

Ctrl+Shift+P → Preferences: Open User Settings (JSON) e aggiungi:

"inform2.ftp.host": "192.168.1.10",
"inform2.ftp.port": 21,
"inform2.ftp.username": "utente",
"inform2.ftp.remotePath": "/"

Nella finestra grafica delle impostazioni cerca inform2 (non "ftp"): compare tutto il gruppo INFORM II, con le cinque impostazioni ftp.*.

Passo 2 — connettiti e lavora

Ctrl+Shift+P → INFORM II: Connetti al controller, oppure l'icona della spina nel titolo della vista. La vista si popola con le cartelle remote. Poi:

  • clicca un job per aprirlo: viene copiato in una cartella di lavoro locale, quindi evidenziazione, numeri di passo e diagnostica funzionano come sempre;
  • INFORM II: Carica il file sul controller riscrive nel controller il file che stai modificando (chiede il percorso remoto e una conferma, perché il file remoto viene sovrascritto);
  • con il tasto destro su un elemento trovi le altre azioni: scarica in un file locale, nuova cartella, elimina.

Passo 3 — se qualcosa non funziona

Sintomo Causa e rimedio
Le impostazioni inform2.ftp.* non compaiono, o VS Code dice che non esistono la versione installata è precedente alla 0.8.0, oppure l'estensione è disattivata: aggiornala e ricarica la finestra
Il comando Configura la connessione al controller non c'è nel Command Palette stessa causa: aggiorna l'estensione e ricarica la finestra
Connection to <indirizzo> failed: … indirizzo o porta sbagliati, utente o password errati, oppure il server FTP non è abilitato sul controller

Note:

  • la connessione viene aperta solo su tua richiesta: all'avvio non cambia nulla e l'estensione continua a funzionare anche senza rete;
  • la password resta nel portachiavi di VS Code, mai in settings.json e mai nei messaggi; si cancella con INFORM II: Dimentica la password del controller;
  • i trasferimenti usano la modalità passiva (PASV) e il tipo binario (TYPE I), quelli richiesti dai file .JBI.

L'hover sul codice di allarme funziona anche dentro i commenti dei job (es. 'AL4414 eccesso di segmento), dove di solito vengono annotati.

Note su manuali e copyright

I manuali Yaskawa sono materiale protetto: l'estensione non ne incorpora il testo. Le descrizioni mostrate (hover, completamento) sono sintesi redazionali proprie, basate sui manuali ufficiali ma riscritte, con riferimento al capitolo del manuale.

I dati derivati dai manuali sono limitati a informazioni fattuali (elenchi di istruzioni, intervalli ammessi, codici di allarme e relativi nomi), come un indice consultabile. Le voci marcate come "descrizione provvisoria" derivano da opzioni non documentate nei manuali caricati (es. COMARCON, MEMON, MACRO): per queste l'hover mostra anche le forme d'uso rilevate nei job.

Limiti noti

  • Le descrizioni del catalogo e i riferimenti in src/data/reference.ts sono attualmente in italiano (l'interfaccia è IT/EN).
  • I nomi degli allarmi sono estratti automaticamente dalla lista allarmi: alcune voci possono risultare incomplete o accorpate.
  • La validazione degli argomenti copre le regole documentate (intervalli di PL, VJ, V, T, ACC, DEC, indici P/BP/EX, argomenti obbligatori delle istruzioni principali). Non sono verificati i tipi di variabile in ogni contesto.
  • La diagnostica è puramente statica: non valida la logica di esecuzione né lo stato del controller.
  • La sintassi può variare tra generazioni di controller: il profilo attuale è quello YRC1000 / YRC1000micro.

Roadmap

  • [x] Fase 1 — fondazione: linguaggio, editor, diagnostica statica.
  • [x] Fase 2 — manuali: catalogo completo delle istruzioni YRC1000 ricavato dai manuali ufficiali Yaskawa (RE-CKI-A466, RE-CSO-A052/A053/A054/A055) e validato su job di produzione reali (non inclusi nel pacchetto).
  • [x] Fase 3 — argomenti e allarmi: validazione degli argomenti (tag, intervalli, indici, argomenti obbligatori), lista allarmi (1.334 codici) con hover e comando di ricerca, firme delle istruzioni opzionali ricavate dall'uso reale.
  • [x] Fase 4 — copertura totale dei manuali: 155 istruzioni, nessuna voce di tabella o di indice dei manuali fuori catalogo; aggiunte le famiglie della saldatura a punti con pistola a motore, del monitor d'arco e del cambio oscillazione.
  • [x] Fase 5 — linguaggio strutturato: snippet, rientri, piegatura e diagnostica per tutti i tipi di ciclo e selezione (IFTHENEXP, WHILEEXP, FOR/NEXT, SWITCH/CASE, cicli con etichetta).
  • [x] Fase 6 — numeri di passo: numero virtuale (0 = NOP) accanto a ogni riga della sezione istruzioni, comando Vai al passo e modalità di conteggio lines/instructions.
  • [x] Fase 6 — numeri di passo: numero virtuale (0 = NOP) accanto a ogni riga della sezione istruzioni, comando Vai al passo e modalità di conteggio lines/instructions.
  • [x] Fase 7 — collegamento al controller (FTP): vista del controller con cartelle remote, scaricamento e caricamento dei job, nuova cartella, eliminazione; password nel portachiavi di VS Code.
  • [ ] Fase 8 — libreria istruzioni per controller: profili separati per DX200 / YRC1000 / YRC1000micro; completamento dei manuali delle opzioni non coperte (COM-ARC, Memory Play, Macro Command, funzioni di ricerca, movimentazione).
  • [ ] Fase 9 — strumenti di job: confronto tra job, import/export, rinumerazione di un job.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft