CAN Script Types
Here is the sequence of CANScript execution for Masters and Plugins:
Please right click on the image and open in new-tab to view in full screen.

Variable Setup Script
- Purpose: Defining and initializing diagnostic variables.(based on models)
- Input Parameters: None
- External Variables: Standard
- Script Block:

Connection Script
- Purpose: setting up connections. Accessing CAN.
- Input Parameters: Yes
- External Variables: Standard
- Script Block:

Network CAN Script
- Purpose: To detect ECUs on the connection (channels) and to provide version information about the ECU software.
- Input Parameters: None
- External Variables: Standard
- Script Block:


Script will execute the ‘Tick Event On Timer’ in a loop with a delay of the specified Script Timer value in milliseconds.
Function Script
- Purpose: To execute logic before and after a function is selected.
- Input Parameters: Yes
- External Variables: Standard
- Script Block:

Surface Script
- Purpose: To execute logic while a graphical surface is displayed.
- Input Parameters: None
- External Variables: Standard
- Script Block: Dynamic- based on controls that add events.

Pop-up Surface Script
- Purpose: To display a pop-up window containing a graphical surface while running the script. This script can be used in any other CANScript.
- Input Parameters: Yes
- Return Parameters: Yes
- External Variables: Standard
- Script Block: Dynamic- based on controls that add events.

Run Surface Script
- Purpose: To display an area containing a graphical surface while running the script. This is available on Calibrations.
- Input Parameters: Yes
- Return Parameters: Yes
- External Variables: Standard
- Script Block: Dynamic- based on controls that add events.

Calibration Script
- Purpose: To execute logic for Calibration.
- Input Parameters: Yes
- External Variables: Standard
- Script Block:

Configuration Script
- Purpose: To execute logic for a Configuration.
- Input Parameters: Yes
- External Variables: Standard
- Script Block:

Diagnostic Test Script
- Purpose: To execute logic for a Diagnostic Test.
- Input Parameters: Yes
- External Variables: Standard
- Script Block:

Flash Script
This script consists of 3 parts:
1. Pre-package Flash Script
2. Flash Script
3. Post-package Flash Script
Pre-package Flash Script
- Purpose: To execute logic before the individual flash scripts are executed.
- Input Parameters: Yes
- External Variables: Standard and
- Script Block:

Flash Script
- Purpose: To execute logic to flash a specific file to an ECU.
- Input Parameters: Yes
- External Variables: Standard and

- Script Block:

Post-package Flash Script
- Purpose: To execute logic after the individual flash scripts are executed.
- Input Parameters: Yes
- External Variables: Standard and

- Script Block:


DTC Script
There are 2 types of DTC Script:
Active Script
- Purpose: To retrieve active diagnostic trouble codes on a regular interval.
- Input Parameters: Yes
- External Variables: Standard
- Script Block:
Stored Script
- Purpose: To retrieve historical DTCs on request.
- Input Parameters: Yes
- External Variables: Standard
- Script Block:

Extended Info Script
- Purpose: To retrieve additional info of a DTC.
- Input Parameters: N
- External Variables: Standard and

- Script Block:


Network Detect Script
This script is created/used in Step:5 of VDW.

- Purpose: To execute logic to detect a specific ECU status on the Network Scan page. This script can be run one at a time sequentially using 'Run Script Isolation'.

- Input Parameters: Yes
- Output Parameters: No
- External Variables: Standard
- Script Block: Might have external objects.

Script will execute the ‘Detect Even On’ in a loop with a delay of the specified ‘Loop Wait’ value in milliseconds.
(Hardware/Software) Version Script

- Purpose: To execute logic to retrieve hardware/software versions. This script can be run one at a time sequentially using 'Run Script Isolation'.

- Input Parameters: Yes
- Output Parameters: Yes, requires version variable.

- External Variables: Standard
- Script Block:

Version variable value will be used to display the version in EDT UI.
Signal Script
- Purpose: To execute logic to retrieve data as a signal.
- Input Parameters: Yes
- Output Parameters: No, script can return multiple signals.
- External Variables: Standard
- Script Block:

Use ‘Define Script Signal’ code snippet to define additional signals, to show up in variables list.

Controller Script
This script is created/used in Step:5 of VDW.

- Purpose: To execute logic specific to an ECU like silencing a controller etc.

- Input Parameters: Yes
- Output Parameters: No
- External Variables: Standard
- Script Block:

Slider Script
- Purpose: Can be used in any Graphical Surface script (Surface, Pop-Up surface and Run Surface). A script that executes during manipulation of the slider in the UI. This scrip is available on 'Slider Script' control a graphical surface in VDW.
- Input Parameters: No
- Output Parameters: No
- External Variables: None
- Script Block:

Sub-Function Script
- Purpose: To execute logic from a script as a function. A reusable script called from other scripts.
- Input Parameters: Yes
- Output Parameters: Yes
- External Variables: Standard (Input, Output and status variables)

- Script Block:

Scripts mentioned so far can be used for both Masters and Plugins. Scripts below are used for Plugins.
Plugin Variable Setup Script
- Purpose: Defining and initializing diagnostic variables.(based on plugin parameters)
- Input Parameters: No
- External Variables: Standard and plugin parameters(dynamic based on step 3).

- Script Block:

Plugin Integration Script
Masters --> Step 15: --> Select a plugin --> Options --> Edit Plug-in Settings. This script requires a plugin to be saved and plublished for integration.
- Purpose: To execute complex logic for plugin parameters(override the values defined for plugin parameters).
- Input Parameters: Yes, dynamic based on parameters defined in Step3 of plugins.
- Output Parameters: Yes, dynamic based on parameters defined in Step3 of plugins.
- External Variables: Standard
- Script Block:

