Skip to content

Commit

Permalink
#2119 Support for the OPC UA protocol using the PLC4X library
Browse files Browse the repository at this point in the history
  • Loading branch information
Limraj committed Dec 6, 2024
1 parent 284961e commit ee1d591
Show file tree
Hide file tree
Showing 75 changed files with 4,187 additions and 54 deletions.
2 changes: 2 additions & 0 deletions WebContent/WEB-INF/applicationContext.xml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@

<bean id="messageSource" class="com.serotonin.web.i18n.Utf8ResourceBundleMessageSource">
<property name="basename"><value>messages</value></property>
<property name="useCodeAsDefaultMessage" value="true"/>
<property name="defaultEncoding" value="UTF-8"/>
</bean>

<cache:annotation-driven cache-manager="ehCacheManager" />
Expand Down
33 changes: 33 additions & 0 deletions WebContent/WEB-INF/dox/en/opcUaDS.htm
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<!--
ScadaBR - Open Source M2M - http://mango.serotoninsoftware.com
Copyright (C) 2006-2009 Serotonin Software Technologies Inc.
@author Matthew Lohbihler
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see http://www.gnu.org/licenses/.
-->

<h1>Description</h1>
<p>The OPC Data Source allows the reading data from a OPC Server</p>
<h1>Configuration</h1>
<p>All Data Source requires a <b>Name</b>, which may have any description.</p>
<p>The <b>Host</b> indicates the local address from client.</p>
<p>The <b>Domain</b> indicates the domain where the client is located. PS.: Client must
necessarily be in a domain to operate with OPC.</p>
<p>The <b>User</b> indicates the name of user from Operating System - OS.</p>
<p>The <b>Password</b> indicates the operating system password.</p>
<p>The <b>Server</b> shows which server are available for the data provided.</p>
<p>The <b>Update Period</b> indicates the update period from Data Source data.</p>
<p>The <b>Creation Mode</b> indicates how the OPC Tags will be created on the client. We have two options:
Browse Tags - where all the Tags available in the Server will be displayed and Add Tags - where will be added a Tag available
from Server</p>
22 changes: 22 additions & 0 deletions WebContent/WEB-INF/dox/en/opcUaPP.htm
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<!--
ScadaBR - Open Source M2M - http://mango.serotoninsoftware.com
Copyright (C) 2006-2009 Serotonin Software Technologies Inc.
@author Matthew Lohbihler
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see http://www.gnu.org/licenses/.
-->

<h1>Configuration</h1>
<p>All Data Point requires a <b>Name</b>, which may have any description.</p>
<p>The <b>Data Type</b> indicates what kind of data is being requested by the OPC Client.</p>
8 changes: 8 additions & 0 deletions WebContent/WEB-INF/dox/manifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -423,4 +423,12 @@
<item id="dataRetentionSettings">
<relation id="reportInstances"/>
</item>

<item id="opcUaDS">
<relation id="opcUaPP"/>
</item>

<item id="opcUaPP">
<relation id="opcUaDS"/>
</item>
</doxManifest>
11 changes: 11 additions & 0 deletions WebContent/WEB-INF/dwr.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@
<converter id="protocolVersionConverter" class="com.serotonin.mango.web.dwr.ProtocolVersionConverter"/>
<converter id="xssDataPointVoConverter" class="com.serotonin.mango.web.dwr.XssDataPointVoConverter"/>
<converter id="xssDataPointBeanConverter" class="com.serotonin.mango.web.dwr.XssDataPointBeanConverter"/>
<converter id="opcUaDataTypeConverter" class="com.serotonin.mango.web.dwr.OpcUaDataTypeConverter"/>
<converter id="opcUaIdentifierTypeConverter" class="com.serotonin.mango.web.dwr.OpcUaIdentifierTypeConverter"/>
<converter id="opcUaMessageSecurityTypeConverter" class="com.serotonin.mango.web.dwr.OpcUaMessageSecurityTypeConverter"/>
<converter id="opcUaSecurityPolicyTypeConverter" class="com.serotonin.mango.web.dwr.OpcUaSecurityPolicyTypeConverter"/>
<converter id="keyStoreTypeConverter" class="com.serotonin.mango.web.dwr.KeyStoreTypeConverter"/>
</init>

<allow>
Expand Down Expand Up @@ -107,6 +112,7 @@
</create>

<convert converter="bean" match="br.org.scadabr.OPCItem" />
<convert converter="bean" match="br.org.scadabr.vo.dataSource.opcua.OpcUaItem" />
<convert converter="bean" match="br.org.scadabr.api.vo.*" />

<convert converter="bean" match="com.serotonin.db.IntValuePair"/>
Expand Down Expand Up @@ -215,6 +221,11 @@
<convert converter="enum" match="org.scada_lts.ds.messaging.protocol.amqp.MessageAckType" />
<convert converter="enum" match="org.scada_lts.ds.messaging.protocol.amqp.AmqpVersion" />
<convert converter="protocolVersionConverter" match="org.scada_lts.ds.messaging.protocol.ProtocolVersion" />
<convert converter="opcUaDataTypeConverter" match="br.org.scadabr.vo.dataSource.opcua.OpcUaDataType" />
<convert converter="opcUaIdentifierTypeConverter" match="br.org.scadabr.vo.dataSource.opcua.OpcUaIdentifierType" />
<convert converter="opcUaMessageSecurityTypeConverter" match="br.org.scadabr.vo.dataSource.opcua.OpcUaMessageSecurityType" />
<convert converter="opcUaSecurityPolicyTypeConverter" match="br.org.scadabr.vo.dataSource.opcua.OpcUaSecurityPolicyType" />
<convert converter="keyStoreTypeConverter" match="br.org.scadabr.KeyStoreType" />

<!-- MQTT stuff -->
<convert converter="enum" match="org.scada_lts.ds.messaging.protocol.mqtt.MqttVersion" />
Expand Down
4 changes: 4 additions & 0 deletions WebContent/WEB-INF/jsp/dataSourceEdit.jsp
Original file line number Diff line number Diff line change
Expand Up @@ -519,5 +519,9 @@
test="${dataSource.type.id == applicationScope['constants.DataSourceVO.Types.RADIUINO']}">
<jsp:include page="dataSourceEdit/editRadiuino.jsp" />
</c:when>
<c:when
test="${dataSource.type.id == applicationScope['constants.DataSourceVO.Types.OPC_UA']}">
<jsp:include page="dataSourceEdit/editOpcUa.jsp" />
</c:when>
</c:choose>
</tag:page>
Loading

0 comments on commit ee1d591

Please sign in to comment.