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:hmi2 [2016/12/12 14:40] – [3.5.1. Tastiera, display e leds per serie D221] qem103 | en:software:devices:hmi2 [2020/07/13 14:55] (current) – qem103 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ======= DEVICE HMI2 ======= | ||
+ | |||
+ | |||
+ | ====== - Introduction ====== | ||
+ | |||
+ | HMI2 is a device designed to perform the functions of an interface between the user, a display up to 32 digit, leds (up to 32) and a keyboard (up to 32 keys). Manage 3 recursive contemporary views configurable each with its own number of characters, decimal point and position within the display. It also has the capability of data entry (introduction of a data via the keyboard) fully configurable than the number of characters, at the location and decimal digits with the ability to control the upper and lower limits of the data introduced. | ||
+ | |||
+ | |||
+ | ===== - Device declaration ===== | ||
+ | |||
+ | The device declaration mode in the configuration unit is: | ||
+ | |||
+ | <code QCL> | ||
+ | ; | ||
+ | ; Internal device declarations | ||
+ | ; | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | Where: | ||
+ | |< | ||
+ | |HMI2|keyword that identifies the device| | ||
+ | |TCamp|sample time device (3÷250 ms)| | ||
+ | |||
+ | ^: | ||
+ | |||
+ | |||
+ | ===== - Operation ===== | ||
+ | |||
+ | We analyze in more detail the characteristics of the HMI2 device. | ||
+ | |||
+ | ==== - The display ==== | ||
+ | |||
+ | The display consists of a series of digits (characters) variables depending on the hardware platform of microQMove that you are using. For example, in a display digits D221 or D983 are 7, While the D231 digits arrive to 11. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | The pictures are presented only as an example because the HMI2 device has an independent operation by the instrument that you are using. | ||
+ | |||
+ | ==== - Recursive views ==== | ||
+ | |||
+ | For recursive view is a view that is updated continuously, | ||
+ | Depending on the number of characters that you configured the display, the display area is used by the view itself so that in that area can no longer write the characters because they would be immediately overwritten. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | In the picture there is an example of how you might configure the views to your liking. In this case there are 2 views of 2 characters and the other of a recursive 3 characters placed respectively at position 8 and position 0. Recursive display from 3 characters also has the number of decimal places set to 1. In display not occupied by recursive views you can set the characters (numbers or letters) so that they are showed; You cannot set characters on display at locations 0,1,2 and 8,9 Because views to overwrite them recursive.\\ | ||
+ | For each recursive display the maximum and minimum values that can be showed depends as mentioned by number of digits and the sign enable. If the data to be displayed is less than the minimum or greater than this maximum value, the display will shows the out of range characters. | ||
+ | |||
+ | ==== - Data entry ==== | ||
+ | |||
+ | Data entry functionality allows the user to enter a numeric value from the keyboard as it can configure the number of characters entered, the position on the display, the position of the decimal point. You can also exit the data entry with a button at will, or with special commands. A particular parameter to bit field allows you to enable control of the value of the data introduced in the upper and lower limits (set using the appropriate parameters), | ||
+ | |||
+ | ==== - Keyboard functionality in data entry ==== | ||
+ | |||
+ | We will now detail the instructions in order to introduce keyboard data specifying the key functions. The HMI2 device provides the user with two ways to insert data, the standards and how they increase/ | ||
+ | |||
+ | === - Standard mode === | ||
+ | |||
+ | The table summarizes the functions of each key: | ||
+ | |||
+ | ^Key^Functionality^ | ||
+ | |ENTER key|Confirmation of the introduced data: bounds checking of the datas in introduction (If enabled with the appropriate bits of the //deflags// parameter), copy the input value to the //devalue// parameter and produces the output from the insert data function.| | ||
+ | |CLEAR key|Delete/ | ||
+ | |PLUS key|Increases selected digit: execute the increase of the selected number.| | ||
+ | |MINUS key|Selection digit: moves the selection of the digit on the right than the one selected.| | ||
+ | |||
+ | === - Increase/ | ||
+ | |||
+ | The table summarizes the functions of each key: | ||
+ | |||
+ | ^Key^Functionality^ | ||
+ | |ENTER key|Confirmation of the introduced data: execute the bounds checking of the data in introduction (if enabled with the appropriate bits of the //deflags// parameter), copy the input value to the //devalue// parameter and produces the output from the function to insert data.| | ||
+ | |CLEAR key|Delete/ | ||
+ | |PLUS key|Increase value in introduction: | ||
+ | |MINUS key|Decrease value in introduction: | ||
+ | |||
+ | When the zero bits of the //deflags// parameter is 0 the DATAENTRY functionality can be used for a easy view. This feature can be handy when the figure has a static value and therefore do not need to use recursive views. For example, if you need to display an error message and the error code itself for some time, the function that displays such a message can be achieved without having to alter the programming of recursive views. | ||
+ | |||
+ | ==== - Values of variables related to buttons or leds ==== | ||
+ | |||
+ | This section shows the bit assignments of variables in charge in addition to the keys and leds on the various hardware MicroQmove. | ||
+ | |||
+ | === - Keyboard, display and leds for D221 series === | ||
+ | |||
+ | {{: | ||
+ | |||
+ | In summary: | ||
+ | ^Key^Value //key// parameter^ | ||
+ | |ENTER key|1| | ||
+ | |CLEAR key|8| | ||
+ | |PLUS key|4| | ||
+ | |MINUS key|32| | ||
+ | |F key|16| | ||
+ | |F + CLEAR keys|24| | ||
+ | |||
+ | Offset value in relation with the digit\\ | ||
+ | {{: | ||
+ | Name of dis0...31 parameters in relation to the digit | ||
+ | |||
+ | === - Keyboard, display and leds for D231 series === | ||
+ | |||
+ | {{: | ||
+ | |||
+ | In summary: | ||
+ | ^Key^Value of key parameter parametro key^ | ||
+ | |ENTER key|1| | ||
+ | |CLEAR key|8| | ||
+ | |PLUS key|4| | ||
+ | |MINUS key|32| | ||
+ | |F key|16| | ||
+ | |F + CLEAR keys|24| | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== - Values of the dis0÷31 variables ==== | ||
+ | |||
+ | In this section shows the codes to use for viewing the and special characters. This codes must be used for the // | ||
+ | |||
+ | ^Value^Character^Value^Character^Value^Character^Value^Character^ | ||
+ | |0|**0**|14|**E**|28|**J**|42|**~**| | ||
+ | |1|**1**|15|**F**|29|**c**|43|**M**| | ||
+ | |2|**2**|16|**G**|30|**h**|44|**& | ||
+ | |3|**3**|17|**H**|31|**!**|45|**[**| | ||
+ | |4|**4**|18|**I**|32|**@**|46|**]**| | ||
+ | |5|**5**|19|**L**|33|**-**|47|**; | ||
+ | |6|**6**|20|**n**|34|**u**|48|**, | ||
+ | |7|**7**|21|**o**|35| |49|**:**| | ||
+ | |8|**8**|22|**P**|36|**_**|50|**.**| | ||
+ | |9|**9**|23|**Q**|37|**=**|51|**8.**| | ||
+ | |10|**a**|24|**r**|38|**$**| | ||
+ | |11|**b**|25|**t**|39|*****| | ||
+ | |12|**c**|26|**U**|40|**// | ||
+ | |13|**d**|27|**Y**|41|**%**| | ||
+ | |||
+ | ^: | ||
+ | |||
+ | |||
+ | ===== - Parameters table ===== | ||
+ | |||
+ | ^ Name ^ Dimension | ||
+ | | key | Long | - | R | - | - | - | **State of the keys**\\ Is a parameter to a bit field each representing the state of the modifier keys. Bit binding to keys refer to the appendices. | ||
+ | | leds | Long | 0 | RW | - | - | - | **State of the leds**\\ Is a parameter to a bit field each representing the state of the leds. By changing the value for each led can be turned on and off; for the sssociation of the bits to leds refer to the appendices. | ||
+ | | blinkleds | ||
+ | | numdis | ||
+ | | dis0÷31 | ||
+ | | blinkchar | ||
+ | | ScreenA | ||
+ | | ScreenB | ||
+ | | ScreenC | ||
+ | | decptA | ||
+ | | decptB | ||
+ | | decptC | ||
+ | | ncharA | ||
+ | | ncharB | ||
+ | | ncharC | ||
+ | | offsA | Byte | 0 | RW | - | 0÷numdis-1 | ||
+ | | offsB | Byte | 0 | RW | - | 0÷numdis-1 | ||
+ | | offsC | Byte | 0 | RW | - | 0÷numdis-1 | ||
+ | | scflags | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | **Bit** | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 0 | 0 | Recursive view screenA disabled | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 1 | Recursive view screenA enable | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 1 | 0 | Recursive view screenB disabled | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 1 | Recursive view screenB enable | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 2 | 0 | Recursive view screenC disabled | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 1 | Recursive view screenC enable | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 3 | 0 | Recursive view sign screenA disabled | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 1 | Recursive view sign screenA disabled | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 4 | 0 | Recursive view sign screenB disabled | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 1 | Recursive view sign screenB disabled | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 5 | 0 | Recursive view sign screenC disabled | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 1 | Recursive view sign screenC disabled | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 6 | 0 | Leading Zero Blank screenA disabled | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 1 | Leading Zero Blank screenA enabled | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 7 | 0 | Leading Zero Blank screenB disabled | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 1 | Leading Zero Blank screenB enabled | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 8 | 0 | Leading Zero Blank screenC disabled | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 1 | Leading Zero Blank screenC enabled | ||
+ | | devalue | ||
+ | | denchar | ||
+ | | deoffs | ||
+ | | dedecpt | ||
+ | | deuplim | ||
+ | | delowlim | ||
+ | | deflags | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | **Bit** | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 0 | 0 | View only | | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 1 | Introduction data | | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 1 | 0 | Leading Zero Blank not active (valid only for viewing then with bit 0 = 0) | | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 1 | Leading Zero Blank active (valid only for viewing then with bit 0 = 0) | | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 2 | 0 | Introduction/ | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 1 | Introduction/ | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 3 | 0 | Standard Data Entry | | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 1 | Data entry with +/- key as to increase decrease | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 4 | 0 | Control limits disabled | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 1 | Control limits enabled | ||
+ | | deExKeymask | ||
+ | | deExitKey | ||
+ | | errcode | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | **Code** | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 0 | No errors | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 1 | Reports an error in the parameterization of recursive view A. || | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 2 | Reports an error in the parameterization of recursive view B. || | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 3 | Reports an error in the parameterization of recursive view C. || | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 4 | Reports an error in the parameters of the data entry. | ||
+ | | errvalue | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | **Code** | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 0 | No details about the error || | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 1 | Signals that the viewing comes up on the display. Check the offset of the view and the number of characters. | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 2 | Note that the decimal point position specified is incorrect. For example, you cannot set the decimal point position equal to the number of characters. | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 3 | Indicates that the //uplim// parameter (upper data entry limit) is less than //lowlim// (lower data entry limit). The error does not occur if the limit checking is disabled. | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 4 | Reports an invalid value data for dataentry confirmed with the //EXITDEC// command. | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 5 | Report a collision between two recursive view or between one recursive view and the data entry. For collision refers to the use of a display area by multiple objects (recorsive views or data entry). | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 6 | Indicates that the sign is not valid. Occurs when you set a number 1 characters and the sign is enabled. Increase the number of the characters (minimum 2) or disable the sign. || | ||
+ | | wrncode | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | **Code** | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 0 | No warning | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 1 | Report a warning in the parameterization of recursive view A. || | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 2 | Report a warning in the parameterization of recursive view B. || | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 3 | Report a warning in the parameterization of recursive view C. || | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 4 | Report a warning in thedata entry parameterization. | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 5 | Report a warning had to request of the //EXITDE// or //EXITDEC// command execution without that data entry is active (state // | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 6 | Report a warning had to request of the // | ||
+ | | wrnvalue | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | **Code** | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 0 | No details about the error || | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 1 | Reports that the decimal point position specified is out of range. | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 2 | Reports that the number of specified characters is out of range. | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 3 | Reports that the specified offset is out of range (greater than the number of display) | ||
+ | | ::: | ::: | ::: | ::: | ::: | ::: | ::: | 4 | Report a collision between two recursive views or between recursive and data entry. For collision refers to the use of a display area by multiple objects (recursive views or data entry). | ||
+ | |||
+ | |||
+ | ===== - States table ===== | ||
+ | |||
+ | ^ Name ^ Default value ^ Description | ||
+ | | st_modified | ||
+ | | st_dentry | ||
+ | | st_uplim | ||
+ | | st_lowlim | ||
+ | | st_exitcmd | ||
+ | | st_error | ||
+ | | st_warning | ||
+ | |||
+ | |||
+ | ===== - Commands table ===== | ||
+ | |||
+ | ^Name^Condition^Description^ | ||
+ | |DATAENTRY|st_dentry=0|**Enters in the data entry procedure**\\ Allows you to enter the data entry procedure.| | ||
+ | |EXITDE|st_dentry=1|**Leave from the data entry procedure**\\ Allows you to exit the data entry procedure.| | ||
+ | |EXITDEC|st_dentry=1|**Leave the data entry procedure after confirmation**\\ Allows you to exit the data entry procedure with the confirmation data in introduction (how if we had pressed the button ENTER).| | ||
+ | |RSERR|st_error=1|**Reset error state**\\ Reset the // | ||
+ | |RSWRN|st_warning=1|**Reset warning state**\\ Reset the // | ||
+ | |||