Izertis

Fábricas conectadas: el corazón de la industria 4.0

Las industrias viven de revolución en revolución. La primera vino marcada por la utilización de la máquina de vapor. La segunda, por la producción en cadena. Y la tercera, por la implantación de sistemas informáticos. La cuarta, que ahora nos centra, tiene que ver con la conectividad de las empresas. Es la industria 4.0 ¿Quieres descubrir de qué trata?

Pese a que aún se encuentra en fase de desarrollo, la industria 4.0 tiene como objetivo la innovación en conectar máquinas y sistemas para que puedan tomarse decisiones de una forma mucho más rápida y eficaz, conectar a las personas con las técnicas de producción, y crear algoritmos que cambien y personalicen los procesos hasta puntos que, hasta hoy, parecían de ciencia ficción.

Julio Monzón, CEO de Exovite, pone un ejemplo de cómo la industria 4.0 y IoT puede influir en nuestra vida: "Imagina que vas a comprar un coche. Las posibilidades, hasta ahora, pasan por elegir el color de la carrocería, el diseño interior y poco más. Sin embargo, con la fabricación 4.0 sentirás que el coche ha sido diseñado específicamente para ti. Podrás personalizarlo como más te guste".

Este proceso de personalización también cambiará el proceso de compra. Y es que las fábricas que se encuentren conectadas permitirán a sus clientes realizar pedidos a través de internet. De esta forma, el pedido se organizará en pocos segundos en la factoría, generando un importante ahorro de tiempo, dinero y recursos. Obviamente, el sector automovilístico no es ni será el único que se beneficie de las ventajas de la industria 4.0.

Un ecosistema avanzado

Es importante que las empresas se sirvan de los servicios analíticos y disruptivos que ofrecen el Internet de las Cosas (IoT) y la industry 4.0 si no quieren quedarse fuera del juego. ¿O acaso quieres que tu negocio no se beneficie de los 50 millones de dispositivos conectados que vienen?

Una de las mejores formas de introducirse en esta innovación tecnológica, capaz de procesar todo tipo de datos relacionados con la fabricación, producción y planificación de los recursos empresariales (ERP), es utilizar, además de la nube, la tecnología OPC Unifed Architecture (OPC UA), la cual garantiza la conectividad entre dispositivos y la interoperabilidad horizontal.

Desde Izertis te recomendamos utilizar Microsoft Azure IoT Suite y la plataforma universal de Windows (UWP), dos herramientas estupendas para analizar todos los datos que han sido almacenados en la nube de una manera eficiente, ágil y segura.

Whitepaper
Guía para impulsar la productividad en tus operaciones de industria
Descarga gratuita
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> link  [in template "20099#20135#190900" at line 41, column 47]

----
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #if !currentUrl?contains(link + "/") ...  [in template "20099#20135#190900" at line 41, column 21]
----
1<#if entries?has_content> 
2 
3    <#assign journalArticleExtLocalService = serviceLocator.findService("com.izertis.internet.journal.ext.service.service.JournalArticleExtLocalService")> 
4    <#assign currentUrl = themeDisplay.getURLCurrent() + "/" /> 
5    <!-- Configuración hardcoded --> 
6    <#assign delta = 4> 
7 
8    <div class="row related-content"> 
9        <div class="col-xxl-11 px-5 pl-xxl-100px pl-xl-5 py-5"> 
10            <div class="title"><@liferay.language key="related-contents-title" /></div> 
11            <div class="row"> 
12            <#assign cont = 0> 
13            <#list entries as curEntry> 
14                 
15                <#assign renderer = curEntry.getAssetRenderer()> 
16                <#assign className = renderer.getClassName()> 
17 
18                <#if className == "com.liferay.journal.model.JournalArticle"> 
19                    <#assign journalArticle = renderer.getArticle()> 
20                    <#assign document = saxReaderUtil.read(journalArticle.getContent())> 
21                    <#assign rootElement = document.getRootElement()> 
22                    <#assign defaultLanguageId = parseXml ("@default-locale", rootElement)> 
23                    <#attempt> 
24                        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='miniatureimage']")> 
25                        <#assign img = xPathSelector.selectSingleNode(rootElement).getStringValue()> 
26                        <#if isJson(img)> 
27                            <#assign imgJson = jsonFactoryUtil.createJSONObject(img)> 
28                            <#assign imgUrl = "/documents/" + imgJson.groupId + "/" + imgJson.uuid > 
29                        <#else> 
30                            <#assign imgUrl = "/o/portal-izertis-theme/images/publications/" + journalArticle.getArticleId()[journalArticle.getArticleId()?length-1] + ".jpg"> 
31                        </#if> 
32                    <#recover> 
33                        <#assign imgUrl = "/o/portal-izertis-theme/images/publications/" + journalArticle.getArticleId()[journalArticle.getArticleId()?length-1] + ".jpg"> 
34                    </#attempt> 
35 
36                    <#assign title = getField("title", locale, defaultLanguageId, rootElement)!> 
37                    <#attempt> 
38                        <#assign link = "/-/" + journalArticleExtLocalService.getFriendlyUrl(journalArticle, themeDisplay.getLocale()) /> 
39                    <#recover> 
40                    </#attempt> 
41                    <#if !currentUrl?contains(link + "/") && (cont < delta)> 
42                        <#if title != ""> 
43                            <div class="col-sm-6 col-lg-3 pr-5 pb-5 pb-lg-0"> 
44                                <div class="img-cont"> 
45                                    <img alt="" src="${imgUrl}" /> 
46                                </div> 
47                                <#if title != ""> 
48                                    <div class="info"><a href="${link}">${title}</a></div> 
49                                </#if> 
50                            </div> 
51                            <#assign cont = cont + 1 /> 
52                        </#if> 
53                    </#if> 
54                </#if> 
55            </#list> 
56            </div> 
57         
58        </div> 
59    </div> 
60</#if> 
61 
62<#function getField field languageId defaultLanguageId xml> 
63    <#local defaultSelector = "//dynamic-content[@language-id='" + defaultLanguageId + "' and ancestor-or-self::*[@name='" + field + "']]"> 
64    <#local localeSelector = "//dynamic-content[@language-id='" + languageId + "' and parent::*[@name='" + field + "']]"> 
65 
66    <#local selector = saxReaderUtil.createXPath(localeSelector)> 
67    <#local value = selector.selectSingleNode(xml)!> 
68 
69    <#if value?has_content> 
70        <#return value.getText()> 
71    </#if> 
72 
73    <#local selector = saxReaderUtil.createXPath(defaultSelector)> 
74    <#local value = selector.selectSingleNode(xml)!> 
75 
76    <#if value?has_content> 
77        <#return value.getText()> 
78    </#if> 
79 
80    <#return ""> 
81</#function> 
82 
83<#function parseXml xpath xml> 
84    <#local selector = saxReaderUtil.createXPath(xpath)> 
85    <#local result = selector.selectSingleNode(xml)!> 
86 
87    <#if result?has_content> 
88        <#return result.getStringValue()> 
89    </#if> 
90 
91    <#return ""> 
92</#function> 
93 
94<#function isJson json> 
95    <#local value = json?trim> 
96    <#return value?has_content && value?starts_with("{") && value?ends_with("}")> 
97</#function>