Instalación y actualización > Actualización de ThingWorx Apps > Actualización de ThingWorx Apps 8.5.2 a 9.1.0
Actualización de ThingWorx Apps 8.5.2 a 9.1.0
Para actualizar de ThingWorx Apps 8.5.2 a ThingWorx Apps 9.1.0, siga los pasos de las secciones que se indican a continuación:
Antes de empezar el proceso de actualización
Antes de comenzar con la actualización, revise la información siguiente:
Requisitos del sistema ThingWorx 9.1. Para obtener más información, consulte Requisitos del sistema 9.1 en el Centro de ayuda de ThingWorx.
Actualización de ThingWorx en el Centro de ayuda de ThingWorx.
Las personalizaciones de ThingWorx Apps se ven afectadas por el proceso de actualización. Para obtener más información, consulte Actualización y personalizaciones.
Antes de actualizar ThingWorx
Complete los pasos siguientes antes de actualizar ThingWorx a la versión 9.1:
1. Si ha personalizado alguna tabla de localización, exporte las tablas de localización personalizadas antes de realizar la actualización. Las tablas de localización se sobrescriben durante una actualización. Las tablas de localización exportadas se pueden importar una vez completada la actualización para conservar las modificaciones.
2. Si se utiliza la funcionalidad de Operator Advisor, revise la siguiente información. De lo contrario, continúe en Actualización de ThingWorx.
Antes de la versión 9.1, una definición de trabajo se podría vincular a una orden de trabajo mediante el campo WorkDefinitionUID de la orden de trabajo. No había restricciones para vincular una definición de trabajo individual a varias órdenes de trabajo. Con la versión 9.1, una definición de trabajo individual solo se puede vincular a una orden de trabajo.
Si ha utilizado el campo WorkDefinitionUID para vincular definiciones de trabajo a órdenes de trabajo, consulte la base de datos para buscar todas las órdenes de trabajo con un valor de WorkDefinitionUID que se utilice más de una vez. Aunque no es obligatorio resolver estos duplicados antes de la actualización, su resolución ahora permite determinar qué orden de trabajo desea que conserve ese valor de WorkDefinitionUID. El servicio de migración migrará la primera orden de trabajo con el valor de WorkDefinitionUID que encuentre. Se deben resolver otras órdenes de trabajo con el mismo valor de WorkDefinitionUID antes de que se puedan migrar. No hay forma de controlar qué orden de trabajo encontrará primero el servicio de migración.
Complete los pasos siguientes:
a. Ejecute la siguiente consulta en la base de datos:
SELECT *
FROM joborder t1
WHERE EXISTS (SELECT workdefinitionuid
FROM joborder t2
WHERE t1.workdefinitionuid = t2.workdefinitionuid
GROUP BY workdefinitionuid
HAVING COUNT(1)>1)
los resultados de la consulta muestran todas las órdenes de trabajo con un valor de WorkDefinitionUID que se utiliza más de una vez.
b. Resuelva los valores de WorkDefinitionUID duplicados según corresponda. Por ejemplo, se puede realizar lo siguiente:
Actualice las órdenes de trabajo para cada referencia a un valor de WorkDefinitionUID diferente. Utilice el servicio UpdateJobOrder disponible desde el administrador de órdenes de producción por defecto (PTC.SCA.SCO.DefaultProductionOrderManager).
Borre las órdenes de trabajo con valores de WorkDefinitionUID duplicados, para que solo se mantenga uno. Utilice el servicio DeleteJobOrder disponible desde el administrador de órdenes de producción por defecto (PTC.SCA.SCO.DefaultProductionOrderManager).
* 
Después de actualizar a la versión 9.1, se proporciona un servicio que permite definir los valores de WorkDefinitionUID en las órdenes de trabajo no migradas en null.
Si se conservan valores de WorkDefinitionUID duplicados, los servicios de migración migrarán la primera orden de trabajo que encuentren con ese valor de WorkDefinitionUID y notificarán los duplicados como no válidos. Estas órdenes de trabajo no válidas se deben limpiar en ese momento.
Actualización de ThingWorx
Complete los pasos siguientes:
1. Actualice la instalación de ThingWorx. Para obtener más información, consulte Actualización de ThingWorx en el Centro de ayuda de ThingWorx.
2. Reinicie el servidor de ThingWorx.
Actualización de ThingWorx Apps
Complete los pasos siguientes para actualizar ThingWorx Apps a la versión 9.1:
1. Asegúrese de que ha iniciado sesión como el usuario administrador. Si se utiliza un usuario diferente del grupo de usuarios administrador para realizar la actualización, se producirán fallos de importación.
2. Importe los ficheros de extensión de ThingWorx Apps. Los datos y las conexiones se conservan de forma automática.
a. Descargue y descomprima el contenido del siguiente fichero: ThingWorx-Apps-<versión>-extension-bundle
Para localizar la descarga, vaya a la página Descargas de software de PTC y expanda las carpetas siguientes: ThingWorx Foundation > Release 9.1 > ThingWorx Manufacturing & Service Apps Extension.
b. Importe los ficheros de extensión de ThingWorx Apps. Los ficheros de extensión deben importarse en el orden siguiente:
a. ThingWorx-Apps-<versión>-extension-dependencies
b. ThingWorx-Apps-<versión>-extension
Procedimiento para importar los ficheros de extensión:
a. En ThingWorx Composer, vaya a Importar/Exportar > Importar.
b. En la ventana Importar, seleccione Extensión en la lista Opciones de importación.
c. En Nombre de fichero, pulse en Inspeccionar. Navegue a la ubicación del fichero de extensión y selecciónelo.
d. Pulse en Importar. Cuando finalice la importación, pulse en Cerrar.
e. Repita el procedimiento si es necesario.
c. Vea las extensiones tras la importación; para ello, vaya a Gestionar > Extensiones.
3. Importe cualquier extensión opcional. Las extensiones opcionales se descargan de la página Descarga de software de PTC y se importan de la misma manera en que se importaron las extensiones de ThingWorx Apps.
Las siguientes extensiones opcionales están disponibles para la importación junto con ThingWorx Apps:
ThingWorx-Asset-Remoting-<versión>-extension está disponible para la descarga en ThingWorx Foundation > Release 9.1 > ThingWorx Manufacturing & Service Apps Extension. Permite utilizar las funciones de Remote Access and Control en Asset Advisor. Para obtener más información, consulte Remote Access and Control.
La extensión opcional ThingWorx-Rockwell-FT-MES-8-5-0-Extension-Bundle se puede descargar desde ThingWorx Foundation > Release 8.5 > ThingWorx Rockwell FactoryTalk MES Extension. Esta extensión 8.5.0 se soporta con ThingWorx Apps 9.1. Si esta extensión ya se encuentra en el sistema 9.0.0, no es necesario volver a importar después de actualizar a 9.1. Para obtener más información, consulte Integración de ThingWorx Rockwell FactoryTalk MES.
Las siguientes extensiones opcionales están disponibles para importarlas junto con ThingWorx Apps, pero no se pueden importar hasta después de que se haya reiniciado el servidor de ThingWorx:
ThingWorx-Apps-<versión>-extension-factory-demo está disponible para la descarga en ThingWorx Foundation > Release 9.1 > ThingWorx Manufacturing & Service Apps Extension. Proporciona una implementación de ejemplo para las actividades de planificación de fabricación. Esta extensión no está diseñada para su uso en un entorno de producción. Para obtener más información, consulte Implementación de ejemplo de planificación de fabricación.
La extensión opcional ThingWorx-Utilities-Software-Content-Management-<versión> se puede descargar desde ThingWorx Foundation > Release 9.1 > ThingWorx Utilities > Most Recent Datecode. Para obtener más información, consulte Software Content Management.
* 
El paquete de extensión ThingWorx Utilities Core (ThingWorx-Utilities-Core-<versión>) es un requisito previo para la extensión ThingWorx Software Content Management y debe importarse antes. Si aún no ha importado el paquete de extensión ThingWorx Utilities Core, hágalo antes de importar la extensión ThingWorx Software Content Management. Para obtener más información, consulte Instalación de ThingWorx Utilities en el Centro de ayuda de ThingWorx Utilities.
4. Reinicie el servidor de ThingWorx.
5. Para actualizar ThingWorx Remote Access Extension (RAE) que se encuentra en ThingWorx, importe la versión soportada para la versión 9.1.0. Para obtener más información, consulte Matrices de soporte para ThingWorx Remote Access Extension y Remote Access Client en el Centro de ayuda de ThingWorx.
6. Reinicie el servidor de ThingWorx.
7. Borre la caché del explorador.
8. Complete las configuraciones de base de datos posteriores a la importación.
a. Vaya a la cosa de base de datos correspondiente a su base de datos: PTC.SCA.SCO.PostgresDatabase o PTC.SCA.SCO.MSSQLDatabase.
b. En Configuración, ajuste los parámetros de Configuración de JDBC según la base de datos, incluidos los campos Cadena de conexión JDBC, Nombre de usuario de base de datos y Contraseña de base de datos. Si utiliza la misma base de datos que se usa para ThingWorx Platform, use los mismos valores para esos tres campos que los especificados en el fichero platform-settings.json.
* 
Antes de configurar la cosa de base de datos, asegúrese de que los controladores de JDBC necesarios estén en ThingWorx. ThingWorx puede utilizar los controladores de JDBC para conectarse a cualquier base de datos compatible con JDBC (como SQL Server, MySQL, etc.). También se puede utilizar ThingWorx Edge MicroServer y el host/recurso de ThingWorx con OLEDB y ODBC si la base de datos se encuentra detrás de una barrera de seguridad. Si no existe ninguna extensión de JDBC para la base de datos en ThingWorx, se puede añadir manualmente el controlador de JDBC descargándolo y añadiendo los ficheros en la ubicación siguiente: /<carpeta Tomcat>/webapps/Thingworx/WEB-INF/lib. Una vez copiado el controlador, es necesario reiniciar el servidor de ThingWorx.
c. Pulse en Guardar para guardar la cosa de la base de datos.
d. Navegue a la cosa PTC.Factory.C_LaunchPointConfigurationThing_[versión].
e. En Configuración, en la sección DatabaseConfigurationSettings, edite el campo DBConnection para que apunte a la cosa de base de datos configurada en el paso 2.
f. Pulse en Guardar para guardar la cosa de configuración del punto de inicio.
9. Migre sus datos.
a. En ThingWorx Composer, abra la cosa PTC.SCA.SCO.OAMigrator.
b. En Servicios, ejecute el servicio MigrateFrom_8_5_2_To_9_1_0.
La salida del servicio es una infotable que muestra cualquier orden de trabajo con definiciones de trabajo vinculadas que no se han podido migrar. Antes de la versión 9.1, una definición de trabajo se podría vincular a más de una orden de trabajo mediante el campo WorkDefinitionUID de la orden de trabajo. Con la versión 9.1, una definición de trabajo individual solo se puede vincular a una orden de trabajo mediante un vínculo de la orden de trabajo a la definición de trabajo (PTC.SCA.SCO.JobOrderWorkDefinitionLink). El servicio de migración crea un vínculo de la orden de trabajo a la definición de trabajo para la primera instancia de WorkDefintionUID que encuentra en una orden de trabajo. Si el servicio encuentra el mismo valor de WorkDefinitionUID de nuevo, la relación se registra en la salida del servicio MigrateFrom_8_5_2_To_9_1_0 como una relación no válida que no se ha podido migrar.
Si el infotable de la salida del servicio MigrateFrom_8_5_2_To_9_1_0 está vacío y muestra No hay datos, vaya al paso 10.
c. Limpie las relaciones de la orden de trabajo a la definición de trabajo no migradas mediante uno de los siguientes métodos:
Borre la orden de trabajo no migrada con el servicio DeleteJobOrder en el administrador de órdenes de producción por defecto (PTC.SCA.SCO.DefaultProductionOrderManager).
Actualice el campo WorkDefinitionUID mediante el servicio UpdateJobOrderWorkDefinitionRelationships de la cosa PTC.SCA.SCO.OAMigrator.
Para utilizar el servicio UpdateJobOrderWorkDefinitionRelationships, añada una fila al infotable de parámetros de entrada JobOrders para cada orden de trabajo que deba actualizarse. Especifique los siguientes campos:
UID: permite introducir el UID de la orden de trabajo que se debe actualizar.
WorkDefinitionUID: permite introducir el UID de una definición de trabajo que aún no está vinculada a una orden de trabajo, o bien dejar este campo en blanco para cambiar el valor de WorkDefinitionUID a nulo.
Todos los demás campos pueden dejarse en blanco.
Ejecute el servicio UpdateJobOrderWorkDefinitionRelationships. En la salida del servicio se muestran las órdenes de trabajo actualizadas.
* 
Permite abrir una segunda sesión de ThingWorx Composer en otra ficha o ventana del explorador, de modo que se pueda ejecutar y ver el servicio UpdateJobOrderWorkDefinitionRelationships y el servicio MigrateFrom_8_5_2_To_9_1_0 a la vez. Esto permite hacer referencia más fácilmente a la salida del servicio MigrateFrom_8_5_2_To_9_1_0 para que los UID de órdenes de trabajo la utilicen en la entrada del servicio UpdateJobOrderWorkDefinitionRelationships. Se pueden ejecutar ambos servicios varias veces, según sea necesario.
d. Repita la ejecución del servicio MigrateFrom_8_5_2_To_9_1_0 y utilice el servicio UpdateJobOrderWorkDefinitionRelationships para limpiar las órdenes de trabajo no migradas, hasta que la salida del servicio MigrateFrom_8_5_2_To_9_1_0 sea un infotable que muestre No hay datos. Esto indica que todas las órdenes de trabajo se han migrado correctamente y no se necesita ninguna limpieza adicional. Si se vuelve a ejecutar el servicio después de este momento se verán errores, ya que no hay más datos que migrar.
10. Si e dispone de un equipo con propiedades enlazadas a etiquetas de KEPServerEX que utilizan la implementación anterior de enlace local a local y se desea aprovechar la nueva implementación de enlace remoto, complete los siguientes pasos. Esto actualiza los enlaces de propiedad para utilizar la nueva implementación de enlace remoto en todos los equipos para los que se realizan estos pasos.
Para obtener más información sobre el cambio de implementación de las propiedades de enlace a etiquetas de KEPServerEX, consulte las Notas de la versión de ThingWorx Apps 9.0.0.
a. Asegúrese de que cualquier equipo que tenga propiedades enlazadas a etiquetas de KEPServerEX implementa el IndustrialThingShape, ya sea directamente en la propia cosa de equipo, en la plantilla de cosa para el tipo de equipo o en una plantilla de cosa heredada por el tipo de equipo. Una vez que el IndustrialThingShape se añade a una cosa o a una plantilla de cosa, no se puede quitar. El equipo que implementa el IndustrialThingShape puede enlazar propiedades solo a etiquetas de KEPServerEX de forma remota.
Antes de añadir el IndustrialThingShape a la plantilla de cosa para un tipo de equipo, se debe tener en cuenta si todos los equipos de ese tipo enlazan las propiedades con las etiquetas de KEPServerEX. Si es así, se puede añadir IndustrialThingShape a la plantilla de cosa. Si algún equipo debe enlazar propiedades de forma remota a un origen de datos que no es de KEPServerEX, como a los dispositivos de Edge MicroServer (EMS), considere la posibilidad de crear un tipo de equipo independiente para utilizarlo en dicho equipo, o bien añada IndustrialThingShape solo a las cosas de equipo individuales que enlazan propiedades a las etiquetas de KEPServerEX.
Actualice las cosas o plantillas de cosa de equipo adecuadas para implementar la definición de cosa.
* 
El equipo que utiliza el tipo de equipo Activo proporcionado por PTC solo debe tener el IndustrialThingShape añadido si el equipo no necesita enlazar propiedades a dispositivos de Edge MicroServer (EMS). Para obtener más información, consulte Conexión de activos con Edge MicroServer (EMS).
b. Asegúrese de que las plantillas de cosa de los tipos de equipo personalizados que tienen propiedades enlazadas a las etiquetas de KEPServerEX heredan una de las siguientes plantillas de cosa: RemoteThing, RemoteThingWithFileTransfer, RemoteThingWithTunnels o RemoteThingWithTunnelsAndFileTransfer. Para obtener más información, consulte Creación de plantillas de cosa personalizadas para tipos de equipos.
c. En ThingWorx Composer, abra la cosa PTC.SCA.SCO.MigrationUtility.
d. En Servicios, ejecute el servicio MigrateLocalKepServerBindingsToRemoteBindings. Este servicio migra los enlaces de propiedad local a local de las cosas de equipo a los enlaces de propiedad remota de todos los equipos de los tipos de equipo especificados que implementan IndustrialThingShape. Las propiedades que heredan las cosas de equipo de plantillas de cosa o de definiciones de cosa, que están enlazadas localmente a etiquetas de KEPServerEX de las plantillas de cosa o definiciones de cosa, siguen estando enlazadas localmente y el servicio de migración no las impacta. Las expresiones de estado, las tendencias y las alertas que utilizan etiquetas de KEPServerEX siguen estando enlazadas localmente y no se ven afectadas por el servicio de migración.
En la tabla de entrada equipmentType del servicio, añada cada tipo de equipo para el que desea migrar los enlaces de propiedad. El valor introducido debe coincidir con el valor de EquipmentType para el tipo de equipo tal como aparece en la tabla de configuración EquipmentTypeSettings de la cosa PTC.Factory.C_LaunchPointConfigurationThing_[versión]. El campo opcional overrideKepServerThingName de cada tipo de equipo reemplaza la conexión de KEPServerEX que se utiliza para las propiedades enlazadas.
Tenga en cuenta las siguientes directrices para definir el campo overrideKepServerThingName de un tipo de equipo:
Si se utiliza una única conexión de KEPServerEX para todos los equipos de un tipo de equipo, deje el campo overrideKepServerThingName en blanco.
Si hay varias conexiones de KEPServerEX, pero cada equipo tiene propiedades enlazadas solo a una única conexión de KEPServerEX, deje el campo overrideKepServerThingName en blanco.
Si hay varias conexiones de KEPServerEX y el equipo tiene propiedades enlazadas a más de una conexión de KEPServerEX, determine la conexión de KEPServerEX a la que desea enlazar el equipo de cada tipo de equipo. Seleccione el nombre de esa conexión de KEPServerEX en el campo overrideKepServerThingName. Un equipo puede tener propiedades enlazadas a etiquetas solo en una conexión de KEPServerEX. Asegúrese de que las etiquetas de las otras conexiones de KEPServerEX estén presentes en la conexión de KEPServerEX elegida.
El servicio se ha completado correctamente cuando se muestra "No hay resultados" en el panel de salida del servicio.
11. Prepare la adición de claves externas a la base de datos buscando y limpiando los datos incorrectos. Los datos incorrectos son datos existentes que infringirían la integridad referencial una vez que se hayan añadido claves externas a la base de datos.
a. En ThingWorx Composer, abra la cosa PTC.SCA.SCO.DatabaseManager.
b. En Servicios, ejecute el servicio ForeignKeyDataIntegrityReport. La salida de este servicio es una infotable que enumera cada nombre de definición de datos y campo de referencia que se debe tratar.
Si no se encuentran datos incorrectos, la salida del servicio está vacía. Continúe con el paso 12.
c. Ejecute el servicio GetFailedDataForForeignKey y proporcione como entrada una definición de datos y un campo de referencia devueltos por el servicio ForeignKeyDataIntegrityReport. La salida de este servicio es una infotable en la que se enumeran hasta 500 registros de la base de datos con datos incorrectos.
d. Trate cada instancia de datos incorrecta como corresponda a su sistema: borre el registro, defina el valor del campo de referencia en nulo (si está permitido) o actualice el registro de modo que el campo de referencia tenga un valor válido para la clave externa.
* 
Para administradores avanzados de bases de datos, el servicio GetDataShapeSqlQuery de la cosa PTC.SCA.SCO.DatabaseManager devuelve una consulta SQL que se puede utilizar en consultas de base de datos directas.
e. Repita los pasos c y d hasta que no se encuentren datos incorrectos.
12. Añada claves externas a la base de datos.
a. En ThingWorx Composer, abra la cosa PTC.SCA.SCO.OAMigrator.
b. En Servicios, ejecute los siguientes servicios, en el orden enumerado:
MigrateDropIndexes
MigrateAddForeignKeys
MigrateAddIndexs
Cada servicio se habrá completado correctamente cuando se muestra "No hay resultados" en el panel de salida del servicio.
13. El proceso de asignación de atributos de Windchill a las propiedades de Operator Advisor para la conversión de planes de proceso ha cambiado. Si había sustituir el servicio TranslateODataBOPToWDJson para especificar la asignación de atributos de Windchill personalizados en ThingWorx Apps 8.5.2, esas asignaciones se deben volver a realizar después de actualizar a ThingWorx Apps 9.1, siguiendo el nuevo proceso de asignación. Para obtener más información, consulte Soporte de atributos personalizados de Windchill.
14. La cosa del conector OData de MPMLink (PTC.SCA.SCO.MPMLink_ODataConnector) se ha actualizado. Ya no es necesario crear una cosa duplicada en la que realizar las configuraciones, a menos que se personalice el conector.
Si se utiliza Operator Advisor para convertir los planes de proceso de Windchill MPMLink y no se personaliza el conector, configure y utilice la cosa del conector OData de MPMLink que se proporciona con ThingWorx Apps 9.1, en lugar de conservar un duplicado configurado de una versión anterior.
Si se utiliza Operator Advisor para convertir planes de proceso de Windchill MPMLink y se utiliza un duplicado de la cosa del conector OData de MPMLink para personalizar el conector, se debe crear un nuevo duplicado de la cosa para las configuraciones después de actualizar a 9.1.
Para obtener más información, consulte Configuración del conector OData de MPMLink.
15. Si ha añadido tipos de equipo personalizados que desea que aparezcan en Asset Advisor, añada la definición de cosa PTC.SCA.SCO.AssetIdentifierNumberThingShape como una definición implementada en la plantilla de cosa para el tipo de equipo. Para obtener más información, consulte Creación de plantillas de cosa personalizadas para tipos de equipos.
16. Si hay un gran número de activos y no se utilizan KPI, se puede considerar el uso del cálculo de estado basado en suscripciones para mejorar el rendimiento. Para obtener más información, consulte Activación del cálculo de estado basado en suscripciones para sistemas con un gran número de activos.
17. A partir de la versión 9.1, todas las entidades nuevas o duplicadas deben tener un proyecto asignado y no se pueden asignar a uno de los proyectos que se entregan con la extensión de ThingWorx Apps. Se pueden asignar al proyecto PTCDefaultProject o a un proyecto nuevo que se haya creado.
Todas las entidades que se entregan con la extensión de ThingWorx Apps conservan la configuración de proyecto de la versión anterior después de actualizar a 9.1. Tanto si se asigna un proyecto como si el campo Proyecto está en blanco, se conserva dicho valor. Para las entidades editables que se entregan con la extensión de ThingWorx Apps, el campo Proyecto de ThingWorx Composer se define como de solo lectura después de actualizar.
Las entidades que se han creado o duplicado en una versión anterior conservan su proyecto asignado después de actualizar a 9.1, aunque se hayan asignado a uno de los proyectos de extensión de ThingWorx Apps. Si no se ha asignado ningún proyecto en la versión anterior, el proyecto PTCDefaultProject se asignará después de la actualización.
Para obtener más información, consulte Duplicación de entidades de extensión en este centro de ayuda y Proyectos en el centro de ayuda de ThingWorx.
18. Si ha personalizado ThingWorx Apps, consulte Actualización y personalizaciones para solucionar cualquier repercusión de la actualización en las opciones personalizadas.