Reference: String
Model ElementReference_String defines a user defined text string in MotionSolve. The string may be of any length. It must contain only printable ASCII characters.
Description
Reference_String is primarily used within user defined subroutines. They are commonly used to pass filenames, messages, block names and DLL names to user defined subroutines.
Within a user defined subroutine, the MotionSolve utility subroutine GTSTRG is used to access the Reference_String. The ID of the Reference_String itself may be passed as a parameter to the user defined subroutine.
Format
<Reference_String
id = "1101"
label = "Name of the string"
{
string = "/staff/gates/test/tire_data.xml" >
|
usrsub_dll_name = valid_path_name
usrsub_param_string = "USER([[par_1[,...][,par_n]])
"
usrsub_fnc_name = "custom_fnc_name" >
|
script_name = valid_path_name
interpreter = "PYTHON" | "MATLAB"
usrsub_param_string = "USER([[par_1[,...][,par_n]])
usrsub_fnc_name = "custom_fnc_name" >
}
/>
Attributes
- id
- Element identification number (integer>0). This number is unique among all Reference_String elements.
- label
- The name of the Reference_String element.
- string
- Specifies the character string to be stored.
- usrsub_dll_name
- Specifies the path and name of the DLL or shared library containing a user subroutine. MotionSolve uses this information to load the user subroutine in the DLL at run time.
- usrsub_param_string
- The list of parameters that are passed from the data file to the user defined subroutine, String_Read. This attribute is common to all types of user subroutines and scripts.
- usrsub_fnc_name
- Specifies an alternative name for the user subroutine String_Read.
- script_name
- Specifies the path and name of the user written script that contains the routine specified by usrsub_fnc_name.
- interpreter
- Specifies the interpreted language that the user script is written in. Valid choices are MATLAB or PYTHON.
Example
The example below demonstrates how a Reference_String can be used to define a filename that can be passed to a VARSUB. Notice how the ID of the Reference_String is passed as a parameter to the user defined VARSUB. This generalizes the implementation of the VARSUB.
<Reference_String
id = "1101"
label = "Name of string"
string = "/staff/gates/test/tire_data.xml" >
/>
id = "1101"
Label = "Name of string"
{
string = "/staff/gates/test/tire_data.xml" >
|
usrsub_dll_name = valid_path_name
usrsub_param_string = "USER([[par_1[,...][,par_n]])
usrsub_fnc_name = "custom_fnc_name" >
|
script_name = valid_path_name
interpreter = "PYTHON" | "MATLAB"
usrsub_param_string = "USER([[par_1[,...][,par_n]])
usrsub_fnc_name = "custom_fnc_name" >
}
/>
Comments
Reference_Strings may be used in any user defined subroutine.