GUI Manual · Chapter 6

Project Menu

The Project menu is the entry point for editing the shared resources and global settings of the currently open project. It groups project-level data such as constants, messages, errors, and GUI text, together with device-definition editors for IO, cylinders, and motors, and helpers that insert frequently used event and check function skeletons.

Click Project on the top menu bar to open it. Each editor item opens its own editor window, and device definitions are reflected into runtime code at build time.

Information and Resource Items

The following items are editors for project metadata and shared resources. Each editor opens in a dedicated window, and changes are written to the project file on save.

ItemShortcutDescription
Version InformationEdit project version and build information
Global Constant EditorDefine and manage global constants
Message EditorManage message strings shown during operation
Error EditorDefine error codes and error messages
GUI Text EditorManage UI text shown on screen (multilingual)

Detailed usage of each editor is covered in its own chapter. This section only provides the menu entry point.

Device Editor Items

These editors define the equipment's inputs/outputs and motion axes. They can also be opened directly with shortcuts, which is convenient when device definitions change often.

ItemShortcutDescription
IO EditorCtrl + Shift + 1Define digital IO points
Cylinder EditorCtrl + Shift + 2Define cylinders (pneumatic actuators)
Motor EditorCtrl + Shift + 3Define motor (servo/stepper) axes

The IO, cylinders, and motors defined here are referenced by name from scripts and test modules. Because changing a definition also affects the scripts that reference it, verifying with a build is the safe approach.

Add Sample Check Function

Add Sample Check Function automatically inserts skeleton code for standard check and event functions into the selected module script. Instead of writing common device-inspection patterns from scratch, you receive a skeleton and only fill in the body.

The submenu items are listed below. Selecting an item adds a function template for that purpose to the script currently being edited.

Submenu ItemPurpose of Inserted Function
IO Sample Check FunctionCheck function that inspects IO state
IO Sample Event FunctionEvent function that reacts to IO changes
Motor Sample Check FunctionCheck function that inspects motor state
Motor Sample PreHome FunctionFunction run just before homing
Motor Sample AfterHome FunctionFunction run after homing completes

The inserted function is only a skeleton, so you must fill in the actual device names and conditions to complete it. Selecting the same item multiple times may create duplicate functions, so use care.

Add Common Event Function

Add Common Event Function inserts skeletons for common event functions that respond to system, project, and job-file lifecycle events. It provides templates for functions that are called automatically at fixed points such as system start/stop, project open/close, and job-file load/save.

The submenu items and their invocation timing are as follows.

Submenu ItemInvocation Timing
Add OnSystemStart FunctionWhen system start begins
Add OnSystemStarted FunctionAfter system start completes
Add OnSystemStop FunctionWhen the system stops
Add OnSystemReset FunctionWhen the system is reset
Add OnSystemError FunctionWhen a system error occurs
Add OnProjectOpened FunctionWhen a project is opened
Add OnProjectClosed FunctionWhen a project is closed
Add OnJobFileChanged FunctionWhen the job file changes
Add OnJobFileLoaded FunctionWhen the job file is loaded
Add OnJobFileSaved FunctionWhen the job file is saved
Add OnPostBuild FunctionRight after a build
Add OnPreInit FunctionJust before initialization

Insert only the events you need. There is no need to add every event function, and you implement the body yourself after insertion.

Project Option

Project Option manages the project's global settings in one place. Because it covers options that affect build and runtime behavior, it is best to confirm the result with a build after changing a setting.

Detailed settings are covered in a separate chapter.