DELMIA Apriso Machine Integrator Guide
DELMIA Apriso Machine Integrator Guide
Machine Integrator
Implementation Guide
®2023 Dassault Systèmes. Apriso, 3DEXPERIENCE, the Compass logo and the 3DS logo, CATIA, SOLIDWORKS, ENOVIA, DELMIA, SIMULIA, GEOVIA, EXALEAD, 3D VIA, BIOVIA, NETVIBES, and 3DXCITE
are commercial trademarks or registered trademarks of Dassault Systèmes or its subsidiaries in the U.S. and/or other countries. All other trademarks are owned by their respective owners.
Use of any Dassault Systèmes or its subsidiaries trademarks is subject to their express written approval.
Machine Integrator | DELMIA Apriso 2024 2
Contents
1 Introduction 4
1.1 Purpose 4
1.2 Scope 4
1.3 Intended Audience 4
1.4 Vocabulary 4
2 Machine Integration Overview 5
2.1 Browser Communication Requirements 5
2.2 Performance of the Communication Between the User Interface (Browser) and Machine
Integrator 5
2.3 Supported Features 6
2.4 Possible Deployments 7
3 Configuration 9
3.1 Data Acquisition System Configuration 9
3.1.1 Root Element Configuration 9
3.2 Connections 10
3.2.1 OPC Server 13
3.2.2 RS Device 19
3.2.3 PI System 19
3.2.4 User-Defined Data Sources 21
3.3 Events Configuration 21
3.3.1 Action Processing 21
3.3.2 Action Persistence Configuration 21
3.4 Formula Editor/Rich Edit Mode 22
3.4.1 Formula Language and Body 23
3.4.2 Formula Validation and Testing 23
3.4.3 Repository 23
3.4.4 Additional Options 24
3.4.5 References 26
3.4.6 Script Dependencies 28
3.5 Script Repository 30
3.6 MI Configuration and "24/7" Availability 31
3.6.1 Disabling or Removing a Point/Data Source 31
3.6.2 Changing the Aliases 31
3.6.3 Changing Action Groups/Actions Based on Subscriptions 31
3.6.4 Failover in Cluster Environments 31
3.7 MI Diagnostic and Monitoring 31
3.7.1 Point Test Feature 31
3.7.2 Connector Event Viewer 32
3.7.3 Machine Integrator Monitoring 33
3.8 Machine Integrator behind Reverse Proxy 33
Machine Integrator | DELMIA Apriso 2024 3
1 Introduction
1.1 Purpose
The purpose of this document is to provide an overview of Machine Integrator, which is used for
monitoring machinery on the production floor and, in some cases, steering those machines. It
includes all of the background information needed to use the product to its full potential, and
how to perform all common tasks is also described in detail.
1.2 Scope
The scope of this document is focused on a description of the following core areas:
Configuration (Data Acquisition System, Events, and Central Configuration)
Usage (Usage in Processes and standalone)
Common Scenarios
1.4 Vocabulary
Desktop Machine Integrator – The Machine Integrator (service) running on a desktop machine
(server or client).
Client Machine Integrator – The Machine Integrator (service) that runs on a client machine
(operated by a shop-floor worker). This version of the Machine Integrator is installed with
DELMIA Apriso Client (from the DELMIA Apriso Start page).
Local Machine Integrator – Process configuration that uses a connection to the Machine
Integrator (console/service) running on a machine operated by a shop-floor worker when
executing Processes.
Remote Machine Integrator – Process configuration that uses a connection to the Machine
Integrator (service) running on a remote machine.
Machine Integrator | DELMIA Apriso 2024 5
Web Sockets protocol is recommended for maximum performance of Machine Integrator and
for full duplex communication. The protocol is used automatically when the requirements are
met. These requirements are higher than the ones described in DELMIA Apriso Installation
Guide.
The graph visualizes the individual phases that are executed in a common usage scenario
when a shop floor worker interacts with machines from the user interface in DELMIA Apriso.
The majority of the duration of the communication is spent at the OPC server and during the UI
rendering. Both connectivity modes provide fast communication between the browser and MI.
The tests were performed in a controlled environment and may vary depending on the
implementation.
Alarm and Notifications Management – notifications and alarms are sent under certain
circumstances or if a device state goes beyond normal bounds.
Automatic Logging – monitoring a machine’s state and stores it in one or many types of
storage devices. Logging can be performed periodically or it can depend on the changes of
state.
Recurring Events Management – automatic execution of specified actions for devices
based on a predefined schedule.
Multiple Platform Support – Machine Integrator can be installed on many computers
running various operating systems. It can be installed on servers, desktop computers, and
portable devices.
Simultaneous Web Browser Sessions – more than one Operation can run at the same
time using Machine Integrator inputs/outputs. Machine Integrator buffers the values
separately for each session.
Runtime Configuration Refresh – the configuration of Machine Integrator can be modified
during runtime and all the changes take effect at the administrator’s request.
Automatic Reconnect (OPC UA, OPC DA, and RS) – after a connection to the server or
when a device was lost, Machine Integrator automatically tries to reestablish the connection.
Failover Server (OPC UA and DA) – two servers can be defined. When the connection to
the primary server is broken, Machine Integrator automatically uses the secondary one and
keeps working as if no problem occurred.
Machine Integrator Service checks if network interface is available. If not, the check-up is
performed every 5 seconds (for maximum 60 seconds). After this time, the service stops (the
same situation is valid for console).
Machine Integrator | DELMIA Apriso 2024 8
A standard DELMIA Apriso installation package contains an executable file that allows MI to be
run in the ways described above.
Console Application and Windows Service cannot run simultaneously. Running a second
instance of MI while one is already running results in the termination of the second instance.
If Machine Integrator does not start and logs are not being saved, change the value of the
ConfigurationLocation key in [Link] to a local path and copy
[Link] from the DELMIA Apriso Server to that location (see the example
below). This enables local MI logging.
<[Link]>
<add key="ConfigurationLocation"
value="${WebRootURL}/CentralConfiguration/[Link]" />
</[Link]>
Machine Integrator | DELMIA Apriso 2024 9
3 Configuration
3.1 Data Acquisition System Configuration
All devices must be properly configured to enable data acquisition from the machines on the
production floor and their logical structure has to be reflected on the DELMIA Apriso side.
Machine Integrator configuration is managed through the Machine Integrator Configuration
Maintenance and Monitoring screen in DELMIA Apriso Desktop Client. This configuration is
used by Machine Integrator during runtime to establish active connections with machinery in
the facility.
MI configuration is accomplished by defining a hierarchical order of the machine-managing
environment in the facility. DELMIA Apriso Machine Integrator defines the following levels:
Connector
Data Source
Point Group
Point
All levels must be configured according to the physical devices acting in these roles.
MI configuration (“MI Connector” and “MI Data Source Type” entities) can be transferred
between DELMIA Apriso servers using Global Process Manager (GPM).
Full Point Aliases are used to generate the script variable names, which do not support the
following special characters:
/ \ | - + = : ; " ' ? < > ( ) * ^ % @ ! ` ~ [ ] . , # { } & $ and all whitespace
characters.
Status Description
Connected
Not connected
Machine Integrator | DELMIA Apriso 2024 10
Checking connection
Undetermined
3.2 Connections
The out-of-the-box solution supports four types of data sources:
OPC UA
OPC DA
PI System
RS Device
The exchange of data between the data source and DELMIA Apriso is always performed in
Machine Integrator.
Every data source type communicates with the Machine Integrator in a way determined by the
specific standards. The mechanisms differ in the way they exchange data, which has a direct
impact on the infrastructure, access configuration, and security.
Data sources are usually third-party applications running independently of MI (such as OPC UA
Servers, PI System, etc). Most of the data sources can run on a different machine than the
Connector to which it belongs.
Machine Integrator | DELMIA Apriso 2024 11
MI configuration Screens enable importing an existing configuration of the points directly from
the data source to set up communication between the data source and MI. Establishing a
connection with each of the available data sources might require editing the configuration and
adding a proper certificate in a specific location.
A different number of possible connection methods is available depending on the selected
import type.
If the Use Data Source application configuration check box is selected, the data from
the Parameters tab of the Data Source is used for configuration (in the Application
configuration section).
Machine Integrator | DELMIA Apriso 2024 12
Directly from this client machine - Connects directly from the Apriso Desktop Client to the
OPC UA or OPC DA server.
To ensure the correct connection, ensure that the certificates are stored in the proper
locations. In the default configuration:
..\DELMIA Apriso 20xx\WebSite\Downloads\MMClient\ on the DELMIA Apriso server.
DELMIA Apriso Desktop Client installation folder on the client machine.
Via Apriso Server - Connects from the Apriso Server. Maintenance Service connects to the
OPC DA server, OPC UA server, or PI System.
To ensure the correct connection, ensure that the certificates are stored in the proper
locations. In the default configuration:
..\DELMIA Apriso 20xx\Services\Maintenance Services on the on the DELMIA Apriso
server.
Via MI Connector instance - Connects from the running Machine Integrator instance to the
OPC DA server, OPC UA server, or PI System.
To ensure the correct connection, ensure that the certificates are stored in the proper
locations. In the default configuration:
..\DELMIA Apriso 20xx\Services\Machine Integrator Service on the DELMIA Apriso
server.
Via Apriso Server connection method may require to change the user account on which
the service is running (see Figure 4 Maintenance Service – changing user accounts). This
user must have administration rights for both the DELMIA Apriso server and the OPC
server.
If connection with an OPC server is lost, Machine Integrator attempts to reconnect every 60
seconds. This interval can be changed by modifying the OPCCheckConnectionInterval key
(see Central Configuration Documentation).
Data Type Description DELMIA Apriso Type DELMIA Apriso Array Type
VT_BOOL Boolean Boolean List of Boolean
VT_BSTR Text Char List of Char
VT_DATE Date DateTime List of DateTime
VT_DECIMAL Decimal Decimal List of Decimal
VT_I1 1-byte signed Integer Integer List of Integer
VT_UI1 1-byte unsigned Integer Integer List of Integer
VT_I2 2-byte signed Integer Integer List of Integer
VT_UI2 2-byte unsigned Integer Integer List of Integer
VT_I4 4-byte signed Integer Integer List of Integer
1
VT_UI4 4-byte unsigned Integer Integer List of Integer1
VT_R4 4-byte (single-precision) real Decimal List of Decimal
VT_R8 8-byte (single-precision) real Decimal List of Decimal
1Only values within the range of a 4-byte signed Integer are supported. Values greater than 2147483647 log an error.
Machine Integrator | DELMIA Apriso 2024 14
When the configuration of a point is imported from the OPC server, DELMIA Apriso Desktop
Client tries to automatically convert the original data type to the one supported by DELMIA
Apriso. Due to a huge number of various data types available on the particular OPC servers,
the data type might require to be manually adjusted.
DELMIA Apriso Integer is 32 bit signed integer. VT_UI4 Data Type has a higher maximal
value which might not be usable inside MI Actions because of exceeding DELMIA Apriso
Integer range. A similar issue might be present if a floating-point value from the OPC server
exceeds the valid range of the Decimal type in DELMIA Apriso.
Security Mode
Specifies what security should be applied to communication with the OPC UA Server.
Available options:
None - no security is applied.
Sign - all messages are signed but not encrypted.
Sign and Encrypt - all messages are signed and encrypted.
Even if None was selected, the OPC server may send its certificate, which must be
manually accepted (moved to the Trusted Issuers Store).
Application Configuration
Both MI and the OPC UA Server require a valid X.509 certificate assigned to the application.
When the MI attempts to connect with the OPC server, both applications exchange certificates,
which automatically are placed in the Rejected Certificates Store. These certificates must be
mutually trusted.
Machine Integrator | DELMIA Apriso 2024 15
The set of parameters that define the characteristics and localization of the certificate sent by
MI can be defined in the Data Source configuration screen, Application Configuration section in
the Parameters tab. The certificates must be configured for each data source separately.
Options such as Application Name, Application URI, Application Certificate Store, and
Certificate Identifier define the parameters and the store location of the Machine Integrator
certificate, which the application uses during the connection to the OPC server
Trusted Issuers Store, Trusted Peers Store, and Rejected Certificates Store define the location
of the certificate (Windows Certificate Store, Directory) as a relative or absolute path to a folder
which stores the public keys related to the OPC server.
Example:
C:\myCertificates\trustThose\certs
The relative paths depend on the method of communication with the OPC server. The possible
communication methods are presented in Figure 2 Schema of possible connections with an
OPC server.
The default [Link] file is provided with DELMIA Apriso installation. The following
attributes can be adjusted:
Attribute Description
ApplicationName The name of the Machine
Integrator application.
ApplicationUri The globally unique identifier
of the Machine Integrator
product. It must be
consistent with the
application certificate
Machine Integrator | DELMIA Apriso 2024 16
content.
SecurityConfiguration/ApplicationCertificate The store containing the
Machine Integrator
application certificate.
Supported values:
X509Store for Windows
Certificate Store
Directory
SecurityConfiguration/ApplicationCertificate/SubjectName The identifier of the Machine
Integrator application
Or SecurityConfiguration/ApplicationCertificate/Thumbprint certificate. The certificate
can be identified either by its
subject name or a
thumbprint.
SecurityConfiguration/TrustedIssuerCertificates The store containing trusted
issuers. Supported Values:
X509Store for Windows
Certificate Store
Directory
SecurityConfiguration/TrustedPeerCertificates The store containing any
additional trusted
certificates. Supported
values:
X509Store for Windows
Certificate Store
Directory
SecurityConfiguration/RejectedCertificateStore The store where invalid
certificates can be placed for
later review by the
administrator. Supported
values:
X509Store for Windows
Certificate Store
Directory
SecurityConfiguration/MinimumCertificateKeySize Defines the minimum
acceptable key length of the
certificate used in OPC UA
communication with Machine
Integrator. The default
minimum key size is 2048.
Machine Integrator | DELMIA Apriso 2024 17
For more information on securing OPC UA, refer to the “OPC UA Security Model for
Administrators” white paper that can be found at on the OPC Foundation website.
Machine Integrator complies with the OPC UA server operation limits. For more information
about limits, refer to OPC Foundation documentation.
Minimal limit of MaxNodesPerRead is 26. Servers with the limit lower than 26 are not supported.
1Only values within the range of a 4-byte signed Integer are supported. If you want to use values greater than 2147483647, you need to change
the Apriso variable type to Char and then use it this way.
Machine Integrator | DELMIA Apriso 2024 18
Integer1
UInt64 An integer value between 0 and 2^64-1. Integer1 List of
Integer1
1
Float An IEEE single precision (32bit) floating-point value. Decimal Decimal2
Double An IEEE double precision (64bit) floating-point value. Decimal2 Decimal2
String A sequence of Unicode characters. Char List of
Char
DateTime An instance in time. DateTime List of
DateTime
LocalizedText A structure containing a String in a locale-specific Char List of
translation. In Apriso, it is converted to a plain text. Char
Structured Complex built-in and user-defined structures. List of List of
2
Data Integer Integer
When the configuration of a point is imported from the OPC server, DELMIA Apriso Desktop
Client tries to automatically convert the original data type to the one supported by DELMIA
Apriso. Due to a huge number of various data types available on the particular OPC servers,
the data type might require to be manually adjusted.
Apriso Integer is of Int32 type. Due to this Int64, UInt64 and UInt32 are only supported when
their values are in the value range of Int32.
Single dimension arrays of OPC UA Data Types are converted to corresponding Apriso Array
Types as explained in the table above.
Both reading and writing of the points are supported.
Multidimensional (two or more dimensions) arrays of OPC UA Data Types are converted to
corresponding Apriso Array Types as explained in the table above.
When reading the point value, data in the resulting list is a flattened version of multidimensional
arrays where the higher rank dimensions are serialized first.
1Values within the range (-7.9 x 1028 to 7.9 x 1028) / (100 to 28) are supported. If you want to use values outside of this range, you need to
change the Apriso variable type to Char and then use it this way (depending on the length of the obtained string, it can be presented in scientific
notation).
2Structured Data is seen in DELMIA Apriso as List of Integer. The data stored inside can only be accessed and interpreted once the definition
has been imported. For more information, see the Machine Integrator Help and 3.4.4 Additional Options below.
Machine Integrator | DELMIA Apriso 2024 19
3.2.2 RS Device
RS device must be connected via serial cable to the computer running MI Connector.
RS device communication is fully configurable through DELMIA Apriso, no other applications or
drivers are necessary. The device level contains most of the communication logic for RS
devices, and additional properties must be set up. These properties are described in the
Machine Integrator Help.
3.2.3 PI System
Machine Integrator is equipped with a dedicated adapter which allows it to communicate with
the OSISoft PI System to obtain event-based data. The adapter enables it to connect to the
PI System, map PI Elements and PI Attributes into Machine Integrator Points, as well as write to
and read from tag values and manage subscriptions to get notifications that one or more tag
values have changed.
Before Machine Integrator can communicate with the PI System, certain additional utilities
need to be installed and configured, such as the PI AF Client. For details, see the
PI System section in the DELMIA Apriso Installation Guide.
Changes done in the Parameters tab of PI System Data Source require restart of the
Machine Integrator Service.
Only one PI System Data Source can be connected on one MI Connector. This limitation
does not apply to other types of Data Sources.
PI System Objects as structured data types are not supported in Machine Integrator.
1Only values within the range of a 4-byte signed Integer are supported. If you want to use values greater than 2147483647, you need to change
the Apriso variable type to Char and then use it this way.
2Values within the range (-7.9 x 1028 to 7.9 x 1028) / (100 to 28) are supported. If you want to use values outside of this range, you need to
change the Apriso variable type to Char and then use it this way (depending on the length of the obtained string, it can be presented in scientific
notation).
Machine Integrator | DELMIA Apriso 2024 21
These proprietary types can have different characteristics depending on the database entries
their refer to. Machine Integrator might interpret them in an unexpected way. Machine
Integrator may not be able to map and successfully read from, write to, or subscribe to such
values in some circumstances.
3.4.3 Repository
The Repository tab enables:
Linking and configuring Scripts from Repository
Publishing locally developed Scripts to Repository so that they can be used in different
places
Copying content of Script from Repository to a local one
For more information, refer to Machine Integrator Help.
Machine Integrator | DELMIA Apriso 2024 24
Enable logging
When selected, this enables sending additional information to the MI log files. Log messages
defined in the script are inserted into MI log files the same way that any other log messages
generated by MI are. This option is only available for VB and CSharp formulas.
To trigger a log action from a script, use the "Log" object.
For more information on the DELMIA Apriso logging framework, refer to the Logging Technical
Guide.
For more information on available methods, refer to API Documentation.
Enable MI API
Enables Machine Integrator-specific methods to use in the formula body when CSharp is used.
All MI API methods return an "Outcome" object, which states whether the method execution
was successful or not. The other values returned can be used only when the Outcome is a
success, otherwise the processing must involve taking corrective steps and/or alerting an
administrator (as this is a sign of an error in the MI configuration or a machine failure; see the
example in the code listing below).
bool valueChanged;
Outcome result = [Link]
("MyConnector\\MyDataSource\\MyPointGroup\\MyPoint", [Link](5), out
valueChanged);
if ([Link])
{
if (valueChanged)
{
// PROGRESS PRODUCTION LINE
}
else
{
// SEND SIGNAL TO MACHINE TO INCREASE TEMPERATURE
}
}
else
{
// LOG ERROR
// SEND ALERT
// DO CORRECTIVE ACTION
}
Machine Integrator | DELMIA Apriso 2024 25
Some methods (indicated with the optional <T> parameter) allow to define the data type of an
Output if it is necessary to restrict it. If this parameter is not used, the data type is "guessed"
from the Input value.
To trigger a log action from a script, use an "MI" object.
Asterisk symbol (" * ") can be used to indicate the current Connector. The symbol is
replaced by the appropriate alias during runtime.
If an OPC UA API method returns an "Outcome" object, the other values returned can be used
only when the Outcome is a success.
Some methods (indicated with the optional <T> parameter) allow to specify which structured
data type is used as the input or output parameter. If the parameter is not used, the data type is
inferred from the variable value.
Several methods require information about the Data Source in the context of which the method
is to be executed (e.g., to specify on which server the UA method must be executed). Those
methods contain overloads without the optional parameter, which can be used only when a
single OPC UA server is configured under a given Connector.
The "Constants" helper class, which defines Data Source FUIDs, can be used as in the
example:
[Link]([Link], …
3.4.5 References
Loading custom assemblies with classes that can then be used in the script body (the
References section)
Declaring namespaces for classes that can then be used directly in the script body (the
Additional headers section)
References:
All of the registered assemblies that the system uses are stored in the system’s Global
Assembly Cache (GAC) folder. Custom assembly must be added to GAC, if it is to be used in
the MI.
An example flow for creating and using a custom namespace:
1. A custom class is prepared in the new namespace "ScriptReferencesTestDll".
2. The namespace is compiled into an assembly and the assembly is registered in the Global
Assembly Cache. The Assembly must be added to GAC on every machine where it is used.
This includes all of the DELMIA Apriso servers (in cluster configuration), all of the machines
where MI is deployed, and all of the client machines where scripts are edited.
Machine Integrator | DELMIA Apriso 2024 27
3. Back in MI Configuration, the new DLL is added via the References tab. The assembly is
loaded and its details (Assembly Full Name) are displayed on the references list.
Additional headers
The Additional headers section enables to declare custom namespaces. By default, it contains
a "using System"/"imports System" record (respectively for the CSharp formula and Visual
Basic formula).
Defining headers must take place after a script language is determined. Switching script
languages when additional headers are defined can cause some of them to be lost.
An example flow for adding a new namespace and using one of its classes in a script:
Machine Integrator | DELMIA Apriso 2024 28
1. A new header record is added to the Additional headers section of the Reference tab.
The Script Repository's contents can be embedded in the MI Runtime Configuration. For
more information, see the IncludeScriptRepositoryInRuntimeConfig key in Central
Configuration Documentation.
Each script in the Scripts Repository can have multiple revisions. The Process Author can link
scripts by a specific revision or by the default revision.
Enabling reverse proxy in high availability configuration with TLS encryption or offloading
pattern may have an impact on the performance in communication between clients and
servers.
frontend mi_frontend
bind *:32500 ssl crt <cert-location>
bind *:32501 ssl crt <cert-location>
bind *:32502 ssl crt <cert-location>
mode http
This is not a default setting in the Central Configuration file. It must be added manually to
make adjustments to the default value.
UaDaNamespaceURIs - the list of OPC UA namespaces separated by vertical bars (“|”). The
UA Node ID string contains a namespace index that may be different when a client
reconnects to the server at a later time. Applications with predefined Node IDs may have
namespace indices that are not valid anymore. Machine Integrator uses an internal
namespace index mapping mechanism that hides this UA behavior and allows the
application to handle UA Node IDs as constant strings in the same way as OPC DA Item
IDs. To make sure that the configuration can be properly moved across the site, all
namespaces must be declared in the configuration.
Example configuration of the key:
<add key="UaDaNamespaceURIs"
value="[Link]
org/UA/Boiler/|[Link]
/Diagnostics" />
The setting is used when the OPC DA Data Source is selected and the server address has
the ua: prefix (in this case the OPC UA standard is used instead of DA).
For detailed information on all keys used for configuring Machine Integrator, refer to the
“MachineIntegrator” and “[Link]” sections of the Central Configuration
Documentation.
Machine Integrator | DELMIA Apriso 2024 37
4 Usage
Machine Integrator can be used in all of the Processes configured in DELMIA Apriso Process
Builder. Machine state readings kept in MI can be used as Inputs for Operations inside
Processes. Operation Outputs can also affect machines’ behavior. Machine Integrator is suited
for standalone usage and can operate separately from other DELMIA Apriso modules.
1. Click (Editor) on the Point Parameters tab. Value Editor pop-up window is displayed.
2. Click (Add) and provide a list of values.
2. Provide the correct values. Single value or a list of values can be provided. For Points of the
Scalar type, select “Single” value. To add a list of values, click (Add).
Web Server – use this connection type when the Operation does not include any User
Interface and is intended to be run in the background (i.e. as a job in the Job
Executor) or when updating the displayed value coming from Machine Integrator in
real time is not needed.
3. When the type of the connection is selected, choose the Machine Source. Possible ways of
linking Machine Integrator Point:
When setting the Web Server connection, the MI Point path in the "Point Alias Source"
group must be supplied in the full-path format, i.e., [connector]\[data source]\[point
group]\[point], where [connector] cannot be substituted with an asterisk ("*").
When connecting to MI locally, the path of the machine Point in the "Point Alias Source"
group can be provided in the relative format, i.e., the Connector name can be substituted
with an asterisk ("*"). If an asterisk (“*”) is used, the Input value is taken from the Machine
Integrator running on the current machine. If the full name is provided, the Client (Browser)
connects to a remote machine on which the Connector works.
Property Description
User Configures the form in which the Input is displayed when the Process is invoked
Control through the Portal. The possible values:
Visibility
Hidden – the value of the Input is not displayed on the screen
Read Only – the value of the Input is displayed in a read-only manner (the user
is not able to modify the value received from the machine)
Editable – the value of the Input is displayed on the screen, it is possible to
modify it and use the modified value during Process execution
Input Configures the way that MI acquires values. The possible types:
Value
Mode Current – Machine Integrator always acquires the current value and sends it to
the Function
After Change – MI waits until the value of the Point changes, gets the current
values, and passes them to the Function
After Change or Form Buffer – MI first looks for a Point's value in the buffer that
stores information about all of the value changes of the Point (one buffer is
created for a single Point, so all of the requests for the value of that Point use the
same buffer)
Populate on startup check box – the check box becomes active, after setting
Input Mode to After Change or After Change or From Buffer. The current value
from the source is read as soon as a client connects to Machine Integrator.
Table 4 Client (Browser) MI Input properties
Machine Integrator | DELMIA Apriso 2024 41
1. Create an Equipment with the Equipment Class and its Attribute on the Equipment Explorer
screens.
2. Link the Equipment Attribute to the Machine Integrator Point.
3. Values can now be read and written from/to the Equipment and Equipment Attribute using
Process Builder Inputs/Outputs.
Machine Integrator | DELMIA Apriso 2024 45
Link Equipment and its Actions with Action Groups and Scripts
Equipment and its Actions (resetting a counter, verifying the stability of a scale, etc.) can also
be linked with Action Groups and Scripts.
1. First create an Equipment with the Equipment Class and its Actions on the Equipment
Explorer screens. Then link Actions to Script and Action Group.
2. The Equipment Actions is linked to the Action Group and Script on the MI Configuration
screen.
3. Values can now be read and written from/to the Equipment and Equipment Action using
Process Builder Inputs/Outputs.
Machine Integrator | DELMIA Apriso 2024 47
4.5.1 Troubleshooting
Performance counters are not rebuilt
In certain circumstances, Machine Integrator may be unable to initialize its performance
counters due to a problem with Microsoft Windows. The issue is characterized by the following
symptoms:
Machine Integrator does not refresh Points, displaying a "No Connection" issue, even
though the OPC Server is sending data to the Machine Integrator Client correctly.
Attempting to open Windows Performance Monitor causes an "Unable to add these
counters" error.
To rebuild Machine Integrator's performance counters manually:
1. Copy <drive>:\windows\system32\[Link] from a machine where the issue does
not occur.
2. Paste the file into the same directory on the machine where the issue occurs.
3. Open Command Prompt in this directory and execute the command: lodctr
/R:[Link].
For an alternative solution, refer to the Microsoft Support article: How to manually rebuild
Performance Counter Library values.
Machine Integrator | DELMIA Apriso 2024 49
5 Scenarios
5.1 MI – Device Integration Scenarios
Plant Environment Recommended Configuration Effort Comments
Integration
Configuration
Devices Configuration of MI Standard configuration of MI data Supports
connected to OPC using standard OPC acquisition using built-in OPC configuration
server Data Source. Data Source. import,
reconnection,
and failover.
Devices Configuration of MI Standard configuration of MI data
connected to PCs using standard RS acquisition using built-in RS Data
via RS (with Data Source. Source.
simple
protocol/message
structure)
Devices Configuration of MI Configuration of the Custom
connected to PCs using a standard RS Message type that handles
via RS (with Data Source. custom protocol requirements.
complex
protocol/message
structure)
Devices Creation of MI Implementation of scripts to Prototype for
connected to local scripts in the create a TCP connection and MI-to-device
network C#/[Link] handle the message exchange communication
communicating language that will between MI and the devices. has been
via TCP (with handle TCP tested. Device-
simple message exchange. to-MI
protocol/message communication
structure) needs creation
and testing.
Devices Creation of custom Implementation of Custom Data
connected to local Data Source. source components.
network Configuration of Configuration of third-party Additional cost
communicating third-party software intermediary software to for Omniserver
via TCP (with (Omniserver) that exchange information with license.
complex will map TCP devices using TCP messages
protocol/message messages to OPC and to expose data to MI via the
structure) tags and the OPC interface. Standard
configuration of MI configuration of MI data
OPC Data Source. acquisition using built-in OPC
Machine Integrator | DELMIA Apriso 2024 50
data source.
Devices persisting Configuration of Creation of Standard Operations Supported by
state information Standard that will access data stored in the legacy systems
to a database Operations invoked database and process it. with no other
server in Job Executor that Alternatively, data processing external
will process the data may be configured on the DB interfaces. MI is
in the DB or the level using database triggers. not required.
creation of DB
triggers to process
data.
Devices persisting Configuration of Configuration of Business MI is not
state by creating Business Integrator Integrator to process data from required.
XML files/Flat document handling. the files created by the devices.
Files
Devices exposing Creation of MI Implementation of scripts to call Depends on the
external API Scripts in the methods from provided API in the complexity of
available with a C#/[Link] form of a DLL file. the target API.
third party library language to call
(DLL) external API
methods using the
provided library.
Historian available Same as OPC. - -
via OPC
Historian available Same as Database. - -
via Database
A flat file or XML – If the data historian can generate a flat file or XML file, it can be
integrated. DELMIA Apriso Business Integrator can be used for the integration.
OPC DA: some data historians are able to use OPC DA to expose selected historical data.
Such data can be read by Machine Integrator
For more information about DCOM configuration options, refer to the corresponding
documentation on the OPC DA server producer’s website or on the OPC Foundation
website.
If the OPC DA server is installed on a different machine than the MI Connector, "OPC Core
components v 3.0" must be installed on the MI Connector machine. This package can be
downloaded from the OPC Foundation website and provides the basic services required for
OPC communication. This component is automatically installed by many OPC tools, so it may
already have been installed by the OPC client (e.g., for a given OPC server).
The OPC server first must be installed first, as some of its components may override the
OPC core components installed during the DELMIA Apriso installation and the MI might
stop working.
2. Install the DELMIA Apriso client (only the client MI selected) and configure .NET security for
DELMIA Apriso Screens, etc.
3. Configure DCOM (for details, see 5.3.2 OPC DA Server on 64-bit Windows Server 2012 R2,
MI on a Separate PC).
4. Configure MI via the Portal.
5. Run MI.
Machine Integrator | DELMIA Apriso 2024 52
In the case of errors, install the OPC core components 105.1 (from the .MSI file). Available
at OPC Foundation website after registration.
When securing the connection to the OPC UA server (selecting Sign or Sign and Encrypt
from Security mode list in Data Source parameters tab) the user must generate a valid
certificate for Machine Integrator that will be trusted on the OPC UA server. In the example, the
process uses Windows Certificate Store.
1. Create an [Link] file. The sample certificates will be created in the same directory.
2. Add the following code in the file and adjust it to your environment.
prompt = no
distinguished_name = req_distinguished_name
x509_extensions = req_v3
[req_distinguished_name]
DC = <domain>
CN = DELMIA Apriso Machine Integrator
[req_v3]
keyUsage = nonRepudiation, digitalSignature, keyEncipherment, dataEncipherment,
keyCertSign
extendedKeyUsage = serverAuth, clientAuth
subjectAltName = @alt_names
authorityKeyIdentifier = keyid, issuer
basicConstraints = CA:FALSE
[alt_names]
URI = urn:<domain>:DELMIA Apriso Machine Integrator
DNS = <domain>
Hostnames and domains must match those of the machines running Machine Integrator.
3. Use the following commands to generate Machine Integrator certificates with 2048 key size
and 1 year expiration:
openssl req -x509 -config <path>/[Link] -nodes -newkey rsa:2048 -keyout
[Link] -out [Link] -days 365
openssl pkcs12 -export -out [Link] -inkey [Link] -in
[Link] -passout pass:
4. Install the public ([Link]) and private keys ([Link]) in the
Windows Certificate Store of your local machine. Use Personal as the certificate store
location. In the Private key protection section check Mark this key as exportable.
5. Make sure the user account that is used to run the DELMIA Apriso services has permissions
to read the private key of the certificate. Those permissions can be accessed in the
Certificate Manager and under 'All Tasks' and then 'Manage Private Keys' (the generated
certificate must be selected).
Machine Integrator | DELMIA Apriso 2024 54
Support for deprecated SHA1 signed certificates or certificates with key length shorter than
2048 can be enabled by using RejectSHA1SignedCertificates or MinimumCertificateKeySize
keys in the Central Configuration, Machine Integrator OPC UA section. However, this is not
secure or recommended and should be used only if generating new certificates is not
possible.
1. Set the following parameters in the configuration section of the OPC UA Data Source,
Parameters tab:
Parameter Option
Application Name DELMIA Apriso Machine Integrator
Application URI urn:<domain>:DELMIA Apriso Machine Integrator
Application Certificate (Windows) LocalMachine\My
Store
Certificate Identifier Subject Name: CN=DELMIA Apriso Machine
Integrator/DC=<domain>
Both DELMIA Apriso server and the OPC server must accept the public keys of the certificates.
When the servers connect for the first time, the public keys of the certificates are automatically
rejected.
To accept the certificate from the OPC server and to enable the communication between the
servers:
1. Move the certificates from the Rejected Certificates Store to Trusted Issuers Store.
2. The Machine Integrator public key must be accepted by the OPC server. The OPC Server
settings are specific for the given server.
For detailed information, refer to white papers at OPC Foundation website:
Machine Integrator | DELMIA Apriso 2024 55
DELMIA Apriso Client components must be fully uninstalled before any update.
1. Install the DELMIA Apriso Client on the client machine according to the procedure described
in the DELMIA Apriso Installation Guide (the “DELMIA Apriso Client Installation and
Configuration” section).
2. Identify the assemblies necessary for processing the desired Operation. The assemblies
are:
FI engine
DELMIA Apriso Framework assemblies (the system services and the part of DAL to be
used)
Assemblies used by the desired Standard Operation (mainly DELMIA Apriso Business
Components and their references)
3. Install collected assemblies on the client PC, directly in the Machine Integrator Connector
folder.
4. Alter the Machine Integrator configuration file at:
<section name="[Link]"
type="[Link],System, Version=[Link],
Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null" />
</configSections>
<[Link]>
</[Link]>
Users that are logged in without admin rights must have the ability to listen on ports 32501,
32502, and 32503.
Machine Integrator | DELMIA Apriso 2024 57
It is possible to change the port numbers manually in the [Link] file. When
changing the number of port 32501, it is necessary to update its settings in Central
Configuration.
Use the command as an administrator to add the URL to the ACL: netsh http add urlacl
url=[Link] user=DOMAIN\USERNAME
6 Known Issues
Support for Multidimensional Arrays
As Machine Integrator started supporting a "write" operation for the points being
Multidimensional Arrays, the "write" operation may be unavailable for the points created before
the support of this operation.
Solution
Reimport the points from the OPC Server and set the Index Range parameters according to the
size of the arrays.
7 Documentation Availability
All DELMIA Apriso documentation is available from <server name>/apriso/start and at 3DS
Support.
For more information, refer to the 3DS Support Knowledge Base.
DELMIA Apriso ensures compatibility with older OPC server configurations by supporting deprecated SHA1 signed certificates, or certificates with key lengths shorter than 2048 bits, although this is not recommended due to security concerns. User manual configuration adjustments may also be required to accommodate unconventional configurations, ensuring necessary data exchange and functional capabilities are met .
Security considerations for OPC UA communications in DELMIA Apriso involve configuring X.509 security certificates for authentication, authorization, encryption, and data integrity of communication. Communication security modes include None, Sign, and Sign and Encrypt, indicating whether messages are signed or encrypted. Additionally, there are configurations for minimum certificate key length and compatibility with deprecated SHA1 signed certificates. The certificates must be placed in the correct certificate stores (Trusted Issuers, Trusted Peers, etc.), with the public keys manually accepted by both DELMIA Apriso and OPC servers .
DELMIA Apriso facilitates data exchange with an OPC DA server using Distributed Component Object Model (DCOM) technology. The integration requires detailed configuration of DCOM properties, and the system automatically attempts to convert imported data types to supported types within its framework. If connection is lost, the system attempts to reconnect every 60 seconds, with this interval configurable via the OPCCheckConnectionInterval key .
Executing a Standard Operation locally requires installation of necessary DELMIA Apriso Client components and assemblies on the client machine, altering the Machine Integrator configuration file, and manually synchronizing all assembly changes. While this can boost performance by reducing server load, it increases the burden of manual synchronization and is not officially supported due to potential pitfalls in maintaining consistent updates across environments .
For user-defined data sources in the DELMIA Apriso Machine Integrator, configurations include defining custom data source and point parameters. Supported operations include Read, Write, and Subscribe for various custom data types within the PI System. However, Machine Integrator may interpret proprietary types unexpectedly, requiring thorough user configuration for successful integration and monitoring .
It is necessary to carefully manage changes to Action Groups/Actions in DELMIA Apriso to prevent missing events during the brief interval when actions are modified. Any error or loss of connection with an OPC server during this time can also lead to failed engagement in configurations, as persistent actions may not work correctly without proper storage setup, particularly in cluster environments .
Machine Integrator configurations impact 24/7 production operations by requiring rigorous testing before deployment to avoid disruptions. Changes to points or data sources outside regular updates may lead to actions executing incorrectly if these are not tested and updated appropriately across the system. This includes careful management of alias changes and action modifications to prevent incorrect behavior within the operational environment .
DELMIA Apriso handles configuration and management of connections with third-party data sources such as OPC servers through its Machine Integrator (MI) module. The MI configuration allows defining a hierarchical order of the machine-managing environment, enabling active connections with machinery during runtime. This configuration can be imported from data sources directly, and facilitates seamless communication by adjusting data types as needed. DELMIA Apriso supports different connection statuses such as Connected, Not connected, and Checking connection, which are displayed in the Machine Integrator Configuration Maintenance and Monitoring screen .
Point aliases in DELMIA Apriso Machine Integrator must not include special characters or begin with numbers to ensure compatibility with script variable naming conventions. These constraints are necessary to prevent syntax errors and ensure smooth interaction within the scripting and configuration environment, allowing for consistent and error-free data operations .
The Script Repository in DELMIA Apriso serves as a central container for storing and reusing Machine Integrator scripts. It supports consistency in business logic across the system as changes in scripts can be propagated to all entities that reference them. It facilitates the development of reusable functionalities for conditions in Action Groups and various trigger scripts associated with data sources, thus streamlining the MI workflow .