Skip to content

CNC SINUMERIK 840D/ONE language support for SublimeText

License

Notifications You must be signed in to change notification settings

deathaxe/sublime-s840d

Repository files navigation

CNC Sinumerik

Release The MIT License Package Control

This package provides syntax highlighting support for SINUMERIK 840D/ONE Computerized Numerical Control to Sublime Text.

G-Code example

gcode

🚀 Features

NC cycles

  • file extensions: MPF, SPF, DEF, TEA
  • syntax highlighting
    • ISO G-Code
    • SINUMERIK highlevel commands
    • known NC cycles, functions and commands
    • known NC variables and machine data (NC-Version 04.07.02.01)
    • Highlight illegal usage of control keywords.
  • indention rules
  • code-snippets for most common control functions
  • commands to Minify, Beautify, Add/Update block numbers, Save Protected Program File (CPF)
  • Goto Definition
    • Show labels in local symbol list
    • Show PROC names in indexed symbol list
  • Context sensitive auto completions for:
    • variable attributes in definitions (access rights, unit)
    • ISO parameters (e.g.: SPOS= , FP=, ...)
    • ISO commands (e.g.: TRANS, ROT, ...)
    • functions (e.g.: COUPDEF(...))
  • tooltip support
    • *.mdat *.svar files from CreateMyConfig

EasyScreen / RunMyScreens

  • file extensions: COM
  • syntax highlighting
  • indention rules
  • code-snippets for
    • classes: ARRAY, BLOCK, DIALOG, MENU
    • methods: LOAD, UNLOAD, PRESS, ...
    • functions: RNP, WNP, CP, DP, EP, ...
  • Goto Definition for classes.

NC archives (text)

  • file extensions: ARC
  • embedds NC cycles and RunMyScreens syntax highlighting

Step7 PLC sources

  • AWL syntax highlighting
  • ASC symbol table syntax highlighting
  • SCL syntax

💾 Installation

Package Control

For all Sublime Text 3 users install via Package Control is recommended.

  1. Install Package Control if you haven't yet.
  2. Use ctrl+shift+P then Package Control: Install Package
  3. Look for CNC Sinumerik and install it.

Manual Installation

Clone the repository in your Sublime Text Packages directory, located somewhere in user's "Home" directory:

git clone git://github.com/deathaxe/sublime-s840d.git "CNC Sinumerik"

You can also download the latest source from GitHub https://github.com/deathaxe/sublime-s840d and extract the whole content into the "Packages/CNC Sinumerik" directory.

⚙ Settings

All settings are organized per view and can therefore be placed to any valid Sublime Text settings file or may be applied temporarily for single views.

Basic Setup

If s840d_arc.sublime-settings, s840d_gcode.sublime-settings or s840d_hmi.sublime-settings don't exist in the user folder they will be automatically created to ensure the following essential syntax specific settings:

  "ensure_newline_at_eof_on_save": true,
  "translate_tabs_to_spaces": true,
  "use_tab_stops": false

They are all required to ensure NC will read the resulting file correctly. You can override these settings by creating your own syntax specific setting Preferences -> Settings - Syntax Specific

G-Code block start

"s840d_gcode_block_start": 0

If not explicitly called with "start": 0815 the s840d_renumber command will use this setting as first block number. With default value 0 the first block number is automatically selected to so all block numbers have same length.

G-Code block increment

"s840d_gcode_block_increment": 10

If not explicitly called with "increment": 0815 the s840d_renumber command will use this setting to increment the block numbers.

© License

The code is available at GitHub under MIT licence.