Página 1
Introducción Consignas básicas de seguridad Funcionalidad SINUMERIK Primeros pasos SINUMERIK ONE SINUMERIK Integrate Run Conceptos básicos MyScreens Cuadros de diálogo Manual de programación Variables Comandos de programación Elementos gráficos y lógicos Campo de manejo "Custom" Selección de diálogos Ejemplos de máscaras de ciclo Configuración en...
Página 2
Considere lo siguiente: ADVERTENCIA Los productos de Siemens sólo deberán usarse para los casos de aplicación previstos en el catálogo y la documentación técnica asociada. De usarse productos y componentes de terceros, éstos deberán haber sido recomendados u homologados por Siemens. El funcionamiento correcto y seguro de los productos exige que su transporte, almacenamiento, instalación, montaje, manejo y mantenimiento hayan sido realizados de forma...
Página 3
Acerca de SINUMERIK......................9 Acerca de esta documentación................... 10 Documentación en Internet....................11 1.3.1 Sinopsis de la documentación de SINUMERIK ONE .............. 11 1.3.2 Vista general de la documentación sobre componentes de manejo SINUMERIK ....11 Opinión sobre la documentación técnica ................13 Documentación de mySupport ...................
Página 4
Índice Notas sobre "easyscreen.ini"....................53 Indicaciones para nuevos usuarios sobre "Run MyScreens" ..........56 Sintaxis de configuración ampliada..................58 SmartOperation y manejo multitáctil.................. 60 Cuadros de diálogo ..........................61 Estructura y elementos de un diálogo................. 61 6.1.1 Definir diálogos........................61 6.1.2 Definir propiedades del diálogo ..................
Página 6
Índice 8.3.11 Dialog Line (DLGL) ......................170 8.3.12 DEBUG..........................171 8.3.13 Abandonar el diálogo (EXIT)..................... 172 8.3.14 Manipulación dinámica de listas de los campos de alternancia o de cuadros de lista ..174 8.3.15 Evaluate (EVAL) ....................... 176 8.3.16 Exit Loading Softkey (EXITLS) ................... 177 8.3.17 Function (FCT) .........................
Página 7
Índice 9.4.5.2 Ejecución de un método del widget personalizado............237 9.4.5.3 Reacción a una señal del widget personalizado..............240 SlEsGraphCustomWidget....................243 9.5.1 SlEsGraphCustomWidget....................243 9.5.2 Indicaciones sobre el rendimiento ..................245 9.5.3 Lectura y escritura de propiedades .................. 245 9.5.4 Propiedades........................
Página 8
Índice 14.4 Indicaciones sobre la ejecución de configuraciones de Run MyScreens en el Display Manager.......................... 333 Listas de referencia..........................335 Listas de los pulsadores de menú de inicio................ 335 A.1.1 Lista de los pulsadores de menú de inicio para torneado ........... 335 A.1.2 Lista de los pulsadores de menú...
Página 9
Para más información visite la página web de SINUMERIK (https://www.siemens.com/ sinumerik). SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 10
Páginas web de terceros El presente documento puede contener enlaces a páginas web de terceros. Siemens no asume responsabilidad alguna por los contenidos de dichas páginas web ni comparte necesariamente los contenidos ni las opiniones vertidos en ellas. Siemens no controla la información publicada en estas páginas web ni tampoco es responsable del contenido o la información que ponen a...
Página 11
1.3 Documentación en Internet Documentación en Internet 1.3.1 Sinopsis de la documentación de SINUMERIK ONE Encontrará abundante documentación sobre las funciones de SINUMERIK ONE versión 6.13 o superior en la Sinopsis de la documentación de SINUMERIK ONE (https:// support.industry.siemens.com/cs/ww/en/view/109768483). Puede visualizar los documentos o descargarlos en formato PDF o HTML5.
Página 12
• Más componentes de manejo Una vista general de los documentos, artículos y enlaces más importantes sobre el tema SINUMERIK se encuentra en Página temática en vista general de SINUMERIK (https:// support.industry.siemens.com/cs/document/109766201/sinumerik-an-overview-of-the-most- important-documents-and-links?dti=0&lc=en-WW). SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 13
1.4 Opinión sobre la documentación técnica Opinión sobre la documentación técnica En caso de preguntas, sugerencias o correcciones relacionadas con la documentación técnica publicada en el Siemens Industry Online Support, utilice el enlace "Enviar feedback" que figura al final del artículo. SINUMERIK Integrate Run MyScreens...
Página 14
Documentación de mySupport El sistema basado en la web "Documentación de mySupport" permite recopilar de manera personalizada documentación basada en los contenidos de Siemens y adaptarla a la documentación propia de la máquina. La aplicación se inicia mediante el icono "Mi documentación" en la página de inicio de mySupport (https://support.industry.siemens.com/cs/ww/es/my):...
Página 15
Para formular una pregunta técnica, utilice el formulario online en el área "Support Request". Formación En esta dirección (https://www.siemens.com/sitrain) encontrará información sobre SITRAIN. SITRAIN ofrece formación sobre productos de Siemens, sistemas y soluciones de accionamientos y automatización. Siemens Support en cualquier lugar SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 16
1.6 Service and Support Con la galardonada aplicación "Siemens Industry Online Support" se puede acceder en cualquier momento y lugar a más de 300.000 documentos sobre productos de Siemens Industry. La aplicación le ofrece asistencia, entre otros, en los siguientes campos de aplicación: •...
Página 17
• OpenSSL (https://www.openssl.org) • Cryptsoft (https://www.cryptsoft.com) Cumplimiento del reglamento general de protección de datos Siemens respeta los principios básicos de la protección de datos, en especial los preceptos relativos a la minimización de datos (privacy by design). Para este producto, esto significa: El producto no procesa ni almacena datos personales, únicamente datos técnicos asociados a las...
Página 18
Introducción 1.7 Información importante del producto SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 19
Consignas básicas de seguridad Consignas generales de seguridad ADVERTENCIA Peligro de muerte en caso de incumplimiento de las consignas de seguridad e inobservancia de los riesgos residuales Si no se cumplen las consignas de seguridad ni se tienen en cuenta los riesgos residuales de la documentación de hardware correspondiente, pueden producirse accidentes con consecuencias mortales o lesiones graves.
Página 20
Consignas básicas de seguridad 2.2 Garantía y responsabilidad para ejemplos de aplicación Garantía y responsabilidad para ejemplos de aplicación Los ejemplos de aplicación no son vinculantes y no pretenden ser completos en cuanto a la configuración y al equipamiento, así como a cualquier eventualidad. Los ejemplos de aplicación tampoco representan una solución específica para el cliente;...
Página 21
(https://www.siemens.com/industrialsecurity). Los productos y las soluciones de Siemens están sometidos a un desarrollo constante con el fin de hacerlos más seguros. Siemens recomienda expresamente realizar actualizaciones en cuanto estén disponibles y utilizar únicamente las últimas versiones de los productos. El uso de versiones de los productos anteriores o que ya no sean soportadas y la falta de aplicación de las...
Página 22
Consignas básicas de seguridad 2.3 Información de seguridad SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 23
Opción de software Para aumentar el número de cuadros de diálogo se requiere una de las siguientes opciones de software: • SINUMERIK ONE, SINUMERIK Integrate Run MyScreens (6FC5800-0BP64-0YB0) • SINUMERIK ONE, SINUMERIK Integrate Run MyHMI/3GL (6FC5800-0BP60-0YB0)
Página 24
UTF-8 en el editor que utiliza. Rutas de almacenamiento Al almacenar los ficheros de configuración, ficheros de ayuda, etc., tenga en cuenta la siguiente convención: [Directorio Siemens del sistema] Linux: /card/siemens/sinumerik/hmi Windows 7: C:\ProgramData\Siemens\MotionControl\siemens [Directorio OEM del sistema] Linux: /card/oem/sinumerik/hmi...
Página 25
Funcionalidad 3.1 Funciones de "Run MyScreens" Ficheros de imagen: [Directorio OEM del sistema]/Ico/ico[Resolución] Ejemplo: [Directorio OEM del sistema]/Ico/ico640 Ayuda en línea: [Directorio OEM del sistema]/hlp/[Idioma] Ejemplo: [Directorio OEM del sistema]/hlp/eng Utilización Se pueden realizar las siguientes funciones: • Visualizar y preparar diálogos de: –...
Página 26
Funcionalidad 3.1 Funciones de "Run MyScreens" • Ejecutar funciones: – Subprogramas – Funciones de ficheros – Servicios de PI • Considerar niveles de protección según los grupos de usuario SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 27
Primeros pasos Introducción Por medio del siguiente ejemplo se explican los pasos necesarios para insertar diálogos propios en la interfaz de usuario de SINUMERIK Operate mediante Run MySreens. Entre otras cosas aprenderá a crear diálogos propios, a insertar accesos a la ayuda y pantallas de ayuda contextuales, a definir pulsadores de menú...
Página 28
Primeros pasos 4.2 Ejemplo de proyecto Ejemplo de proyecto 4.2.1 Descripción de la tarea En el ejemplo de proyecto, creará los cuadros de diálogo que se describen a continuación, incluida una ayuda contextual. Diálogo 1 En el primer diálogo se muestran los parámetros R editables (0 y 1) y los nombres de ejes geométricos (campos de entrada).
Página 29
Primeros pasos 4.2 Ejemplo de proyecto Figura 4-2 Ejes geométricos con ayuda contextual Figura 4-3 Campos de alternancia: lista y cuadro SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 30
Primeros pasos 4.2 Ejemplo de proyecto Figura 4-4 Campo de entrada/salida con selección de unidades integrada Diálogo 2 En el segundo cuadro de diálogo se muestran los valores MKS y WKS. Además, el cuadro de diálogo contiene ejemplos de un indicador de progreso con y sin cambio de color. Figura 4-5 Barras de progreso con (derecha) y sin (izquierda) cambio de color SINUMERIK Integrate Run MyScreens...
Página 31
Primeros pasos 4.2 Ejemplo de proyecto Navegación El primer diálogo se llama con el pulsador de menú de inicio "START" del campo de manejo Diagnóstico. Se utiliza el pulsador de menú horizontal SK7. Figura 4-6 Pulsador de menú de inicio „START“ del campo de manejo Máquina, modo de operación AUTO Desde el primer diálogo se puede llamar al segundo con el pulsador de menú...
Página 32
Primeros pasos 4.2 Ejemplo de proyecto 4.2.2 Creación del fichero de configuración (ejemplo) Contenido del fichero de configuración Cree el fichero de configuración "diag.com" para los dos diálogos en un editor compatible con UTF8. ; Identificador de arranque del pulsador de menú de inicio //S(START) ;...
Página 33
Primeros pasos 4.2 Ejemplo de proyecto ; Definición de pulsadores de menú en el diálogo HS1=("") HS2=("") HS3=("") HS4=("") HS5=("") HS6=("") HS7=("") HS8=("") VS1=("") VS2=("") VS3=("") VS4=("") VS5=("") VS6=("") VS7=("next Mask") VS8=("EXIT") ; Definición de LOAD Block LOAD ; Lectura de valor con RNP ACHS_NAM1 = RNP("$MC_AXCONF_GEOAX_NAME_TAB[0]") ACHS_NAM2 = RNP("$MC_AXCONF_GEOAX_NAME_TAB[1]") ACHS_NAM3 = RNP("$MC_AXCONF_GEOAX_NAME_TAB[2]")
Página 34
Primeros pasos 4.2 Ejemplo de proyecto ; Abandono del diálogo EXIT ; Identificador de fin del método Press END_PRESS ; Identificador de fin del diálogo 1 //END ; Definición de diálogo 2 con título y pantalla //M(MASK2/"Position WCS MCS"/"mz961_01.png") ; Definición de las variables DEF TEXT1 = (I///,"WCS"/WR0,fs2///230,30,120/,,1) DEF VAR1 = (R3///,"1.
Página 35
Primeros pasos 4.2 Ejemplo de proyecto ; Método Load LOAD H_SEPARATOR(230,1,7,1) END_LOAD ; Método Change CHANGE(VAR5) ; Función PI_START PI_START("/NC,201,_N_SETUFR") ; Identificador de fin del método Change END_CHANGE ; Método Press PRESS(RECALL) ; Retorno a máscara invocante LM("MASK1") ; Identificador de fin del método Press END_PRESS ;...
Página 36
Primeros pasos 4.2 Ejemplo de proyecto 4.2.4 Creación de la ayuda en línea (ejemplo) Cree el fichero HTML "sinumerik_md_1.html". El ejemplo debajo de "Contenido de la ayuda en línea" muestra el acceso a la ayuda contextual a través de name="20060[0]" y name="20060[1]".
Página 37
Primeros pasos 4.2 Ejemplo de proyecto Contenido de la ayuda en línea El ejemplo no está comentado. SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 39
Primeros pasos 4.2 Ejemplo de proyecto <td colspan="6">This MD is used to enter the names of the geometry axes separately for each channel.<br /> <tr> <td>-</td> <td colspan="5"> </td> </tr> <tr> <td width="16*">System</td> <td width="16*">Dimension</td> <td width="16*">Default value</td> <td width="16*">Minimum value</td> <td width="16*">Maximum value</td>...
Página 40
Configuración de la ayuda en línea (Página 85). 4.2.6 Copia de "easyscreen.ini" al directorio OEM (ejemplo) Ruta de almacenamiento Copie el fichero "easyscreen.ini" desde el directorio [Directorio Siemens del sistema]/cfg en el directorio [Directorio OEM del sistema]/cfg. 4.2.7 Declaración del fichero COM en "easyscreen.ini" (ejemplo) Adaptación en "easyscreen.ini"...
Página 41
Primeros pasos 4.2 Ejemplo de proyecto Comprobación de pantallas de ayuda contextuales y ayuda en línea Compruebe las pantallas de ayuda contextuales y la ayuda en línea. En caso de que se produzcan errores, compruebe las rutas de almacenamiento. SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 42
Primeros pasos 4.2 Ejemplo de proyecto SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 43
Conceptos básicos Estructura del fichero de configuración Introducción La descripción de las nuevas interfaces de usuario se guarda en ficheros de configuración. Estos ficheros se interpretan automáticamente y su resultado se representa en pantalla. Los ficheros de configuración no están disponibles en el estado de entrega, por lo que primero deben crearse. Para generar los ficheros de configuración e idioma se utiliza un editor compatible con UTF-8 (p.
Página 44
Conceptos básicos 5.1 Estructura del fichero de configuración Nota Secuencia Es imprescindible respetar la secuencia indicada en el fichero de configuración. Ejemplo: //S (START) ; Definición de los pulsadores de menú de inicio (opcio- nal) ..//END //M (..) ; Definición del diálogo DEF ..
Página 45
Conceptos básicos 5.2 Estructura del árbol de manejo Estructura del árbol de manejo Principio del árbol de manejo Varios diálogos vinculados entre sí conforman un árbol de manejo. Se considera que dos diálogos están vinculados cuando se puede pasar directamente de uno a otro. Los nuevos pulsadores de menú...
Página 46
Conceptos básicos 5.2 Estructura del árbol de manejo Con la tecla <RECALL> es posible salir de las interfaces de usuario recién creadas siempre que no se haya configurado otra función para esta tecla. Nota Abrir diálogos en el programa de usuario del PLC Además de los pulsadores de menú, también es posible seleccionar diálogos desde el PLC: para el intercambio de señales PLC →...
Página 47
Conceptos básicos 5.3 Definición y funciones para los pulsadores de menú de inicio Definición y funciones para los pulsadores de menú de inicio 5.3.1 Definición de un pulsador de menú de inicio Pulsador de menú independiente del diálogo Los pulsadores de menú de inicio son pulsadores de menú independientes del diálogo que no se llaman desde un diálogo, sino que se configuran antes que el primer diálogo nuevo.
Página 48
Encontrará una descripción detallada de todas las posiciones admisibles para los pulsadores de menú de inicio y su configuración en el fichero "easyscreen.ini", en el siguiente directorio: [Directorio Siemens del sistema]/cfg Este fichero sirve de plantilla para la propia configuración del pulsador de menú de inicio.
Página 49
• [Directorio OEM del sistema]/proj • [Directorio de addon del sistema]/proj • [Directorio Siemens del sistema]/proj Las configuraciones contenidas para los pulsadores de menú de inicio se agrupan entonces en una sola configuración, es decir, que se comparan los distintos pulsadores de menú. Si hay dos o más configuraciones para un pulsador de menú, siempre se toma la mejor en la versión de...
Página 50
Conceptos básicos 5.3 Definición y funciones para los pulsadores de menú de inicio correspondiente se completa en la versión de Merge interna, de modo que no hace falta adaptarlo. Por último se muestra la configuración de Merge recibida. SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 51
Conceptos básicos 5.4 Tratamiento de errores (diario de incidencias) Tratamiento de errores (diario de incidencias) Vista general Si "Run MyScreens" detecta errores al interpretar los ficheros de configuración, estos se guardan en el fichero de texto "easyscreen_log.txt". Solo se introducen errores del cuadro de diálogo seleccionado en ese momento.
Página 52
Conceptos básicos 5.4 Tratamiento de errores (diario de incidencias) //END ; lo correcto sería, p. ej.: //M(Maske1) DEF Var1=(R) DEF VAR2 = (R) LOAD VAR2 = 7 VAR1 = VAR2 + 1 ; SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 53
5.5 Notas sobre "easyscreen.ini" Notas sobre "easyscreen.ini" A partir de SINUMERIK Operate V4.7, "easycreen.ini" se amplía con las entradas descritas en este capítulo. El fichero "easyscreen.ini" se encuentra en el directorio [Directorio Siemens del sistema]/cfg. Posición inicial de la pantalla de ayuda Entrada en "easyscreen.ini":...
Página 54
Conceptos básicos 5.5 Notas sobre "easyscreen.ini" Ciclos en la pantalla básica de la máquina • Ingreso en el modo de operación JOG de la máquina a través de HS6 con la posibilidad de generar una llamada de ciclos en la pantalla básica de la máquina con la selección [JOBSHOPINTEGRATION]: [JOBSHOPINTEGRATION] Integration = true...
Página 55
Conceptos básicos 5.5 Notas sobre "easyscreen.ini" La posición de la máscara puede definirse de la forma siguiente: • La posición de la máscara puede especificarse en "Píxeles referidos a 640x480". Ejemplo: //M(MyMask/"MyCaption"/"\\myhelp.png"/0,219,335,174) • La posición de la máscara puede vincularse a la posición en función de la resolución de un FormPanel procedente de un diseño de pantalla estándar de Operate, p.
Página 56
Conceptos básicos 5.6 Indicaciones para nuevos usuarios sobre "Run MyScreens" Indicaciones para nuevos usuarios sobre "Run MyScreens" Nota Al utilizar HMI Operate en la NCU, tenga en cuenta que todos los nombres de fichero se guardan en minúsculas en la tarjeta CF (com, png, txt). Nota Al guardar los ficheros de configuración e idioma, tenga en cuenta que en el editor que utiliza la codificación está...
Página 57
• SINUMERIK ONE, SINUMERIK Integrate Run MyHMI / 3GL (6FC5800-0BP60-0YB0) Nota: Si solamente dispone de la licencia "SINUMERIK ONE, SINUMERIK Integrate Run MyHMI / 3GL" (6FC5800-0BP60-0YB0), debe existir una aplicación /3GL en el control. De lo contrario, no podrá utilizar "Run MyScreens" (6FC5800-0BP64-0YB0).
Página 58
Conceptos básicos 5.7 Sintaxis de configuración ampliada Sintaxis de configuración ampliada A partir de SINUMERIK Operate V4.7 está disponible una sintaxis simplificada para definir máscaras, variables, pulsadores de menú y columnas de tablas. Con esta sintaxis alternativa mejora la legibilidad y se facilita el mantenimiento. Las propiedades y atributos pueden especificarse en el orden que se desee y las entradas vacías suprimirse.
Página 59
Conceptos básicos 5.7 Sintaxis de configuración ampliada Ejemplos: DEF MyVar5={TYP="R2", ST="MyVar5", VAL=123.4567, OHLP="myhelp.html", MIN=100.1, MAX=200.9} DEF MyVar2={TYP="I", TGL="*1,2,3", VAL=1} DEF MyVar3={TYP="R2", TGL="*0=""Aus"", 1=$80000", VAL=1} DEF MyVar4={TYP="R2", TGL="*MyArray",VAL=1} DEF MyVar1={TYP="R2", TGL="%grid99", X = 0, W=300, H=200} DEF MyVar6={TYP="R2", TGL="+$80000", VAR="$R[10]", ST="Textoffset"} Sintaxis ampliada para la definición de pulsadores de menú...
Página 60
Conceptos básicos 5.8 SmartOperation y manejo multitáctil SmartOperation y manejo multitáctil Para la adaptación específica a SmartOperation y para el manejo multitáctil existen las siguientes posibilidades de ajuste: • Adaptación automática de la altura y anchura de los campos al denominado tamaño mínimo de manejo de los campos y a la distancia entre líneas (atributo de máscara MA).
Página 61
Cuadros de diálogo Estructura y elementos de un diálogo 6.1.1 Definir diálogos Definición Un diálogo es una parte de una interfaz de usuario que consta de línea de título, elementos de diálogo y/o gráfico, línea de salida para mensajes, así como de 8 pulsadores de menú horizontales y 8 verticales.
Página 62
Cuadros de diálogo 6.1 Estructura y elementos de un diálogo • Posición gráfico • Atributos ① Indicación del estado de la máquina ("cabecera") ② Elemento de diálogo ③ 8 pulsadores de menú verticales ④ 8 pulsadores de menú horizontales ⑤ Emisión de avisos de diagnóstico ⑥...
Página 63
Cuadros de diálogo 6.1 Estructura y elementos de un diálogo Dentro del bloque descriptivo del diálogo se definen en primer lugar diferentes variables que son visibles en el diálogo como elementos de diálogo y los pulsadores de menú horizontales y verticales.
Página 64
Cuadros de diálogo 6.1 Estructura y elementos de un diálogo Programación Sintaxis: //M(Identificador/[Título]/[Gráficos]/[Dimensión]/[Variable de sistema o de usuario]/[Posición gráfico]/[Atribu‐ tos]/Lista de ficheros de idioma específicos de máscara) Consulte también el capítulo Sintaxis de configuración ampliada (Página 58). Descripción: Definir diálogos SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 65
Cuadros de diálogo 6.1 Estructura y elementos de un diálogo Parámetro: Identificador Nombre del diálogo Título Título del diálogo como texto o llamada a un texto (p. ej. $85011) de un fichero de texto dependiente del idioma Gráficos Fichero gráfico con ruta entre comillas dobles Dimensión Posición y tamaño del diálogo en píxeles (distancia desde la izquierda, dis‐...
Página 66
Cuadros de diálogo 6.1 Estructura y elementos de un diálogo DefaultVirtualKeyboardMode=1 Nota: Si se ajusta el atributo de máscara KM explícitamente en la configuración de máscara, esto tiene prioridad por delante del ajuste global de "easys‐ creen.ini". (Ver también el capítulo SmartOperation y manejo multitáctil (Página 60)) Desplazamiento libre activo (predeterminado) Desplazamiento libre inactivo Alineación y aspecto del título de la ventana en combinación con imágenes...
Página 67
Cuadros de diálogo 6.1 Estructura y elementos de un diálogo Hasta ahora, todas las posiciones de los campos se calculaban en función de una resolución de 640 x 480 y a continuación se ampliaban aplicando en cada caso el correspondiente factor de expansión horizontal y vertical. Sin embargo, este comportamiento tiene un inconveniente: si existen "factores de expansión desfavorables", pueden producirse errores de redondeo.
Página 68
Cuadros de diálogo 6.1 Estructura y elementos de un diálogo Navegación geométrica (arriba, abajo, izquierda, derecha) hasta alcanzar los bordes de la máscara (estándar en el entorno normal de Run MyScreens, p. ej., en el área "Custom") Lineal, es decir, dentro de la línea hacia la derecha hasta llegar al final de la línea (estándar en las máscaras de ciclo del editor) Sentido de navegación al pulsar la tecla Intro (Return Navigate Direction) NR0 = desactivado (predeterminado), es decir, al pulsar la tecla Intro, la na‐...
Página 69
Cuadros de diálogo 6.1 Estructura y elementos de un diálogo • XG = Integración X3d (solo lectura) • AL = Ajuste del título de máscara (solo lectura) Ejemplo Figura 6-3 "Example 2: showing graphic" //S(Start) HS7=("Example", se1, ac7) PRESS(HS7) LM("Mask2") END_PRESS //END //M(Mask2/"Example 2 : showing graphic"/"example.png")
Página 70
Cuadros de diálogo 6.1 Estructura y elementos de un diálogo VS1=("") VS2=("") VS3=("") VS4=("") VS5=("") VS6=("") VS7=("") VS8=("") PRESS(HS1) Hd= "new Header" END_PRESS //END Consulte también Ejemplo de programación para el campo "Custom" (Página 304) 6.1.3 Definir elementos de diálogo Elemento de diálogo Se denomina elemento de diálogo la parte visible de una variable, esto es, texto breve, texto de gráficos, campo de entrada/salida, texto de unidad y sugerencia de herramienta.
Página 71
Cuadros de diálogo 6.1 Estructura y elementos de un diálogo Propiedades de variables Todas las variables son válidas únicamente en el diálogo activo. Al definir una variable se le asignan propiedades. Dentro de los métodos (p. ej. de un método PRESS) se puede acceder a los valores de las propiedades del diálogo.
Página 72
Cuadros de diálogo 6.1 Estructura y elementos de un diálogo /[Posición campo de entrada/salida (Left, Top, Width, Height)] /[Colores] /[Ayuda en línea] (Página 85) Ver también Parámetros de variables (Página 95) 6.1.4 Definir diálogos con varias columnas Vista general En un diálogo pueden representarse también diversas variables en una fila. En este caso todas las variables se definen en el fichero de configuración dentro de una línea de definición.
Página 73
Cuadros de diálogo 6.1 Estructura y elementos de un diálogo 6.1.5 Cuadros de diálogo de contraseña Uso de cuadros de diálogo de contraseña estándar Los siguientes cuadros de diálogo de contraseña predefinidos pueden incorporarse en la configuración de máscara: • Definir contraseña Figura 6-5 Cuadro de diálogo de definición de contraseña •...
Página 74
Cuadros de diálogo 6.1 Estructura y elementos de un diálogo Figura 6-7 Cuadro de diálogo de borrado de contraseña Nota Con estos cuadros de diálogo se proporciona la funcionalidad de contraseña. Estos cuadros de diálogo no coinciden con los de SINUMERIK Operate. El cuadro de diálogo puede abrirse a través de la función Load Softkey (LS) o la función Load Mask (LM): 1.
Página 75
Cuadros de diálogo 6.1 Estructura y elementos de un diálogo 6.1.6 Utilizar imágenes/gráficos Uso de gráficos Se tienen que distinguir: • Imágenes/gráficos en el área gráfica • Pantallas de ayuda que, por ejemplo, ilustran variables individuales y que se suceden en el área gráfica.
Página 76
Cuadros de diálogo 6.2 Definir menús de pulsadores Definir menús de pulsadores Definición Todos los pulsadores de menú horizontales y verticales se denominan conjuntamente menús de pulsadores. Adicionalmente a los menús de pulsadores existentes, pueden definirse otros menús que sobrescriban total o parcialmente a los existentes. Los nombres de los pulsadores de menú...
Página 77
Cuadros de diálogo 6.2 Definir menús de pulsadores Texto Indicar texto Nombre del fichero de "\\my_pic.png" imagen o a través de un fichero de texto separado $85199, p. ej., con el siguiente texto en el fichero de texto (dependiente del idioma): 85100 0 0 "\\my_pic.png". El tamaño de la imagen que se visualizará...
Página 78
Cuadros de diálogo 6.2 Definir menús de pulsadores HS1=("NUEVO", ac6, se2) ; Definir el pulsador de menú HS1 y asignar el rótulo "NUEVO", el nivel de protección 6 y el estado "deshabilitado" HS2=("\\imagen1.png") ; Asignar un gráfico al pulsador de menú HS3=("Salir") HS4=(["Confirmar","\\sk_ok.png"],PA0,TP1) ;...
Página 79
Cuadros de diálogo 6.2 Definir menús de pulsadores Programación Sintaxis: SK.st = "Texto" ;Pulsador de menú con rotulación SK.ac = nivel de acceso ;Pulsador de menú con nivel de pro‐ tección SK.se = estado ;Pulsador de menú con estado SK.pa = "Ajuste de la imagen del pulsador de menú"...
Página 80
Cuadros de diálogo 6.2 Definir menús de pulsadores Ejemplo Figura 6-8 Ejemplo 3: Gráfico y pulsadores de menú //S(Start) HS7=("Example", ac7, se1) PRESS(HS7) LM("Maske3") END_PRESS //END //M(Maske3/"Example 2: showing graphic"/"example.png") HS1=("") HS2=("") HS3=("") HS4=("") HS5=("") HS6=("") HS7=("") HS8=("") VS1=("") VS2=("") SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 81
Cuadros de diálogo 6.2 Definir menús de pulsadores VS3=("") VS4=("\\sp_ok.png",,SE1) VS5=(["\\sp_ok_small.png","OEM Text"],,SE1) VS6=("") VS7=(SOFTKEY_OK,,SE1) VS8=(SOFTKEY_CANCEL,,SE1) PRESS(VS4) EXIT END_PRESS PRESS(VS5) EXIT END_PRESS PRESS(VS7) EXIT END_PRESS PRESS(VS8) EXIT END_PRESS //END 6.2.2 Texto dependiente del idioma Vista general Los textos dependientes del idioma se utilizan para: •...
Página 82
Textos dependientes del idioma para los ciclos Siemens estándar almc.txt Textos dependientes del idioma para los ciclos de medida de Siemens Los ficheros de texto utilizados en tiempo de ejecución del programa se indican en el fichero "easyscreen.ini": [LANGUAGEFILES] LngFile03 = user.txt...
Página 83
Cuadros de diálogo 6.2 Definir menús de pulsadores Si no hay ficheros de idioma definidos en la máscara, solo se buscará en los ficheros de idioma indicados en "easyscreen.ini". Nota Si un fichero de idioma no existe en el idioma seleccionado actualmente, se utilizará el fichero de idioma inglés (de manera predeterminada).
Página 84
Cuadros de diálogo 6.2 Definir menús de pulsadores Ejemplos de textos dependientes del idioma: 85000 0 0 "Plano de retirada" 85001 0 0 "Profundidad de taladrado" 85002 0 0 "Paso de rosca" 85003 0 0 "Radio de la caja" SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 85
Cuadros de diálogo 6.3 Configuración de la ayuda en línea Configuración de la ayuda en línea 6.3.1 Resumen Además de la completa ayuda online ya existente, tiene la posibilidad de crear una ayuda online específica del fabricante e incorporarla en SINUMERIK Operate. Esta ayuda online se crea en formato HTML, es decir, se compone de documentos HTML vinculados entre sí.
Página 86
Cuadros de diálogo 6.3 Configuración de la ayuda en línea 6.3.2 Crear ficheros HTML Cree los ficheros de ayuda en formato HTML. Al hacerlo es posible guardar toda la información en un solo fichero HTML o separarla en varios ficheros HTML. Puede asignar usted mismo los nombres de los ficheros, pero debe tener en cuenta lo siguiente: •...
Página 87
Cuadros de diálogo 6.3 Configuración de la ayuda en línea Descripción Comentarios Horizontal line Atributos compatibles: width (se puede indicar como valor absoluto o relativo) html HTML document Italic Image Atributos compatibles: src, width, height User-entered text meta Meta-information List item nobr Non-breakable text Ordered list...
Página 88
Cuadros de diálogo 6.3 Configuración de la ayuda en línea Atributos estándar para listas Los siguientes atributos son compatibles con los tags ol y ul: • type (1, a, A, square, disc, circle) Atributos estándar para tablas Los siguientes atributos son compatibles con los tags td y th: •...
Página 89
Cuadros de diálogo 6.3 Configuración de la ayuda en línea Selectores CSS compatibles Son compatibles todas las clases de selector CSS 2.1 a excepción de las denominadas pseudoclases de selector, como :first-child, :visited y :hover. 6.3.3 Crear libro de ayuda El libro de ayuda es un fichero XML en el que se define la estructura de la ayuda online.
Página 90
Cuadros de diálogo 6.3 Configuración de la ayuda en línea Ejemplo de libro de ayuda En el ejemplo siguiente se describe la estructura de un libro de ayuda con el nombre "My Help". Además, este es la base del índice de contenido y alfabético. <?xml version="1.0"...
Página 91
Cuadros de diálogo 6.3 Configuración de la ayuda en línea El índice alfabético puede tener los tres formatos siguientes: 1. Entrada individual: <INDEX_ENTRY ...title="index"/> 2. Dos entradas de dos niveles en las que cada título tiene una entrada principal y una subentrada.
Página 92
Cuadros de diálogo 6.3 Configuración de la ayuda en línea Canti‐ Significado III -DisableSearch Desactivar búsqueda de términos para el libro de ayuda. Atributos: 0, 1 value true, false type type Tipo de datos del valor (bool) III-DisableFullTextSearch Desactivar búsqueda de texto completo para el libro de ayuda. Atributos: value true, false...
Página 93
En la indicación del índice de contenido y alfabético de un libro de ayuda, los ficheros de ayuda se guardan en formato binario (slhlp_<libro-ayuda_*.hmi) en el directorio /siemens/ sinumerik/sys_cache/hmi/hlp para que el proceso sea más rápido. Si modifica el libro de ayuda, deberá...
Página 94
Cuadros de diálogo 6.3 Configuración de la ayuda en línea <a href="myFile.pdf">My Help File</a> Nota En las ayudas en PDF no es posible seleccionar marcas de salto de forma contextualizada ni saltar a otros ficheros HTML o PDF. La función de búsqueda solo está disponible dentro del mismo fichero PDF. No es posible realizar búsquedas más amplias en varias ayudas en PDF.
Página 95
Variables Parámetros de variables Vista general de los parámetros En la siguiente vista de conjunto se explican brevemente los parámetros de las variables. Una descripción detallada se encuentra en los apartados siguientes. Parámetros Descripción Tipo de las variables (Pági‐ El tipo de variable debe indicarse. na 114) R[x]: REAL (+ cifra para las posiciones decimales)
Página 96
Variables 7.1 Parámetros de variables Parámetros Descripción Textos (Página 106) El orden está predefinido. En lugar del texto breve también puede mostrarse una imagen. Ajuste predeterminado: vacío Texto largo: Texto en la línea de indicación Texto breve: Nombre del elemento de diálogo Texto de gráficos: Texto referido a los términos de un gráfico Texto de unidad:...
Página 97
Variables 7.1 Parámetros de variables Parámetros Descripción Atributos (Página 107) Los atributos influyen en las siguientes propiedades: • Modo de visualización • Opción de visualización • Frecuencia de actualización • Símbolo de alternancia • Sugerencia de herramienta • Modo de entrada •...
Página 98
Variables 7.1 Parámetros de variables Parámetros Descripción Símbolo de alter‐ tg0: símbolo de alternancia apagado (por defecto) nancia tg1: símbolo de alternancia encendido Si el atributo TG se establece como 1, aparece en la sugerencia de la herramienta del campo de entrada también el símbolo de alternancia. Ejemplo: DEF OFFS = (R//123.456/,,,,"My ToolTip"/TG1) Sugerencia de...
Página 99
Variables 7.1 Parámetros de variables Parámetros Descripción Empty Input (EI) El atributo "EI" (= Empty Input) permite definir cómo debe reaccionar el campo de entrada cuando en él se ingresa una cadena vacía: EI0: Estándar, es decir, se aceptan ingresos vacíos en el campo de en‐ trada EI1: Ingresos vacíos generan un error en el campo de entrada y se res‐...
Página 100
Variables 7.1 Parámetros de variables Parámetros Descripción Fichero de ayuda en línea (Pági‐ El nombre del fichero de ayuda en línea se escribe entre comillas dobles. na 85) Campo de entrada/salida con se‐ En los campos de entrada/salida con selección de unidades integrada puede cambiarse lección de unidades integrada entre las diferentes unidades.
Página 101
Variables 7.1 Parámetros de variables Variable: modificación de las propiedades A las variables se les asigna un nuevo valor mediante la notación Identificador.Propiedad = Valor al efectuar una modificación. La expresión situada a la derecha del signo igual se evalúa y se asigna a la variable o a la propiedad de la variable. Identificador.ac = nivel de acceso (ac: access level) Identificador.al = ajuste de texto...
Página 102
Variables 7.1 Parámetros de variables Consulte también Comportamiento al abrir el diálogo (Página 344) SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 103
Variables 7.2 Definir variables Definir variables Valor de las variables La propiedad más importante de una variable es su valor. El valor de la variable se puede asignar a través de: • El ajuste estándar en la definición de las variables •...
Página 104
Variables 7.3 Ejemplos de aplicación Ejemplos de aplicación Variables auxiliares Las variables auxiliares son variables internas de cálculo. Las variables de cálculo se definen como variables, pero no poseen ninguna propiedad excepto el valor y el estado de variable, es decir, las variables auxiliares no son visibles en el diálogo.
Página 105
Variables 7.3 Ejemplos de aplicación Acceso indirecto a una variable de sistema Se puede acceder a una variable de sistema también de manera indirecta, es decir, en función de otra variable: PRESS(HS1) ACHSE=ACHSE+1 WEG.VAR="$AA_DTBW["<<ACHSE<<"]" ;Acceso a la dirección del eje por medio de una variable END_PRESS Modificación de rótulo de pulsador de menú...
Página 106
Variables 7.4 Ejemplo 1: Asignar tipo de variable, textos, pantalla de ayuda, colores y tooltips Ejemplo 1: Asignar tipo de variable, textos, pantalla de ayuda, colores y tooltips Ejemplo 1a En el siguiente ejemplo se define una variable para la que pueden establecerse las propiedades de tipo de variable, textos, pantalla de ayuda y colores.
Página 107
Variables 7.5 Ejemplo 2: Asignar tipo de variable, valores límite, atributos, posición texto breve Ejemplo 2: Asignar tipo de variable, valores límite, atributos, posición texto breve Ejemplo 2 En el siguiente ejemplo se define una variable para la que pueden establecerse las propiedades de tipo de variable, valores límite, modo de entrada, orientación y posición.
Página 108
Variables 7.6 Ejemplo 3: Asignar tipo de variable, valor por defecto, variable de sistema o de usuario, posición campo de entrada/salida Ejemplo 3: Asignar tipo de variable, valor por defecto, variable de sistema o de usuario, posición campo de entrada/salida Ejemplo 3 En el siguiente ejemplo se define una variable para la que pueden establecerse las propiedades de tipo de variable, valor por defecto, variable de sistema o de usuario y posición.
Página 109
Variables 7.7 Ejemplo 4: campo de alternancia y campo de lista Ejemplo 4: campo de alternancia y campo de lista Ejemplo 4a Diferentes entradas en el campo de alternancia: DEF Var1 = (I/* 0,1,2,3) ;Campo de alternancia sencillo para alternar entre valores numéricos DEF Var2 = (S/* "On", "Off") ;Campo de alternancia sencillo para alternar entre cadenas...
Página 110
Variables 7.8 Ejemplo 5: visualización de imágenes Ejemplo 5: visualización de imágenes Ejemplo 5 Mostrar una imagen en lugar de un texto breve: El tamaño y la posición de la imagen se indican en "Posición de campo de entrada/salida (Left, Top, Width, Height)". DEF VAR6= (V///,"\\imagen1.png"...
Página 111
Variables 7.9 Ejemplo 6: barra de progreso Ejemplo 6: barra de progreso La barra de progreso es un tipo de visualización especial del campo de entrada/salida y solo está concebido para la visualización sin entrada de datos. En principio hay dos tipos de barras de progreso: 1.
Página 112
Variables 7.9 Ejemplo 6: barra de progreso 3: de arriba hacia abajo Para que se visualice la barra de progreso debe indicarse un valor MÍN y un valor MÁX (por ejemplo, MÍN: 0, MÁX: 150). Con este ajuste ya se muestra, en función del valor actual de la variable PROGGY0, una barra de progreso con color de primer plano 3 (verde oscuro) y color de fondo 4 (gris claro).
Página 113
Variables 7.10 Ejemplo 7: modo de entrada de contraseña (asteriscos) 7.10 Ejemplo 7: modo de entrada de contraseña (asteriscos) Ejemplo 7 Para implementar un campo para introducir p. ej. la contraseña ocultando los caracteres, el modo de visualización DT debe ajustarse a 5. En lugar de los caracteres introducidos se muestran asteriscos.
Página 114
Variables 7.11 Detalles sobre el tipo de variable 7.11 Detalles sobre el tipo de variable Tipo de variable INTEGER Para el tipo "INTEGER", se puede disponer de las siguientes ampliaciones para especificar la representación en el campo de entrada/salida y el uso de memoria: 2.º...
Página 115
Variables 7.11 Detalles sobre el tipo de variable Definiciones válidas de tipo para INTEGER: Variable entera de 32 bits en representación hexadecimal IHDU Variable entera de 32 bits en representación hexadecimal IHWU Variable entera de 16 bits en representación hexadecimal IHBU Variable entera de 8 bits en representación hexadecimal Tipo de variable VARIANT...
Página 116
Variables 7.11 Detalles sobre el tipo de variable • En el tipo REAL solo puede modificarse la cantidad de posiciones decimales. No está permitido modificar el tipo y, en caso de hacerse, aparece un aviso de error en el fichero "easyscreen_log.txt". Ejemplo: Var1.tipo = "IBW"...
Página 117
Variables 7.12 Detalles sobre el campo de alternancia 7.12 Detalles sobre el campo de alternancia Descripción Mediante la ampliación del campo de alternancia pueden mostrarse textos (entradas en el campo de alternancia) en función de las variables del CN/PLC. Una variable que utiliza una ampliación del campo de alternancia es de sólo lectura.
Página 118
Variables 7.12 Detalles sobre el campo de alternancia [VirtualKeyboard] ; fuerza la función de teclado de alternancia virtual de easyscreen ForceEasyscreenVirtualToggleKey = true Consulte también Parámetros de variables (Página 95) SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 119
Variables 7.13 Detalles sobre los valores por defecto 7.13 Detalles sobre los valores por defecto Vista general En función de si el campo de una variable (campo de entrada/salida o campo de alternancia) tiene asignado un valor por defecto, una variable de usuario o de sistema o ambos, se obtienen diferentes estados para las variables (no calculado: la selección sólo es posible una vez que la variable tenga asignado un valor válido).
Página 120
Variables 7.14 Detalles sobre la posición del texto breve, posición del campo de entrada/salida 7.14 Detalles sobre la posición del texto breve, posición del campo de entrada/salida Vista general El texto breve y de gráficos, así como el campo de entrada/salida y el texto de unidad forman una unidad.
Página 121
Variables 7.14 Detalles sobre la posición del texto breve, posición del campo de entrada/salida En este caso (la distancia entre el campo de entrada/salida y el campo de unidades o el ancho del campo de unidades están configurados) deben tenerse en cuenta los siguientes aspectos: •...
Página 122
Double Word y del bloque de datos x DBx.DBDy Real y del bloque de datos x DBx.DBRy (ver nota "Migración de SINU‐ MERIK 840D sl a SINUMERIK ONE") Byte de marcas x bit y Mx.y Byte de marcas x Word de marcas x...
Página 123
DBx.DBDy:REAL • String y con longitud z del bloque de datos x, DBx.DBSy.z: DBx.DBB(y-2):STRING Como alternativa, en SINUMERIK ONE puede acceder de forma simbólica a Real o String, p. ej., DB2001.MyRealVar o MyOwnDB.MyStringNoOne. SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 124
Variables 7.16 Uso de strings 7.16 Uso de strings Cadenas de strings En la configuración también pueden utilizarse strings para diseñar de manera dinámica la visualización de textos o para unir distintos textos para la generación de código. Reglas Al emplear variables tipo string deben observarse las siguientes reglas: •...
Página 125
Variables 7.16 Uso de strings • Manejo de valores numéricos: VAR13.VAL = "error " << VAR14.VAL << ": " << $85001 << $85002 ;Resultado: "Error 15: Esto es un texto de alarma" IF VAR15 == "error" ;Strings en una instrucción IF VAR16 = 18.1234 ;Resultado: VAR16 igual a 18.1234, ;si VAR15 es igual a "error".
Página 126
Variables 7.17 Variable CURPOS 7.17 Variable CURPOS Descripción Con la variable CURPOS es posible abrir o manipular la posición del cursor en el campo de entrada activo del diálogo actual. La variable muestra cuántos caracteres se encuentran por delante del cursor. Si el cursor está posicionado al comienzo del campo de entrada CURPOS toma el valor 0.
Página 127
Variables 7.18 Variable CURVER 7.18 Variable CURVER Descripción La propiedad CURVER (Current Version) permite adaptar la programación para el manejo de las versiones más diversas. La variable CURVER sólo puede ser leída. Nota Durante la generación de código se crea automáticamente con la versión más actual, incluso si previamente se ha decompilado con una versión más antigua.
Página 128
Variables 7.19 Variable ENTRY 7.19 Variable ENTRY Descripción Con la variable ENTRY se puede comprobar la forma en que se llamó al diálogo. Programación Sintaxis: ENTRY Descripción: La variable ENTRY sólo puede ser leída. Valor de retorno: El resultado de la consulta puede ser: Sin ayuda a la programación Abre una máscara mediante pulsador de menú;...
Página 129
Variables 7.20 Variable ERR 7.20 Variable ERR Descripción Con la variable ERR puede comprobarse si las líneas precedentes se han ejecutado sin errores en cada caso. Programación Sintaxis: Descripción: La variable ERR sólo puede ser leída. Valor de retorno: El resultado de la consulta puede ser: FALSE = la línea precedente se ha ejecutado sin errores, TRUE = la línea precedente se ha ejecutado con errores, Ejemplo...
Página 130
Variables 7.21 Variable FILE_ERR 7.21 Variable FILE_ERR Descripción La variable FILE_ERR permite comprobar si el comando GC o CP previo ha sido ejecutado sin errores. Programación Sintaxis: FILE_ERR Descripción: La variable FILE_ERR sólo puede ser leída. Valor de retorno: Los posibles resultados son: Operación en orden Unidad/ruta no existe 2 = Error de acceso a ruta/fichero...
Página 131
Variables 7.21 Variable FILE_ERR CP("D:\source.mpf","E:\target.mpf") ELSE VAR5 = "Todo OK" ; Si no se ha producido ningún error en CP (o GC), emisión de "Todo OK" ENDIF SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 132
Variables 7.22 Variable FOC 7.22 Variable FOC Descripción Con la variable FOC se controla el foco de entrada (campo de entrada/salida actualmente activo) en un diálogo. La reacción del cursor a la izquierda, a la derecha, arriba, abajo así como PGUP y PGDN está...
Página 133
Variables 7.23 Variable S_ALEVEL 7.23 Variable S_ALEVEL Descripción El nivel de acceso actual puede consultarse con la propiedad de máscara S_ALEVEL en la configuración. Programación Sintaxis: S_ALEVEL Descripción: Consulta del nivel de acceso actual Valor de retorno: 0: Sistema 1: Fabricante 2: Servicio técnico 3: Usuario 4: Interruptor de llave 3...
Página 134
Variables 7.24 Variable S_CHAN 7.24 Variable S_CHAN Descripción Con la variables S_CHAN puede determinarse el número del canal actual para fines de visualización o para una evaluación. Programación Sintaxis: S_CHAN Descripción: Consulta del número de canal actual Valor de retorno: Número de canal Ejemplo REG[0] = S_CHAN...
Página 135
Variables 7.25 Variable S_CONTROL 7.25 Variable S_CONTROL Descripción El nombre de control actual puede consultarse con la propiedad de máscara S_CONTROL en la configuración. Programación Sintaxis: S_CONTROL Descripción: Consulta del nombre de control actual Valor de retorno: El nombre de control es el nombre de sección de "mmc.ini" Ejemplo REG[0] = S_CONTROL Consulte también...
Página 136
Variables 7.26 Variable S_LANG 7.26 Variable S_LANG Descripción El idioma actual puede consultarse en la configuración con la propiedad de máscara S_LANG. Programación Sintaxis: S_LANG Descripción: Consulta del idioma actual Valor de retorno: Código de idioma de resources.xml, p. ej. "deu", "eng", etc. Ejemplo REG[0] = S_LANG Consulte también...
Página 137
Variables 7.27 Variable S_NCCODEREADONLY 7.27 Variable S_NCCODEREADONLY Descripción La propiedad de máscara S_NCCODEREADONLY es significativa exclusivamente cuando en el editor se decompila un ciclo con un cuadro de diálogo "Run MyScreens". Con S_NCCODEREADONLY se determina si puede modificarse o no un código de CN decompilado del editor.
Página 138
Variables 7.28 Variables S_RESX y S_RESY 7.28 Variables S_RESX y S_RESY Descripción La resolución actual o sus componentes X e Y pueden consultarse en la configuración con las propiedades de máscara S_RESX y S_RESY. Ejemplo REG[0] = S_RESY Consulte también RESOLUTION (Página 153) SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 139
Comandos de programación Operadores Vista general En la programación se pueden utilizar los siguientes operadores: • Operadores matemáticos • Operadores de comparación • Operadores lógicos (booleanos) • Operadores de bits • Funciones trigonométricas 8.1.1 Operadores matemáticos Vista general Operadores matemáticos Explicación Suma Resta...
Página 140
Comandos de programación 8.1 Operadores Utilización ROUND es controlado por el usuario mediante dos parámetros: VAR1 = 5,2328543 VAR2 = ROUND( VAR1, 4 ) Resultado: VAR2 = 5,2339 VAR1 contiene el número a redondear. El parámetro "4" indica el número de decimales del resultado, que se guarda en VAR2.
Página 141
Comandos de programación 8.1 Operadores Función Random: número aleatorio Sintaxis: RANDOM (valor límite inferior, valor límite superior) Descripción: La función RANDOM devuelve un número seudoaleatorio en un rango predefi‐ nido. Parámetro: Límite inferior Valor límite inferior >= -32767, Valor límite inferior < valor límite superior Límite superior Valor límite superior <= 32767 Ejemplo...
Página 142
Comandos de programación 8.1 Operadores Condiciones La profundidad de anidamiento es ilimitada. Condición con un comando: ENDIF Condición con dos comandos: ELSE ENDIF 8.1.2 Operadores de bits Vista general Operadores de bits Explicación OR bit a bit BXOR XOR bit a bit BAND AND bit a bit BNOT...
Página 143
Comandos de programación 8.1 Operadores VAR01 = 16 SHL 2 ; Resultado = 64 VAR02 = VAR02 SHL VAR04 ; El contenido de VAR02 se transforma en un valor de 32 bits sin signo y se desplaza a la izquierda en un número de bits equivalente al contenido de VAR04.
Página 144
Comandos de programación 8.2 Métodos Métodos Vista general En los diálogos y en los menús de pulsadores dependientes de ellos (menús de pulsadores que se abren desde un diálogo recién configurado) se pueden iniciar determinadas acciones de forma controlada mediante distintos eventos (salida del campo de entrada, operación de los pulsadores de menú).
Página 145
Comandos de programación 8.2 Métodos 8.2.2 CHANGE Descripción Los métodos CHANGE se ejecutan cuando se modifica el valor de una variable. Es decir, dentro de un método CHANGE se configuran cálculos de variables que se ejecutan inmediatamente cuando tiene lugar una modificación en una variable. Los métodos CHANGE se diferencian en específico del elemento y global: •...
Página 146
Comandos de programación 8.2 Métodos Programación "global" Sintaxis: CHANGE() END_CHANGE Descripción: Modificación de cualquier valor de variable Parámetro: - Ninguno - Ejemplo CHANGE() EXIT ; Si se modifica cualquier valor de variable, se abandona el diálogo. END_CHANGE 8.2.3 CHANNEL Descripción El método CHANNEL se ejecuta cuando se modifica el canal actual con la máscara abierta;...
Página 147
Comandos de programación 8.2 Métodos Programación Sintaxis: CONTROL <Instrucciones> END_CONTROL Descripción: Cambio de control Parámetros: - Ninguno - Consulte también Variable S_CONTROL (Página 135) 8.2.5 FOCUS Descripción El método FOCUS se ejecuta cuando en el diálogo el foco (cursor) se posiciona sobre otro campo. El método FOCUS no debe dispararse con un evento de navegación.
Página 148
Comandos de programación 8.2 Métodos Consulte también Variable FOC (Página 132) 8.2.6 LANGUAGE Descripción El método LANGUAGE se ejecuta cuando se modifica el idioma actual con la máscara abierta. Programación Sintaxis: LANGUAGE <Instrucciones> END_LANGUAGE Descripción: Idioma Parámetros: - Ninguno - Consulte también Variable S_LANG (Página 136) 8.2.7...
Página 149
Comandos de programación 8.2 Métodos Máscara1.Hd = $85111 ; Asignar el texto para el título del diálogo del fiche- ro de idioma VAR1.Min = 0 ; Asignar variable Valor límite MÍN VAR1.Máx = 1000 ; Asignar variable Valor límite MÁX END_LOAD ;...
Página 150
Comandos de programación 8.2 Métodos 8.2.9 OUTPUT Descripción El método OUTPUT se ejecuta cuando se llama la función "GC". Dentro de un método OUTPUT se configuran las variables y las variables auxiliares como código de CN. La concatenación de elementos individuales de una línea de código se lleva a cabo con espacios. Nota El código de CN puede generarse en un fichero suplementario con las funciones de fichero y desplazarse hasta el CN.
Página 151
Comandos de programación 8.2 Métodos 8.2.10 PRESS Descripción El método PRESS se ejecuta cuando se ha presionado el correspondiente pulsador de menú. Programación Sintaxis: PRESS(Pulsador de menú) END_PRESS Identificación: Accionar un pulsador de menú Parámetro: Tecla de función Nombre del pulsador de menú: HS1 - HS8 y VS1 - VS8 programable RECALL Tecla <RECALL>...
Página 152
Comandos de programación 8.2 Métodos 8.2.11 PRESS(ENTER) Descripción Se accede al método PRESS(ENTER) siempre que se pulsa la tecla Intro cuando haya una variable con campo de entrada/salida de modo de entrada WR3 o WR5. • WR3: navegación en el campo y accionamiento de la tecla Intro •...
Página 153
Comandos de programación 8.2 Métodos 8.2.13 RESOLUTION Descripción El método RESOLUTION se ejecuta cuando se ha modificado la resolución actual con la máscara abierta; es decir, normalmente con un cambio de TCU. Programación Sintaxis: RESOLUTION <Instrucciones> END_RESOLUTION Descripción: Resolución Parámetros: - Ninguno - Consulte también Variables S_RESX y S_RESY (Página 138)
Página 154
Comandos de programación 8.2 Métodos 8.2.15 SUSPEND Descripción Se accede al método SUSPEND cuando la máscara se interrumpe y no se descarga. Lo mismo ocurre, p. ej., cuando se sale de la máscara con un sencillo cambio de área, pero no se descarga de forma explícita.
Página 155
Comandos de programación 8.2 Métodos Al escribir el método OUTPUT puede hacerse referencia a una versión concreta, referida a la totalidad de las definiciones. Ejemplo: OUTPUT(NC1) ; Solo las variables de la versión original se ofre- cen en el método OUTPUT. OUTPUT(NC1,1) ;...
Página 156
Comandos de programación 8.2 Métodos OUTPUT(NC1,1) Versión 1 var100","var101"," var102 END_OUTPUT SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 157
Comandos de programación 8.3 Funciones Funciones Vista general En diálogos y menús de pulsadores dependientes de ellas se dispone de diversas funciones que se pueden disparar a través de distintos eventos (p. ej.: salida del campo de entrada, operación de los pulsadores de menú) y se configuran en métodos. Subprogramas Las instrucciones de configuración que se repitan y también otras que resuman un determinado proceso, pueden configurarse en subprogramas.
Página 158
Comandos de programación 8.3 Funciones 8.3.1 Leer y escribir parámetros de accionamiento: RDOP, WDOP, MRDOP Descripción Con ayuda de las funciones RDOP, WDOP y MRDOP, se pueden leer y escribir parámetros de accionamiento. Nota Los parámetros de accionamiento no deben leerse en ciclos de menos de 1 segundo, es mejor que se lean más despacio.
Página 159
Comandos de programación 8.3 Funciones Figura 8-1 Identificador del objeto de accionamiento Sintaxis: MRDOP("identificador del objeto de accionamiento", "número de pa‐ rámetro1"*"número de parámetro"[*…], índice del registro) Descripción: Multi Read de parámetros de accionamiento. Con el comando MRDOP pueden transferirse varios parámetros de accionamiento de un objeto de accionamiento con un acceso al re‐...
Página 160
Comandos de programación 8.3 Funciones Parámetros: Identificador del objeto de accio‐ El identificador del objeto de ac‐ namiento cionamiento puede tomarse, p. ej., de la pantalla básica del cam‐ po de manejo "Puesta en marcha" Número de parámetro Número de parámetro Valor Valor que se debe escribir Ejemplos...
Página 161
Comandos de programación 8.3 Funciones //M(MÁSCARA1) CALL("MY_UP1") ; Llamar y ejecutar el subprograma END_CHANGE SUB(MY_UP1) ;do something END_SUB //END 8.3.3 Definir bloque (//B) Descripción Los subprogramas se identifican en el fichero de programa con el identificador de bloque //B y se finalizan con //END.
Página 162
Comandos de programación 8.3 Funciones SUB(UP1) ; Inicio de subprograma REG[0] = 5 ; Asignar al registro 0 el valor 5 END_SUB ; Final de subprograma SUB(UP2) ; Inicio de subprograma IF VAR1.val=="Otto" VAR1.val="Hans" RETURN ENDIF VAR1.val="Otto" END_SUB ; Final de subprograma //END ;...
Página 163
Comandos de programación 8.3 Funciones ELSE VS8.SE = 2 ; Si una variable contiene un valor erró- neo, el pulsador de menú VS8 está desha- bilitado ENDIF IF CVAR("VAR1", "VAR2") == TRUE ; Comprobación de las variables VAR1 y VAR2 DLGL ("VAR1 y VAR2 son correctas") ;...
Página 164
Comandos de programación 8.3 Funciones Ejemplo Caso de aplicación con valor de retorno: CP("//NC/MPF.DIR/HOHO.MPF","//NC/MPF.DIR/ASLAN.MPF",VAR1) CP("CF_CARD:/wks.dir/MESS_BILD.WPD/MESS_BILD.MPF","//NC/WKS.DIR/AAA.WPD/HOHO2.MPF",VAR1) CP("//NC/MPF.DIR/HOHO.MPF","CF_CARD:/wks.dir/WST1.WPD/MESS.MPF",VAR1) ; WPD debe existir Caso de aplicación sin valor de retorno: CP("//NC/MPF.DIR/HOHO.MPF","//NC/MPF.DIR/ASLAN.MPF") CP("CF_CARD:/mpf.dir/MYPROG.MPF","//NC/MPF.DIR/HOHO.MPF") CP("//NC/MPF.DIR/HOHO.MPF","CF_CARD:/XYZ/MYPROG.MPF") ; XYZ debe existir Ver también Ayuda de FILE_ERR: Variable FILE_ERR (Página 130) 8.3.6 Función de fichero Delete Program (DP) Descripción...
Página 165
Comandos de programación 8.3 Funciones DP("//NC/WKS.DIR/TEST.WPD/MYPROG.MPF") DP("//NC/CMA.DIR/MYPROG.SPF") 8.3.7 Función de fichero Exist Program (EP) Descripción La función EP (Exist Program) comprueba si un determinado programa de CN se encuentra en el sistema de ficheros del CN o del HMI bajo la ruta indicada. Programación Sintaxis: EP("Fichero")
Página 166
Comandos de programación 8.3 Funciones ; VAR1 = M El fichero se encuentra en el sistema de ficheros de HMI. ; VAR1 = N El fichero se encuentra en el sistema de ficheros del CN. ; VAR1 = B El fichero se encuentra en el sistema de ficheros del HMI y del CN. Ejemplo EP("/MPF.DIR/GROB.MPF",VAR1) ;...
Página 167
Comandos de programación 8.3 Funciones Ejemplos Con valor de retorno: MP("//NC/MPF.DIR/123.MPF","//NC/MPF.DIR/ASLAN.MPF",VAR1) ;dentro de CN MP("//NC/MPF.DIR/123.MPF",VAR0,VAR1) ;destino mediante variable MP(VAR4,VAR0,VAR1) ;fuente y destino mediante variable MP("CF_CARD:/mpf.dir/myprog.mpf","//NC/MPF.DIR/123.MPF",VAR1) ;de tarjeta CF a CN MP("//NC/MPF.DIR/HOHO.MPF","CF_CARD:/XYZ/123.mpf",VAR1) ;de CN a tarjeta CF ; con valor de retorno: ;...
Página 168
Comandos de programación 8.3 Funciones 8.3.10 Acceso a ficheros: RDFILE, WRFILE, RDLINEFILE, WRLINEFILE Descripción Para el acceso de lectura y escritura a ficheros con sintaxis INI se encuentran disponibles las funciones RDFILE y WRFILE. Para el acceso de lectura y escritura a determinadas líneas de un fichero se encuentran disponibles las funciones RDLINEFILE y WRLINEFILE.
Página 169
Comandos de programación 8.3 Funciones Nota • Los ficheros no pueden estar en el sistema de ficheros del CN (gestión de datos). • Si el fichero no existe, si se llega al final del fichero o si se produce otro error, la variable FILE_ERR y ERR se define de forma correspondiente.
Página 170
Comandos de programación 8.3 Funciones Lectura de la 4.ª línea de un fichero: Requisitos/premisa: Contenido de c:/tmp/myfile.mpf: R[0]=0 F3500 G1 MYLOOPIDX1: X0 y-50 Z0 X150 Y50 Z10 R[0]=R[0]+1 GOTOB MYLOOPIDX1 MyVar = RDLINEFILE("C:/tmp/myfile.mpf", 4) Resultado: MyVar contiene ahora el valor " R[0]=R[0]+1"...
Página 171
Comandos de programación 8.3 Funciones Número de caracteres posible con el tamaño de fuente estándar: aprox. 50 caracteres Nota Las funciones LS, LM, DLGL, EXIT y EXITLS no deben configurarse en los métodos SUSPEND o RESUME. Si se usan esas funciones en estos métodos, se impide la ejecución de las funciones. Programación Sintaxis: DLGL("String")
Página 172
Comandos de programación 8.3 Funciones Programación Sintaxis: DEBUG(Expresión) Descripción: Efectuar una entrada en el libro de incidencias "easyscreen_log.txt" Parámetros: Expresión que se va a evaluar, a partir de la cual se genera una entrada en el libro de incidencias Ejemplo IF Var1 >...
Página 173
Comandos de programación 8.3 Funciones Descripción Si se llamó al diálogo actual con una variable de transferencia, el valor de la variable puede modificarse y devolverse al diálogo inicial. Los valores de variable se asignan a las variables transferidas con la función "LM" del diálogo inicial al diálogo posterior.
Página 174
Comandos de programación 8.3 Funciones ; Salir de máscara2 y regresar a máscara1 en la línea siguiente a LM. Asignar a la variable POSX el valor 5 y a la variable DIÁMETRO el valor de la varia- ble DIÁMETRO_CALCULADO. La variable POSY conserva su valor actual.
Página 175
Comandos de programación 8.3 Funciones Sintaxis: LISTADDITEM(Variablename, ItemValue[, ItemDispValue]) Descripción: Adición de un elemento al final de la lista Parámetros: Nombre de variable ItemValue Valor de la entrada de la lista ItemDispValue Valor tal como debe representar‐ se en la lista Sintaxis: LISTDELETEITEM(Variablename, Position) Descripción:...
Página 176
Comandos de programación 8.3 Funciones Inserción de un elemento 99="Maybe" en la posición 2: LISTINSERTITEM("VAR_AC", 2, 99, """Maybe""") Resultado: 0="Off", 1="On", 99="Maybe", -1="Undefined" Cálculo del número actual de elementos de la lista: REG[10]=LISTCOUNT("VAR_AC") Resultado: REG[10] = 4 Borrado del elemento en la posición 1: LISTDELETEITEM("VAR_AC", 1) Resultado: 0="Off", 99="Maybe", -1="Undefined"...
Página 177
Comandos de programación 8.3 Funciones CHANGE() REG[7] = EVAL("VAR"<<REG[5]) ; La expresión entre paréntesis produce VAR3 si el valor de REG[5] es igual a 3. En consecuencia, se asigna a REG[7] el valor de VAR3. IF REG[5] == 1 REG[7] = VAR1 ELSE IF REG[5] == 2 REG[7] = VAR2...
Página 178
Comandos de programación 8.3 Funciones Ejemplo PRESS(HS1) EXITLS( "Menú1", "AEDITOR.COM" ) END_PRESS 8.3.17 Function (FCT) Descripción Las funciones externas se almacenan en un fichero DLL y se dan a conocer mediante una entrada en la línea de definición del fichero de configuración. Nota La función externa debe tener como mínimo un parámetro de retorno.
Página 179
Comandos de programación 8.3 Funciones Estructura de la función externa La función externa debe observar una firma predeterminada concreta: Sintaxis: extern "C" dllexport void InitConnection (ExtFctStructPtr FctRet, ExtFctStructPtr FctPar, char cNrFctPar) Descripción: Exportación DLL solo al implementar en Windows Los especificadores y los parámetros de transferencia están preestablecidos de forma fija.
Página 180
Comandos de programación 8.3 Funciones extern "C" MY_EXPORT void InitConnection (ExtFctStructPtr FctRet, ExtFctStructPtr FctPar,char cNrFctPar) Si se utilizan las imágenes configuradas con "Run MyScreens" en la NCU y en la PCU/PC, debe omitirse la extensión del fichero binario: FCT InitConnection = ("xyz"/I/R,I,S/I,S) Al omitir la información de ruta absoluta, "Run MyScreens"...
Página 181
Comandos de programación 8.3 Funciones DEF VAR1 = (R//1) DEF VAR2 = (R//2) DEF D_NAME LOAD VAR1 = 123 VAR2 = -6 END_LOAD OUTPUT(CODE1) "Cycle123(" VAR1 "," VAR2 ")" "M30" END_OUTPUT PRESS(VS1) D_NAME = "\MPF.DIR\MESSEN.MPF" GC("CODE1",D_NAME) ; Escribir el código de CN del método OUTPUT en el fichero \MPF.DIR\MESSEN.MPF: Cycle123(123, -6) END_PRESS...
Página 182
Comandos de programación 8.3 Funciones Decompilación • Sin indicación del fichero de destino: La función GC sólo puede utilizarse en la ayuda a la programación y escribe el código de CN en el fichero actualmente abierto en el editor. El código de CN no se puede decompilar. Si la función GC se configura sin indicación del fichero de destino en "Run MyScreens", aparece un mensaje de error durante la ejecución.
Página 183
Comandos de programación 8.3 Funciones Ejemplo REG[0] = HMI_LOGIN("CUSTOMER") ; Resultado = TRUE si la contraseña se ha de- finido correctamente; de lo contrario, FALSE Función HMI_LOGOFF: Borrar contraseña Sintaxis: HMI_LOGOFF Descripción: Con la función HMI_LOGOFF puede restablecerse el nivel de acceso actual. Parámetros: - Ninguno - Ejemplo...
Página 184
Comandos de programación 8.3 Funciones Parámetro: Identificador Nombre de la matriz a recargar Fichero Fichero en el que está definida la matriz Nota Si se desea sustituir una matriz en el actual fichero de configuración por una matriz de otro fichero de configuración, los nombres de ambas matrices deberán ser idénticos.
Página 185
Comandos de programación 8.3 Funciones 8.3.21 Load Block (LB) Descripción Con la función LB (Load Block) se pueden cargar bloques con subprogramas en tiempo de ejecución. LB debe configurarse preferiblemente en un método LOAD, para que los subprogramas cargados puedan llamarse en cualquier momento. Nota Los subprogramas también pueden definirse directamente en un diálogo, en cuyo caso no tienen que cargarse.
Página 186
Comandos de programación 8.3 Funciones Diálogo principal / subdiálogo Un diálogo que abre otro diálogo y no se cierra por sí mismo se denomina como diálogo principal. Un diálogo que es abierto desde un diálogo principal se denomina como subdiálogo. Programación Sintaxis: LM("Identificador"[,"Fichero"] [,MSx [, VARx] ] )
Página 187
Comandos de programación 8.3 Funciones MÁSCARA1(diálogo principal): salto al subdiálogo MÁSCARA2 con transferencia de varia- bles LM("MÁSCARA2","CFI.COM",1, POSX, POSY, DIÁMETRO) ; Interrumpir máscara1 y mostrar máscara2: A su vez, se transfieren las variables POSX, POSY y DIÁMETRO. DLGL("Máscara2 finalizada") ; Al volver de máscara2, aparece en la línea de diálogo de máscara1 el texto: Máscara2 finali- zada.
Página 188
Comandos de programación 8.3 Funciones Parámetro: Identificador Nombre del menú de pulsadores Fichero Nombre de ruta (sistema de ficheros HMI o de CN) del fichero de configuración Ajuste predeterminado: fichero de configuración actual Merge 0: Todos los pulsadores de menú existentes se borran; se introducen los nuevos pulsadores de menú...
Página 189
Comandos de programación 8.3 Funciones Parámetro: Nombre del grid Nombre de la tabla (Grid) entre comillas simples Nombre de varia‐ Nombre de la variable a la que debe asignarse la tabla, entre comillas simples Nombre de fichero Nombre del fichero en el que está definida la tabla (Grid), entre comillas simples.
Página 190
Comandos de programación 8.3 Funciones Ejemplo FOCUS SWITCH (FOC) CASE "VarF" DLGL("Variable ""VarF"" has the input focus.") CASE "VarZ" DLGL("Variable ""VarZ"" has the input focus.") DEFAULT DLGL("Any other variable has the input focus.") END_SWITCH END_FOCUS 8.3.26 Multiple Read NC PLC (MRNP) Descripción Con el comando MRNP pueden transferirse varias variables del CN/PLC con un acceso al registro.
Página 191
Comandos de programación 8.3 Funciones Nota Se ha de tener en cuenta que la lista de variables puede tener máx. 500 caracteres y el número de registros está limitado. Ejemplo MRNP("$R[0]*$R[1]*$R[2]*$R[3]",1) ;REG[1] a REG[4] se escriben con el valor de las variables de $R[0] a $R[3].
Página 192
Comandos de programación 8.3 Funciones 8.3.28 P_REAL_FILEPATH Descripción La función P_REAL_FILEPATH devuelve el nombre y la ruta real del programa de pieza editado actualmente en el editor. Nota La función solo está disponible en el contexto de máscaras de ciclo. Programación Sintaxis: P_REAL_FILEPATH()
Página 193
Comandos de programación 8.3 Funciones Ejemplo PI_START("/NC,001,_N_LOGOUT") Nota Los servicios de PI dependientes del canal están referidos siempre al canal actual. Los servicios de PI de las funciones de herramienta (área TO) se refieren siempre al área TO asignada al canal actual. 8.3.30 Leer (RNP) y escribir (WNP) variable de sistema o de usuario Descripción...
Página 194
Comandos de programación 8.3 Funciones Programación Sintaxis: WNP("Variable de sistema o de usuario", valor) Descripción: Escribir variables de CN o PLC o datos de máquina Parámetro: Variable de sistema o de Nombre de la variable de CN o PLC usuario Valor Valor que debe escribirse en la variable de sistema o de usuario...
Página 195
Índice de registro con x = 0...19; Tipo: REAL o STRING = VARIANT Los registros con x ≥ 20 ya están definidos por Siemens. Descripción valor de registro La asignación de valores a los registros se configura en un método.
Página 196
Comandos de programación 8.3 Funciones Parámetro: Identificador Nombre del registro Valor de un registro Valor del registro Ejemplo UNLOAD REG[0] = VAR1 ; Asignar al registro 0 el valor de la variable 1 END_UNLOAD UNLOAD REG[9].VAL = 84 ; Asignar al registro 9 el valor 84 END_UNLOAD ;...
Página 197
Comandos de programación 8.3 Funciones 8.3.33 RETURN Descripción Con la función RETURN puede cancelarse con antelación el subprograma actual y regresarse al punto de salida del último comando CALL. Si en el subprograma no se configura ningún RETURN, el subprograma se ejecuta hasta el final y se vuelve después al punto de salida.
Página 198
Comandos de programación 8.3 Funciones Programación Las variables del código de CN se aplican en el diálogo. Al hacerlo, los valores de variable del código de CN se comparan con los valores de variable calculados a partir del fichero de configuración.
Página 199
Comandos de programación 8.3 Funciones 8.3.35 Decompilación sin comentarios Descripción En la ayuda a la programación existe la posibilidad de decompilar sin comentarios el código de CN creado con la función GC y volver a mostrar los valores de variables en el campo de entrada/ salida del diálogo de entrada correspondiente.
Página 200
Comandos de programación 8.3 Funciones Nump Número de parámetros de la máscara que debe decompilarse (todas las variables creadas con DEF, también variables auxiliares) Version (opcional) Dato de versión del ciclo Icon (opcional) Símbolo que se muestra en el programa de cadenas se‐ cuenciales, formato *.png Tamaño de imagen para cada resolución: 640 x 480 mm →...
Página 201
Comandos de programación 8.3 Funciones DEF VAR1 = (R//1) DEF VAR2 = (R//2) DEF D_NAME LOAD VAR1 = 123 VAR2 = -6 END_LOAD OUTPUT(CODE1) "Cycle123(" VAR1 "," VAR2 ")" "M30" END_OUTPUT PRESS(VS1) D_NAME = "\MPF.DIR\MESSEN.MPF" GC("CODE1",D_NAME) ; Escribir el código de CN del método OUTPUT en el fichero \MPF.DIR\MES- SEN.MPF: Cycle123(123, -6)
Página 202
Comandos de programación 8.3 Funciones No permitido (la variable MYCOMMENT está colocada tras el paréntesis de cie‐ rre): OUTPUT "MYCYCLE(" MYPAR1 "," MYPAR2 "," MYPAR3 ")" MYCOMMENT END_OUTPUT No permitido (espacios en blanco entre el nombre de ciclo "MYCYCLE" y el pa‐ réntesis de apertura "("): OUTPUT "MYCYCLE...
Página 203
Comandos de programación 8.3 Funciones • Las constantes hexadecimales del tipo X1='HFFFF', las constantes binarias del tipo X1='B10010' y las constantes exponenciales del tipo X1='-.5EX-4' sí se reconocen. • El valor de la señal se puede emitir cuando entre el string y el valor aparece lo siguiente: –...
Página 204
Comandos de programación 8.3 Funciones 8.3.38 SL_TEMP_DIR Descripción La función SL_TEMP_DIR devuelve una ruta para ficheros temporales en SINUMERIK Operate. Nota El contenido de este directorio no es persistente, es decir, se borra cada vez que se inicia SINUMERIK Operate. Programación Sintaxis: SL_TEMP_DIR...
Página 205
Comandos de programación 8.3 Funciones Parámetros: string Cualquier expresión válida de tipo string. En el caso de un string vacío se retorna CERO. varname Cualquier nombre de variable válido y declarado Solo es admisible uno de los dos posibles parámetros. Ejemplo DEF VAR01 DEF VAR02...
Página 206
Comandos de programación 8.3 Funciones Función LEFT: String desde la izquierda Sintaxis: LEFT(string, longitud) Descripción: LEFT devuelve una cadena de caracteres que contiene el número de caracteres indicado comenzando por la izquierda de un string. Parámetros: string Cadena de caracteres o variable con la cadena de caracteres que se desea procesar longitud Número de caracteres que se desea leer...
Página 207
Comandos de programación 8.3 Funciones Parámetros: string Cadena de caracteres o variable con la cadena de caracteres que se desea procesar inicio Punto inicial desde el que se lee en la cadena de caracteres longitud Número de caracteres que se desea leer Ejemplo DEF VAR01 DEF VAR02...
Página 208
Comandos de programación 8.3 Funciones Parámetros: string1 Cadena de caracteres que debe compararse con una se‐ gunda cadena de caracteres string2 Cadena de caracteres que debe compararse con la prime‐ ra cadena de caracteres CaseInsensitive Comparación con/sin distinción de mayúsculas/minúscu‐ las: sin indicación o FALSE = distinción entre mayúsculas/ minúsculas...
Página 209
Comandos de programación 8.3 Funciones Ejemplo REG[0]=STRREMOVE("Hello world!", 5, 6) ; Resultado = "Hello!") Función TRIMLEFT: eliminación de espacios en blanco a la izquierda del string Sintaxis: TRIMLEFT(string1) Descripción: TRIMLEFT elimina espacios en blanco a la izquierda de la cadena de caracteres. Parámetros: string1 Cadena de caracteres de la que deben eliminarse espa‐...
Página 210
Comandos de programación 8.3 Funciones Identificadores de Sintaxis %[Flags] [anchura] [.posiciones decimales] Tipo formato: Flags Carácter opcional para establecer el formato de salida: • justificado a la derecha o a la izquierda ("-" para justifica‐ do a la izquierda) • Adición de ceros a la izquierda ("0") •...
Página 211
Comandos de programación 8.3 Funciones 8.3.40 Bucles WHILE/UNTIL Descripción Con los comandos DO-LOOP es posible implementar un bucle. Según la configuración, este se ejecutará mientras una condición se cumpla (WHILE) o hasta que sea cierta una condición (UNTIL). Puesto que los bucles pueden afectar al rendimiento del sistema en función de la configuración, deben aplicarse con prudencia y debe prescindirse en ellos de acciones que requieran mucho tiempo.
Página 213
Comandos de programación 8.3 Funciones REG[0] = 5 DO_WHILE 10 > REG[0] DEBUG("OUTER: " << REG[0]) REG[0] = REG[0] + 1 REG[1] = -5 DEBUG("INNER: " << REG[1]) REG[1] = REG[1] + 1 LOOP_UNTIL 0 <= REG[1] LOOP 8.3.41 Ejecución cíclica de scripts: START_TIMER, STOP_TIMER Descripción Con ayuda de temporizadores se pueden abrir cíclicamente los métodos SUB.
Página 214
Comandos de programación 8.3 Funciones Ejemplo //M(TimerSample/"My timer") DEF MyVariable=(I//0/,"Number of cyclic calls:"/WR1) VS1=("Start%ntimer") VS2=("Stop%ntimer") SUB(MyTimerSub) MyVariable = MyVariable + 1 END_SUB PRESS(VS1) ;llama a SUB "MyTimerSub" cada 1000 milisegundos START_TIMER("MyTimerSub", 1000) END_PRESS PRESS(VS2) STOP_TIMER("MyTimerSub") END_PRESS Si se accede de nuevo a START_TIMER para un temporizador ya asignado a un método SUB, después se toma el nuevo intervalo si es diferente.
Página 215
Elementos gráficos y lógicos Línea, línea de separación, rectángulo, círculo y elipse 9.1.1 Definir elementos gráficos Descripción Las líneas, las líneas de separación, los rectángulos y las elipses/los círculos se configuran en el método LOAD: • Para conseguir rectángulos transparentes debe establecerse como color de relleno el color de fondo del sistema.
Página 216
Elementos gráficos y lógicos 9.1 Línea, línea de separación, rectángulo, círculo y elipse Elemento RECT Programación: Sintaxis: RECT (x, y, w, h, frame color, fill color, style, tag, visible) Descripción: Definir rectángulo Parámetros: Coordenada x arriba izquierda Coordenada y arriba izquierda Anchura Altura frame co‐...
Página 217
Elementos gráficos y lógicos 9.1 Línea, línea de separación, rectángulo, círculo y elipse Con el mismo valor para la altura y la anchura se forma un círculo. Elemento V_SEPARATOR Programación: Sintaxis: V_SEPARATOR (x,w,color,pen) Descripción: Definición de línea de separación vertical Parámetros: Posición X pen width...
Página 218
Elementos gráficos y lógicos 9.1 Línea, línea de separación, rectángulo, círculo y elipse 9.1.2 Funciones gráficas Sinopsis Las siguientes funciones gráficas se encuentran disponibles: • CLEAR_BACKGROUND • DELETE_GRAPHIC • HIDE_GRAPHIC • SHOW_GRAPHIC Las funciones se pueden utilizar en los elementos gráficos LINE, RECT, ELLIPSE, V_SEPARATOR y H_SEPARATOR (Página 215).
Página 219
Elementos gráficos y lógicos 9.1 Línea, línea de separación, rectángulo, círculo y elipse LINE(0, 30, 100, 30, "red", "dotted", 5, true) DELETE_GRAPHIC(5) ;los 3 elementos gráfi- cos del tipo LINE con tag=5 se borran Función HIDE_GRAPHIC: ocultar un elemento gráfico o un grupo de elementos gráficos Con la función HIDE_GRAPHIC se puede ocultar un elemento gráfico específico o un grupo de elementos gráficos.
Página 220
Elementos gráficos y lógicos 9.1 Línea, línea de separación, rectángulo, círculo y elipse Ejemplo LINE(0, 10, 100, 10, "black", "dotted", 1, true) LINE(0, 10, 100, 10, "red", "dotted", 5, true) LINE(0, 20, 100, 20, "red", "dotted", 5, true) LINE(0, 30, 100, 30, "red", "dotted", 5, true) SHOW_GRAPHIC(5) ;los 3 elementos gráfi- cos del tipo LINE con...
Página 221
Elementos gráficos y lógicos 9.2 Definir matriz Definir matriz Definición Con la ayuda de una matriz, los datos de un tipo de datos uniforme se guardan en la memoria ordenados de manera a permitir el acceso a los datos a través de un índice. Descripción Las matrices pueden ser unidimensionales o bidimensionales.
Página 222
Elementos gráficos y lógicos 9.2 Definir matriz 9.2.1 Acceder al valor de un elemento de matriz Descripción El valor del acceso a una matriz se puede transmitir mediante la propiedad valor (Identificador.val). El índice de filas (número de la fila en la matriz) o el índice de columnas (número de la columna en la matriz) comienza respectivamente con 0.
Página 223
Elementos gráficos y lógicos 9.2 Definir matriz Modo de acceso • Modo de acceso "Directo" En el modo de acceso "Directo" (M = 0) el acceso a la matriz se efectúa con el índice de fila en F y el índice de columna en C. El modo de comparación P no se evalúa. •...
Página 225
Elementos gráficos y lógicos 9.2 Definir matriz • Modo de acceso ejemplo 4: En F se encuentra el término buscado. En C se encuentra el índice de la columna en la que se busca. Se muestra el índice de fila del término encontrado: VAR1 = rosca[0.125,1,4] ;VAR1 tiene el valor 2 Aclaración:...
Página 226
Elementos gráficos y lógicos 9.2 Definir matriz END_PRESS SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 227
Elementos gráficos y lógicos 9.3 Descripción de tabla (grid) Descripción de tabla (grid) Definición A diferencia de una matriz, los valores de una tabla (grid) se actualizan constantemente. Se trata de una representación tabular de valores que pueden proceder, p. ej. del CN o del PLC. La tabla se organiza en columnas que contienen siempre variables del mismo tipo.
Página 228
Elementos gráficos y lógicos 9.3 Descripción de tabla (grid) Ver también Parámetros de variables (Página 95) Load Grid (LG) (Página 188) 9.3.1 Definición de tabla (grid) Descripción El bloque de tablas consta de: • Encabezamiento descriptivo • De 1 a n columnas descriptivas Programación Sintaxis: //G(Identificador de tablas/tipo de tabla/número de filas/...
Página 229
Elementos gráficos y lógicos 9.3 Descripción de tabla (grid) 9.3.2 Definir columnas Descripción Para las tablas (grid) conviene utilizar variables con índice. El número de índice es importante en el caso de variables de PLC o CN con uno o más índices. Pueden modificarse de manera directa los valores mostrados en una tabla en el marco de los derechos determinados mediante los atributos y dentro de los límites definidos dado el caso.
Página 230
Elementos gráficos y lógicos 9.3 Descripción de tabla (grid) Modificación de las propiedades de las columnas La modificación de una propiedad de columna se lleva a cabo mediante el identificador de la variable de la línea de definición y mediante el índice de la columna (que comienza con 1). Ejemplo: VAR1[1].st="Columna 1"...
Página 231
Elementos gráficos y lógicos 9.4 Widgets personalizados Widgets personalizados 9.4.1 Definir widgets personalizados Descripción A través de un widget personalizado se configuran elementos de visualización específicos del usuario en el diálogo. Opción de software Para utilizar widgets personalizados en los diálogos, se necesita además la siguiente opción de software: "SINUMERIK Integrate Run MyHMI/3GL"...
Página 232
Elementos gráficos y lógicos 9.4 Widgets personalizados Programación La definición de clase del fichero dll debe ser así: #define SLESTESTCUSTOMWIDGET_EXPORT Q_DECL_EXPORT class SLESTESTCUSTOMWIDGET_EXPORT SlEsTestCustomWidget : public QWidget Q_OBJECT ..public slots: bool serialize(const QString& szFilePath, bool bIsStoring); ..9.4.3 Estructura de la interfaz de widgets personalizados Descripción Para poder mostrar el widget personalizado en el diálogo, la librería se completa con una interfaz.
Página 233
Elementos gráficos y lógicos 9.4 Widgets personalizados Ejemplo Contenido del fichero sleswidgetfactory.cpp para un widget personalizado con el nombre de clase "SlEsTestCustomWidget": #include <Qt/qglobal.h> #include "slestestcustomwidget.h" /////////////////////////////////////////////////////////////////////////// // MAKROS FOR PLUGIN DLL-EXPORT - DO NOT CHANGE /////////////////////////////////////////////////////////////////////////// #ifndef Q_EXTERN_C #ifdef __cplusplus #define Q_EXTERN_C extern "C"...
Página 234
Elementos gráficos y lógicos 9.4 Widgets personalizados #define WIDGET_CLASS_EXPORT(CLASSNAME) EXPORT_SL_ES_CUSTOM_WIDGET_PLUGIN(CLASSNAME,CLASSNAME(pParent)) /////////////////////////////////////////////////////////////////////////// // FOR OEM USER - please declare here your widget classes for export /////////////////////////////////////////////////////////////////////////// WIDGET_CLASS_EXPORT(SlEsTestCustomWidget) 9.4.4 Interacción entre widget personalizado y diálogo: intercambio de datos automático Los widgets personalizados interactúan con los diálogos y pueden mostrar o manipular valores. Condiciones Se produce un intercambio de datos automático si se cumplen las siguientes condiciones: Condición...
Página 235
Elementos gráficos y lógicos 9.4 Widgets personalizados Ejemplo La definición de clase del fichero dll debe ser así: #define SLESTESTCUSTOMWIDGET_EXPORT Q_DECL_EXPORT class SLESTESTCUSTOMWIDGET_EXPORT SlEsTestCustomWidget : public QWidget Q_OBJECT Q_PROPERTY(double CUSVAR1 READ cusVar1 WRITE setCusVar1); ..9.4.5 Interacción entre widget personalizado y diálogo: intercambio de datos manual Además de automático, el intercambio de datos también puede ser manual.
Página 236
Elementos gráficos y lógicos 9.4 Widgets personalizados Parámetro: Nombre de variable Nombre de la variable diálogo asignada a un widget per‐ sonalizado Nombre de propiedad Nombre de la propiedad del widget personalizado que desea leerse Valor de retorno: Valor actual de la propiedad del widget personalizado Sintaxis: WriteCWProperty("Nombre de variable", "nombre de propiedad", "valor") Descripción:...
Página 237
Elementos gráficos y lógicos 9.4 Widgets personalizados Widget personalizado, declaración de clase: class SLESTESTCUSTOMWIDGET_EXPORT SlEsTestCustomWidget : public QWidget Q_OBJECT Q_PROPERTY(double MyRealVar READ myRealVar WRITE setMyRealVar); Configuración de diálogo: DEF MyCWVar1 = (W///,"slestestcustomwidget.SlEsTestCustomWidget") PRESS(VS1) WriteCWProperty("MyCWVar1", "MyRealVar", 3 + sin(123.456)) END_PRESS 9.4.5.2 Ejecución de un método del widget personalizado Descripción Para ejecutar métodos del widget personalizado se dispone de la función CallCWMethod en la...
Página 238
Elementos gráficos y lógicos 9.4 Widgets personalizados Parámetro: Nombre de variable Nombre de la variable diálogo asignada a un widget per‐ sonalizado Nombre de método Nombre del método del widget personalizado que desea llamarse Argumento 0 - 9 Parámetro de transferencia para el método del widget personalizado Formatos de datos soportados: ver arriba Nota: Los parámetros de transferencia siempre se trans‐...
Página 239
Elementos gráficos y lógicos 9.4 Widgets personalizados Nota El widget personalizado debe implementar el método "serialize". En este método es posible escribir los datos internos de un widget personalizado en un fichero predefinido, o volver a crearlo a partir de este. Esto es necesario, sobre todo, cuando, estando abierta la máscara "Run MyScreens", se pasa a otro campo de manejo y a continuación se vuelve al anterior.
Página 240
Elementos gráficos y lógicos 9.4 Widgets personalizados bool SlEsTestCustomWidget::serialize(const QString& szFilePath, bool bIsStoring) else streamData >> m_nDataCount >> m_dValueX; streamData.setDevice(0); fileData.flush(); fileData.close(); bReturn = true; return bReturn; 9.4.5.3 Reacción a una señal del widget personalizado Descripción En Run MyScreens es posible reaccionar a una señal determinada (invokeSub()) del widget personalizado para llamar un subprograma (SUB).
Página 241
Elementos gráficos y lógicos 9.4 Widgets personalizados Parámetro: rszSignalName Nombre del subprograma de Run MyScreens que desea llamarse rvntList Matriz QVariantList para transferir parámetros almace‐ nados en los parámetros globales SIGARG y disponibles en la configuración. Tamaño máximo: 10 elementos Formatos de datos soportados: ver arriba Nota: los parámetros de transferencia siempre se trans‐...
Página 242
Elementos gráficos y lógicos 9.4 Widgets personalizados Configuración de diálogo: DEF MyCWVar1 = (W///,"slestestcustomwidget.SlEsTestCustomWidget") SUB(on_MyCWVar1_MySub) DEBUG("SUB(on_MyCWVar1_MySub) was called with parameter: """ << SIGARG[0] << """") END_SUB Resultado "easyscreen_log.txt": [10:22:40.445] DEBUG: SUB(on_MyCWVar1_MySub) was called with parameter: "123.456" SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 243
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget SlEsGraphCustomWidget 9.5.1 SlEsGraphCustomWidget Generalidades Con ayuda de SlEsGraphCustomWidget pueden representarse objetos geométricos (punto, línea, rectángulo, rectángulo con esquinas redondeadas, elipse, arco, texto) y curvas a partir de nodos de interpolación (p. ej., valores medidos, evolución). Los objetos se organizan en uno o varios contornos.
Página 244
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget Por motivos de rendimiento, no se actualiza automáticamente la visualización. Según el caso de aplicación, puede forzarse la actualización activando una función determinada. Ejemplo Figura 9-1 SlEsGraphCustomWidget: ejemplo //M(MyGraphSampleMask/"SlEsGraphCustomWidget Sample") DEF MyGraphVar = (W///,"slesgraphcustomwidget.SlEsGraphCustomWidget"/////10,10,340,340/0,0,0,0) VS1=("Add objects",,se1) LOAD WRITECWPROPERTY("MyGraphVar", "AxisNameX", "X")
Página 245
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget //M(MyGraphSampleMask/"SlEsGraphCustomWidget Sample") REG[0]= CALLCWMETHOD("MyGraphVar", "setFillColor");off/default REG[0]= CALLCWMETHOD("MyGraphVar", "setPenColor");off/default REG[0]= CALLCWMETHOD("MyGraphVar", "addArc", 100, 37.5, 125, 62.5, 0, 180) REG[0]= CALLCWMETHOD("MyGraphVar", "update") END_PRESS 9.5.2 Indicaciones sobre el rendimiento En función del hardware utilizado y de la carga a la que esté sometido el sistema, al utilizar SlEsGraphCustomWidgets deben tenerse en cuenta los siguientes valores orientativos.
Página 246
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget 9.5.4 Propiedades Vista general Propiedad Descripción AxisNameX Identificaciones de eje, eje X AxisNameY Identificaciones de eje, eje Y AxisNameY2 Identificaciones de eje, segundo eje Y (derecha) AxisY2Visible Ver/ocultar segundo eje Y (derecha) AxisY2Offset Offset del segundo eje Y (derecha) AxisY2Factor Factor segundo eje Y (derecha) ScaleTextEmbedded...
Página 247
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget AxisNameY: identificaciones de eje, eje Y Sintaxis: ReturnValue = ReadCWProperty(GraphVarName, "AxisNameY") WriteCWProperty(GraphVarName, "AxisNameY", Value) Descripción: Lee o define el identificador del eje Y. Si no se especifica ningún identificador, para la superficie de dibujo se utilizará el espacio disponible. Parámetros: GraphVarName Nombre de la variable de visualización que contiene un...
Página 248
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget Y = Y2 / factor - offset Fórmula para convertir Y a Y2: Y2 = (Y + offset) * factor Figura 9-2 Ejemplo con el segundo eje Y con escala propia Ejemplo Y: de 0 a 200 corresponderá a Y2: de -25 a 25. •...
Página 249
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget ScaleTextEmbedded: posicionamiento de los textos de escala Sintaxis: ReturnValue = ReadCWProperty(GraphVarName, "ScaleTextEmbedded") WriteCWProperty(GraphVarName, "ScaleTextEmbedded", Value) Descripción: Con esta propiedad se define si los textos de escala se posicionarán dentro o fuera de la superficie de dibujo. Parámetros: GraphVarName Nombre de la variable de visualización que contiene un...
Página 250
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget ScaleTextOrientationYAxis: alineación de los textos de escala del eje Y Sintaxis: ReturnValue = ReadCWProperty(GraphVarName, "ScaleTextOrientationYAxis") WriteCWProperty(GraphVarName, "ScaleTextOrientationYAxis", Value) Descripción: Con esta función se alinean verticalmente los textos de escala del eje Y. Parámetros: GraphVarName Nombre de la variable de visualización que contiene un SlEsGraphCustomWidget Return Value...
Página 251
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget Textos de escala fuera del área de dibujo: • ScaleTextEmbedded = FALSE Alineación de texto horizontal: • ScaleTextOrientationYAxis = 1 Figura 9-7 Textos de escala fuera del área de dibujo, alineación de texto horizontal Alineación de texto vertical: •...
Página 252
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget Ejemplo setView(-15, -15, 15, 15) setFillColor("#A0A0A4") addCircle(0, 0, 5) KeepAspectRatio = TRUE Figura 9-9 La relación de aspecto entre los ejes X e Y no varía KeepAspectRatio = FALSE Figura 9-10 La relación de aspecto entre los ejes X e Y se deforma SelectedContour: nombre del contorno actualmente seleccionado Sintaxis: ReturnValue = ReadCWProperty(GraphVarName, "...
Página 253
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget BackColor: color de fondo Sintaxis: ReturnValue = ReadCWProperty(GraphVarName, " BackColor") WriteCWProperty(GraphVarName, " BackColor", Value) Descripción: Color de fondo para la rotulación de ejes, y en función de la propiedad ScaleTex‐ tInsideChartArea, también de los textos de escala. Parámetros: GraphVarName Nombre de la variable de visualización que contiene un...
Página 254
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget GridColor: color de las líneas de retícula Sintaxis: ReturnValue = ReadCWProperty(GraphVarName, "GridColor") WriteCWProperty(GraphVarName, "GridColor", Value) Descripción: Color de las líneas de retícula. Parámetros: GraphVarName Nombre de la variable de visualización que contiene un SlEsGraphCustomWidget Return Value Color leído de la propiedad (QString) Value...
Página 255
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget Nota Esta función actualiza la vista automáticamente. CursorX: posición X del cursor Sintaxis: ReturnValue = ReadCWProperty(GraphVarName, "CursorX") WriteCWProperty(GraphVarName, "CursorX", Value) Descripción: Posición X del cursor. Parámetros: GraphVarName Nombre de la variable de visualización que contiene un SlEsGraphCustomWidget Return Value Valor leído de la propiedad (double)
Página 256
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget Nota Esta función actualiza la vista automáticamente. CursorStyle: tipo de representación del cursor Sintaxis: ReturnValue = ReadCWProperty(GraphVarName, "CursorStyle") WriteCWProperty(GraphVarName, "CursorStyle", Value) Descripción: Tipo de representación del cursor. Parámetros: GraphVarName Nombre de la variable de visualización que contiene un SlEsGraphCustomWidget Return Value Valor leído de la propiedad (int)
Página 257
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget Ejemplo Ajustar la vista del SlEsGraphCustomWidget conectado mediante la variable de visualización "MyGraphVar". El resultado se escribe en el registro 0. REG[0] = CallCWMethod("MyGraphVar", "setView", -8, -5, 11- 20) Vista general Función Descripción setView Definir el sistema de coordenadas setMaxContourObjects Definir el número máximo de objetos de un contorno (búfer circular)
Página 258
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget setView: definir el sistema de coordenadas Sintaxis: ReturnValue = CallCWMethod(GraphVarName, "setView", x1, y1, x2, y2) Descripción: Con esta función se define el tamaño del sistema de coordenadas que se mostrará dentro del SlEsGraphCustomWidget. Ver al respecto también la propiedad Kee‐ pAspectRatio.
Página 259
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget setMaxContourObjects: definir el número máximo de objetos de un contorno (búfer circular) Sintaxis: ReturnValue = CallCWMethod(GraphVarName, "setMaxContourObjects", Value) ReturnValue = CallCWMethod(GraphVarName, "setMaxContourObjects", Value, ContourName) Descripción: Con esta función se define el tamaño del búfer circular de un contorno. Si el número de objetos agregados al contorno supera dicho límite, se borrará...
Página 260
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget Parámetros: GraphVarName Nombre de la variable de visualización que contiene un SlEsGraphCustomWidget Return Value Errorcode (bool): TRUE = correcto ContourName Nombre del contorno (QString). Si no se indica un contorno, la llamada se refiere auto‐ máticamente al contorno seleccionado actualmente.
Página 261
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget Parámetros: GraphVarName Nombre de la variable de visualización que contiene un SlEsGraphCustomWidget Return Value Errorcode (bool): TRUE = correcto ContourName Nombre del contorno (QString). Si no se indica un contorno, la llamada se refiere auto‐ máticamente al contorno seleccionado actualmente.
Página 262
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget findX: buscar en un contorno Sintaxis: ReturnValue = CallCWMethod(GraphVarName, "findX", x) ReturnValue = CallCWMethod(GraphVarName, "findX", x, ContourName) ReturnValue = CallCWMethod(GraphVarName, "findX", x, ContourName, SetCur‐ sor) Descripción: Con estas funciones puede buscar en un contorno un punto previamente definido con una determinada coordenada X.
Página 263
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget Figura 9-13 Ejemplo: PolylineMode: activado setIntegralFillMode: rellenar las superficies entre puntos, líneas y arcos y el eje X Sintaxis: ReturnValue = CallCWMethod(GraphVarName, "setIntegralFillMode", SetIntFill) Descripción: Las superficies entre puntos, líneas y arcos y el eje X se rellenan con el color de relleno seleccionado (independientemente de que los puntos sean +Y o –Y).
Página 264
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget Parámetros: GraphVarName Nombre de la variable de visualización que contiene un SlEsGraphCustomWidget Return Value Errorcode (bool): TRUE = correcto • update() La función actualiza la vista, a condición de que la actualización del widget no esté desactivada y el widget no esté...
Página 265
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget Parámetros: GraphVarName Nombre de la variable de visualización que contiene un SlEsGraphCustomWidget Return Value Errorcode (bool): TRUE = correcto Borde izquierdo (double) Borde izquierdo (double) Borde derecho (double) Borde inferior (double) addRoundedRect: agregar rectángulo con esquinas redondeadas a un contorno Sintaxis: ReturnValue = CallCWMethod(GraphVarName, "addRoundedRect", x1, y1, x2, y2, r)
Página 266
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget Parámetros: GraphVarName Nombre de la variable de visualización que contiene un SlEsGraphCustomWidget Return Value Errorcode (bool): TRUE = correcto Borde izquierdo (double) Borde superior (double) radio Radio (double) addArc: agregar arco a un contorno Sintaxis: ReturnValue = CallCWMethod(GraphVarName, "addArc", x1, y1, x2, y2, StartAn‐...
Página 267
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget setPenStyle: definir el estilo de dibujo Sintaxis: ReturnValue = CallCWMethod(GraphVarName, "setPenStyle") ReturnValue = CallCWMethod(GraphVarName, "setPenStyle", style) Descripción: Define el estilo de dibujo a partir de la llamada de la función para los objetos que se agreguen posteriormente al contorno seleccionado.
Página 268
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget Parámetros: GraphVarName Nombre de la variable de visualización que contiene un SlEsGraphCustomWidget Return Value Errorcode (bool): TRUE = correcto Coordenada x (double) Coordenada y (double) Nota Esta función actualiza la vista automáticamente. setCursorPositionY2Cursor: posicionar el cursor referido al segundo eje Y (derecha) Sintaxis: ReturnValue = CallCWMethod(GraphVarName, "setCursorPositionY2", x, y2) Descripción:...
Página 269
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget Ejemplo Figura 9-16 Ejemplo: setCursorOnContour moveCursorOnContourBegin: posicionar el cursor en el primer objeto gráfico de un contorno Sintaxis: ReturnValue = CallCWMethod(GraphVarName, "moveCursorOnContourBegin") ReturnValue = CallCWMethod(GraphVarName, "moveCursorOnContourBegin", ContourName) Descripción: Partiendo de la posición actual del cursor dentro de un contorno, esta función permite navegar con el cursor hasta el primer objeto de punto de un contorno.
Página 270
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget Nota Esta función actualiza la vista automáticamente. moveCursorOnContourNext: posicionar el cursor en el siguiente objeto gráfico de un contorno Sintaxis: ReturnValue = CallCWMethod(GraphVarName, "moveCursorOnContourNext") ReturnValue = CallCWMethod(GraphVarName, "moveCursorOnContourNext", ContourName) Descripción: Partiendo de la posición actual del cursor dentro de un contorno, esta función permite navegar con el cursor hasta el siguiente objeto de punto de un contorno.
Página 271
Elementos gráficos y lógicos 9.5 SlEsGraphCustomWidget serialize: guardar/restablecer el estado actual Sintaxis: ReturnValue = CallCWMethod(GraphVarName, "serialize", FilePath, IsStoring) Descripción: En caso necesario, esta función permite escribir el estado actual y el contenido del SlEsGraphWidget en formato binario en un fichero o DataStream, así como resta‐ blecerlo.
Página 273
Elementos gráficos y lógicos 9.6 SlEsTouchButton SlEsTouchButton 9.6.1 SlEsTouchButton Generalidades Run MyScreens permite crear fácilmente aplicaciones de distinto grado de funcionalidad. En especial facilita la configuración de botones de libre ubicación para manejo táctil (TouchButtons). La configuración de los TouchButtons debe cumplir lo siguiente: •...
Página 274
Elementos gráficos y lógicos 9.6 SlEsTouchButton //M(MyTBMask/"My CustomWidget TouchButton ...") WRITECWPROPERTY("MyTB1", "text", "This is my first TouchButton !!!") WRITECWPROPERTY("MyTB1", "textPressed", "This is my first TouchButton (pressed)!!!") WRITECWPROPERTY("MyTB1", "picture", "dsm_remove_trashcan_red.png") WRITECWPROPERTY("MyTB1", "pic- tureAlignment", "left") WRITECWPROPERTY("MyTB1", "scalePicture", FALSE) WRITECWPROPERTY("MyTB1", "picturePressed", "slsu_topology_empty_round_slot.png") WRITECWPRO- PERTY("MyTB1", "picture", "slsu_topology_empty_slot_left_error.png") END_LOAD Figura 9-18...
Página 275
Elementos gráficos y lógicos 9.6 SlEsTouchButton 9.6.3 Propiedades Vista general Propiedad Descripción ButtonStyle Estilo de representación del TouchButton Flat Representación plana o 3D Enabled Activar/desactivar manejo Checkable Activar/desactivar función de alternancia Checked El TouchButton está enclavado (checked) FocusRectVisible Mostrar recuadro de foco cuando el TouchButton tenga el foco de entrada Picture Imagen que se mostrará...
Página 276
Elementos gráficos y lógicos 9.6 SlEsTouchButton ButtonStyle: Estilo de representación Sintaxis: ReturnValue = ReadCWProperty(TouchButtonVarName, "ButtonStyle") WriteCWProperty(TouchButtonVarName, "ButtonStyle", Value) Descripción: Lee o ajusta el estilo de visualización del TouchButton. Parámetros: TouchButtonVarName Nombre de la variable de visualización que contiene un SlEsTouchButton Return Value Valor leído de la propiedad (int) Value...
Página 277
Elementos gráficos y lógicos 9.6 SlEsTouchButton Figura 9-21 Tipo de representación plana Figura 9-22 Tipo de representación 3D Enabled: Habilitación del TouchButton Sintaxis: ReturnValue = ReadCWProperty(TouchButtonVarName, "Enabled") WriteCWProperty(TouchButtonVarName, "Enabled", Value) Descripción: Lee o ajusta la habilitación (= TRUE) o deshabilitación (= FALSE) del manejo del TouchButton.
Página 278
Elementos gráficos y lógicos 9.6 SlEsTouchButton Nota Al hacer clic en un TouchButton deshabilitado, se envía la señal "clickedDisabled". La señal se puede evaluar y, p. ej., se puede emitir un mensaje para explicar por qué el TouchButton y la función asociada a él no están habilitados en ese momento.
Página 279
Elementos gráficos y lógicos 9.6 SlEsTouchButton Figura 9-25 Unchecked Figura 9-26 Checked Pueden mostrarse un texto y una imagen específicos para los dos estados. Nota Ver también la propiedad "Checkable". FocusRectVisible: Representación de un recuadro de foco Sintaxis: ReturnValue = ReadCWProperty(TouchButtonVarName, "FocusRectVisible") WriteCWProperty(TouchButtonVarName, "FocusRectVisible", Value) Descripción: Lee o ajusta si debe mostrarse un recuadro de foco en el TouchButton cuando...
Página 280
Elementos gráficos y lógicos 9.6 SlEsTouchButton Picture: Imagen visualizada Sintaxis: ReturnValue = ReadCWProperty(TouchButtonVarName, "Picture") WriteCWProperty(TouchButtonVarName, "Picture", Value) Descripción: Lee o ajusta la imagen que se mostrará cuando el TouchButton se encuentre en estado de reposo (no pulsado). Parámetros: TouchButtonVarName Nombre de la variable de visualización que contiene un SlEsTouchButton Return Value Valor leído de la propiedad (String)
Página 281
Elementos gráficos y lógicos 9.6 SlEsTouchButton PictureAlignment: Orientación de la imagen Sintaxis: ReturnValue = ReadCWProperty(TouchButtonVarName, "PictureAlignment") WriteCWProperty(TouchButtonVarName, "PictureAlignment", Value) Descripción: Lee o ajusta la orientación de la imagen visualizada en el TouchButton. Parámetros: TouchButtonVarName Nombre de la variable de visualización que contiene un SlEsTouchButton Return Value Valor leído de la propiedad (int)
Página 282
Elementos gráficos y lógicos 9.6 SlEsTouchButton ScalePicture: Escalar la imagen visualizada Sintaxis: ReturnValue = ReadCWProperty(TouchButtonVarName, "ScalePicture") WriteCWProperty(TouchButtonVarName, "ScalePicture", Value) Descripción: Lee o ajusta el escalado de la imagen visualizada en el TouchButton en función de la orientación. Parámetros: TouchButtonVarName Nombre de la variable de visualización que contiene un SlEsTouchButton Return Value Valor leído de la propiedad (bool)
Página 283
Elementos gráficos y lógicos 9.6 SlEsTouchButton Por requisitos del sistema, los saltos de línea solo pueden forzarse si el texto visualizado procede de un fichero de idioma. Nota Ver capítulo Textos dependientes del idioma (Página 298). TextPressed: Texto visualizado en estado pulsado Sintaxis: ReturnValue = ReadCWProperty(TouchButtonVarName, "TextPressed") WriteCWProperty(TouchButtonVarName, "TextPressed", Value)
Página 284
Elementos gráficos y lógicos 9.6 SlEsTouchButton Figura 9-28 TextAlignment: izquierda Figura 9-29 TextAlignment: derecha Figura 9-30 TextAlignment: arriba Figura 9-31 TextAlignment: abajo Figura 9-32 TextAlignment: centrado Nota Ver capítulo Posicionamiento y orientación de imagen y texto (Página 296). Ver también las propiedades "Text", "TextAlignmentString", "TextAlignedToPicture". TextAlignmentString: Orientación del texto Sintaxis: ReturnValue = ReadCWProperty(TouchButtonVarName, "TextAlignmentS‐...
Página 285
Elementos gráficos y lógicos 9.6 SlEsTouchButton Parámetros: TouchButtonVarName Nombre de la variable de visualización que contiene un SlEsTouchButton Return Value Valor leído de la propiedad (String) Value Valor que se desea ajustar (String): "Left" = izquierda "Right" = derecha "Top" = arriba "Bottom"...
Página 286
Elementos gráficos y lógicos 9.6 SlEsTouchButton Nota Esta propiedad solo está disponible con el estilo de representación "1 = específico del usuario" activado. BackColorChecked: Color de fondo en estado enclavado Sintaxis: ReturnValue = ReadCWProperty(TouchButtonVarName, "BackColorChecked") WriteCWProperty(TouchButtonVarName, " BackColorChecked", Value) Descripción: Lee o ajusta el color de fondo cuando el TouchButton se encuentra en estado enclavado (función de alternancia).
Página 287
Elementos gráficos y lógicos 9.6 SlEsTouchButton BackColorDisabled: Color de fondo en estado desactivado Sintaxis: ReturnValue = ReadCWProperty(TouchButtonVarName, "BackColorDisabled") WriteCWProperty(TouchButtonVarName, " BackColorDisabled", Value) Descripción: Lee o ajusta el color de fondo cuando el TouchButton se encuentra en estado desactivado. Parámetros: TouchButtonVarName Nombre de la variable de visualización que contiene un SlEsTouchButton Return Value Color leído de la propiedad (String)
Página 288
Elementos gráficos y lógicos 9.6 SlEsTouchButton Parámetros: TouchButtonVarName Nombre de la variable de visualización que contiene un SlEsTouchButton Return Value Color leído de la propiedad (String) Value Valor que se debe ajustar (String) como valor RGB en el formato "#RRGGBB", p.
Página 289
Elementos gráficos y lógicos 9.6 SlEsTouchButton Nota Esta propiedad solo está disponible con el estilo de representación "1 = específico del usuario" activado. Nota Ver también la propiedad "Enabled". BackgroundPicture: Imagen de fondo Sintaxis: ReturnValue = ReadCWProperty(TouchButtonVarName, "BackgroundPicture") WriteCWProperty(TouchButtonVarName, "BackgroundPicture", Value) Descripción: Lee o ajusta la imagen de fondo visualizada permanente, es decir, independiente del estado.
Página 290
Elementos gráficos y lógicos 9.6 SlEsTouchButton Parámetros: TouchButtonVarName Nombre de la variable de visualización que contiene un SlEsTouchButton Return Value Valor leído de la propiedad (int) Value Valor que se desea ajustar (int): 1 = izquierda 2 = derecha 32 = arriba 64 = abajo 128 = centrada (predeterminada) Nota...
Página 291
Elementos gráficos y lógicos 9.6 SlEsTouchButton ScaleBackgroundPicture: Escalar la imagen de fondo Sintaxis: ReturnValue = ReadCWProperty(TouchButtonVarName, "ScalePicture") WriteCWProperty(TouchButtonVarName, "ScalePicture", Value) Descripción: Lee o ajusta el escalado de la imagen visualizada en el TouchButton en función de la orientación. Parámetros: TouchButtonVarName Nombre de la variable de visualización que contiene un SlEsTouchButton Return Value Valor leído de la propiedad (bool)
Página 292
Elementos gráficos y lógicos 9.6 SlEsTouchButton El resultado se escribe en el registro 0. REG[0] = CallCWMethod("MyTouchButton", "setMargins", 20, 20, 20, 20, Vista general Función Descripción setMargins Ajuste de los márgenes serialize Guardar/restablecer el estado actual setMargins: Ajuste de los márgenes Sintaxis: ReturnValue = CallCWMethod(TouchButtonVarName, "setMargins", left, top, right, bottom, center)
Página 293
Elementos gráficos y lógicos 9.6 SlEsTouchButton Nota El personal de configuración no utiliza directamente esta función. 9.6.5 Señales Las señales que se describen a continuación pueden recogerse en la configuración para definir una respuesta adecuada. Vista general Función Descripción clickedDisabled Accionamiento de un TouchButton desactivado clicked Se ha efectuado un clic o un toque...
Página 294
Elementos gráficos y lógicos 9.6 SlEsTouchButton clicked: Clic en un TouchButton Sintaxis: SUB(on_<TouchButtonVarName>_clicked) … END_SUB Descripción: Una secuencia completa de pulsar y soltar un TouchButton habilitado da como resultado una señal "clicked". Se recomienda trabajar habitualmente con esta señal. Parámetros: TouchButtonVarName Nombre de la variable de visualización que contiene un SlEsTouchButton SIGARG[0]...
Página 295
Elementos gráficos y lógicos 9.6 SlEsTouchButton Parámetros: TouchButtonVarName Nombre de la variable de visualización que contiene un SlEsTouchButton SIGARG[0] Devuelve el estado de alternancia del TouchButton (bool) Ejemplo DEF MyTouchButton = (W///,"slesstdcw.SlEsTouchButton"/////70,20,200,100/0,0,0,0) SUB(on_MyTouchButton_clickedDisabled) DLGL("checkedDisabled: " << SIGARG[0]) END_SUB SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 296
Elementos gráficos y lógicos 9.6 SlEsTouchButton 9.6.6 Posicionamiento y orientación de imagen y texto Posicionamiento de imágenes Con la orientación (alignment) especificada se posiciona una imagen de la siguiente manera: • En el primer paso se determina la imagen adecuada para la resolución actual del directorio de resolución correspondiente.
Página 297
Elementos gráficos y lógicos 9.6 SlEsTouchButton La pantalla se representa entonces del modo siguiente: • Propiedad "scalePicture": FALSE La imagen se reproduce en el lugar indicado sin escalado. Hay que procurar que la imagen original no sea demasiado grande para que pueda visualizarse por completo dentro del TouchButton.
Página 298
Elementos gráficos y lógicos 9.6 SlEsTouchButton Posicionamiento del texto El texto se posiciona de la siguiente manera en función de la propiedad "textAlignedToPicture": • Propiedad "textAlignedToPicture": FALSE El texto se muestra centrado en vertical y horizontal en la MarginArea. Figura 9-39 textAlignedToPicture FALSE •...
Página 299
Elementos gráficos y lógicos 9.6 SlEsTouchButton //M(MyTBMask/"My CustomWidget TouchButton ...") DEF MyTB1 = (W///,"slesstdcw.SlEsTouchButton"/////70,20,200,100/0,0,0,0) WRITECWPROPERTY("MyTB1", "text", $85000) END_LOAD LANGUAGE WRITECWPROPERTY("MyTB1", "text", $85000) END_LANGUAGE En los textos se introducen automáticamente saltos de línea en los límites de palabras en el recuadro disponible. El salto de línea forzado solo es posible si el texto visualizado procede de un fichero de idioma.
Página 300
Elementos gráficos y lógicos 9.6 SlEsTouchButton SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 301
Activar campo de manejo "Custom" El campo de manejo "Custom" no está activado en el momento de la entrega. 1. Copie primero el fichero "slamconfig.ini" del directorio [Directorio Siemens del sistema]/cfg al [Directorio OEM del sistema]/cfg o, análogamente, al [Directorio de addon del sistema]/cfg o [Directorio de usuario del sistema]/cfg.
Página 302
Campo de manejo "Custom" 10.2 Procedimiento para configurar el pulsador de menú para "Custom" 10.2 Procedimiento para configurar el pulsador de menú para "Custom" Configurar el pulsador de menú para el campo de manejo "Custom" En el fichero "slamconfig.ini" se configuran el rótulo y la posición del pulsador de menú para el campo de manejo "Custom".
Página 303
Configurar el pulsador de menú para el campo de manejo "Custom" Para configurar el campo de manejo, necesita los ficheros "easyscreen.ini" y "custom.ini". En el directorio [Directorio Siemens del sistema]/templates/cfg se encuentran plantillas para ambos ficheros. 1. Copie primero los ficheros en el directorio [Directorio OEM del sistema]/cfg y realice allí las modificaciones.
Página 304
Campo de manejo "Custom" 10.4 Ejemplo de programación para el campo "Custom" 10.4 Ejemplo de programación para el campo "Custom" Ejemplo Figura 10-1 Ejemplo con el pulsador de menú "Start example" SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 305
Campo de manejo "Custom" 10.4 Ejemplo de programación para el campo "Custom" Figura 10-2 Ejemplo con mapa de bits y campos de texto Lista de ficheros Se necesitan los siguientes ficheros: • "custom.com" • "easyscreen.ini" Programación Contenido del fichero "custom.com": Nota El fichero gráfico "mcp.png"...
Página 306
Campo de manejo "Custom" 10.4 Ejemplo de programación para el campo "Custom" //END //M(Maske4/"Example: MCP"/"mcp.png") DEF byte=(I/0/0/"Input byte=0 (default)","Byte number:",""/wr1,li1///380,40,100/480,40,50) DEF Feed=(IBB//0/"","Feed override",""/wr1//"EB3"/20,180,100/130,180,100), Axistop=(B//0/"","Feed stop",""/wr1//"E2.2"/280,180,100/380,180,50/100) DEF Spin=(IBB//0/"","Spindle override",""/wr1//"EB0"/20,210,100/130,210,100), spinstop=(B// 0/"","Spindle stop",""/wr1//"E2.4"/280,210,100/380,210,50/100) DEF custom1=(IBB//0/""," User keys 1",""/wr1//"EB7.7"/20,240,100/130,240,100) DEF custom2=(IBB//0/"","User keys 2",""/wr1//"EB7.5"/20,270,100/130,270,100) DEF By1 DEF By2 DEF By3...
Página 307
Campo de manejo "Custom" 10.4 Ejemplo de programación para el campo "Custom" By7=7 END_LOAD PRESS(HS1) Byte.wr=2 END_PRESS CHANGE(Byte) By1=byte+1 By2=byte+2 By3=byte+3 By6=byte+6 By7=byte+7 Feed.VAR="EB"<<By3 Spin.VAR="EB"<<Byte Custom1.VAR="EB"<<By6 Custom2.VAR="EB"<<By7 Axisstop.VAR="E"<<By2<<".2" Spinstop.VAR="E"<<By2<<".4" Byte.wr=1 END_CHANGE CHANGE(Axis stop) IF Axistop==0 Axistop.BC=9 ELSE Axistop.BC=11 ENDIF END_CHANGE CHANGE(Spin stop) IF Spinstop==0 Spinstop.BC=9...
Página 308
Campo de manejo "Custom" 10.4 Ejemplo de programación para el campo "Custom" SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 309
Selección de diálogos 11.1 Selección de diálogos mediante pulsadores de menú de PLC Configuración Descripción del procedimiento: • En "systemconfiguration.ini" existe una sección [keyconfiguration]. La entrada especifica una acción para un pulsador de menú de PLC especial. • Se indica como acción un número que, si es mayor o igual que 100, se trata de una llamada de "Run MyScreens".
Página 310
Selección de diálogos 11.1 Selección de diálogos mediante pulsadores de menú de PLC La configuración de los comandos LM y LS, que deben ejecutarse al recibir los pulsadores de menú de PLC correspondientes, se realiza en el fichero "easyscreen.ini", concretamente en secciones cuyo nombre tiene el patrón siguiente: [areaname_dialogname] La primera parte del nombre, "areaname", designa el campo de...
Página 311
Selección de diálogos 11.1 Selección de diálogos mediante pulsadores de menú de PLC [AreaDiagnosis] 100=LM("MyMask","custom_masks.com") [AreaStartup] 100=LM("MyMask","custom_masks.com") [Custom] 100=LM("MyMask","custom_masks.com") Ejemplo 2 Tarea: Se debe seleccionar siempre primero el área "Parámetros" y, a continuación, solo se debe visualizar allí la máscara Run MyScreens. Solución: En "systemconfiguration.ini", agregue el área Parámetros al pulsador de menú...
Página 312
Selección de diálogos 11.1 Selección de diálogos mediante pulsadores de menú de PLC Procedimiento 1. Cree la llamada de ciclo Run MyScreens con hardkeys (Página 313) de PLC. 2. Para que la máscara Run MyScreens se integre correctamente en el editor de programas, debe ampliarse la configuración de teclas de PLC como se describe en el siguiente ejemplo: Ejemplo de una configuración completa de tecla: systemconfiguration.ini...
Página 313
Selección de diálogos 11.2 Selección de diálogos mediante hardkeys de PLC 11.2 Selección de diálogos mediante hardkeys de PLC Campo de aplicación Desde el PLC pueden iniciarse en el software de manejo las siguientes funciones: • Selección de campo de manejo •...
Página 314
Selección de diálogos 11.2 Selección de diálogos mediante hardkeys de PLC Las entradas del fichero de configuración "systemconfiguration.ini" pueden complementarse con ajustes específicos del usuario. Para ello están disponibles los directorios [Directorio de usuario del sistema]/cfg y [Directorio OEM del sistema]/cfg. Las líneas para la configuración de los eventos de hardkey tienen la siguiente estructura: KEYx.n = area:=area, dialog:=dialog, screen:=screen, forms:=form, menus:=menu,...
Página 315
KEY55.0 = name := AreaStartup, dialog := SlSuDialog KEY56.0 = name := Custom, dialog := SlEsCustomDialog El identificador del área y del cuadro de diálogo se indican en "systemconfiguration.ini" en [Directorio Siemens del sistema]/cfg. SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 316
Selección de diálogos 11.3 Selección de diálogos a través del CN 11.3 Selección de diálogos a través del CN Comando MMC en HMI Operate Los comandos MMC pueden utilizarse como se describe a continuación: 1. Definición de comandos MMC En el fichero estándar "systemconfiguration.ini" se encuentran las siguientes combinaciones: address:=MCYCLES -->...
Página 317
Ejemplos de máscaras de ciclo Al instalar SINUMERIK Operate se guardan también algunos ejemplos de máscaras de ciclo creadas con Run MyScreens. Encontrará los ejemplos de Run MyScreens en las siguientes rutas de almacenamiento: [Directorio Siemens del sistema] ...\siemens\sinumerik\hmi\template\easyscreen\ standard\ Pantallas de ayuda, PNG...
Página 318
Ejemplos de máscaras de ciclo 12.1 Ejemplos de máscaras de ciclo SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 319
La configuración de Run MyScreens se agrega a una página de Sidescreen incluida en el volumen de suministro de SIEMENS. Este caso coincide con el punto 2 hasta la página de Sidescreen afectada. 4. Agregar una o varias configuraciones de Run MyScreens a un elemento Sidescreen.
Página 320
Configuración en Sidescreen 13.1 Visualización de una configuración de Run MyScreens en una página de Sidescreen 13.1 Visualización de una configuración de Run MyScreens en una página de Sidescreen Para visualizar una configuración de Run MyScreens en una página (aparte) de Sidescreen, debe agregarse una nueva página de Sidescreen a la configuración de Sidescreen existente ("slsidescreen.ini").
Página 321
• El número de página (en este caso, "100") debe incrementarse en función de las páginas de Sidescreen existentes. El número de la página debe ser mayor o igual que 100. De este modo se evitan conflictos con las páginas de SIEMENS. • El nombre de la página (en este caso, "RMSPage") se puede elegir libremente.
Página 322
Configuración en Sidescreen 13.2 Visualización de varias configuraciones de Run MyScreens en una página de Sidescreen 13.2 Visualización de varias configuraciones de Run MyScreens en una página de Sidescreen Para visualizar varias configuraciones de Run MyScreens en una página (aparte) de Sidescreen, deben configurarse los llamados elementos Sidescreen, además de la página de Sidescreen.
Página 323
• El número de página (en este caso, "100") debe incrementarse en función de las páginas de Sidescreen existentes. El número de la página debe ser mayor o igual que 100. De este modo se evitan conflictos con las páginas de SIEMENS. • El nombre de la página (en este caso, "RMSPage") se puede elegir libremente.
Página 324
Agregar configuraciones de Run MyScreens a una página de Sidescreen Nota De las páginas de Sidescreen incluidas en el volumen de suministro de SIEMENS, solo puede ampliar WidgetsPage (ver fichero "slsidescreen.ini") con configuraciones de Run MyScreens. SINUMERIK Integrate Run MyScreens...
Página 325
• Para nuevos elementos, utilice números a partir del 100, inclusive. De este modo se evitan conflictos con los elementos de visualización de SIEMENS. RMSElement se inserta en WidgetsPage de acuerdo con esta numeración por debajo de los elementos SIEMENS.
Página 326
Configuración en Sidescreen 13.4 Agregar configuraciones de Run MyScreens a un elemento Sidescreen 13.4 Agregar configuraciones de Run MyScreens a un elemento Sidescreen En el procedimiento descrito a continuación a modo de ejemplo hay una página de Sidescreen con un elemento Sidescreen. En el elemento Sidescreen, se muestran dos configuraciones de Run MyScreens, una junto a la otra.
Página 327
Configuración en Sidescreen 13.4 Agregar configuraciones de Run MyScreens a un elemento Sidescreen • Si se utiliza la implementación SlSideScreenElement para el elemento Sidescreen (ver sección [Page_RMSPage]), el elemento Sidescreen tiene una línea de título en la que puede visualizarse un texto. Este texto se configura con las entradas TextId, TextFile y TextContext: –...
Página 328
Configuración en Sidescreen 13.5 Indicaciones sobre la ejecución de configuraciones de Run MyScreens en Sidescreen 13.5 Indicaciones sobre la ejecución de configuraciones de Run MyScreens en Sidescreen Tenga en cuenta las siguientes indicaciones: • Si se ejecutan las configuraciones de Run MyScreens en Sidescreen, las funciones LS, LM, DLGL, EXIT y EXITLS no están disponibles.
Página 329
Configuración en el Display Manager 14.1 Visualización de configuraciones de Run MyScreens en el Display Manager Dispone del cuadro de diálogo SlSideScreenDialog para visualizar configuraciones de Run MyScreens en el Display Manager: En este cuadro de diálogo pueden mostrarse una o varias páginas de Sidescreen, en función del espacio disponible (ver IM9, capítulo 3.13).
Página 330
Configuración en el Display Manager 14.2 Integración en SISideScreenDialog 14.2 Integración en SISideScreenDialog Para integrar la configuración de Run MyScreens, debe crearse la instancia de diálogo de SlSideScreenDialog en el fichero "systemconfiguration.ini" y crear el fichero para integrar la configuración de Run MyScreens. El siguiente ejemplo muestra cómo se integra una configuración de Run MyScreens.
Página 331
Configuración en el Display Manager 14.2 Integración en SISideScreenDialog 7. Finalmente puede ampliar la configuración estándar de Siemens "sldm_1920x1080.ini" del Display Manager con un MenuItem para llamar el diálogo "RMSApp". Adapte el fichero "sldm_1920x1080.ini" del siguiente modo: [menuitems] MENUITEM223= name:=miRMSApp, menuItemStyle:=misMenu, onClicked:="hidePopup();...
Página 332
Nota Para nuevos elementos, utilice números a partir del 100, inclusive. De este modo se evitan conflictos con los elementos de visualización de SIEMENS. RMSElement se inserta en WidgetsPage de acuerdo con esta numeración por debajo de los elementos SIEMENS.
Página 333
Configuración en el Display Manager 14.4 Indicaciones sobre la ejecución de configuraciones de Run MyScreens en el Display Manager 14.4 Indicaciones sobre la ejecución de configuraciones de Run MyScreens en el Display Manager Tenga en cuenta las siguientes indicaciones: • Si se ejecutan las configuraciones de Run MyScreens en el Display Manager, las funciones LS, LM, DLGL, EXIT y EXITLS no están disponibles.
Página 334
Configuración en el Display Manager 14.4 Indicaciones sobre la ejecución de configuraciones de Run MyScreens en el Display Manager SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 335
Listas de referencia Listas de los pulsadores de menú de inicio A.1.1 Lista de los pulsadores de menú de inicio para torneado Campo de manejo Programa para torneado HSK1 HSK2 HSK3 HSK4 HSK5 HSK6 HSK7 HSK8 Editar Taladrar Tornear Tornear con‐ Fresar Otros Simulación...
Página 336
Listas de referencia A.1 Listas de los pulsadores de menú de inicio VSK7 Posiciones Ranurar d/i Mat. rest. resto saliente VSK8 Repetir posi‐ >> << Fresado << >> << ción del contor‐ Pulsadores de menú de inicio de ShopTurn: Taladrar Tornear Tornear contorno Fresar...
Página 337
Listas de referencia A.1 Listas de los pulsadores de menú de inicio Fresado En las tablas siguientes se muestran los pulsadores de menú de inicio posibles para la tecnología de fresado. Las asignaciones de determinados pulsadores de menú de inicio pueden variar debido a las características del sistema.
Página 338
Listas de referencia A.2 Lista de los pulsadores de menú predefinidos Lista de los pulsadores de menú predefinidos Tabla A-1 Pulsadores de menú predefinidos Nombre Pulsador de menú SOFTKEY_OK SOFTKEY_CANCEL SOFTKEY_APPLY SOFTKEY_MORE SOFTKEY_BACK SOFTKEY_ASSISTANT_NEXT SOFTKEY_ASSISTANT_PREVIOUS SOFTKEY_NAV_BACK SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 339
A.3 Lista de los niveles de acceso Lista de los niveles de acceso Los diferentes niveles de acceso tienen el siguiente significado: Nivel de protec‐ Bloqueado por Área ción Reservado para Siemens Contraseña Fabricante de la máquina Contraseña Servicio técnico Contraseña Usuario Interruptor de llave posición 3...
Página 340
Listas de referencia A.4 Lista de los colores Lista de los colores Colores del sistema Para la configuración de diálogos se dispone de una tabla de colores unitaria (algunos de los colores estándar correspondientes). Para un elemento (texto, campo de entrada, fondo, etc.) se puede seleccionar uno de los siguientes colores, que pueden encontrarse entre 0 y 133.
Página 341
Listas de referencia A.4 Lista de los colores Índice Pictograma Cambiar Descripción del color Turquesa Color de fondo de un campo de alternancia Azul claro Color de fondo del cuadro de lista SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 342
Listas de referencia A.5 Lista de códigos de idioma en el nombre del fichero Lista de códigos de idioma en el nombre del fichero Idiomas admitidos Idiomas estándar: Idioma Abreviatura en el nombre del fichero Chino simplificado Alemán Inglés Francés Italiano Español Otros idiomas:...
Página 343
Listas de referencia A.6 Lista de las variables de sistema accesibles Lista de las variables de sistema accesibles Bibliografía Manual de listas Variables del sistema /PGAsl/ SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 344
Listas de referencia A.7 Comportamiento al abrir el diálogo Comportamiento al abrir el diálogo La siguiente tabla le da una vista general de las condiciones en las que se llama al método CHANGE. Condición Reacción Tipo Variable de sistema o Valor predetermi‐...
Página 345
Sugerencias y trucos Sugerencias generales • En la medida de lo posible, se utiliza la variante BTSS para variables de sistema (variables $). Motivo: Así se evita, en determinadas circunstancias, una laboriosa resolución del nombre. Ejemplo: En lugar de "$R[10]" se utiliza preferiblemente "/Channel/Parameter/R[u1,10]". •...
Página 346
Sugerencias y trucos B.1 Sugerencias generales • Deben reemplazarse varias funciones RNP() sucesivas por una función MRNP()-. Deben reemplazarse varias funciones RDOP() sucesivas por una función MRDOP(). Motivo: Reducción de la carga de comunicación y aumento del rendimiento. • Los parámetros de accionamiento no deben leerse en ciclos de menos de 1 segundo, es mejor que se lean más despacio.
Página 347
Sugerencias y trucos B.2 Consejos para la depuración Consejos para la depuración • La función DEBUG() debe utilizarse para el diagnóstico. Al llamar a la función DEBUG() se escribe en "easyscreen_log.txt" el string transferido. La salida de información en la línea de diálogo a través de la función DLGL() también puede ser útil.
Página 348
Sugerencias y trucos B.3 Consejos para el método CHANGE Consejos para el método CHANGE • Los métodos CHANGE deben mantenerse siempre muy breves, en especial aquellos con variables ligadas a una variable de sistema o de usuario que se modifica a alta frecuencia. Motivo: Aumento del rendimiento de la máscara.
Página 349
Sugerencias y trucos B.3 Consejos para el método CHANGE • La frecuencia de actualización —y, con ella, la ejecución del método CHANGE correspondiente de variables ligadas a variables de sistema o de usuario con cambio de valor de alta frecuencia— puede disminuirse utilizando la propiedad de variables UR, p. ej. la variable que está...
Página 350
Sugerencias y trucos B.4 Consejos sobre bucles DO-LOOP Consejos sobre bucles DO-LOOP Puesto que los bucles pueden afectar al rendimiento de SINUMERIK Operate en función de la configuración, deben aplicarse con prudencia y debe prescindirse, en la medida de lo posible, de acciones que requieran mucho tiempo.
Página 351
Elementos animados Introducción Introducción El manual describe el trabajo con el visor de X3D, el cual permite integrar escenas gráficas (elementos animados) con o sin movimiento –en lo sucesivo denominadas pantallas de ayuda– en la interfaz gráfica de SINUMERIK Operate a partir de la versión V4.7 SP1. Existe la posibilidad de representar secuencias de movimiento y parámetros concretos en pantallas de ayuda contextual.
Página 352
Elementos animados C.1 Introducción Formato de fichero Descripción .fxw Fichero de gráficos de Vivaty Studio .x3d Fichero modelo en formato de intercambio .xml Fichero de definición para animaciones y escenas .hmi Fichero de salida para el visor de X3D SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 353
Elementos animados C.2 Modelado Modelado C.2.1 Requisitos El objetivo del modelado es crear un fichero con los modelos 3D generados en el formato .x3d, un estándar oficial para contenidos en 3D. El modelado se realiza en Vivaty Studio. Vivaty Studio es una herramienta de modelado 3D de libre disposición con múltiples posibilidades de exportación e importación.
Página 354
Elementos animados C.2 Modelado 6. Para crear un fichero .x3d debe realizar el siguiente ajuste en el diálogo "Export Options": Figura C-2 Ajustes en el diálogo Export Options 7. Para textos se recomiendan los siguientes ajustes (ver también el diálogo a continuación): –...
Página 355
Elementos animados C.2 Modelado 8. Para crear un sombreado utilice el fichero schnitt.png como textura. Las líneas siempre van de abajo arriba y de izquierda a derecha en un ángulo de 45°. Se recomienda ajustar el escalado a 3 en ambas dimensiones. La rotación depende del tipo de diseño y debe adaptarse manualmente.
Página 356
Elementos animados C.2 Modelado El comando de menú Create -> Create Inline permite insertar el objeto. El nombre de fichero se indica a continuación en las propiedades del objeto. Figura C-5 Importación mediante el objeto "Inline" SINUMERIK Integrate Run MyScreens Manual de programación, 07/2022, A5E50479473E AC...
Página 357
Elementos animados C.2 Modelado Importación de datos modelo 3D Para importar datos modelo desde un fichero, proceda del siguiente modo. 1. Abra el diálogo "Flux Studio Accutrans3D Translation Utility" a través del comando de menú File -> Import Other Format. 2.
Página 358
Elementos animados C.2 Modelado Plantilla Descripción rapid_traverse_line_vert.fxw Línea vertical para ilustrar el recorrido de desplaza‐ miento de la herramienta en rápido feed_traverse_line_hori.fxw Línea horizontal para ilustrar la trayectoria de la herramienta en avance feed_traverse_line_vert.fxw Línea vertical para ilustrar la trayectoria de la he‐ rramienta en avance dimensioning_lines_hori.fxw Líneas auxiliares de dimensión horizontales...
Página 359
Elementos animados C.3 Comandos XML Comandos XML C.3.1 Vista general Para que el visor de X3D pueda acceder a los gráficos se necesita el fichero de descripción de escenas (*.xml). En el fichero de descripción de escenas se asignan los nombres de escena que se llaman desde la configuración a los tiempos del fichero *.x3d (TimeSensor) en los que se encuentran los gráficos.
Página 360
Elementos animados C.3 Comandos XML <!-- Adaptar la velocidad de la herramienta --> <ToolSpeedFactors planeSpeedFactor="0.4" rapidSpeedFactor="0.7" reducedSpeedFac¬tor="1.0"/> Descripción <ToolSpeedFactors Si es necesario modificar las velocidades de la herramienta, puede agregarse esta entrada. planeSpeedFactor="0.4" Factor para la velocidad de avance (0.4 = 40%) rapidSpeedFactor="0.7"...
Página 361
Elementos animados C.3 Comandos XML Descripción <Element name='1' Indica que se trata del primer elemento de la animación. time='0.110' Instante del primer elemento en el TimeSensor feed='rapid' Velocidad de desplazamiento del elemento plane = avance de mecanizado rapid = rápido reduced = velocidad reducida, más lento que "plane"...
Página 362
Elementos animados C.3 Comandos XML Descripción <SceneKeyname=’Z1abs' Nombre de la imagen time='0,066' Instante de la pantalla en el TimeSensor view='camside' Cámara que se utiliza para la pantalla type="VIEW_SIDE" El tipo de vista determina la vista (ver capítu‐ lo Tipo de vista (Página 363)) highLightedGroup='dad_Z1abs'/>...
Página 363
Elementos animados C.3 Comandos XML Ejemplos mirror="RotatePieceZ=180” mirror="RotatePieceZ=-90 MirrorScreenX" mirror="RotateScreenY=90" mirror="MirrorPieceX MirrorPieceY” mirror="MirrorPieceZ RotatePieceX=-90” C.3.4 Tipo de vista Con el tipo de vista se determinan las vistas. Las vistas se basan en valores empíricos y reglas que permiten representar convenientemente los objetos. De esta forma se garantiza que los objetos se representen de acuerdo con los ajustes del sistema de coordenadas de la interfaz de usuario (MD 52000 $MCS_DISP_COORDINATE_SYSTEM o bien MD 52001 $MCS_DISP_COORDINATE_SYSTEM_2).
Página 364
Elementos animados C.4 Conversión a fichero hmi Conversión a fichero hmi Nota Los ficheros X3D, junto con los correspondientes ficheros XML, se convierten en ficheros HMI durante el arranque del HMI. Para cada fichero X3D debe crearse el fichero XML correspondiente con el mismo nombre. Para ello es necesario guardar los ficheros X3D y los ficheros XML en el directorio de la ruta de búsqueda de HMI\ico\x3d\turning o milling.
Página 365
Elementos animados C.5 Visualización en Create MyHMI/3GL Visualización en Create MyHMI/3GL C.5.1 Visor de X3D Para representar pantallas de ayuda concretas en una aplicación OA propia se debe integrar el widget del visor de X3D en dicha aplicación OA. El widget del visor de X3D ofrece interfaces que permiten presentar contenidos en X3D dentro del HMI.
Página 366
Elementos animados C.5 Visualización en Create MyHMI/3GL C.5.4 Slots públicos void viewSceneSlot ( const QString& rsFileName, const QString& rsScene, const QString& rsAnimationScene, int nChannel, int nPlane, SlStepTechnology nTechnology ) Con el método viewSceneSlot se le indica al visor de X3D que debe cargar la escena estática rsScene y la escena animada rsAnimationSzene del fichero rsFileName y representarlas intercaladas.
Página 367
Elementos animados C.5 Visualización en Create MyHMI/3GL C.5.5 Librerías Para poder utilizar el visor de X3D en proyectos propios es necesario agregar la entrada 'slx3dviewer.lib' a la lista de dependencias de librerías. C.5.6 Ejemplo de implementación Encontrará un ejemplo de implementación en el paquete Create MyHMI/3GL, en \examples \GUIFrameWork\SlExGuiX3D.
Página 368
Elementos animados C.6 Visualización en Run MyScreens Visualización en Run MyScreens Este capítulo se dirige a desarrolladores de "Run MyScreens" expertos. Los conocimientos básicos necesarios pueden consultarse en la documentación correspondiente. Además del uso de pantallas en los formatos .bmp o .png, el visor de X3D también permite representar pantallas de ayuda animadas.
Página 369
Elemento de diálogo, 70 códigos de idioma, 342 ELLIPSE (definición de círculo), 216 Alcance estándar, 10 ELLIPSE (definición de elipse), 216 Aplicación "Siemens Industry Online Support", 15 Enviar feedback, 13 Árbol de manejo, 45 Estado de las variables, 103 Atributos, 97...