mycnc:global_variables_description
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
mycnc:global_variables_description [2017/09/05 17:56] – skirillov | mycnc:global_variables_description [2022/08/04 10:58] (current) – ivan | ||
---|---|---|---|
Line 2: | Line 2: | ||
+ | ^ Related articles ^ | ||
+ | | [[mycnc: | ||
+ | |||
+ | A global variable is a variable which is used by the myCNC application to store some information about a particular process, flag or setting. A full list of global variables is available [[mycnc: | ||
+ | |||
+ | The values stored in these global variables are defined in the myCNC profile that is being used, within the cnc-variables.xml file. This file contains a list of CNC and global variables that the program utilizes, as well as their values and minimum/ | ||
+ | |||
+ | The myCNC program auto-updates the '' | ||
+ | |||
+ | //**NOTE**: Only the files that are already in the '' | ||
+ | |||
+ | The min/max values are useful to set up once during the machine setup to provide realistic bounds for the range of a certain global variable. | ||
+ | |||
+ | The syntax then is the following: | ||
+ | |||
+ | < | ||
+ | |||
+ | where: | ||
+ | * **name** is the variable name | ||
+ | * **min** and **max** represent the bounds of the range | ||
+ | * **step** represents the step value for when the variable value is increased or decreased (useful for on-screen buttons) | ||
+ | * in this example, **1000** represents the current value of the aforementioned variable | ||
+ | |||
+ | {{youtube> | ||
+ | |||
+ | ==== List of global variables ==== | ||
=== 5521 === | === 5521 === | ||
Writing " | Writing " | ||
Line 14: | Line 40: | ||
< | < | ||
+ | Writing a value larger than 2 will initialize a timer after the macro containing Global Variable #5525, delaying the subsequent turning on of Software Limits control. This is useful in situations where a prolonged procedure requires a longer time within which the Software Limits are turned off than the macro containing P5525 Q1 itself. | ||
+ | |||
+ | Example of code: | ||
+ | |||
+ | < | ||
=== 60010 === | === 60010 === | ||
Line 20: | Line 51: | ||
=== 60011 === | === 60011 === | ||
Writing to this register change Modbus protocol. < | Writing to this register change Modbus protocol. < | ||
- | " | + | " |
=== 60012 === | === 60012 === | ||
Writing to this register will change RS485/ | Writing to this register will change RS485/ | ||
9600, 19200, 38400, | 9600, 19200, 38400, | ||
- | 57600, 115200</ | + | 57600, 115200</ |
=== 60013 === | === 60013 === | ||
- | Change UART connection parameters: number of bits (8 or 7), parity (none, odd, even), number of stop bits (1, 2). Data comes in 3 low nibbles. The lowest is stop bits, then parity, then number of bits. Example: < | + | Change UART connection parameters: number of bits (8 or 7), parity (none, odd, even), number of stop bits (1, 2). Data comes in 3 low nibbles. The lowest is stop bits, then parity, then number of bits. Example: < |
0x712=7,O,2 | 0x712=7,O,2 | ||
- | 0x822=8, | + | 0x822=8, |
Line 43: | Line 74: | ||
=== 60031 === | === 60031 === | ||
- | Read from this register will send read inquiry to Modbus device (PLC controller will be in till Regiter value received from Modbus device). Writing to this register will send ready inquiry to Modbus device. The value written is used as Register address to read | | + | Read from this register will send read inquiry to Modbus device (PLC controller will be in till Regiter value received from Modbus device). Writing to this register will send ready inquiry to Modbus device. The value written is used as Register address to read |
+ | |||
+ | === 64200 === | ||
+ | |||
+ | Writing an ID number to this register (specified in the XML files as id=“NUMBER”) will show a widget. Similarly, the global variable 64201 allows the user to hide a widget by using a specific ID number. | ||
+ | |||
+ | An example of such a widget can be controlled via a Software PLC: | ||
+ | |||
+ | <code C> | ||
+ | { | ||
+ | |||
+ | v5528=gvarget(5528); | ||
+ | |||
+ | do | ||
+ | { | ||
+ | |||
+ | v=gvarget(5528); | ||
+ | if (v!=v5528) | ||
+ | { | ||
+ | if (v!=0) | ||
+ | { | ||
+ | gvarset(64200, | ||
+ | }else | ||
+ | { | ||
+ | gvarset(64201, | ||
+ | }; | ||
+ | v5528=v; | ||
+ | }; | ||
+ | |||
+ | }while(1); | ||
+ | |||
+ | exit(99); | ||
+ | };</ | ||
+ | |||
+ | In the example above, the system will continuously monitor (through a usage of a do-while loop) the state of global variable #5528 (Simulation Mode), and will open/hide a widget on the screen whenever the state of that global variable changes. The widget is then described by the following lines in an .xml file within the profile folder: | ||
+ | |||
+ | < | ||
+ | | ||
+ | |||
+ | Here, the widget (of the type '' | ||
+ | |||
+ | Video illustrating the usage of global variable 64200: | ||
+ | |||
+ | {{youtube> | ||
+ | |||
+ | |||
+ | [[global_variables|Global Variables Table]] | ||
mycnc/global_variables_description.txt · Last modified: 2022/08/04 10:58 by ivan