Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/deathaxe/sublime-s840d

CNC SINUMERIK 840D/ONE language support for SublimeText
https://github.com/deathaxe/sublime-s840d

cnc sinumerik sublime-package sublime-syntax sublime-text-3 sublime-text-plugin syntax-highlighting

Last synced: about 1 month ago
JSON representation

CNC SINUMERIK 840D/ONE language support for SublimeText

Awesome Lists containing this project

README

        

# CNC Sinumerik

[![Release](https://img.shields.io/github/tag/deathaxe/sublime-s840d.svg?style=flat-square)](https://github.com/deathaxe/sublime-s840d/releases)
[![The MIT License](https://img.shields.io/github/license/mashape/apistatus.svg?style=flat-square)](http://opensource.org/licenses/MIT)
[![Package Control](https://packagecontrol.herokuapp.com/downloads/CNC%20Sinumerik.svg?style=flat-square)](https://packagecontrol.io/packages/CNC%20Sinumerik)

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

#### G-Code example

![gcode](example.jpg)

## 🚀 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][2] is recommended.

1. [Install][3] 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:

```shell
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][zip] 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:

```JavaScript
"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][home] under [MIT licence][lic].

[home]:
[zip]:
[lic]:
[1]:
[2]:
[3]: