Data Tags and Section Numbers
Information about your operations and tooling are accessed using JOS Data Tags. Each tag contains a specific type of information, about the current step, tool, or job. The JOS data tags are used extensively throughout SmartCAM; including in macros, code generation template files, JOS report format files, and even configuration files for in-product lists and displays.
When working for format files, you also need to understand how information is organized in SmartCAM. SmartCAM uses a hierarchical tree to represent job, tool, and step information. Each branch of the tree, or each data type, is referenced using a specific ID string. These reference ID strings are called Section Numbers.
JOS Data Tag Overview
Job Operation Setup (JOS) data tags provide the ability to access job operation data, used in the Planner, throughout the application. The information is used to calculate field values, build macro functions, create code generators, material library files, and user-defined lists. The information is context-based; meaning data tags related to a step or tool change as the active tool or step changes.
The SmartCAM evaluator (the input
field expression calculator), uses the JOS()
and JOS_STR()
functions to
access Job Data for use anywhere you can enter an expression. The JOS(tagname)
function is used to access numerical data; integers or decimal values. To access string information,
use the JOS_STR(tagname)
function. The tagname
is the
JOS Data Tag that represents the information you are trying to retrieve.
The list of available JOS Data Tags is displayed, alphabetically, on the Job Operations Setup Data Tags topic. The table of information includes the name of the tag, a description of what the tag represents, whether the tag is related to the overall job or contains step data and the date type (string, integer, decimal). It provides the Context; which is more detailed specification of what aspect of the Job the data is associated with, and also notes about the tag and which applications it is available in.
SmartCAM provides a method of more quickly finding which data tag you wish to use. While the Planner is open and a Step, Operation, or Tool page is displayed, you can hover the mouse over the field you are interested in. The JOS Data Tag name, for that field, is included in the tool tip which will shortly display. Additionally, you can right-click on the field in question and use the Copy JOS Tag option to copy the tag name into the Windows clipboard; so that you can later paste it into the area you need it.
Data Tag Example
Using a data tag with the #EVAL
command in a code generator:
@DECLARE
#INT #myvar
@STEPCHG
#EVAL(#myvar=JOS('tagname'))
Classifying Data Tags
There are several ways to classify data tags.
Data Type
- A tag can be a string, a floating point decimal, or an integer value.Area of Access
- Tags that access global job information are the same for all Steps; while those associated with a particular step vary across steps.Application Specific Tags
- Some tags are valid for all SmartCAM applications, while others are only valid with a particular application.
JOS() and JOS_STR() Overview
The JOS()
and JOS_STR()
functions return a value from the current context,
in the job operations setup. The current context is defined by the global job information and the
current step. As an example of what this means, consider the JOS Report. When the Step
List is being generated, the Report Generator calls a section of the report format file
which outputs the information for each step. This information is often shared by multiple Steps;
but the report still shows the correct information for each step. This is due to the Context. When
the report is run, the Context is set to the very first Step. The report queries the needed information
and generates the output. Then the context is set to the second Step and again the same Data Tags
are queries; but since they are not associated with the 2nd Step; the correct information is output.
This is repeated as many times as needed to output the entire Step List.
Depending upon the context, only certain JOS Data Tags will return valid information. When a value is
not available, the JOS()
function returns UNKNOWN
, the constant for invalid
values or numbers. The JOS_STR()
function returns an empty string. The system does not
distinguish why a particular value is not found. Typical reasons for this include:
- The tag does not exist (bad spelling or invalid tag name)
- The tag is not valid for the specific application (turning tags in a milling application)
- The tag is not valid within the current context (trying to get tool information from an Operation context)
- The value in the current context cannot be converted to the requested type (trying to use JOS_STR() with an integer variable)
All of these conditions will return either UNKNOWN
or the empty string. The text in
the parens is just an example, not a statement of exactly what the issue is.
Related Topics