User Tools

Site Tools

한국어

comfilehmi:hmieditor_function:index

System Functions

The functions listed here can be used in expressions in the ComfileHMI editor.

Basic Functions

Functions with a single argument:

  • sin(value) : Sine
  • cos(value) : Cosine
  • tan(value) : Tangent
  • asin(value) : Arc-Sine
  • acos(value) : Arc-Cosine
  • atan(value) : Arc-Tangent
  • sinh(value) : Hyperbolic Sine
  • cosh(value) : Hyperbolic Cosine
  • tanh(value) : Hyperbolic Tangent
  • floor(value) : Rounds number down to the nearest integer value.
  • ceil(value) : Rounds number up to the nearest integer value.
  • exp(value) : e raised to a given exponent
  • log(value) : Natural Logarithm
  • log10(value) : Log base 10
  • fabs(value) : absolute value
  • sqrt(value) : square root

Functions with 2 arguments:

  • pow(x,y) : x raised to the power y
  • fmod(x,y) : the remainder of x divided by y.

Functions with 5 arguments:

  • scale(input, minimum input, maximum input, minimum output, maximum output) : Scales input proportionally to (maximum input - minimum input) / (maximum output - minimum output).
  • float_to_bytes(floatValue, “variable1”, “variable2”, “variable3”, “variable4”) : Decomposes a floating point value into its composed bytes. Afterward the bytes can be manipulated in various ways to, for example, change the byte order and store the values in addressable internal memory. variable1 is the least significant byte and variable4 is the most significant byte. variables are case-sensitive and must be enclosed in double quotes.

Functions with a variable number of arguments:

  • max(x,y,z,…) : Returns the largest value from the argument list
  • min(x,y,z,…) : Returns the smallest value from the argument list
  • max_index(x,y,z,…) : Returns the index of the largest value in the argument list
  • min_index(x,y,z,…) : Returns the index of the smallest value in the argument list
  • avg(x,y,z,…) : Returns the average of all values in the argument list
  • stdev(x,y,z,…) : Returns the standard deviation of all values in the argument list

Communication Functions

The following functions can be used to detect communication problems between the ComfileHMI and the PLC.

  • timeout_result() : Returns 1 if the last communication resulted in a timeout waiting for a response. Return 0 if no timeout occurred.
  • timeout_count() : Returns the total number of times a communication timeout occurred since the project was executed.
  • reset_timeout_count() : Resets the timeout count returned from timeout_count() to 0.

Internal Memory Functions

The following functions are used to read from and write to internal memory.

  • set_mem(index, value) : Writes value to internal memory at index.
  • mem(index) : Reads the value current stored in internal memory at index.
  • set_mem(index, value1, value2, …, valueN)

System Functions

Functions associated with the system. They take no arguments.

  • action_group_repeat_index() : Retrieves the number of times a user event was executed.
  • idle_seconds() : Returns the number of seconds since the screen was last touched.
  • idle_minutes() : Returns the number of minutes since the screen was last touched.
  • prev_screen_id() : Returns the id of the screen that the current screen navigated from.
  • screen_id() : Returns the id of the screen the current screen.
  • tick_count() : The number of milliseconds since the system was powered on.
  • touch_duration() : The number of milliseconds since the last time the screen was touched. If the screen has never been touched -1 is returned.
  • cpu_usage() : Returns the current CPU utilization as a percentage.

Type Conversion Functions

Functions to convert between data types.

  • text_to_num(string) : Parses a character string in base 10.
  • num_to_text_int(number) : Prints a number as a base 10 integer character string.
  • num_to_text_int(number, digits) : Prints a number as a base 10 integer character string with leading 0's. Ex: num_to_text_int(3.14, 4) prints “0003”.
  • num_to_text_hex(number) : Prints a number as a base 16 integer character string.
  • num_to_text_hex(number, digits) : Prints a number as a base 16 integer character string with leading 0's
  • num_to_text_dec(number, fractional digits) : Prints a number as a base 10 character string with a given number of fractional digits. Ex: num_to_text_dec(3.14159, 4) = “3.1416”

In the Add Action –> Run Action Group properties, in the Advanced Options is the ability to pass a primary and secondary parameter to the actions (Add Action Parameter and Add Secondary Action Parameter respectively) .

The parameters can then be read from within the executing action using the following functions.

  • action_param : Retrieves the primary parameter passed to an action.
  • sub_action_param : Retrieves the secondary parameter passed to an action group.

RTC Functions

Functions with no argument.

  • year() : The current year
  • month() : The current month (1~12)
  • day() : The day of the month
  • day_of_week() : The day of the week (0~6), 0 = Sunday
  • hour() : The hour of the day (0~23)
  • minute() : The minute component of the current hour (0~59)
  • second() : The second component of the current minute (0~59)
  • rand() : returns a random number in the range of 0~32767 (0x7FFF)

Functions that take 1 argument but return no value.

  • set_year(value) : Sets the current year
  • set_month(value) : Sets the current month (1~12)
  • set_day(value) : Sets the day of the month
  • set_hour(value) : Sets the hour of the day (0~23)
  • set_minute(value) : Sets the minute component of the current hour (0~59)
  • set_second(value) : Sets the second component of the current minute (0~59)
  • srand(seed) : Sets the seed value for generating random numbers with the rand() function.

It is recommended to call srand(tick_count()) to seed the random number generator before using rand().

Back to ComfileHMI

comfilehmi/hmieditor_function/index.txt · Last modified: 2019/03/29 14:44 by COMFILE Technology