Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
en:software:devices:hmi [2016/12/07 17:27] – [4.3. Parameters] qem103 | en:software:devices:hmi [2020/07/13 14:55] (current) – qem103 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== DEVICE HMI ====== | ||
+ | |||
+ | |||
+ | ====== - Introduction ====== | ||
+ | |||
+ | The internal HMI device is a tool that resides in the CPU that allows to manage the shown of alphanumeric display with 7 segments present on MicroQMove series D9 and series D2 instruments.\\ | ||
+ | Creates a simple interface in few time and with just a few lines QCL is using a collection of prebuilt functionality that the programmer needs only to configure, either using a range of specializations which are useful to solve those cases where the features configured fail to meet the needs of your application.\\ | ||
+ | Provides 8 recursive numerical views with scrool up/down keys. Each view has a programmable letter. By setting zero in the programmable letter you have an extra digit. | ||
+ | |||
+ | |||
+ | ===== - Installation ===== | ||
+ | |||
+ | ==== - Device declaration in the configuration file (.CNF) ==== | ||
+ | |||
+ | In the configuration file (.CNF), the BUS section must be declared so that you have the hardware resources needed to implement the HMI device.\\ | ||
+ | In the INTDEVICE section of the .CNF file must be to add the following definition: | ||
+ | <code QCL> | ||
+ | ; | ||
+ | ; Internal devices declaration | ||
+ | ; | ||
+ | INTDEVICE | ||
+ | .. | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | where: | ||
+ | |< | ||
+ | |HMI|Keyword that identifies the device display management.| | ||
+ | |TCamp|Sample time device (1÷250 ms).| | ||
+ | |||
+ | === - Example === | ||
+ | |||
+ | <code QCL> | ||
+ | ; | ||
+ | ; Internal device declaration | ||
+ | ; | ||
+ | INTDEVICE | ||
+ | hmDisplay | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== - Operation ===== | ||
+ | |||
+ | ==== - D2 series ==== | ||
+ | |||
+ | The HMI device manages: | ||
+ | * an interface consisting of a 7-digit seven-segment line; | ||
+ | * an alphanumeric keyboard. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | === - Constant keys assignment === | ||
+ | |||
+ | ^Key^Constant code^ | ||
+ | |F|16| | ||
+ | |-|32| | ||
+ | |+|4| | ||
+ | |CLEAR|8| | ||
+ | |ENTER|1| | ||
+ | |||
+ | === - Constant led assignment === | ||
+ | |||
+ | ^Led^Constant code^ | ||
+ | |L1|2| | ||
+ | |L2|4| | ||
+ | |L3|8| | ||
+ | |L4|16| | ||
+ | |F|512| | ||
+ | |AL|1| | ||
+ | |||
+ | === - Navigation diagram between functions === | ||
+ | |||
+ | The HMI device by default shown the SCREEN level (is the recursive view management). | ||
+ | |||
+ | To move to the other functions, you must scroll through the various levels with F key (must be enabled by setting to 1 the bit 14 and the bit 15 of the " | ||
+ | |||
+ | Confirm the level reached by pressing the ENTER key the following navigation diagram.{{: | ||
+ | |||
+ | === - SCREEN level === | ||
+ | |||
+ | |{{: | ||
+ | | ... |{{: | ||
+ | |{{: | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | | Return to the FUNCTIONS level |::: | ||
+ | |||
+ | To exit by levels and go back to the recursive views press {{: | ||
+ | |||
+ | === - FUNCTIONS level === | ||
+ | |||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |Return to the PASSWORD level|::: | ||
+ | |||
+ | === - MANUAL level === | ||
+ | |||
+ | |{{ : | ||
+ | |{{ : | ||
+ | | Shown value passed in **__MANVALUE__** | ||
+ | |{{ : | ||
+ | | If it was previously set to low or high | | ||
+ | |||
+ | === - ADJUSTMENT level === | ||
+ | |||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |||
+ | To exit from levels and return to recursive views press the {{: | ||
+ | |||
+ | === - MENU level === | ||
+ | |||
+ | |{{: | ||
+ | |||
+ | ==== - Recursive views ==== | ||
+ | |||
+ | There are up to 8 recursive views that are changed using the keys {{: | ||
+ | The number of recursive views can be set using __**scnum**__ parameter (each bit enables a view).\\ | ||
+ | All these are only in view, are not entered from keyboard. | ||
+ | |||
+ | The device allows you to set the leftmost display using with __**sclabel1...8**__ parameter. By setting this value to 0, the display shows the value contained in the screen1...8 parameter to 6 digits and sign; if __**sclabel1...8**__ take the value different from 0, the visualization will be 5 digits and the sign or 6 digits without sign. | ||
+ | |||
+ | For each shown variables you can set the number of decimal digits with the __**scdecpt1...8**__ parameter.\\ | ||
+ | Also with the __**scalpha**__ parameter you can change the visualization in alphanumeric characters. | ||
+ | |||
+ | The alphanumeric characters are set through __**scdis1...7**__ parameters.\\ | ||
+ | The __**scactual**__ parameter provides the current view (each bit has a view). | ||
+ | |||
+ | {{: | ||
+ | |||
+ | **N.B.:** | ||
+ | When, in the device you try to confirm a minimum or maximum data out of bounds, the " | ||
+ | When the device, shown a exceeds data with the maximum number of shown digits, the display shows a character. The character will be:\\ | ||
+ | "< | ||
+ | |||
+ | ==== - Alarms management ==== | ||
+ | |||
+ | The device allows a complete alarm management.\\ | ||
+ | You can force an alarm by QCL entering the following into a suitable list active alarms inside the device. You must specify which alarm you want to insert in the list with the __**alvalue**__ parameter and his priority with __**alprior**__, | ||
+ | The list is composed of a maximum of 20 items.\\ | ||
+ | For the alarms priority is adjustable from 0÷19. The zero level is reserved to te message.\\ | ||
+ | When an alarm is active, recursive visualization is overwritten with the alarm message type: {{: | ||
+ | |||
+ | You can change views but after 7 seconds, the display will revert to show the alarm. The **alarm** led remain always on. | ||
+ | |||
+ | By pressing the {{: | ||
+ | |||
+ | The bit 0 of __**alsetting**__ parameter, will allow to cancel with {{: | ||
+ | The bit 1 of __**alsetting**__ parameter, will allow to cancel also the messages. | ||
+ | |||
+ | The same alarm management is also used to display messages. A message behaves like a alarm only that the message consists of: {{: | ||
+ | |||
+ | A message does not active the ALARM led, stays on for 5 sec and then disappears without pressing {{: | ||
+ | |||
+ | Alarms are displayed only in recursive views. If intervene an alarm in: F1, F2, MENÙ, MAN mode or other the visualization will appear as soon as I get out of this function. Instead, the ALARM led lights immediately. | ||
+ | |||
+ | ==== - I/O diagnostics ==== | ||
+ | |||
+ | The I/O diagnostics it's accessible from the {{: | ||
+ | === - Interrupt signals visualizing === | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== - Manual state management ==== | ||
+ | |||
+ | If the bit 0 of the __**enable**__ parameter is to 1 enables the ability to access the manual state of the device through the appropriate keystroke listed above.\\ | ||
+ | If the bit 0 of the __**mansetting**__ parameter is to 1 is shown the written: | ||
+ | {{: | ||
+ | where the operator can specify which axis intends to move.\\ | ||
+ | The number that the operator writes is reported in __**axisnum**__ parameter.\\ | ||
+ | The __**manvalue**__ and __**mandecpt**__ parameters, allow you to specify the value to display in this state and the number of decimal places with which access respectively. | ||
+ | |||
+ | The display shows the parameters to enable " | ||
+ | |||
+ | or " | ||
+ | |||
+ | The passage and the confirmation of the parameters entered by the {{: | ||
+ | |||
+ | Jog forward and backward movements of the axis are carried out by the {{: | ||
+ | |||
+ | === - Setup parameters and generic === | ||
+ | |||
+ | The HMI device provides 12 SETUP variables (__**setup1...12**__) and 3 generic (__**par03, | ||
+ | |||
+ | The system also comes with 2 other generic **__par01__** and **__par02__** parameters that may be protected by a password chosen by the programmer and can be set with the **__pass01__** parameter. This password can not take reserved values 100 and 123.\\ | ||
+ | The first are protected with password 100 while the seconds are freely usable. | ||
+ | |||
+ | If the bit 2 of the __**enable**__ parameter is to 1 enables the ability to go into SETUP mode.\\ | ||
+ | After the introduction of the password (100), the device prompts you to enter the first setup parameter marked with the A letter. | ||
+ | |||
+ | With the {{: | ||
+ | |||
+ | If the bit 3 of the **__enable__** parameter is to 1 enables the ability to set the protected **__par01__** and **__par02__** parameters.\\ | ||
+ | With the pressure in the sequence described in the specific paragraph, the device prompts you to enter the first parameter.\\ | ||
+ | To introduce the par03...04 parameters You must enable the option setting respectively the bit 7 and 8 of the **__enable__** parameter. | ||
+ | |||
+ | If the bit 12 of the **__enable__** parameter is to 1 enables the ability to set the **__par07__** parameter.\\ | ||
+ | The __**par07**__ parameter is generic with the feature of being adjustable in any mode. For this parameter, you can also set the number of characters with __**nchar07**__, | ||
+ | bit 0: enables data input;\\ | ||
+ | bit 1: enable the completion of the data with leading zeros (only if bit0 = 0);\\ | ||
+ | bit 2: reserved;\\ | ||
+ | bit 3: enables alphanumeric display;\\ | ||
+ | bit 4: reserved;\\ | ||
+ | bit 5: enables introduction given with exponential increase/ | ||
+ | bit 6: disable introducing sign.\\ | ||
+ | To start the introduction or the simple visualization of the **__par07__** parameter you use the **__ENPAR07__** command. | ||
+ | |||
+ | ==== - State management in calibration ==== | ||
+ | |||
+ | If the bit 13 of the __**enable**__ parameter is to 1 the device provides a structure of introductions and views in order to build a calibration sequence.\\ | ||
+ | The adjustment is accessible through the sequence described above.\\ | ||
+ | If it's enabled the choice of calibration with the bit 0 of the __**tarsetting**__ parameter to 1 shown the written:\\ | ||
+ | {{: | ||
+ | and the operator choose the calibration to be executed. The input value is shown in the __**tartype**__ parameter.\\ | ||
+ | For each calibration page the system provides up to 8 long (__**tarvalue1...8**__) enabled by __**tarnum**__ parameter manage to bit (one bit for each __**tarvalue**__). These values can be read and modified. | ||
+ | |||
+ | You can scroll the **__tarvalue__** parameters by using the {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | The **__tarmon1...2__** parameters allow you to associate two read-only variables to display during calibration.\\ | ||
+ | The device provides the number of introduction current calibration, | ||
+ | **0** = In introduction tartype parameter\\ | ||
+ | **1** = In introduction tarvalue 1 parameter\\ | ||
+ | **2** = In introduction tarvalue 2 parameter\\ | ||
+ | **3** = In introduction tarvalue 3 parameter\\ | ||
+ | **4** = In introduction tarvalue 4 parameter\\ | ||
+ | **5** = In introduction tarvalue 5 parameter\\ | ||
+ | **6** = In introduction tarvalue 6 parameter\\ | ||
+ | **7** = In introduction tarvalue 7 parameter\\ | ||
+ | **8** = In introduction tarvalue 8 parameter\\ | ||
+ | The setting of the taractual less than 0 or greater than 8 is not allowed and the default value 1 is enforced.\\ | ||
+ | You can determine whether you get one of the **__tarmon1__** and **__tarmon2__** parameters through the bit 1 and 2 of the tarsetting parameter.\\ | ||
+ | Normally the parameters displayed on the calibration are unlabelled to distinguish them, but you can set it through **__dis1...7__** parameters depending on the current view.\\ | ||
+ | |||
+ | ==== - Program memory management ==== | ||
+ | |||
+ | If the bit 1 of the **__enable__** parameter is to 1 you can access the memory management for the work programmes. This memory is located in serial flash. The device manage all operations to introduce the values.\\ | ||
+ | Program memory is fully configurable by selecting the number of internal elements at every step (**__numelem__** from 1 to 6), and the number of steps for each program (**__numstep__** from 1 to 4096).\\ | ||
+ | Automatically calculates the number of programs (**__numprog__**) (see at pag. 32 **numprog** parameter) | ||
+ | |||
+ | | Elements number (1÷numelem) | ||
+ | |{{ : | ||
+ | |::: | ||
+ | |||
+ | With press the {{: | ||
+ | {{: | ||
+ | |||
+ | The value entered by the operator you can read it in the **__proged__** parameter.\\ | ||
+ | If the bit 0 of the **__prgsetting__** parameter is to 0 is required the introduction of step number to edit.\\ | ||
+ | Shown following view:\\ | ||
+ | {{: | ||
+ | |||
+ | The value entered by the operator you can read it in the **__steped__** parameter.\\ | ||
+ | If the bit 0 of the **__prgsetting__** parameter ia to 1 you jump right into the introduction of the first step. Any confirmation of the data introduced will go to next item. To the last item you pass to the next step. | ||
+ | WIth the {{: | ||
+ | Just entered a new step for 2 seconds or until you press the {{: | ||
+ | {{: | ||
+ | and the **__steped__** parameter is updated with the new value of step. | ||
+ | |||
+ | If you get to the last step, you will return to first without changing program.\\ | ||
+ | The **__elemactual__** parameter allows you to know which element of the step you are inserting. The **__elemtypef__** parameter lets you specify how to insert the f element.\\ | ||
+ | If is 0 the f element is inserted as a single long value, While if it is including between 1 and 31 are inserted, one to one, the number of specified bits.\\ | ||
+ | The **__elema...f__** elemnts are indicated with A...F letters.\\ | ||
+ | If the bit 1 of the **__prgsetting__** parameter is to 1 enables the introduction of program end with the F3 key. | ||
+ | |||
+ | The introduction of the program parameter lets you specify the step number where you want to end the program. The calculation of program memory available is reduced to 4096-N programs, then:\\ | ||
+ | numprog = 4096 / ((numstep * numelem * 4) + 5) | ||
+ | |||
+ | The elements of each step (**__elema...f__**) and the **__elemend__** paramenter can be read or written by selecting the program number **__progin__** and the step **__stepin__** and giving alternately the **__WRITESTEP__** and **__READSTEP__** commands. | ||
+ | |||
+ | === - Example: === | ||
+ | |||
+ | <code QCL> | ||
+ | ; ; | ||
+ | ;Program call command | ||
+ | | ||
+ | IF gwComDisplay EQ 10 | ||
+ | gbI = 1 | ||
+ | gwComDisplay = 20 | ||
+ | IF gwComDisplay EQ 20 | ||
+ | hmi:progin = swPrgEx | ||
+ | hmi:stepin = gbI | ||
+ | hmi:stepout = 0 | ||
+ | READSTEP hmi ;Read device command | ||
+ | gwComDisplay = 30 | ||
+ | ENDIF | ||
+ | IF gwComDisplay EQ 30 | ||
+ | IF hmi:stepin EQ hmi: | ||
+ | |||
+ | aslArray1[gbI] = hmi:elema | ||
+ | aslArray2[gbI] = hmi:elemb | ||
+ | aslArray3[gbI] = hmi:elemc | ||
+ | | ||
+ | gbI = gbI + 1 | ||
+ | IF gbI LE NUM_STEP | ||
+ | | ||
+ | ELSE | ||
+ | | ||
+ | ENDIF | ||
+ | ENDIF | ||
+ | ENDIF | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | **P.S.**\\ | ||
+ | When, from Qview, you make a "Save data" saves all the retentive parameters of the application in a file. In the microQMove, if is present the HMI device, program memory is saved (16kbytes). | ||
+ | |||
+ | ==== - D9 series ==== | ||
+ | |||
+ | The HMI device manage:\\ | ||
+ | * an interface consisting of a 7-digit to seven-segment line; | ||
+ | * an alfanumeric cable. | ||
+ | {{: | ||
+ | |||
+ | === - Constant key allocation === | ||
+ | |||
+ | ^Key^Constant Code^ | ||
+ | |F1|256| | ||
+ | |F2|512| | ||
+ | |F3|16384| | ||
+ | |F4|32768| | ||
+ | |F5|1048576| | ||
+ | |F6|2097152| | ||
+ | |UP|8| | ||
+ | |DOWN|4| | ||
+ | |MAN|1024| | ||
+ | |MENU|65536| | ||
+ | |.|4194304| | ||
+ | |+/-|16| | ||
+ | |1|2048| | ||
+ | |2|4096| | ||
+ | |3|8192| | ||
+ | |4|131072| | ||
+ | |5|262144| | ||
+ | |6|524288| | ||
+ | |7|8388608| | ||
+ | |8|1| | ||
+ | |9|2| | ||
+ | |0|64| | ||
+ | |CLEAR|32| | ||
+ | |ENTER|12| | ||
+ | |||
+ | === - Constant leds assignment === | ||
+ | |||
+ | ^Led^COnstant Code^ | ||
+ | |L1|1| | ||
+ | |L2|2| | ||
+ | |L3|4| | ||
+ | |L4|8| | ||
+ | |F1|65536| | ||
+ | |F2|262144| | ||
+ | |F3|524288| | ||
+ | |F4|16384| | ||
+ | |F5|32768| | ||
+ | |F6|33554432| | ||
+ | |MAN|1024| | ||
+ | |MENU|16| | ||
+ | |L/H|409| | ||
+ | |||
+ | ==== - Recorsive views ==== | ||
+ | |||
+ | There are up to 8 recursive views that are changed using the {{: | ||
+ | The number of recursive views can be set using **__scnum__** parameter (any bit enable a view).\\ | ||
+ | All these are only in viewing, are not entered from keyboard.\\ | ||
+ | The device allows you to set the leftmost display using **__sclabel1...8__** parameter. By setting to 0 this value, the display shows the value contained in the **__screen1...8__** parameter to 6 digits with sign; if **__sclabel1...8__** take the value different from 0 the representation will be at 5 digits with sign or 6 digits without sign.\\ | ||
+ | For each of the shown you can set the number of decimal digits with the **__scdecpt1...8__** parameter.\\ | ||
+ | Also with the scalpha parameter you can change a display at alphanumeric characters.\\ | ||
+ | The alphanumeric characters are set using the **__scdis1...7__** parameters.\\ | ||
+ | The **__scactual__** parameter provides the current view number (each bit has a view).\\ | ||
+ | {{: | ||
+ | |||
+ | **P.S.** | ||
+ | When, the device you try to confirm a given minimum or maximum limits allowed by the introduction, | ||
+ | When the device shown a data exceeds the maximum number of viewable digits, the display shows, for all the displays concerned, a character. The character will be:\\ | ||
+ | "< | ||
+ | |||
+ | ==== - Alarms management ==== | ||
+ | |||
+ | The device has a complete alarm management.\\ | ||
+ | From QCL You can force an alarm by entering this in a separate list active alarms inside the device. You must specify which alarm you want to insert in the list with the **__alvalue__** parameter and the priority with **__alprior__**, | ||
+ | The list is composed of up to 20 items.\\ | ||
+ | For the alarms the priority is adjustable from 0÷19. The zero level is reserved for messages.\\ | ||
+ | When an alarm intervenes the recursive visualization is overwritten with the alarm message type: {{: | ||
+ | You will can change the view but after a time of 7 sec., the display will return to show the alarm. The **alarm** led will remain ON in any case.\\ | ||
+ | Press the {{: | ||
+ | The bit 0 of the **__alsetting__** parameter will allow cancel with {{: | ||
+ | The bit 1 of the **__alsetting__** parameter will allow cancel even the messages.\\ | ||
+ | The same alarm management is also used to viewing of the messages. A message behaves like an alarm only that the message consists of: {{: | ||
+ | A message does not activate the ALARM led, lasts for 5 seconds and then disappears without pressing the {{: | ||
+ | A message can be set as an alarm but __must have always zero priority__.\\ | ||
+ | Alarms are shown only in recursive views. If an alarm when it is: F1, F2, MENÙ, MAN or other, the viewing will appear as soon as you exit this function. The ALARM led instead turn on right away. | ||
+ | |||
+ | ==== - I/O diagnostics ==== | ||
+ | |||
+ | The I/O diagnostics is accessible through the F1+6 sequence.\\ | ||
+ | In this mode there are always four views are selectable using the {{: | ||
+ | |||
+ | === - Interrupt signals viewing === | ||
+ | |||
+ | {{: | ||
+ | |||
+ | === - Slot 03 inputs viewing === | ||
+ | |||
+ | {{: | ||
+ | |||
+ | === - Slot 04 inputs viewing === | ||
+ | |||
+ | {{: | ||
+ | |||
+ | === - Slot 04 outputs viewing === | ||
+ | |||
+ | {{: | ||
+ | |||
+ | **Note**\\ | ||
+ | For the n°2 viewing the card L3-I17 must be present in the slot 03.\\ | ||
+ | For the n°3 viewing the card L3-I17 must be present in the slot 04.\\ | ||
+ | For the n°4 viewing the card H3-RV0 must be present in the slot 04. | ||
+ | |||
+ | ==== - Manual state management ==== | ||
+ | |||
+ | If the bit 0 of the enable parameter is to 1 enables the access the State of the device manually by {{: | ||
+ | Pressing this button lights the corresponding led.\\ | ||
+ | If the bit 0 of the **__mansetting__** parameter is to 1 is shown the written:\\ | ||
+ | {{: | ||
+ | where the operator can specify which axis intends to move.\\ | ||
+ | The number that the operator writes is shown in the **__axisnum__** parameter.\\ | ||
+ | The **__manvalue__** and **__mandecpt__** parameters, allow you to specify the value to display in this state and the number of decimal digits with which viewing.\\ | ||
+ | If the bit 1 of the **__mansetting__** parameter is set to 1 you log on to the state manual without key pressing. | ||
+ | |||
+ | === - Setup parameters and generics === | ||
+ | |||
+ | The HMI device provides 12 SETUP variables (**__setup1...1__**2) and 5 generic parameters (**__par03...07__**). | ||
+ | The system also comes with 2 other generic **__par01__** and **__par02__** parameters that may be protected by a password chosen by the programmer and can be set with the **__pass01__** parameter. This password cannot take reserved 100 and 123 values.\\ | ||
+ | The first are password protected 100 while the latter are usable freely.\\ | ||
+ | If the bit 2 of the **__enable__** parameter is to 1 is enabled the SETUP input mode.\\ | ||
+ | By pressing the keys in sequence F1 + 0 + 100 the device requires you to enter the first setup parameter marked by letter A.\\ | ||
+ | With the arrow keys you can cycle through the twelve setup variables and with the ENTER key confirm the entry of a value.\\ | ||
+ | If the bit 3 of the **__enable__** parameter is to 1 is enabled the setting of protected **__par01__** and **__par02__** parameters.\\ | ||
+ | By pressing the F1 + 0 + XXX keys in sequence, where XXX is the password chosen by the operator, the device requires you to enter the first parameter.\\ | ||
+ | To introduce the par03...06 parameters you must enable the option setting respectively the bit 7, 8, 10, 11 of the **__enable__** parameter.\\ | ||
+ | The **__par03__** parameter is inserted by the F1 + 4 combination.\\ | ||
+ | The **__par04__** parameter is inserted by the F1 + 5 combination.\\ | ||
+ | The **__par05__** parameter is inserted by the F2 + 4 combination.\\ | ||
+ | The **__par06__** parameter is inserted by the F2 + 5 combination.\\ | ||
+ | If the bit 12 of the enable parameter is to 1 is enabled the settingof the **__par07__** parameter.\\ | ||
+ | The **__par07__** is a generic parameter with the characteristic of being adjustable in any mode. For this parameter, you can also set the number of characters with **__nchar07__**, | ||
+ | bit 0: enables data input;\\ | ||
+ | bit 1: enable the completion of the data with leading zeros (only if bit 0 = 0);\\ | ||
+ | bit 3: enables alphanumeric display;\\ | ||
+ | bit 4: disable the hold button release.\\ | ||
+ | To start the introduction or the simple viewing of **__par07__** parameter you use the **__ENPAR07__** command. | ||
+ | |||
+ | ==== - Adjustment state management ==== | ||
+ | |||
+ | If the bit 13 of the **__enable__** parameter is to 1 the device provides a structure of introductions and views in order to build a calibration sequence. | ||
+ | The adjustment is accessible through the sequence F1 + 0 + 123.\\ | ||
+ | When enabled the choice of calibration with the bit 0 of the **__tarsetting__** parameter to 1 shown the written:\\ | ||
+ | {{: | ||
+ | and the operator choose the calibration to be execute. The input value is shown in the **__tartype__** parameter.\\ | ||
+ | For each calibration page the system provides up to 8 long (**__tarvalue1...8__**) enabling from the **__tarnum__** parameter manage to bit (one bit for each **__tarvalue__**). These values can be read and modified. | ||
+ | You can scroll the tarvalue parameters by using the {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Also you can attach two variables to watch during the calibration stage with two **__tarmon1...2__** parameters only in reading mode.\\ | ||
+ | The device provides the number of introduction current calibration, | ||
+ | 0 = In introduction tartype parameter\\ | ||
+ | 1 = In introduction tarvalue 1 parameter\\ | ||
+ | 2 = In introduction tarvalue 2 parameter\\ | ||
+ | 3 = In introduction tarvalue 3 parameter\\ | ||
+ | 4 = In introduction tarvalue 4 parameter\\ | ||
+ | 5 = In introduction tarvalue 5 parameter\\ | ||
+ | 6 = In introduction tarvalue 6 parameter\\ | ||
+ | 7 = In introduction tarvalue 7 parameter\\ | ||
+ | 8 = In introduction tarvalue 8 parameter\\ | ||
+ | The setting of **__taractual__** minor to 0 or greater of 8 is not allowed and the default value is enforced to 1.\\ | ||
+ | You can determine whether you get one of the two **__tarmon1__** and **__tarmon2__** parameters through the bit 1 and 2 of the **__tarsetting__** paramter.\\ | ||
+ | Normally the parameters viewing on the calibration are unlabelled to distinguish them from each other, but you can set it through the **__dis1...7__** parameters depending on the current view. | ||
+ | |||
+ | ==== - Programs memory management ==== | ||
+ | |||
+ | If the bit 1 of the **__enable__** paramteris to 1 you can access the memory management for the work programmes. This memory is located in serial flash. The device manage all operations to introduce the values.\\ | ||
+ | Program memory is fully configurable by selecting the number of internal elements at every step (**__numelem__** from 1 to 6), and the number of steps for each program (**__numstep__** from 1 to 4096).\\ | ||
+ | Automatically calculates the number of programs (**__numprog__**) (see to page 32 **__numprog__** parameter)\\ | ||
+ | | Elements number (1÷numelem) | ||
+ | |{{ : | ||
+ | |::: | ||
+ | With key pressing and choosing the {{: | ||
+ | {{: | ||
+ | The value entered by the operator you can read it in the **__proged__** parameter.\\ | ||
+ | If the bit 0 of the **__prgsetting__** parameter is to 0 is request the introduction of step number to edit.\\ | ||
+ | Shown the viewing:\\ | ||
+ | {{: | ||
+ | The value entered by the operator you can read it in the **__steped__** parameter.\\ | ||
+ | If the bit 0 of the **__prgsetting__** parameter is to 1 you jump right into the introduction of the first step. Any confirmation of the data introduced will go to next item. The last item you pass to the next step.\\ | ||
+ | With the {{: | ||
+ | Just entered a new step for 2 seconds or until you press the **ENTER** key to compare the viewing:\\ | ||
+ | {{: | ||
+ | and the **__steped__** parameter is updated with the new value of step.\\ | ||
+ | When I get to the end of the last step, return to first step without changing program.\\ | ||
+ | The **__elemactual__** parameter allows you to know which element of the step you are inserting. The elemtypef parameter lets you specify how to insert the f element.\\ | ||
+ | If is 0 the f element is placed as the only long value, while if it is between 1 and 31 are placed, one by one, the number of bits specified. | ||
+ | The **__elema...f__** elements are indicated with A...F letters.\\ | ||
+ | If the bit 1 of the **__prgsetting__** parameter is to 1 enables the introduction of program end with F3 key.\\ | ||
+ | The introduction of the end program allows you to specify the step number to which you want to end the program. The calculation of program memory available is reduced to 4096-N programs, then: | ||
+ | The elements of each step (**__elema...f__**) and the **__elemend__** parameter can be read or written by selecting the program number **__progin__** and the step **__stepin__** and giving alternately **__WRITESTEP__** and **__READSTEP__** commands. | ||
+ | |||
+ | === - Example: === | ||
+ | |||
+ | <code QCL> | ||
+ | ; | ||
+ | ;Program call command | ||
+ | |||
+ | IF gwComDisplay EQ 10 | ||
+ | gbI = 1 | ||
+ | gwComDisplay = 20 | ||
+ | IF gwComDisplay EQ 20 | ||
+ | hmi:progin = swPrgEx | ||
+ | hmi:stepin = gbI | ||
+ | hmi:stepout = 0 | ||
+ | READSTEP hmi ;Reading device command | ||
+ | gwComDisplay = 30 | ||
+ | ENDIF | ||
+ | IF gwComDisplay EQ 30 | ||
+ | IF hmi:stepin EQ hmi:stepout ;Wait for read executing | ||
+ | | ||
+ | aslArray1[gbI] = hmi:elema | ||
+ | aslArray2[gbI] = hmi:elemb | ||
+ | aslArray3[gbI] = hmi:elemc | ||
+ | |||
+ | gbI = gbI + 1 | ||
+ | IF gbI LE NUM_STEP | ||
+ | gwComDisplay = 20 | ||
+ | ELSE | ||
+ | gwComDisplay = 0 | ||
+ | ENDIF | ||
+ | ENDIF | ||
+ | ENDIF | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | **Note** | ||
+ | When, from Qview, making a "Save data" saves all the retentive parameters of the application in a file. In the microQMove, if there is HMI device, it also saves the program memory (16kbytes). | ||
+ | |||
+ | ==== - F functions management ==== | ||
+ | |||
+ | |{{: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |{{: | ||
+ | |::: | ||
+ | |||
+ | The following block diagram summarizes the steps that you can run directly from the keyboard instrument. These steps, however, can be implemented also by QCL. | ||
+ | |||
+ | __N.B. To exit from each of these steps and return to the views you need to use the recursive EXIT command.__ | ||
+ | |||
+ | ==== - Mappa dei caratteri ==== | ||
+ | |||
+ | ^Decimal\\ value to be\\ introduced\\ in:\\ scdis1...7\\ sclabel1...7\\ dis1...7^7 segments\\ character^Decimal\\ value to be\\ introduced\\ in:\\ scdis1...7\\ sclabel1...7\\ dis1...7^7 segments\\ character^Decimal\\ value to be\\ introduced\\ in:\\ scdis1...7\\ sclabel1...7\\ dis1...7^7 segments\\ character^Decimal\\ value to be\\ introduced\\ in:\\ scdis1...7\\ sclabel1...7\\ dis1...7^7 segments\\ character^ | ||
+ | |0|{{: | ||
+ | |1|{{: | ||
+ | |2|{{: | ||
+ | |3|{{: | ||
+ | |4|{{: | ||
+ | |5|{{: | ||
+ | |6|{{: | ||
+ | |7|{{: | ||
+ | |8|{{: | ||
+ | |9|{{: | ||
+ | |10|{{: | ||
+ | |11|{{: | ||
+ | |12|{{: | ||
+ | |13|{{: | ||
+ | |||
+ | |||
+ | ===== - Commands and parameters ===== | ||
+ | |||
+ | |||
+ | ==== - Symbols used ==== | ||
+ | |||
+ | The **name** of the parameter, state or comnand is shown on the left of the table. | ||
+ | |||
+ | **R**\\ | ||
+ | Indicates if it's parameter or state is retentive (upon initialization of the device maintains the previously defined), or the state assumes upon initialization of the device.\\ | ||
+ | If the device does not need to initialize the " | ||
+ | R = Retentive\\ | ||
+ | 0 = Upon initialization of the device the value is forced to zero.\\ | ||
+ | 1 = Upon initialization of the device the value is forced to one.\\ | ||
+ | - = Upon initialization of the device is presented significant value. | ||
+ | |||
+ | **D**\\ | ||
+ | Indicates the **size of the parameter**.\\ | ||
+ | F = Flag\\ | ||
+ | B = Byte\\ | ||
+ | W = Word\\ | ||
+ | L = Long\\ | ||
+ | S = Single Float | ||
+ | |||
+ | === - Conditions === | ||
+ | |||
+ | Describes all **conditions that is considered correct or because the command is accepted**.\\ | ||
+ | In some cases, limit values are specified for the acceptance of the parameter: If there are any values outside the limits you set, the data is in any case accepted; therefore appropriate controls of the application must be provided in order to ensure the proper functioning.\\ | ||
+ | To run a command, ll conditions must be met; otherwise the command is not sent.\\ | ||
+ | |||
+ | **A**\\ | ||
+ | indicates the **access mode**.\\ | ||
+ | R = Read.\\ | ||
+ | W = Write.\\ | ||
+ | RW = Read / Write. | ||
+ | |||
+ | ==== - Commands ==== | ||
+ | |||
+ | ^ Name ^ Conditions | ||
+ | | SETALARM | ||
+ | | CLRALARM | ||
+ | | READSTEP | ||
+ | | WRITESTEP | ||
+ | | ENPAR07 | ||
+ | | EXIT | - | **Exit from procedure**\\ Allows the user to exit any procedure and return to recursive views. | ||
+ | | CMD01 | - | **Available command for future implementations**\\ Command available for future implementations. | ||
+ | | CMD02 | - | **Available command for future implementations**\\ Command available for future implementations. | ||
+ | |||
+ | ==== - Parameters ==== | ||
+ | |||
+ | ^ Name ^ D ^ R ^ A ^ Conditions | ||
+ | | key | L | - | R | - | **Key**\\ Represents at all times the state of the keys. Each key is represented by one bit.\\ For the bit assignments refer to the table in the dedicated chapter. | ||
+ | | leds | L | 0 | R/W | - | **Leds status**\\ Represents at all times the state of the keyboard leds.\\ This variable can also be changed from the device when actions are performed in the keyboard.\\ For the bit assignments refer to the table in the dedicated chapter. | ||
+ | | blinkleds | ||
+ | | dis1...7 | ||
+ | | blinkdis | ||
+ | | screen1...8 | ||
+ | | sclabel1...8 | ||
+ | | scdecpt1...8 | ||
+ | | scnum | B | R | R/W | - | **Number of screen**\\ It is the number of views enabled.\\ It's manage to bit. Bit 0 = screen1, bit 1 = screen2... ecc. | | ||
+ | | scactual | ||
+ | | scalpha | ||
+ | | scdis1...7 | ||
+ | | alvalue | ||
+ | | alprior | ||
+ | | alsetting | ||
+ | | mansetting | ||
+ | | axisnum | ||
+ | | manvalue | ||
+ | | mandecpt | ||
+ | | taractual | ||
+ | | tardecpt | ||
+ | | tarsetting | ||
+ | | tartype | ||
+ | | tarnum | ||
+ | | tarvalue1...8 | ||
+ | | tarmon1...2 | ||
+ | | taractual | ||
+ | | numelem | ||
+ | | numstep | ||
+ | | numprog | ||
+ | | proged | ||
+ | | steped | ||
+ | | progin | ||
+ | | stepin | ||
+ | | stepout | ||
+ | | elema...f | ||
+ | | elemtypef | ||
+ | | elemend | ||
+ | | elemdecpt | ||
+ | | elemactual | ||
+ | | prgsetting | ||
+ | | setup01...12 | ||
+ | | par01...07 | ||
+ | | nchar07 | ||
+ | | off07 | B | 0 | R/W | - | **Offset for parameter 07**\\ Indicates the offset value for the 07 parameter.\\ Valid range: 0 ÷ 6 | | ||
+ | | decpt07 | ||
+ | | set07 | B | 0 | R/W | - | **Flags parameter 07**\\ Bit 0: enables data input;\\ **bit 1**: enables the leading zero blank (only if bit 0 = 0);\\ **bit 2**: reserved;\\ **bit 3**: enable alpha mode viewing;\\ **bit 4**: disable the hold button release (only D9).\\ Only for D2 **bit 5**: enable the introduction with exponential up/down;\\ **bit 6**: disable the sign instroduction. | ||
+ | | pass01 | ||
+ | | progex | ||
+ | | stepex | ||
+ | | status | ||
+ | | destatus | ||
+ | | enable | ||
+ | | modified | ||
+ | | par01 | L | - | R/W | - | **Available variable for future implementation**\\ Variable available to future implementations. | ||
+ | | par02 | L | - | R/W | - | **Available variable for future implementation**\\ Variable available to future implementations. | ||
+ | |||
+ | ==== - States ==== | ||
+ | |||
+ | ^ Name ^ D ^ R ^ A ^ Conditions | ||
+ | | st_alfull | ||
+ | | st_alactive | ||
+ | | st_alset | ||
+ | | st_alclear | ||
+ | | st_manfw | ||
+ | | st_manbw | ||
+ | | st_slow | ||
+ | | st_001 | ||
+ | | st_002 | ||
+ | |||
+ | |||
+ | ===== - Limitations ===== | ||
+ | |||
+ | The write operation via the WRITESTEP command must be executed bearing in mind that for the used component (Flash Eprom serial) this is costly in terms of time.\\ | ||
+ | In fact the time used is variable from 512 to 1024 times the sampling time associated with HMI device. So this type of memory can be used to contain data that can be changed by the operator with relatively slow times. Definitely not a usable memory to contain data that must be written with a high frequency. In any case the write operation is executed with a background mode and will not affect the performance of the CPU to handle the rest of the device and the application.\\ | ||
+ | For example, if the sampling time associated with the device is 6 ms, the time to execute a write to device can range from approximately 3 and 6 seconds. The stepout parameter becomes equal to stepin after this time.\\ | ||
+ | Also the type of memory used guarantees a number of 100000 scriptures. Even so you should avoid writing programs which they write continuously on memory using the WRITESTEP command. | ||
+ | |||
+ | |||
+ | ===== - Application example ===== | ||
+ | |||
+ | <code QCL> | ||
+ | ; Project : | ||
+ | ; Module Name : DISPLAY | ||
+ | ; Author : | ||
+ | ; Date : | ||
+ | ; Time : | ||
+ | ; Description : Command manager to the display | ||
+ | ; | ||
+ | ;Hmi device initialization | ||
+ | hmi:numelem = 6 ; | ||
+ | hmi:numstep = 5 ; | ||
+ | hmi: | ||
+ | hmi: | ||
+ | hmi:enable = 1 + 2 + 4 + 16 + 512 + 4096 + 8192 + 16384 ; | ||
+ | |||
+ | MAIN: | ||
+ | WAIT gwComDisplay | ||
+ | | ||
+ | ; | ||
+ | ;Insert command 07 parameter | ||
+ | IF gwComDisplay EQ INS_PAR_07 | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ENDIF | ||
+ | IF gwComDisplay EQ (INS_PAR_07 + 1) | ||
+ | IF hmi: | ||
+ | gwComDisplay = INS_PAR_07 + 2 | ||
+ | ENDIF | ||
+ | ENDIF | ||
+ | IF gwComDisplay EQ (INS_PAR_07 + 2) | ||
+ | IF NOT(hmi: | ||
+ | gwComDisplay = 0 ;Inserted 07 parameter | ||
+ | ENDIF | ||
+ | ENDIF | ||
+ | ; | ||
+ | ;Display control message with 07 parameter | ||
+ | IF gwComDisplay EQ VIS_PAR_07 | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ENDIF | ||
+ | IF gwComDisplay EQ (VIS_PAR_07 + 1) | ||
+ | IF hmi: | ||
+ | hmi:dis7 = 10 ;A | ||
+ | hmi:dis6 = 26 ;U | ||
+ | hmi:dis5 = 25 ;t | ||
+ | hmi:dis4 = 21 ;o | ||
+ | hmi:dis3 = 35 ; | ||
+ | hmi:dis2 = 35 ; | ||
+ | hmi:dis1 = 35 ; | ||
+ | gwComDisplay = VIS_PAR_07 + 2 | ||
+ | tmVisMsg = 100 | ||
+ | ENDIF | ||
+ | ENDIF | ||
+ | IF gwComDisplay EQ (VIS_PAR_07 + 2) | ||
+ | IF tmVisMsg | ||
+ | tmVisMsg = 1500 | ||
+ | gwComDisplay = VIS_PAR_07 + 3 | ||
+ | ENDIF | ||
+ | ENDIF | ||
+ | IF gwComDisplay EQ (VIS_PAR_07 + 3) | ||
+ | IF tmVisMsg OR (hmi:key EQ KEY_ENT) | ||
+ | gwComDisplay = 0 | ||
+ | EXIT hmi ;exit from the par07 viewing | ||
+ | ENDIF | ||
+ | ENDIF | ||
+ | ; | ||
+ | ;Command program call | ||
+ | IF gwComDisplay EQ RIC_PRG | ||
+ | gbI = 1 | ||
+ | gwComDisplay = RIC_PRG + 1 | ||
+ | ENDIF | ||
+ | IF gwComDisplay EQ (RIC_PRG + 1) | ||
+ | hmi:progin = swPrgEx | ||
+ | hmi:stepin = gbI | ||
+ | hmi:stepout = 0 | ||
+ | READSTEP hmi ;Reading device command | ||
+ | gwComDisplay = RIC_PRG + 2 | ||
+ | ENDIF | ||
+ | IF gwComDisplay EQ (RIC_PRG + 2) | ||
+ | IF hmi:stepin EQ hmi: | ||
+ | aslLungh[gbI] = hmi:elema | ||
+ | aslRipet[gbI] = hmi:elemb | ||
+ | asbVel[gbI] = hmi:elemc | ||
+ | gbI = gbI + 1 | ||
+ | IF gbI LE NUM_STEP | ||
+ | | ||
+ | ELSE | ||
+ | | ||
+ | ENDIF | ||
+ | ENDIF | ||
+ | ENDIF | ||
+ | ; | ||
+ | ;Setting command of recursive views for automatic | ||
+ | IF gwComDisplay EQ VIS_AUTO | ||
+ | ;HMI settings | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ;Message: " | ||
+ | | ||
+ | ENDIF | ||
+ | ; | ||
+ | ;Setting command of recursive views for automatic | ||
+ | IF gwComDisplay EQ VIS_SEMIAUTO | ||
+ | ;HMI settings | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ENDIF | ||
+ | ; | ||
+ | ;Command setting manual views | ||
+ | IF gwComDisplay EQ VIS_MAN | ||
+ | ;HMI settings | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ENDIF | ||
+ | ; | ||
+ | ;Command set work schedules | ||
+ | IF gwComDisplay EQ VIS_PROG | ||
+ | ;HMI settings | ||
+ | | ||
+ | | ||
+ | | ||
+ | ENDIF | ||
+ | ; | ||
+ | ;Command setting recursive views of standby | ||
+ | IF gwComDisplay EQ VIS_STANDBY | ||
+ | ;HMI settings | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | EXIT hmi ;Exit from any hmi state | ||
+ | | ||
+ | ENDIF | ||
+ | ; | ||
+ | ; | ||
+ | ;Setting viewing for setup | ||
+ | IF gwComDisplay EQ VIS_SETUP | ||
+ | ;HMI settings | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ENDIF | ||
+ | ; | ||
+ | JUMP MAIN | ||
+ | END | ||
+ | </ | ||
+ | |||