Professional Documents
Culture Documents
SI AMD FCT Man 0718 en-US
SI AMD FCT Man 0718 en-US
SI AMD FCT Man 0718 en-US
Fundamental safety
instructions 1
Introduction 2
SINUMERIK
Direct access to NC/PLC 3
SINUMERIK Integrate
Access MyData (AMD)
Access to tool information 4
Project information A
Valid for:
Control system
SINUMERIK 840D, SINUMERIK 840D sl / 840DE sl
Software
SINUMERIK Integrate, version 4.1 SP8
Access MyData, version 1.0 SP6
07/2018
A5E36812654B AD
Legal information
Warning notice system
This manual contains notices you have to observe in order to ensure your personal safety, as well as to prevent
damage to property. The notices referring to your personal safety are highlighted in the manual by a safety alert
symbol, notices referring only to property damage have no safety alert symbol. These notices shown below are
graded according to the degree of danger.
DANGER
indicates that death or severe personal injury will result if proper precautions are not taken.
WARNING
indicates that death or severe personal injury may result if proper precautions are not taken.
CAUTION
indicates that minor personal injury can result if proper precautions are not taken.
NOTICE
indicates that property damage can result if proper precautions are not taken.
If more than one degree of danger is present, the warning notice representing the highest degree of danger will be
used. A notice warning of injury to persons with a safety alert symbol may also include a warning relating to property
damage.
Qualified Personnel
The product/system described in this documentation may be operated only by personnel qualified for the specific
task in accordance with the relevant documentation, in particular its warning notices and safety instructions. Qualified
personnel are those who, based on their training and experience, are capable of identifying risks and avoiding
potential hazards when working with these products/systems.
Proper use of Siemens products
Note the following:
WARNING
Siemens products may only be used for the applications described in the catalog and in the relevant technical
documentation. If products and components from other manufacturers are used, these must be recommended or
approved by Siemens. Proper transport, storage, installation, assembly, commissioning, operation and
maintenance are required to ensure that the products operate safely and without any problems. The permissible
ambient conditions must be complied with. The information in the relevant documentation must be observed.
Trademarks
All names identified by ® are registered trademarks of Siemens AG. The remaining trademarks in this publication
may be trademarks whose use by third parties for their own purposes could violate the rights of the owner.
Disclaimer of Liability
We have reviewed the contents of this publication to ensure consistency with the hardware and software described.
Since variance cannot be precluded entirely, we cannot guarantee full consistency. However, the information in
this publication is reviewed regularly and any necessary corrections are included in subsequent editions.
SINUMERIK documentation
The SINUMERIK documentation is organized into the following categories:
● General documentation/catalogs
● User documentation
● Manufacturer/service documentation
Additional information
You can find information on the following topics at the following address (https://
support.industry.siemens.com/cs/de/en/view/108464614):
● Ordering documentation/overview of documentation
● Additional links to download documents
● Using documentation online (find and search in manuals/information)
If you have any questions regarding the technical documentation (e.g. suggestions,
corrections), please send an e-mail to the following address
(mailto:docu.motioncontrol@siemens.com).
mySupport/Documentation
At the following address (https://support.industry.siemens.com/My/ww/en/documentation),
you can find information on how to create your own individual documentation based on
Siemens' content, and adapt it for your own machine documentation.
Training
At the following address (http://www.siemens.com/sitrain), you can find information about
SITRAIN (Siemens training on products, systems and solutions for automation and drives).
FAQs
You can find Frequently Asked Questions in the Service&Support pages under Product
Support (https://support.industry.siemens.com/cs/de/en/ps/faq).
SINUMERIK
You can find information about SINUMERIK at the following address (http://www.siemens.com/
sinumerik).
Target group
This publication is intended for:
● Project engineers
● Technologists (from machine manufacturers)
● System and machine commissioning engineers
● Programmers
● Software developers who develop their own product functions and want to exchange NC
or PLC data with the lower-level machine tools via the SI server.
Benefits
The function manual describes the functions so that the target group knows them and can
select them. It provides the target group with the information required to implement the
functions.
Standard scope
This documentation only describes the functionality of the standard version. Additions or
revisions made by the machine manufacturer are documented by the machine manufacturer.
Other functions not described in this documentation might be executable in the control. This
does not, however, represent an obligation to supply such functions with a new control or when
servicing.
For the sake of simplicity, this documentation does not contain all detailed information about
all types of the product and cannot cover every conceivable case of installation, operation, or
maintenance.
Technical Support
Country-specific telephone numbers for technical support are provided in the Internet at the
following address (https://support.industry.siemens.com/sc/ww/en/sc/2090) in the "Contact"
area.
NOTICE
Misuse of data
It is essential to use secure data storage when saving your data - particularly your confidential
data. It is best to store this data encrypted locally or encrypted on the network. Make sure
that this data cannot be accessed by unauthorized personnel.
This applies to the following data:
● Archive files
● Image files
● Project files
● Trace files
● Safety-relevant files
Further information on secure data storage can be found at Industrial Security Configuration
Manual (https://support.industry.siemens.com/cs/us/en/view/108862708).
NOTICE
Danger due to insecure Internet connection
Before establishing a network connection, ensure your PC is connected to the Internet via a
secure connection. Pay attention to the security-relevant notes. Further information about
communications security can be found at Industrial Security Configuration Manual (https://
support.industry.siemens.com/cs/us/en/view/108862708).
NOTICE
Security risk through administrator rights
If you operate a PC with permanent administrator rights, there is an increased security risk.
Therefore, ensure that there is a secure operating environment, and assign administrator
rights only temporarily and selectively.
Further information on the secure administration of user accounts and the assignment of
rights can be found at Industrial Security Configuration Manual (https://
support.industry.siemens.com/cs/us/en/view/108862708).
EC Declaration of Conformity
The EC Declaration of Conformity for the EMC Directive can be found on the Internet at the
following address (https://support.industry.siemens.com/cs/https://
support.industry.siemens.com/cs/ww/de/ps/14604/certww/en/ps/13231/cert).
Foreword......................................................................................................................................................3
1 Fundamental safety instructions.................................................................................................................11
1.1 General safety instructions.....................................................................................................11
1.2 Warranty and liability for application examples......................................................................12
1.3 Industrial security...................................................................................................................13
2 Introduction.................................................................................................................................................15
2.1 Requirement...........................................................................................................................17
3 Direct access to NC/PLC............................................................................................................................19
3.1 Introduction............................................................................................................................19
3.1.1 Direct access to NC/PLC.......................................................................................................19
3.2 Concept..................................................................................................................................20
3.2.1 Overview................................................................................................................................20
3.2.2 Activate interface....................................................................................................................20
3.2.3 Deactivate interface...............................................................................................................22
3.3 Service interfaces...................................................................................................................23
3.3.1 Machine Admin Service Interface..........................................................................................23
3.3.2 Basic Data Access Service Interface.....................................................................................23
3.3.2.1 Introduction............................................................................................................................23
3.3.2.2 Basic Data Access Service Interface.....................................................................................26
3.3.2.3 Basic Data Configuration Service Interface...........................................................................26
3.3.2.4 Direct Data Access Service Interface.....................................................................................28
3.3.2.5 Direct Data Access Callback Service.....................................................................................29
3.3.3 Machinestatus Service Interface............................................................................................29
3.3.4 ServerSideSynchronisation Service Interface........................................................................30
4 Access to tool information..........................................................................................................................31
4.1 Introduction............................................................................................................................31
4.2 Basic information....................................................................................................................32
4.2.1 Web service interface.............................................................................................................32
4.2.2 Error messages......................................................................................................................32
4.2.2.1 Handling errors.......................................................................................................................32
4.2.2.2 Error message logs................................................................................................................33
4.2.2.3 Data is illogical or contains errors..........................................................................................33
4.2.2.4 Error codes.............................................................................................................................33
4.3 Certification............................................................................................................................35
4.4 Interface functions..................................................................................................................36
4.4.1 Protocol for reading/writing/changing data - MMT.................................................................36
4.4.1.1 Readout of the MMT configuration (Action 101)....................................................................36
4.4.1.2 Subscribe to tool transfer (Action 103)...................................................................................38
4.4.1.3 Read out tool container assignment "all parameters" (action 107)........................................40
WARNING
Danger to life if the safety instructions and residual risks are not observed
If the safety instructions and residual risks in the associated hardware documentation are not
observed, accidents involving severe injuries or death can occur.
● Observe the safety instructions given in the hardware documentation.
● Consider the residual risks for the risk evaluation.
WARNING
Malfunctions of the machine as a result of incorrect or changed parameter settings
As a result of incorrect or changed parameterization, machines can malfunction, which in turn
can lead to injuries or death.
● Protect the parameterization (parameter assignments) against unauthorized access.
● Handle possible malfunctions by taking suitable measures, e.g. emergency stop or
emergency off.
Note
Industrial security
Siemens provides products and solutions with industrial security functions that support the
secure operation of plants, systems, machines and networks.
In order to protect plants, systems, machines and networks against cyber threats, it is
necessary to implement – and continuously maintain – a holistic, state-of-the-art industrial
security concept. Siemens’ products and solutions constitute one element of such a concept.
Customers are responsible for preventing unauthorized access to their plants, systems,
machines and networks. Such systems, machines and components should only be connected
to an enterprise network or the Internet if and to the extent such a connection is necessary
and only when appropriate security measures (e.g. firewalls and/or network segmentation) are
in place.
For additional information on industrial security measures that may be implemented, please
visit:
Industrial security (http://www.siemens.com/industrialsecurity)
Siemens’ products and solutions undergo continuous development to make them more secure.
Siemens strongly recommends that product updates are applied as soon as they are available
and that the latest product versions are used. Use of product versions that are no longer
supported, and failure to apply the latest updates may increase customer’s exposure to cyber
threats.
To stay informed about product updates, subscribe to the Siemens Industrial Security RSS
Feed at:
Industrial security (http://www.siemens.com/industrialsecurity)
WARNING
Unsafe operating states resulting from software manipulation
Software manipulations (e.g. viruses, trojans, malware or worms) can cause unsafe operating
states in your system that may lead to death, serious injury, and property damage.
● Keep the software up to date.
● Incorporate the automation and drive components into a holistic, state-of-the-art industrial
security concept for the installation or machine.
● Make sure that you include all installed products into the holistic industrial security concept.
● Protect files stored on exchangeable storage media from malicious software by with
suitable protection measures, e.g. virus scanners.
● Protect the drive against unauthorized changes by activating the "know-how protection"
drive function.
+LJKHUOHYHORUVXSSOHPHQWDO
)OH[LEOH $XWRPDWHG VRIWZDUHV\VWHP
$FFHVVWRGDWDRIWKH&1&VYLD,QWHJUDWH6HUYHU SURGXFWLRQ
$FFHVVWRGDWDDQGVHUYLFHVRIWKH6,180(5,.,QWHJUDWH
DSSOLFDWLRQV
:HE6HUYLFHV
(DV\WRXVH 6,180(5,.
,QWHJUDWH6HUYHU ]%0LFURVRIW1(7
8VHRILQWURGXFHG:HE6HUYLFHWHFKQRORJLHV
:&)WHFKQRORJ\
,QGXVWULDOVWDQGDUGVRIWKH:RUOG:LGH:HE&RQVRUWLXP
,QGXVWULDO
(IILFLHQWDQGVHFXUH (WKHUQHW
8WLOL]DWLRQRIWKHH[LVWLQJ6,180(5,.,QWHJUDWHFOLHQWVHUYHU
LQVWDOODWLRQZLWKRXWDGGLWLRQDOKDUGZDUHLQWHUIDFHV
6,180(5,.,QWHJUDWH&OLHQWV
Delivery form
The latest packages and further information on the applications are stored on PridaNet and
can be downloaded directly from there.
Additional software
SINUMERIK Integrate also uses the following software:
Software that was developed for "OpenSSL" in order to use the "OpenSSL Toolkit" (http://
www.openssl.org/ (http://www.openssl.org/)).
Software that was developed for "Openevidence" in order to use the "OpenEvidence Toolkit"
(http://www.open-evidence.com/about/). (http://www.open-evidence.com/about/)
Cryptographic software written by Eric Young (eay@cryptsoft.com (eay@cryptsoft.com)).
Software written by Tim Hudson (tjh@cryptsoft.com). (tjh@cryptsoft.com)
Software developed by Bodo Moeller.
2.1 Requirement
They must be installed and configured in order to user the Web service interfaces.
A further requirement is that the user is familiar with the Manage MyPrograms (MMP), Manage
MyTools (MMT) and Shop Floor Integrate (SFI) applications and has sufficient knowledge in
programming of Web service interfaces (HTTP/XML).
The "Access to tool information" interface is activated by the setup, see the documentation:
SINUMERIK Integrate MMP, MMT, AMC, AMP, AMM/E, AMD Installation Manual, Section:
AMD access to tool information.
Note
The interface for direct access to NC/PLC is being continually enhanced.
3.2 Concept
The following chapters describe in an overview how the API interface functions and which
items are involved in the function and which must be configured, if applicable.
Note
Interface also on SINUMERIK Integrate server (SI server)
The AMD interface "Direct access to PC/PLC" is only available locally on the SI server (IIS/
localhost). The customer application that uses the AMD interface must also be on the SI server.
3.2.1 Overview
All of the functions described here for using the new API interface are based on the Windows
Communication Foundation, or WCF for short.
The following basic packages are available. These are divided into task-specific sub-packages:
● Admin
Machine administration
● BasicServices
– BasicDataAccessService
New simplified data acquisition
– InfrastructureService
Machine status/synchronization
– BasicDataConfigurationServices
Configuration of basic data recordings
For licensing questions, please contact your Siemens sales representative.
Activate interface
To activate the AMD interfaces, you must convert the directory "Api" to an "Application" in the
IIS.
1. To do this, select the "Api" directory and open the shortcut menu with a right-click.
2. Select the entry "Convert to Application" in the shortcut menu.
Activate services
Then activate the required services following the same procedure:
'LUHFWDFFHVV
WR1&3/&
Procedure
To deactivate the AMD interfaces, the "application" must be deleted from the IIS.
1. To do this, select the directory "Api" and open the shortcut menu with a right-click.
2. Select the entry "Remove" in the shortcut menu.
The individual services under "Api" are deactivated according to the same principle.
Name Description
List<Machine> Contains the list of the machines which are
GetMachines(string domainName, available for the defined domain. The domain
MachineResultDesc machResult) must be provided in the parameter
domainName
Machine GetMachine (string Contains the master machine data of the ma‐
domainName, MachineIdentifier chine defined with machineId. The domain
machineId, MachineResultDesc must be provided in the parameter
machResult) domainName The machine must be available
for the domain that is defined in the parameter
domainName.
Machine GetMachineByName (string Contains the master machine data of the ma‐
domainName, string chine defined with machineName. The domain
machineNameOEM, string must be provided in the parameter
organizationName, domainName The machine must be available
MachineResultDesc machResult) for the domain that is defined in the parameter
domainName.
3.3.2.1 Introduction
Introduction
This chapter contains an introductory description of how the SI server itself records the data
before making it available via the AMD interface.
Three types of data recording are available on the controller:
● Recording of data whenever there is a change
● Recording of data in a time cycle (every x seconds)
● Synchronized recording of data. The recording is initiated by setting a synchronization
value. After the recording, the system automatically resets the synchronization value.
Note
No notification service (subscription, hotlink) is available to the end user in the AMD interface.
A monitoring function can be configured between the client and server via AMD for collecting
data. The end user must read the results via the AMD interface either cyclically or as needed.
The recorded values are forwarded within the client to a client channel. The configuration of
the corresponding client channel defines whether data will be buffered in the event the server
connection is lost and how large the buffer should be, if applicable.
The client channel ultimately ensures the transfer of data to the server. There, the data is
entered into a server channel, depending on the configuration of the corresponding data
recording. Data from different machines can be entered into one and the same server channel
if the configuration of the corresponding data recordings on different machines contains the
same server channel as the destination.
Via the server channel, the data can be called and, if applicable, marked as processed via an
application on the SI server interface.
The individual data recordings define the following:
● When a recording is to be made (when there is a change, cyclically, synchronized)
● What data is to be recorded (addresses in BTSS syntax)
● The client channel via which the data is to be transported to the server
● The server channel in which the data will be entered
In addition to recording the user data, the individual elements of the simplified data recording
provide system variables, which can be recorded in addition to user data. This system data
encompasses:
General machine-related data
● Machine was switched on/off
● Machine goes offline/online
● Machine was synchronized
● Machine configurations were changed – the machine is no longer synchronized
● Application and synchronization status of the machine (OK/Warning/Error respectively)
Client channel
Client channels are used to transfer recorded data to the server. Among other things, they
have buffer mechanisms, via which data can be temporarily saved when the connection to the
server is lost.
Server channel
Server channels are used for storing the recorded data until it is processed. A user can
configure how long the data is to be stored:
● Delete unprocessed data after ... (time period)
● Delete processed data after ... (time period)
● Maximum number of values in the server channel
Name Description
ChannelData ReadData (string Depicts the data of a specified server channel
domainName, string serverChannel, beginning at a defined start ID.
Int64 startId, int maxCount)
long GetLastId(string domain Name, Shows the ID of the last data entry in a server
string serverChannel) channel.
void SetProcessedLine(string Defines the data process line, so that the serv‐
domainName, string serverChannel, er can delete processed data of a server chan‐
Int64 lastProcessedId) nel.
Interface: IBasicDataConfiguration
Name Description
void Defines the server channels for a specific do‐
DefineServerDataChannels(string main. Replaces the existing configuration with
domainName, a new one. Old configuration is deleted.
List<ServerDataChannelConfig>
chan- nels)
List<ServerDataChannelConfig> Receipt of the server channel configuration for
GetServerDataChannels(string a domain.
domain- Name)
void DefineClientDataChannels Defining the client channel for a machine within
(string domainName, a domain.
MachineIdentifier machineId,
List<ClientDataChannelConfig>
chan- nels)
List<ClientDataChannelConfig> Receipt of the configured client channel for a
GetClientDataChannels(string defined machine within a domain.
domainName, MachineIdentifier
machineId)
void DefineDataRecordings(string Defining the configuration for data recordings
do- mainName, MachineIdentifier for a defined machine and domain. The exist‐
machineId, ing configuration is overwritten with the new
List<DataRecordingConfig> one.
recordings) Note:
No more than five recordings may be defined
for machines with HMI-Advanced.
List<DataRecordingConfig> GetData- Receipt of the data recording configuration for
Recordings a defined machine within a domain.
(string domainName,
MachineIdentifier machineId)
void Defines the configuration for recordings of sys‐
DefineSystemMachineVariableRe- tem machine variables in a specific domain for
cordings a specific machine. Here, a user can define the
(string domainName, server channel in which the system machine
MachineIdentifier machineId, variables are sent. The existing configuration
for the machine and domain is overwritten.
List<SystemMachineVariableRecordin
g> recordings)
List<SystemMachineVariableRecordin Receipt of the system machine variable config‐
g> uration for a defined machine within a domain.
GetSystemMachineVariableRecordings
(string domainName,
MachineIdentifier machineId)
void DefineClientJobNotifications Defines the configuration for recordings of sys‐
(string domainName, tem machine variables in a specific domain for
MachineIdentifier machineId, a specific machine. Here, a user can define the
List<ClientJobNotificationConfigur client channel in which the system machine
ation> configuration) variables are provided. The existing configura‐
tion for the machine and domain is overwritten.
Name Description
List<ClientJobNotificationConfigur Receipt of the system machine variable config‐
ation> GetClientJobNotifications uration for a defined machine within a domain.
(string domainName,
MachineIdentifier machineId)
BasicDataAccessMachineConfiguratio Receipt of the machine configuration for basic
n GetMachineConfiguration data access for a specific domain within a ma‐
(string domainName, chine.
MachineIdentifier machineId)
void DefineMachineConfiguration Defining the machine configuration for basic
(string domainName, data access for a specific domain within a ma‐
MachineIdentifier machine- chine.
Id,BasicDataAccessMachineConfigura
tion configuration)
Name Description
bool IsDirectDataAccessAvailable() Shows whether the SI server supports direct
variable access.
DirectDataAccessResult Synchronous writing of a variable on the ma‐
WriteToDevice (string domainName, chine.
MachineIdentifier machineId,
string address, RecordingDataType
dataType, string value, TimeSpan
timeout)
Guid WriteToDeviceAsync (string Asynchronous writing of a variable on the ma‐
domainName, MachineIdentifier chine.
machineId,string address,
RecordingDataType dataType,
string value, string
callbackUrl,TimeSpan timeout)
DirectDataAccessResult Synchronous reading of a variable from the
ReadFromDevice (string domainName, machine.
achineIdentifier machineId,
string address, RecordingDataType
dataType, TimeSpan timeout)
Guid ReadFromDeviceAsync (string Asynchronous reading of a variable from the
domainName, MachineIdentifier machine.
machineId,string address,
RecordingDataType dataType,
string callbackUrl, TimeSpan
timeout)
Note
Reading or writing of bin blocks on HMI-Advanced
After a new installation of HMI-Advanced on Windows XP or an upgrade, the integrated
OPC server of the HMI-Advanced might no longer function correctly.
As a result, the methods "WriteToDevice" or "ReadFromDevice" no longer function in the
described interface. The user cannot write bin blocks anymore.
The OPC server of the HMI-Advanced must be set to an operational state again. Advanced
Windows expertise is required for these steps. Execute the following steps as administrator:
1. Check whether the file "MCVar.dll" exists in the directory "F:\mmc2". If the file is missing,
reinstall HMI-Advanced using the "Repair" functionality in the Windows program list.
2. Use the "Regedit" tool to check whether the OPC server is registered in the Windows
registry (name: "OPC.Sinumerik.Machineswitch"). If this entry is missing, execute the
following command in the Windows command line to register the OPC server:
"F:\mmc2\opc\dataaccess\SOPC_MachineSwitch /RegServer"
3. Restart the HMI-Advanced after the changes.
Name Description
DirectDataAccessCompleted This method is called after an asynchronous
(DirectDataAccessResult result ) "direct variable access" call has been ended.
Objects of the type "DirectDataAccessResult"
contain the result of the call.
Interface: IMachineStatus
Name Description
List<MachineStatusInfo> Receipt of the status of all of the machines
GetMachineStatusAllMachines(string available in a domain.
domainName)
MachineStatusDetail Receipt of the detailed status of a specific ma‐
GetMachineApplicationStatus(string chine from a domain.
domainName, MachineIdentifier (not yet available)
machineId)
Name Description
bool Initiating a sever-side synchronization.
TriggerServerSideSynchronization(s
tring domainName,
MachineIdentifier machineId)
SynchronizationInfo Receipt of the synchronization information of
GetSynchronizationInfo(string the previously defined machine.
domainName, MachineIdentifier
machineId)
The Web service interface uses the Hypertext Transfer Protocol for connecting to and
transferring data between the SI server and an external application. The functions are made
available within SINUMERIK Integrate (SI) by the MMT server. Therefore, an operational
MMT server is required in addition to an operational SI server.
Overview
502 (Bad gateway) Status code The required service cannot be accessed.
Error message The function cannot be executed.
500 (Internal server error) Status code An error occurred while executing the function.
Error message The detailed cause cannot be determined.
Response protocol
All errors are displayed in this format:
<Error errorCode="<ErrorCode>" errorMessage="<ErrorText>"/>
Note
errorCode error detection
If the clients use errorCode for the error detection, the error description is in English. This
message refers mainly to API users.
The error message must not contain any call tracking or exception details. UIs should use the
error code.
4.3 Certification
For secured communication (HTTPS) between the SI Server and the clients, you require a
digital certificate that confirms the identity of the server.
The connection is an SSL connection.
The following certificates are required for communication:
● SSL certificate: This certificate must be present on the server.
● Root certificate: This certificate must be present on the server and the clients.
Requirement
The certificate has already been generated or updated.
Note
Client authentication/connection problems
● The client authentication allows the user secure access to a server or remote computer by
exchanging a digital certificate.
● Editing is not possible in the event of connection problems. The function is only guaranteed
for an existing SSL connection.
In this case, the error code of the Web service interface changes to 108; see also: Error
codes (Page 33).
References
The procedure for generating and configuring the certificate is described in the following
Installation Manual: SINUMERIK Integrate MMP, MMT, AMC, AMP, AMM/E, AMD,
Section: Setting up an encrypted connection
Section: AMD access to tool information, generating/selecting the server certificate.
The following sections describe the protocols for reading/writing/changing tool and/or planning
data in MMT.
There are two different methods to use this function on the one hand for POST requests and
on the other hand for GET requests.
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="101"/>
Response protocol
<Action ID="101">
<Configuration versionLabel="" crc32="86F2EEE" distributed="1" ...>
<Node nodeId="Server" nodeNo="1" globalId="FAFBD571-FD0F-4372-9BBE-8EB1C3FAFD9F"
host="<AMD-Tools server IP">
<Modules Plant="0" Overview="1" Handling="1" Statistic="1" Machine="1"
Planning="1" ...="">
<SinOpSupport name="TdiMcisInterfaces" param="localhost:8000"
assembly="TdiMcisInterface.dll" />
<OEM name="MMTWebInterface" assembly="MMTWebInterface.dll"
subscription_timeout="300000" />
</Modules>
<Container id="New magazine" ...="" />
<ContainerAssignment fromParent="0">
<ContainerToAssigne nodeId="Server" containerId="New magazine" asMoveDest="1"
asLoad="1" />
</ContainerAssignment>
<Node nodeId="NCUsl" orgName="Org" globalId="21CD79E2-0B73-11E4-8000-001FF80DBF91"
nodeNo="3" ...="">
<HolderDependencies>
<TOA linkedToa="1" numOfChn="1">
<HolderAssignment chn="1" numOfToolHld="1" toolHolder="1" />
</TOA>
</HolderDependencies>
<Container id="Pick_Up" no="1" nodeNo="4"...>
...
</Container>
<Container id="MAG-2" no="2" nodeNo="5"...>
...
</Container>
<Container id="SONDERMAGAZIN" no="5" nodeNo="6"...>
...
</Container>
<Container id="Belademagazin1" no="8" nodeNo="7"...>
...
</Container>
</Node>
<Node nodeId="NCU" nodeNo="13"...>
<Modules Overview="1" Handling="1" Statistic="1" Machine="1" Planning="1"
TPGeneration="1" ...=""/>
<Container id="Pick_Up" globalId="2D4BBEED-C0F1-48BF-9F43-6D0ACD5C7B3A"...>
...
</Container>
<Container id="ZM87_2" globalId="34047B59-BDD0-405E-8219-D2FFAF638DD1"...>
...
</Container>
</Node>
</Node>
<UserDataDefinition>
...
</UserDataDefinition>
</Configuration>
</Action>
Note
For a detailed description on the structure of the shopfloor configuration in MMT please refer
to the MMT documentation.
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
Start the subscription:
<Action ID="103">
<SUBSCRIBE timeout="5000">1</SUBSCRIBE>
</Action>
Response protocol
Note
The GUID returned upon activation must always be sent along with the HTTP GET requests
and when the notification server is deactivated.
The following response is sent when the notification service is successfully activated:
The following response is sent when the notification service is successfully deactivated:
After activation of the notification service, an HTTP-GET request must be sent cyclically to the
WebInterface server. This contains as parameters the Action ID and the GUID returned on
activation. The request is replied to immediately if user data is available for retrieval from the
WebInterface server.
GET request:
● Method:
GET
● AMD tool URL:
https://<AMD-Tools server IP>/amd/tools/v1/Actions?
actionId=103&guid=dcc2aedb-5dc5-4278-8f50-47f57d8b9e21
If no user data from an asynchronous operation is available at the WebInterface server, the
server response is delayed until an asynchronous operation is available at the
WebInterface server. After the timeout period (user-defined or default of 10000 milliseconds),
the HTTP-GET call returns with no data. The client can recognize from the size of the answer
whether user data of the asynchronous operation is available.
For each new transfer of tools, the subscriber gets a response similar to the following example:
Response protocol
<Action ID="103" guid="dcc2aedb-5dc5-4278-8f50-47f57d8b9e21">
<ToolData State="Add|Deleted" NodeId="NCU2" ContainerId="PAT1"
PlaceNo="4">
<DataElem>
<TC_TP>
<TC_TP1>1</TC_TP1>
<TC_TP2>2SCHNEIDEN</TC_TP2>
</TC_TP>
<TDI>
<TDI_EXTERN_ID>nxt_mill_2000</TDI_EXTERN_ID>
<TDI_OBJECT_ID>0</TDI_OBJECT_ID>
</TDI>
</DataElem>
</ToolData>
</Action>
Note
All tool data must be called by a further action if necessary.
4.4.1.3 Read out tool container assignment "all parameters" (action 107)
The "Read out tool container assignment "all parameters" (action 107)" function allows tool
data (including all parameters) to be read out from one or more tool containers.
For every container to be read out, the ContainerId and its higher-level NodeId (this can
be determined from the MMT shopfloor configuration) must be specified.
The values that should be contained in the response can be defined by entering the optional
parameter Place in the request.
● All: Tools + empty locations
● ToolsOnly: Tools
● Empty: Empty locations
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
Note
The response protocol differs for Powerline and Solutionline control systems.
The response protocol for Solutionline control systems contains additional elements in node
<TC_TP> in addition to the <TC_TPx> elements. The Powerline control systems do not contain
the additional elements.
</DataElem>
<TDI>
<TDI_TARGET_TIME>2014-02-14T14:11:11</TDI_TARGET_TIME>
<TDI_TARGET_NODE>NCUsl</TDI_TARGET_NODE>
<TDI_TARGET_PART>5</TDI_TARGET_PART>
<TDI_TARGET_SPINDLENO>1</TDI_TARGET_SPINDLENO>
<TDI_TARGET_WORK>Work</TDI_TARGET_WORK>
</TDI>
</DataElem>
</ToolData>
</MagList>
</Action>
</DataElem>
<TDI>
<TDI_OBJECT_ID>mill_200_Ar</TDI_OBJECT_ID>
<TDI_EXTERN_ID>12345678905r</TDI_EXTERN_ID>
<TDI_TOOLID_DESCRIPTION>tool_millr</TDI_TOOLID_DESCRIPTION>
<TDI_TOOL_COMMENT>millr</TDI_TOOL_COMMENT>
<TDI_PRESETTING_TIME />
<TDI_EXTTOOLSTATE>0</TDI_EXTTOOLSTATE>
<TDI_ASSIGNED_CONTAINER />
<TDI_LAST_ACCESS_PROG />
<TDI_LAST_ACCESS_TIME />
<TDI_LAST_ACCESS_EDGE>1</TDI_LAST_ACCESS_EDGE>
<TDI_TARGET_TIME>2014-02-14T14:11:11</TDI_TARGET_TIME>
<TDI_TARGET_NODE>NCUsl</TDI_TARGET_NODE>
<TDI_TARGET_PART>3</TDI_TARGET_PART>
<TDI_TARGET_SPINDLENO>10</TDI_TARGET_SPINDLENO>
<TDI_TARGET_WORK>Worksek1</TDI_TARGET_WORK>
</TDI>
</DataElem>
</ToolData>
</MagList>
</Action>
Note
● Nodes and containers that do not contain any tool data are not listed for the response.
● The attribute <ContainerState> shows whether or not the tool container is connected.
Possible states are:
– ContainerState="SYNCHRON"
– ContainerState="IN_SYNC"
– ContainerState="OFFLINE"
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
Response protocol
<Action ID="108">
<MagList NodeId="NCUsl">
<Mag Name="Pick_Up" ContainerState="SYNCHRON" />
<EmptyPlace PlaceNo="1" />
<EmptyPlace PlaceNo="2" />
<EmptyPlace PlaceNo="6" />
<EmptyPlace PlaceNo="7" />
<EmptyPlace PlaceNo="8" />
<EmptyPlace PlaceNo="9" />
<EmptyPlace PlaceNo="10" />
<ToolData>
<DataElem>
<TC_TP>
<TC_TP1>3</TC_TP1>
<TC_TP2>tool</TC_TP2>
...
<TC_TP9>0</TC_TP9>
<MAG_PLACE>3</MAG_PLACE>
</TC_TP>
<DataElem Index="1">
<TC_MOP>
<TC_MOP1>0</TC_MOP1>
...
<TC_MOP13>0</TC_MOP13>
</TC_MOP>
</DataElem>
<TDI>
<TDI_OBJECT_ID>
</TDI_OBJECT_ID>
<TDI_EXTERN_ID>
</TDI_EXTERN_ID>
<TDI_TARGET_NODE>NCUsl</TDI_TARGET_NODE>
...
<TDI_PRESETTING_TIME>2015-07-03T13:27:47</TDI_PRESETTING_TIME>
</TDI>
</DataElem>
</ToolData>
</MagList>
</Action>
Note
● Nodes and containers that do not contain any tool data are not listed for the response.
● The attribute <ContainerState> shows whether or not the tool container is connected.
Possible states are:
– ContainerState="SYNCHRON"
– ContainerState="IN_SYNC"
– ContainerState="OFFLINE"
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
Response protocol
<Action ID="109">
<MagList NodeId="NCUsl">
<Mag Name="Pick_Up" ContainerState="SYNCHRON">
<EmptyPlace PlaceNo="2" />
<EmptyPlace PlaceNo="3" />
<EmptyPlace PlaceNo="4" />
<EmptyPlace PlaceNo="5" />
<ToolData>
<DataElem>
<TC_TP>
<TC_TP1>3</TC_TP1>
<TC_TP2>LUECKE</TC_TP2>
...
<MAG_PLACE>1</MAG_PLACE>
</TC_TP>
<DataElem Index="1">
<TC_MOP>
<TC_MOP1>0</TC_MOP1>
...
<TC_MOP13>0</TC_MOP13>
</TC_MOP>
</DataElem>
<TDI>
<TDI_OBJECT_ID />
<TDI_EXTERN_ID />
...
<TDI_LAST_ACCESS_TIME />
<TDI_PRESETTING_TIME />
</TDI>
</DataElem>
</ToolData>
</Mag>
<Mag Name="MAG-2" ContainerState="SYNCHRON">
<EmptyPlace PlaceNo="7" />
<EmptyPlace PlaceNo="8" />
<EmptyPlace PlaceNo="9" />
<EmptyPlace PlaceNo="10" />
<ToolData>
<DataElem>
<TC_TP>
<TC_TP1>7</TC_TP1>
<TC_TP2>toolx</TC_TP2>
...
<MAG_PLACE>1</MAG_PLACE>
</TC_TP>
<DataElem Index="1">
<TC_MOP>
<TC_MOP1>0</TC_MOP1>
...
<TC_MOP13>0</TC_MOP13>
</TC_MOP>
</DataElem>
<TDI>
<TDI_OBJECT_ID />
<TDI_EXTERN_ID />
<TDI_TARGET_NODE>NCUsl</TDI_TARGET_NODE>
...
<TDI_LAST_ACCESS_PROG />
<TDI_LAST_ACCESS_TIME />
<TDI_PRESETTING_TIME>2015-06-19T09:50:42</TDI_PRESETTING_TIME>
</TDI>
</DataElem>
</ToolData>
</Mag>
</MagList>
</Action>
Note
● Nodes and containers that do not contain any tool data are not listed for the response.
● The attribute <ContainerState> shows whether or not the tool container is connected.
Possible states are:
– ContainerState="SYNCHRON"
– ContainerState="IN_SYNC"
– ContainerState="OFFLINE"
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="114">
<Tool NodeId="Server" ContainerId="Zoller" PlaceNo="1" TC_TP2="mill200A"
TC_TP1="1">
<TDI>
<TDI_OBJECT_ID>mill_200_A</TDI_OBJECT_ID>
<TDI_EXTERN_ID>1234</TDI_EXTERN_ID>
<TDI_TOOLID_DESCRIPTION>tool_mill</TDI_TOOLID_DESCRIPTION>
<TDI_TOOL_COMMENT>mill</TDI_TOOL_COMMENT>
</TDI>
</Tool>
</Action>
Response protocol
<Action ID="114">
<Tool NodeId="Server" ContainerId="Zoller" PlaceNo="1" TC_TP2="123456"
TC_TP1="1">OK
</Tool>
</Action>
4.4.1.7 Read out actual tool data via tool identifier/DuploNo. (Action 115)
The "Read actual Tooldata by toolident/DuploNo. (Action 115)" operation enables an entire
tool dataset to be read out. To identify the tool, for the Request protocol, the associated node
(NodeId) can be determined from the MMT shopfloor configuration – see protocol: Readout
of the MMT configuration (Action 101) (Page 36), the tool identifier and the duplo number are
required.
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="115">
<ToolData NodeId="NCUpl-Mark">
<DataElem>
<TC_TP>
<TC_TP1>1</TC_TP1>
<TC_TP2>TAP</TC_TP2>
</TC_TP>
</DataElem>
</ToolData>
</Action>
Note
The response protocol differs for Powerline and Solutionline control systems.
<TDI_TARGET_SPINDLENO />
<TDI_TARGET_TIME />
<TDI_TARGET_WORK />
<TDI_TOOL_COMMENT>Kommentar</TDI_TOOL_COMMENT>
<TDI_TOOLID_DESCRIPTION>Beschreibung</TDI_TOOLID_DESCRIPTION>
<TDI_ASSIGNED_CONTAINER>
</TDI_ASSIGNED_CONTAINER>
<TDI_EXTTOOLSTATE>0</TDI_EXTTOOLSTATE>
<TDI_LAST_ACCESS_EDGE>1</TDI_LAST_ACCESS_EDGE>
<TDI_LAST_ACCESS_PROG>
</TDI_LAST_ACCESS_PROG>
<TDI_LAST_ACCESS_TIME>
</TDI_LAST_ACCESS_TIME>
<TDI_PRESETTING_TIME>2015-03-10T15:00:12</TDI_PRESETTING_TIME>
</TDI>
</DataElem>
</ToolData>
</Action>
<TDI>
<TDI_OBJECT_ID>
</TDI_OBJECT_ID>
<TDI_EXTERN_ID>15</TDI_EXTERN_ID>
<TDI_TARGET_NODE />
<TDI_TARGET_PART />
<TDI_TARGET_SPINDLENO />
<TDI_TARGET_TIME />
<TDI_TARGET_WORK />
<TDI_TOOL_COMMENT>Kommentar</TDI_TOOL_COMMENT>
<TDI_TOOLID_DESCRIPTION>Beschreibung</TDI_TOOLID_DESCRIPTION>
<TDI_ASSIGNED_CONTAINER>
</TDI_ASSIGNED_CONTAINER>
<TDI_EXTTOOLSTATE>0</TDI_EXTTOOLSTATE>
<TDI_LAST_ACCESS_EDGE>1</TDI_LAST_ACCESS_EDGE>
<TDI_LAST_ACCESS_PROG>
</TDI_LAST_ACCESS_PROG>
<TDI_LAST_ACCESS_TIME>
</TDI_LAST_ACCESS_TIME>
<TDI_PRESETTING_TIME>2015-03-10T15:00:12</TDI_PRESETTING_TIME>
</TDI>
</DataElem>
</ToolData>
</Action>
Note
● The attribute <NodeState> shows whether or not the node (machine, groups, etc.) is
connected.
● Possible states are:
– NodeState="SYNCHRON"
– NodeState="OFFLINE"
4.4.1.8 Read out actual tool data via ExternalId (Action 116).
The "Read actual tool data (Action 116)" operation enables a complete tool data set to be read
out. To identify the tool, for the Request protocol, the associated node (NodeId) can be
determined from the MMT shopfloor configuration – see protocol: Readout of the MMT
configuration (Action 101) (Page 36) and an external ID (e.g. inventory or holder number) are
transferred.
Note
If the NodeId attribute is blank, then all nodes are searched.
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="116">
<ToolData NodeId="Server">
<DataElem>
<TC_TP>
<EXT_ID>Inventarnummer</EXT_ID>
</TC_TP>
</DataElem>
</ToolData>
</Action>
<TDI_TARGET_SPINDLENO />
<TDI_TARGET_TIME />
<TDI_TARGET_WORK />
<TDI_TOOL_COMMENT>Kommentar</TDI_TOOL_COMMENT>
<TDI_TOOLID_DESCRIPTION>Beschreibung</TDI_TOOLID_DESCRIPTION>
<TDI_ASSIGNED_CONTAINER>
</TDI_ASSIGNED_CONTAINER>
<TDI_EXTTOOLSTATE>0</TDI_EXTTOOLSTATE>
<TDI_LAST_ACCESS_EDGE>1</TDI_LAST_ACCESS_EDGE>
<TDI_LAST_ACCESS_PROG>
</TDI_LAST_ACCESS_PROG>
<TDI_LAST_ACCESS_TIME>
</TDI_LAST_ACCESS_TIME>
<TDI_PRESETTING_TIME>2015-03-10T15:00:12</TDI_PRESETTING_TIME>
</TDI>
</DataElem>
</ToolData>
</Action>
</TDI_OBJECT_ID>
<TDI_EXTERN_ID>15</TDI_EXTERN_ID>
<TDI_TARGET_NODE />
<TDI_TARGET_PART />
<TDI_TARGET_SPINDLENO />
<TDI_TARGET_TIME />
<TDI_TARGET_WORK />
<TDI_TOOL_COMMENT>Kommentar</TDI_TOOL_COMMENT>
<TDI_TOOLID_DESCRIPTION>Beschreibung</TDI_TOOLID_DESCRIPTION>
<TDI_ASSIGNED_CONTAINER>
</TDI_ASSIGNED_CONTAINER>
<TDI_EXTTOOLSTATE>0</TDI_EXTTOOLSTATE>
<TDI_LAST_ACCESS_EDGE>1</TDI_LAST_ACCESS_EDGE>
<TDI_LAST_ACCESS_PROG>
</TDI_LAST_ACCESS_PROG>
<TDI_LAST_ACCESS_TIME>
</TDI_LAST_ACCESS_TIME>
<TDI_PRESETTING_TIME>2015-03-10T15:00:12</TDI_PRESETTING_TIME>
</TDI>
</DataElem>
</ToolData>
</Action>
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="117">
<ToolList NodeId="Server" ContainerId="Import">
<DataElem>
<TC_TP>
<TC_TP1>17</TC_TP1>
<TC_TP2>Bohrerxy</TC_TP2>
<TC_TP3>1</TC_TP3>
<TC_TP4>1</TC_TP4>
...
</TC_TP>
<TC_TPG>
<TC_TPG1>0</TC_TPG1>
<TC_TPG2>0</TC_TPG2>
<TC_TPG3>0</TC_TPG3>
<TC_TPG4>0</TC_TPG4>
...
</TC_TPG>
<DataElem Index="1">
<TC_DP>
<TC_DP1>121</TC_DP1>
<TC_DP2>0</TC_DP2>
<TC_DP3>00185.000</TC_DP3>
<TC_DP4>0</TC_DP4>
<TC_DP5>0</TC_DP5>
<TC_DP6>10</TC_DP6>
...
</TC_DP>
<TC_MOP>
<TC_MOP1>0</TC_MOP1>
<TC_MOP2>0</TC_MOP2>
<TC_MOP3>0</TC_MOP3>
<TC_MOP4>0</TC_MOP4>
<TC_MOP5>0</TC_MOP5>
<TC_MOP6>0</TC_MOP6>
<TC_MOP7>0</TC_MOP7>
...
</TC_MOP>
</DataElem>
<TDI>
<TDI_PRESETTING_TIME>2009-11-13T09:20:35</TDI_PRESETTING_TIME>
<TDI_EXTTOOLSTATE>0</TDI_EXTTOOLSTATE>
<TDI_ASSIGNED_CONTAINER/>
</TDI>
</DataElem>
</ToolList>
</Action>
Response protocol
<Action ID="117">
<ToolList NodeId="Server" ContainerId="Import">
<DataElem>
<TC_TP>
<TC_TP1>17</TC_TP1>
<TC_TP2>Bohrerxy</TC_TP2>
<STATE>CREATED</STATE>
</TC_TP>
</DataElem>
</ToolList>
</Action>
Note
When creating a tool using Action 117, the TDI_EXTERN_ID can be defined, among others.
The MMT server must be correspondingly configured (no automatic assignment of the
ExternId).
The following steps must be performed for this purpose:
1. Open the "Options" tab in the MMT configuration program (Manage MyTools configuration).
2. Click "Tool identification", and select "Global tool identification (e.g. holder number) defined
by ExternId".
3. Accept and save this setting.
4. Then restart the MMT server.
Otherwise the entered ExternId will be replaced by an automatically generated character string
if the automatic assignment of the ExternId has been configured in the MMT server.
Note
The Response protocol specifies whether the deletion was successful for the respective tool.
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="119">
<ActionDeleteTool>
<Place nodeId="NCUsl" containerId="Pick_Up" no="1"/>
</ActionDeleteTool>
<ActionDeleteTool>
<Place nodeId="NCUsl" containerId="Pick_Up" no="3"/>
</ActionDeleteTool>
<ActionDeleteTool>
<Place externId="eine externe WZ-Identifikation"/>
</ActionDeleteTool>
</Action>
Response protocol
<Action ID="119">
<ActionDeleteTool>
<Place nodeId="NCUsl" containerId="Pick_Up" no="1">Deleted</Place>
</ActionDeleteTool>
<ActionDeleteTool>
<Place nodeId="NCUsl" containerId="Pick_Up" no="3">Deleted</Place>
</ActionDeleteTool>
<ActionDeleteTool>
<Place externId="eine externe WZ-Identifikation">Deleted</Place>
</ActionDeleteTool>
</Action>
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="120">
<ToolData>
<DataElem>
<TC_TP>
<TC_TP2>457111</TC_TP2>
<TC_DP1/>
<TOOL_COMMENT/>
</TC_TP>
</DataElem>
</ToolData>
</Action>
Response protocol
<Action ID="120">
<ToolData>
<TC_TP>
<TC_TP2>457111</TC_TP2>
<TC_TP9>0</TC_TP9>
<TC_DP1>121</TC_DP1>
<TC_MOP13>0</TC_MOP13>
<BEZEICHNUNG></BEZEICHNUNG>
<WZ_SCHRANK_ID>3</WZ_SCHRANK_ID>
<TOOL_COMMENT></TOOL_COMMENT>
<EDGES>1</EDGES>
</TC_TP>
</ToolData>
</Action>
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="121">
<ToolData>
<DataElem>
<TC_TP>
<TC_TP2>Werkzeugbezeichner</TC_TP2>
</TC_TP>
</DataElem>
</ToolData>
</Action>
Response protocol
<Action ID="121">
<ToolList>
<DataElem>
<TC_TP>
<TC_TP1>0</TC_TP1>
<TC_TP2>WZ-Werkzeugbezeichner</TC_TP2>
<TC_TP3>1</TC_TP3>
<TC_TP4>1</TC_TP4>
<TC_TP5>1</TC_TP5>
<TC_TP6>1</TC_TP6>
<TC_TP7>1</TC_TP7>
<TC_TP8>0</TC_TP8>
<TC_TP9>0</TC_TP9>
<TC_TP10>0</TC_TP10>
<TC_TP11>0</TC_TP11>
</TC_TP>
<DataElem Index="1">
<TC_DP>
<TC_DP1>120</TC_DP1>
<TC_DP2>0</TC_DP2>
<TC_DP3>0</TC_DP3>
<TC_DP4>0</TC_DP4>
<TC_DP5>0</TC_DP5>
<TC_DP6>0</TC_DP6>
<TC_DP7>0</TC_DP7>
<TC_DP8>0</TC_DP8>
...
</TC_DP>
<TC_MOP>
<TC_MOP1>0</TC_MOP1>
<TC_MOP2>0</TC_MOP2>
<TC_MOP3>0</TC_MOP3>
<TC_MOP4>0</TC_MOP4>
<TC_MOP5>0</TC_MOP5>
<TC_MOP6>0</TC_MOP6>
...
</TC_MOP>
</DataElem>
<TDI>
<TDI_WZSCHRANK_ID>3</TDI_WZSCHRANK_ID>
<TDI_TOOLID_DESCRIPTION/>
<TDI_TOOL_COMMENT/>
</TDI>
</DataElem>
</ToolList>
</Action>
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="122">
<ToolData>
<DataElem>
<TC_TP>
<TC_TP2>Werkzeugbezeichner</TC_TP2>
</TC_TP>
</DataElem>
</ToolData>
</Action>
Response protocol
<Action ID="122">
<ToolData>
<DataElem>
<TC_TP>
<TC_TP2>SF2</TC_TP2>
<STATE>DELETED</STATE>
</TC_TP>
</DataElem>
</ToolData>
</Action>
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="123">
<ToolList>
<DataElem>
<TC_TP>
<TC_TP1>0</TC_TP1>
<TC_TP2>Stammwerkzeug</TC_TP2>
<TC_TP3>1</TC_TP3>
<TC_TP4>1</TC_TP4>
<TC_TP5>1</TC_TP5>
<TC_TP6>1</TC_TP6>
...
</TC_TP>
<TC_TPG>
<TC_TPG1>0</TC_TPG1>
<TC_TPG2>0</TC_TPG2>
<TC_TPG3>0</TC_TPG3>
<TC_TPG4>0</TC_TPG4>
...
</TC_TPG>
<DataElem Index="1">
<TC_DP>
<TC_DP1>120</TC_DP1>
<TC_DP2>0</TC_DP2>
<TC_DP3>0</TC_DP3>
<TC_DP4>0</TC_DP4>
<TC_DP5>0</TC_DP5>
...
</TC_DP>
<TC_MOP>
<TC_MOP1>0</TC_MOP1>
<TC_MOP2>0</TC_MOP2>
<TC_MOP3>0</TC_MOP3>
<TC_MOP4>0</TC_MOP4>
<TC_MOP5>0</TC_MOP5>
...
</TC_MOP>
</DataElem>
<TDI>
<TDI_WZSCHRANK_ID>1</TDI_WZSCHRANK_ID>
<TDI_TOOLID_DESCRIPTION/>
<TDI_TOOL_COMMENT/>
</TDI>
</DataElem>
</ToolList>
</Action>
Response protocol
If a master data set has been successfully created from new in MMT, then the following
response is sent:
<Action ID="123">
<ToolList>
<DataElem>
<TC_TP>
<TC_TP2>Stammwerkzeug</TC_TP2>
<STATE>CREATED</STATE>
</TC_TP>
</DataElem>
</ToolList>
</Action>
If an existing tool master data set is successfully changed in MMT, the following response is
sent:
<Action ID="123">
<ToolList>
<DataElem>
<TC_TP>
<TC_TP2>Stammwerkzeug</TC_TP2>
<STATE>CHANGED</STATE>
</TC_TP>
</DataElem>
</ToolList>
</Action>
Note
The target container for the tool must be of the "presetter" type.
The data (identifier and duplo number) is not checked for unambiguity. This allows tools with
the duplo number 0 to be set, even double tools can be set.
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
<Action ID="124">
<ToolList NodeId="Server" ContainerId=" Presetter1">
<DataElem>
<TC_TP>
<TC_TP1>1</TC_TP1>
<TC_TP2>Stammwerkzeug</TC_TP2>
</TC_TP>
</DataElem>
</ToolList>
</Action>
Response protocol
<Action ID="124">
<ToolList NodeId="Server" ContainerId="Presetter1">
<DataElem>
<TC_TP>
<TC_TP1>1</TC_TP1>
<TC_TP2>Stammwerkzeug</TC_TP2>
<STATE>CREATED</STATE>
</TC_TP>
</DataElem>
</ToolList>
</Action>
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="131">
<ToolPlan NodeId="node_id" ToolPlanId="plan_id"/>
</Action>
Response protocol
<Action ID="131">
<ToolPlan id="plan_id" nodeId="node_id" version="1" prog="Prog" duration="25"
channel="1" lastChangeDate="2014-02-14T14:11:11" lastChangeName="User" reserve1=""
reserve2="" reserve3="">
<Tool toolId="tool_id1" objectid="object_id1" occtype="" spindelNo="1" edgeNo="1"
cutTime="3" cutCount="1" progPosition="" mon="1"/>
<Tool toolId="tool_id2" edgeNo ="1" cutTime="6" cutCount="1" progPosition =""
mon="1"/>
<Tool toolId="tool_id3" edgeNo ="1" cutTime="2" cutCount="1" progPosition =""
mon="1"/>
<Tool toolId="tool_id4" objectid="object_id4" occtype="" targetMagazineNodeNo="1"
edgeNo ="1"
cutTime="4" cutCount="1" progPosition ="" mon="1"/>
<Tool toolId="tool_id5" objectid="object_id5" occtype="" spindleNo="2"
targetMaganzineNodeNo="1"
edgeNo="1" cutCount="1" progPosition="" mon="1"/>
</ToolPlan>
</Action>
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="132">
<ToolPlan NodeId="Server" ToolPlanId="Base plate"/>
</Action>
Response protocol
<Action ID="132">
<ToolPlan NodeId="Server" ToolPlanId="Base plate">
<STATE>DELETED</STATE>
</ToolPlan>
</Action>
Internal sequence:
When performing this operation, in a first step it must be checked as to whether the tool plan
already exists in MMT. If the tool plan already exists, the tool plan is overwritten with the
transferred data of the request protocol.
If the tool plan ID does not exist, a new tool plan is created in MMT.
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="133">
<ToolPlan id="plan_id" nodeId="node_id" version="1" prog="Progname" duration="25"
channel="1" lastChangeDate="2014-02-14T14:11:11" lastChangeName="User_id" reserve1=""
reserve2="" reserve3="">
<Tool toolId="tool_id1" objectid="object_id1" occtype="" targetMagazineNodeNo="2
edgeNo="1"
cutTime="3" cutCount="1" progPosition="" mon="1"/>
<Tool toolId="tool_id2" edgeNo ="1" cutTime="6" cutCount="1" progPosition =""
mon="1"/>
<Tool toolId="tool_id3" edgeNo ="1" cutTime="2" cutCount="1" progPosition =""
mon="1"/>
<Tool toolId="toold_id4" objectid="object_id4" occtype="" spindelNo="1" edgeNo ="1"
cutTime="4" cutCount="1" progPosition ="" mon="1"/>
<Tool toolId="tool_id5" objectid="object_id5" occtype="" spindleNo="2" edgeNo="1"
cutTime="4" cutCount="1" progPosition ="" mon="1"/>
</ToolPlan>
</Action>
Response protocol
If a tool plan has been successfully created, the following response is sent:
<Action ID="133">
<ToolPlan nodeId="node_id1" id="plan_id">
<STATE>CREATED</STATE>
</ToolPlan>
</Action>
If an existing tool plan is changed in MMT due to this operation, the following response is sent:
<Action ID="133">
<ToolPlan nodeId="node_id" id="plan_id">
<STATE>CHANGED</STATE>
</ToolPlan>
</Action>
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="134">
<ToolPlanList NodeId="Server" Recursive="1"/>
</Action>
Response protocol
<Action ID="134">
<ToolPlanList>
<ToolPlan NodeId="Masch1" ID="Base plate" Version="1" InUse="False"
LastChange="2004-05-14T11:17:17"/>
<ToolPlan NodeId="Masch1" ID="Cylinder" Version="1" InUse="False"
LastChange="2004-05-14T11:17:17"/>
<ToolPlan NodeId="Masch2" ID="corner" Version="1" InUse="True"
LastChange="2004-05-14T11:17:17"/>
<ToolPlan NodeId="Masch3" ID="Rough cut" Version="4" InUse="True"
LastChange="2004-05-14T11:17:17"/>
<ToolPlan NodeId="Masch3" ID="Rough cut" Version="1" InUse="False"
LastChange="2004-05-14T11:17:17"/>
</ToolPlanList>
</Action>
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="141"/>
Using the following optional extension of the request protocol, the readout of the balancing
result can be restricted to the specified node(s). MMT configuration nodes of the following
types are permitted (RootNode, Group and Machine):
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="141">
<NodeSelection NodeId="NCU 01"/>
<NodeSelection NodeId="Gruppe 2"/>
</Action>
Response protocol
The following example response is received if there is a need for tools:
<Action ID="141">
<ToolList>
<Place NodeId="Fertigung" containerId="Zoller" no="10">
<Tool id="nxt_mill_1010_100_A" state="2" type="0" tool_ptype="9999" mon="1"
intern="-1" target-node="MAG_NBV_700_MT" target-time="2013-10-17T11:23:21"
target-work="WorkSeq1" target-part="1" target-count="1" toolPlanId="Plan_1"
TDI_OBJECT_ID="nxt_mill_1010_100/A" TDI_EXTERN_ID="" TDI_TOOLID_DESCRIPTION=""
TDI_TOOL_COMMENT="" TDI_PRESETTING_TIME="" TDI_MANDATORY="0"
TDI_EXTTOOLSTATE="0" TDI_ASSIGNED_CONTAINER="" TDI_LAST_ACCESS_PROG=""
TDI_LAST_ACCESS_TIME="" TDI_LAST_ACCESS_EDGE="1"
TDI_TARGET_WEAROUT_AT="2013- 10-17T11:30:21" TDI_TARGET_SPINDLENO="1">
<CutEdge rtime="" />
</Tool>
</Place>
<Place NodeId="Fertigung" containerId="Zoller" no="12">
<Tool id="nxt_mill_1020_100_A" state="2" type="0" tool_ptype="9999" mon="1"
intern="-1" target-node="MAG_NBV_700_MT" target-time="2013-10-17T11:27:21"
target-work="WorkSeq1" target-part="1" target-count="1" toolPlanId="Plan_1"
TDI_OBJECT_ID="nxt_mill_1020_100/A" TDI_EXTERN_ID="" TDI_TOOLID_DESCRIPTION=""
TDI_TOOL_COMMENT="" TDI_PRESETTING_TIME="" TDI_MANDATORY="0"
TDI_EXTTOOLSTATE="0" TDI_ASSIGNED_CONTAINER="" TDI_LAST_ACCESS_PROG=""
TDI_LAST_ACCESS_TIME="" TDI_LAST_ACCESS_EDGE="1"
TDI_TARGET_WEAROUT_AT="2013- 10-17T11:34:21" TDI_TARGET_SPINDLENO="1">
<CutEdge rtime="" />
</Tool>
</Place>
</ToolList>
</Action>
The following example response is received if no tools are available in the setting list:
<Action ID="141">
<ToolList/>
</Action>
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="142">
<Tool NodeId="Server" ContainerId="Zoller" PlaceNo="2" TC_TP2="toolk"
TC_TP1="1">
<TDI>
<TDI_TARGET_NODE>NCUsl</TDI_TARGET_NODE>
<TDI_TARGET_TIME>2014-02-14T14:11:11</TDI_TARGET_TIME>
<TDI_TARGET_WORK>work</TDI_TARGET_WORK>
<TDI_TARGET_PART>3</TDI_TARGET_PART>
<TDI_TARGET_SPINDLENO>1</TDI_TARGET_SPINDLENO>
</TDI>
</Tool>
</Action>
<Action ID="142">
<Tool NodeId="Server" ContainerId="Zoller" PlaceNo="2" TC_TP2="toolk"
TC_TP1="1">
</Tool>
</Action>
Response protocol
<Action ID="142">
<Tool NodeId="Server" ContainerId="Zoller" PlaceNo="2" TC_TP2="toolk"
TC_TP1="1">OK |
NOT OK>
</Tool>
</Action>
Note
● The target machine <TDI_TARGET_NODE> for which the tool is reserved must actually exist
in the shopfloor configuration.
● The item <TDI_TARGET_TIME> must be available in ISO 8601 format.
● The location number can be determined using the Action_108/109 – see protocol: Read
out tool container assignment (Action 108) (Page 44) or Read out tool node (Action 109)
(Page 47).
Attribute Description
SrcNodeId Name of the source machine as in the MMT configuration
SrcMag Name of the source magazine as in the MMT configuration
SrcLoc Location of the source magazine
(SrcLoc can be determined using the Action_108/109 – see protocol: Read out
tool container assignment (Action 108) (Page 44) or Read out tool node (Action
109) (Page 47))
TC_TP2 Tool identifier same as in NC program
TC_TP1 Duplo number
SrcLoadingPoint Loading/unloading point of the source machine
(0 corresponds to the automatic use of the suitable loading point). If multiple
loading/unloading points are available on a machine, the relevant loading/un‐
loading point must be specified for the transfer.
Note:
Parameter is only effective for NCU machine magazines
DstNodeId Name of the destination machine as in the MMT configuration
DstMag Name of the destination magazine as in the MMT configuration
DstLoc Location of the destination magazine (0 corresponds to an automatic search for
an empty location)
DstLoadingPoint Loading/unloading point of the source machine
(0 corresponds to the automatic use of the suitable loading point). If multiple
loading/unloading points are available on a machine, the relevant loading/un‐
loading point must be specified for the transfer.
Note:
Parameter is only effective for NCU machine magazines
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="162">
<Transfer SrcNodeId="Server" SrcMag="Zoller" SrcLoc="0"
SrcLoadingPoint="0"
DstNodeId="Server" DstMag="Mag" DstLoc="0" TC_TP2="Bohrerxy" TC_TP1="17"
DstLoadingPoint="0" timeout="5000">1
</Transfer>
</Action>
Note
The GUID returned for HTTP-POST Response must always be sent along with the returned
GET requests and when the notification server is deactivated.
Response protocol
The following response is sent if the single handling has been successfully started:
The following response is sent if the single handling has been successfully terminated/stopped:
After starting single handling, an HTTP-GET request to the WebInterface server must be
placed cyclically. This contains the ActionId and the GUID provided upon activation as
parameters. The request is replied to immediately if a new status is available for retrieval at
the WebInterface server.
GET request
● Method:
GET
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions?actionId=162&
guid=1e14fbaa-4965-4d43-af19-9884d50f5b76
If a new handling status of an asynchronous operation is not available at the
WebInterface server, the server response is delayed until an asynchronous operation is
available at the WebInterface server.
After the timeout period (user-defined or default of 10 seconds), the HTTP-GET call returns
with the old status. The subscriber receives the following response for each change to the
handling status:
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="170">
<WorkSeqList NodeId="Server"/>
</Action>
Response protocol
<Action ID="170">
<WorkSeqList >
<WorkSeq NodeId="Masch1" WorkId="Plan1" WorkPos="1" ToolPlanId="Plan_1" Enabled ="True"
PartCountDesired="200" PartCountBilance="100" PartCountReady="0"
PartsCountingActiv="False" OrderId="" OrderDate="2004-05-14T11:17:17" OrderStep ="" />
<WorkSeq NodeId="Masch1" WorkId="Plan2" WorkPos="2" ToolPlanId="Plan_2" Enabled ="True"
PartCountDesired="200" PartCountBilance="100" PartCountReady="0"
PartsCountingActiv="False" OrderId="" OrderDate="2004-05-14T11:17:17" OrderStep ="" />
<WorkSeq NodeId="Masch3" WorkId="Plan1" WorkPos="1" ToolPlanId="Plan_1" Enabled ="True"
PartCountDesired="200" PartCountBilance="100" PartCountReady="0"
PartsCountingActiv="False" OrderId="" OrderDate="2004-05-14T11:17:17" OrderStep ="" />
</WorkSeqList >
</Action>
Internal sequence:
When performing this operation, in a first step it must be checked as to whether the machining
sequence already exists in MMT. If the machining sequence already exists, the machining
sequence is overwritten with the transferred data of the request protocol. If the machining
sequence does not yet exist, a new one will be generated.
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
<Action ID="171">
<WorkSeq NodeId="NCUsl" WorkId="Workseq10" ToolPlanId="Plan_1" Enabled ="true"
PartCountDesired="200" PartCountBilance="100" PartCountReady="0"
PartsCountingActiv="false" OrderId="" OrderDate="2014-11-12T11:10:00" OrderStep ="" />
</Action>
Response protocol
If a machining sequence has been successfully created, the following response is sent:
<Action ID="171">
<WorkSeq NodeId="NCUsl" WorkId="Workseq10" WorkPos="3" ToolPlanId="Plan_1"
Enabled="true" PartCountDesired="200" PartCountBilance="100" PartCountReady="0"
PartsCountingActiv="false" OrderId="" OrderDate="2014-11-12T11:10:00" OrderStep="">
<STATE>CREATED</STATE>
</WorkSeq>
</Action>
If an existing machining sequence is changed in MMT by this operation, the following response
is sent:
<Action ID="171">
<WorkSeq NodeId="NCUsl" WorkId="Workseq10" WorkPos="3" ToolPlanId="Plan_1"
Enabled="true" PartCountDesired="200" PartCountBilance="100" PartCountReady="0"
PartsCountingActiv="false" OrderId="" OrderDate="2014-11-12T11:10:00" OrderStep="">
<STATE>CHANGED</STATE>
</WorkSeq>
</Action>
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="172">
<WorkSeq WorkId="Workseq100" Enabled ="false" />
<WorkSeq WorkId="Workseq10" Enabled ="true" />
</Action>
Response protocol
<Action ID="172">
<WorkSeq WorkId="Workseq100">OK</WorkSeq>
<WorkSeq WorkId="Workseq10">OK</WorkSeq>
</Action>
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="173">
<WorkSeq WorkId="work2" />
<WorkSeq WorkId="work9" />
</Action>
Response protocol
<Action ID="173">
<WorkSeq WorkId="work9">WORK SEQUENCE NOT FOUND</WorkSeq>
<WorkSeq WorkId="work2">DELETED</WorkSeq>
</Action>
To move a machining sequence up, the attribute Direction must be supplied with the value
up. To move it down, the value must be set to down.
Request protocol
● Method:
POST
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/Actions
● Header content type:
application/xml
● Body:
<Action ID="174">
<WorkSeq WorkId="work7" Direction ="down" />
</Action>
Response protocol
<Action ID="174">
<WorkSeq WorkId="work7">OK</WorkSeq>
</Action>
Requirement
"Presetting list (GET)" is only available when SFI RM is installed. Otherwise, access to this
operation via the AMD interface is prevented.
If SFI is not installed and a client still calls the "Presetting list (GET)" operation, the AMD
interface sends status code 503 (Service Unavailable) to the client. This is an indication to use
a different action "Action 141" and another URL address (…/amd/tools/v1/Actions).
Request protocol
● Method:
GET
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/PresettingList
Response protocol
Note
Further information
Information on the input and calculation of tolerance values in SFI can be found in Chapter:
Description of the SFI tolerance values (Page 111).
Requirement
"Presetting list (GET) {invNo}" is only available when SFI is installed. Otherwise, access to this
operation via the AMD interface is prevented.
If SFI is not installed and a client still calls the "Presetting list (GET) {invNo}" operation, the
AMD interface sends status code 503 (Service Unavailable) to the client.
The "Presetting list (GET) {invNo}" operation then returns the data in a suitable format.
Request protocol
● Method:
GET
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/PresettingList/<Inventory_number>?
Transformation=<Format>
Response protocol
</TDI>
</DataElem>
</ToolData>
</PresettingData>
Einrichtplanname
#SA MatNr._Halter.
Maschinenname aus der Konfiguration
#MA
Adapter (Aufnahme
#MF
Programmname, hier wird aber der Name der Bearbeitungsfolge
eingetragen (TDI_WORK)
#PG
Werkzeugbezeichner hier Baugruppennummer
#WZ Werkzeugbeschreibung (-45001 Tool Description)
#WT D15.0 Zapfensenker/HSK63
Werkzeugbezeichner wie im NC-Programm
#TN HSK-Drill-6-5-E-2
ObjectID aus Teamcenter (Referenz)
#VA nxt_drill_02_00038/A
Halternummer (Materialnummer des Werkzeughalters)
#VB
Adapternummer
#VD
Schneidstoffnummer
#VE
#VM default
#VN default
Werkzeuggroessen
#VL 1
#VR 1
#VO 1
#VU 1
SCH1 = -191.000
SCH2 = -183.000
SCH3 =
SCH1 =
SCH2 =
SCH3 =
SCH1 =
SCH2 =
SCH3 =
SCH1 = 000.000
SCH2 = 000.000
SCH3 =
SCH1 =
SCH2 =
SCH3 =
SCH1 =
SCH2 =
SCH3 =
Messungsnummer (Schneiden)
#MP 1
Werkzeugtyp
#TA 231
Soll-Wert 1. Achse (Einstellmass_X) AP nicht definiert
#G1 -191.000
Obere Toleranz 1. Achse
#O1
Untere Toleranz 1. Achse
#U1
Soll-Wert 2. Achse (Einstellmass_Z)
#G2 000.000
Obere Toleranz 2. Achse
#O2
Untere Toleranz 2. Achse
#U2
Messvorschrift Schneidentyp_1
Messungsnummer (Schneiden)
#MP 2
Werkzeugtyp
#TA 231
Messvorschrift Schneidentyp_1
#EN
]]></TransformationResult>
</PresettingData>
Requirement
The "Presetting data (PUT)" operation is only available when SFI is installed. Otherwise,
access to this operation via the AMD interface is prevented.
If SFI is not installed and a client still calls the "Presetting data (PUT)" operation, the AMD
interface sends status code 503 (Service Unavailable) to the client. This is an indication to use
a different action "Action 117" and another URL address (…/amd/tools/v1/Actions).
Request protocol
● Method:
PUT
● AMD tools URL:
https://<AMD–Tools server IP>/amd/tools/v1/PresettingList/InventarNo
● Body:
<ToolData xmlns= "http://www.siemens.com/sinumerik/integrate">
<DataElem>
<TC_TP>
<TC_TP1>0</TC_TP1>
<TC_TP2>toolId</TC_TP2>
<TC_TP3>1</TC_TP3>
<TC_TP4>1</TC_TP4>
<TC_TP5>1</TC_TP5>
<TC_TP6>1</TC_TP6>
<TC_TP7>1</TC_TP7>
<TC_TP8>10</TC_TP8>
<TC_TP9>0</TC_TP9>
<TC_TP10>0</TC_TP10>
<TC_TP11>0</TC_TP11>
</TC_TP>
<DataElem Index="1">
<TC_DP>
<TC_DP1>150</TC_DP1>
<TC_DP2>1</TC_DP2>
<TC_DP3>108</TC_DP3>
<TC_DP4>108</TC_DP4>
<TC_DP5>108</TC_DP5>
<TC_DP6>0</TC_DP6>
<TC_DP7>0</TC_DP7>
<TC_DP8>0</TC_DP8>
<TC_DP9>0</TC_DP9>
<TC_DP10>0</TC_DP10>
<TC_DP11>0</TC_DP11>
<TC_DP12>0</TC_DP12>
<TC_DP13>0</TC_DP13>
<TC_DP14>0</TC_DP14>
<TC_DP15>0</TC_DP15>
<TC_DP16>0</TC_DP16>
<TC_DP17>0</TC_DP17>
<TC_DP18>0</TC_DP18>
<TC_DP19>0</TC_DP19>
<TC_DP20>0</TC_DP20>
<TC_DP21>0</TC_DP21>
<TC_DP22>0</TC_DP22>
<TC_DP23>0</TC_DP23>
<TC_DP24>0</TC_DP24>
<TC_DP25>0</TC_DP25>
</TC_DP>
<TC_MOP>
<TC_MOP1>5</TC_MOP1>
<TC_MOP2>50</TC_MOP2>
<TC_MOP3>0</TC_MOP3>
<TC_MOP4>0</TC_MOP4>
<TC_MOP5>0</TC_MOP5>
<TC_MOP6>0</TC_MOP6>
<TC_MOP11>50</TC_MOP11>
<TC_MOP13>0</TC_MOP13>
<TC_MOP15>0</TC_MOP15>
</TC_MOP>
</DataElem>
<DataElem Index="2">
<TC_DP>
<TC_DP1>151</TC_DP1>
<TC_DP2>1</TC_DP2>
<TC_DP3>109</TC_DP3>
<TC_DP4>109</TC_DP4>
<TC_DP5>109</TC_DP5>
</TC_DP>
</DataElem>
<DataElem Index="3">
<TC_DP>
<TC_DP1>152</TC_DP1>
<TC_DP2>1</TC_DP2>
<TC_DP3>110</TC_DP3>
<TC_DP4>110</TC_DP4>
<TC_DP5>110</TC_DP5>
</TC_DP>
</DataElem>
<TDI>
<TDI_EXTERN_ID>externId</TDI_EXTERN_ID>
<TDI_OBJECT_ID>objectId</TDI_OBJECT_ID>
</TDI>
</DataElem>
</ToolData>
Response protocol
● Response code:
Empty body / 200 - ok
Requirement
The "Measuring programs (GET)" operation is only available when SFI is installed. Otherwise,
access to this operation via the AMD interface is prevented.
If SFI is not installed and a client still calls the "Measuring programs (GET)" operation, the
AMD interface sends status code 503 (Service Unavailable) to the client.
Request protocol
● Method:
GET
● AMD tools URL:
https://<AMD–Tools server IP>/sfrm/svc/amd/MeasuringPrograms/Presetters/presetterId/
ObjectIDs/objectId
● Parameters:
presetterId (string(64))
objectId (string(64))
Response protocol
Arbitrary XML content
Example
<?xml version="1.0" encoding="utf-8" standalone ="yes"?>
<Data>
<SettingSheet>
<SettingSheetId></SettingSheetId>
<Machine>
<MachineId></MachineId>
<MachineName>TDI_MACHINE</MachineName>
</Machine>
<Adapter>
<AdapterId></AdapterId>
</Adapter>
<ToolList>
<ToolInList>
<Position>1</Position>
<Tool>
<Operation></Operation>
<SiemensTDIClassID></SiemensTDIClassID>
<SiemensTDIObjectID></SiemensTDIObjectID>
<ToolId></ToolId>
<DuploNo></DuploNo>
<LifetimeCondition></LifetimeCondition>
<Description></Description>
<LongComment></LongComment>
<TNo></TNo>
<TNoString></TNoString>
<Type></Type>
<Weight></Weight>
<Code></Code>
<ToolAngleNominal></ToolAngleNominal>
<Step>
<Position></Position>
<Type></Type>
<CES></CES>
<MsrMode></MsrMode>
<Focus></Focus>
<MsrRangeWidth></MsrRangeWidth>
<MsrRangeHeight></MsrRangeHeight>
<XNominal></XNominal>
<XUpperTol></XUpperTol>
<XLowerTol></XLowerTol>
<YNominal></YNominal>
<YUpperTol></YUpperTol>
<YLowerTol></YLowerTol>
<ZNominal></ZNominal>
<ZUpperTol></ZUpperTol>
<ZLowerTol></ZLowerTol>
<RadiusNominal></RadiusNominal>
<RadiusUpperTol></RadiusUpperTol>
<RadiusLowerTol></RadiusLowerTol>
DoMeasure>True</DoMeasure>
<MsrProgram OwnerTypeFullName="" Number=""/>
</Step>
</Tool>
</ToolInList>
</ToolList>
</SettingSheet>
</Data>
Requirement
The "Measuring programs (PUT)" operation is only available when SFI is installed. Otherwise,
access to this operation via the AMD interface is prevented.
If SFI is not installed and a client still calls the "Measuring programs (PUT)" operation, the AMD
interface sends status code 503 (Service Unavailable) to the client.
Request protocol
● Method:
PUT
● AMD tools URL:
https://<AMD–Tools server IP>/sfrm/svc/amd/MeasuringPrograms/Presetters/presetterId/
ObjectIDs/objectId ObjectIDs/objectId
● Parameters
presetterId (string(64))
objectId (string(64))
● Body
Arbitrary XML content
Example
<?xml version="1.0" encoding="utf-8" standalone ="yes"?>
<Data>
<SettingSheet>
<SettingSheetId></SettingSheetId>
<Machine>
<MachineId></MachineId>
<MachineName>TDI_MACHINE</MachineName>
</Machine>
<Adapter>
<AdapterId></AdapterId>
</Adapter>
<ToolList>
<ToolInList>
<Position>1</Position>
<Tool>
<Operation></Operation>
<SiemensTDIClassID></SiemensTDIClassID>
<SiemensTDIObjectID></SiemensTDIObjectID>
<ToolId></ToolId>
<DuploNo></DuploNo>
<LifetimeCondition></LifetimeCondition>
<Description></Description>
<LongComment></LongComment>
<TNo></TNo>
<TNoString></TNoString>
<Type></Type>
<Weight></Weight>
<Code></Code>
<ToolAngleNominal></ToolAngleNominal>
<Step>
<Position></Position>
<Type></Type>
<CES></CES>
<MsrMode></MsrMode>
<Focus></Focus>
<MsrRangeWidth></MsrRangeWidth>
<MsrRangeHeight></MsrRangeHeight>
<XNominal></XNominal>
<XUpperTol></XUpperTol>
<XLowerTol></XLowerTol>
<YNominal></YNominal>
<YUpperTol></YUpperTol>
<YLowerTol></YLowerTol>
<ZNominal></ZNominal>
<ZUpperTol></ZUpperTol>
<ZLowerTol></ZLowerTol>
<RadiusNominal></RadiusNominal>
<RadiusUpperTol></RadiusUpperTol>
<RadiusLowerTol></RadiusLowerTol>
<DoMeasure>True</DoMeasure>
<MsrProgram OwnerTypeFullName="" Number=""/>
</Step>
</Tool>
</ToolInList>
</ToolList>
</SettingSheet>
</Data>
Response protocol
● Response code:
Empty body / 200 - ok
Requirements
● The MMT server must be installed and ready for use on the SI server.
● The MMT WebInterface must be activated.
● Ensure that the following entry exists under the Modules node in the MMT configuration
file "tdi_cfg.xml":
<OEM name="MMTWebInterface" assembly="MMTWebInterface.dll"
subscription_timeout="60000" response_validation="0" />
Procedure
To ensure that the tool container assignment of a machine can be read with the aid of Action
108, the name of the machine nodeId and of the magazine containerId must be known.
This must first be determined with the aid of Action 101 from the MMT shopfloor configuration
(unless this data is known).
1. Sending Action 101 in order to get the shopfloor configuration as a response. For this
purpose, the following XML-encoded string must be sent to the MMT server:
<Action ID="101"/>
2. After receipt has been confirmed, the server sends an XML-encoded response.
3. The name of the machine nodeId and of the magazine containerId must be determined
from the response. The response returns the complete shopfloor tree, which the user sees
as a tree topology on the left in the basic "Overview" screen of the MMT user interface:
4. Sending the Action 108 with the desired nodeId and containerId. For this purpose, the
following XML-encoded string must be sent to the MMT server:
<Action ID="108" Places="TOOlsOnly>
<MagList NodeId="nodeId" ContainerId="containerID"/>
</Action>
5. The MMT server sends a response, which contains the tool container assignment.
In contrast, tolerance values always describe the "difference". They are always incremental
values.
The upper tolerance is a positive value and the lower tolerance is a negative value. The "valid
range" is calculated through the addition of the nominal values with the tolerance values.
Values:
X= -123
X_UT (upper tolerance) = 0.4
X_LT (lower tolerance) = -0.3
4.6.3.2 Input
The input of the tolerance values is optional. If no tolerance values are stored in the
Teamcenter, then there is no check with regard to compliance with the tolerance values. It is
possible to only store the upper or only the lower tolerance value in the Teamcenter.
In SFI, the catalog data from Teamcenter is transformed on the basis of a transformation to
the SINUMERIK NCU840D format, and treated internally as an XML document. Whereby, TC
attributes are converted to the SINUMERIK tool parameters.
<TC_DP3>10</TC_DP3>
<TC_DP4>20</TC_DP4>
<TC_DP5>-134.900</TC_DP5>
Error
In this section, error means that the tolerances have not been complied with.
In this case, the interface is acknowledged negatively with an error code. If the tolerance values
are not defined in the Teamcenter, there is no tolerance check.
<TC_DP>
<TC_DP1>140</TC_DP1>
<TC_DP3 upperTolerance="000.100"lowerTolerance="-000.200">-005.000</TC_DP3>
<TC_DP4 upperTolerance="000.300"lowerTolerance="-000.400">-001.000</TC_DP4>
<TC_DP5 upperTolerance="000.500"lowerTolerance="-000.600">-101.320</TC_DP5>
<TC_DP6>000.000</TC_DP6>
</TC_DP>
In order to inform the tool presetting station of the tolerance values, they are provided in the
NCU840D format (with additional attributes) via the transformation file at „.../amd/tools/v1/
PresettingList/{inventarNo}“ (GET). The tolerance values are then visualized on the tool
presetting station for the user.
Action 117 is extended by the check of the actual values with regard to compliance with the
tolerances. The check is only performed when the tool master data is used. In case of an error,
action 117 is acknowledged negatively with an error code. If the tolerance values are not
defined in the tool master data, there is no check.
<TC_DP>
<TC_DP1>140</TC_DP1>
<TC_DP3 upperTolerance="000.100"lowerTolerance="-000.200">-004.000</TC_DP3>
<TC_DP4 upperTolerance="000.300"lowerTolerance="-000.400">-001.000</TC_DP4>
<TC_DP5 upperTolerance="000.500"lowerTolerance="-000.600">-101.320</TC_DP5>
<TC_DP6>000.000</TC_DP6>
</TC_DP>
Since the attributes in Teamcenter are freely assigned, you must adapt the script project-
specifically according to the attribute IDs. Which attribute from the catalog corresponds to
which XML tag in the template is specified in the script, see also the following Section:
● Tool parameters (Page 114)
● Cutting edge parameters (Page 115)
● Cutting edge-related tool monitoring parameters (Page 116)
● External user parameters (Page 116)
Since the script is overwritten with the transformation script from the current software delivery
at every new installation, store the project-specific script with the same name, "NCU840D.xml",
in a different directory.
Note
Name of the transformation script
The standard file name is "NCU840D". Note that with a project-specific adaptation, the name
of the template must match the name of the transformation script. When using the functions
to access tool information, transfer the file name subsequently as "transformation" parameter,
otherwise the standard transformation script "NCU840D.xslt" is used.
Procedure
1. Open the ...\Siemens\SINUMERIK_Integrate\webapp\Scripts directory.
2. Open the "NCU840D.xml" XML file.
3. Adapt the parameters, see Section: Presetting data (PUT) (Page 89).
4. Save the file with the same name in the following directory: ...\Siemens
\SINUMERIK_Integrate\Database\webapp\Scripts.
Overview
The following parameters are available for the tool data:
Overview
The following parameters are available for the cutting edge data:
Overview
The following parameters are available for the cutting edge-related tool monitoring data:
Overview
The following parameters are available for the external user data:
5.2 Concept
5.2.1 Requirement
The use of the interface requires a previously installed and correctly configured SI server with
version 4.1 or higher. Version 4.0 or higher of .NET Framework is also required.
A further requirement is that the user of the interface is familiar with the product MMP (Manage
MyPrograms) and has sufficient knowledge in programming for web service interfaces.
It is only possible to use identifiers.
The interfaces (implement the DNC functions for NC programs) are not active after the
installation. To activate the interface, you must edit the file "....\DNC\AMD-DNC\web.config" in
the installation directory of the MMP server.
Procedure
To activate the server interface, you must edit the "....\DNC\AMD-DNC\web.config" file in the
installation directory of the MMP server. For the entry httpRuntime, you must change the
attribute enable to true.
<system.web>
</system.web>
Procedure
To deactivate the server interface, you must edit the "....\DNC\AMD-DNC\web.config" file in
the installation directory of the MMP server. For the entry httpRuntime, you must change
the attribute enable to false.
<system.web>
</system.web>
° Name Description
List<PlantLayoutNode> Lists the nodes that belong to the plant struc‐
ListNodes( NodeIdentifier parent, ture.
PlantLayoutFilter filter ) The function only lists one level.
List<PlantLayoutNode> Lists the nodes that belong to the plant struc‐
ListNodesWithChildren( NodeIdentif ture.
ier parent, PlantLayoutFilter The function lists all of the levels under the pa‐
filter ) rent node.
To receive all of the nodes from the topmost level of the plant structure on, use the constant
null as Id for the parameter parent. With the parameter filter, you can restrict the result
by node names and node types of the plant structure. To get exactly one node in the plant
structure, it is sufficient to filter by the node name (nodes with the same name cannot have
the same predecessor (parent)). For ListNodesWithChildren(), it is possible that
several nodes with the same name will be found on different levels of the plant structure. The
filter for the name of the node is case sensitive.
IDNCContent
This interface provides access to the workpieces, NC packages, NC files, file attachments,
and the assigned metadata that is managed by the MMP server.
Name Description
void Remove nodes from the MMP server.
DeleteNodes( List<NodeIdentifier> Deletes nodes of the type ContentNode.
identifiers )
Delete a list of nodes with specified ID
StreamingTicket Export attachment from the MMP server.
ExportAttachment( NodeIdentifier With the StreamingTicket, the FileTransfer in‐
id, out AttachmentNodeInfo info ) terface (DownloadFile) must then be used to
access the contents of the file.
The AttachmentNodeInfo object contains
metadata for the file attachment
ExportPackageInfo Export package from the MMP server.
ExportPackage( NodeIdentifier id ) The return value contains information about
the contents of the package and the associated
StreamingTickets for the file contents. With the
StreamingTicket, the file contents must then be
read out on the FileTransfer interface (Down‐
loadFile).
StreamingTicket Export NC file from the MMP server.
ExportPartProgram( NodeIdentifier With the StreamingTicket, the FileTransfer in‐
id, out PartProgramNodeInfo terface (DownloadFile) must then be used to
partProgramInfo ) access the contents of the file. The object
PartProgramNodeInfo contains the meta‐
data from MMP.
ContentNode Complete upload.
FinalizeUpload( StreamingTicket Completes the upload of an imported item. On‐
ticket ) ly in this way is the data in the MMP adminis‐
tration saved.
Name Description
StreamingTicket Import attachment into the MMP server.
ImportAttachment( NodeIdentifier Imports an attachment under an NC file or an
parent, AttachmentNodeInfo info ) NC package.
With the StreamingTicket, the FileTransfer in‐
terface (UploadFile) must then be used to
transfer the contents of the file.
The import procedure must be completed with
a FinalizeUpload
ContentNode Create package in the MMP server.
ImportPackage( NodeIdentifier Regardless of the type attribute, this creates
parent, PackageNodeInfo info ) an NC package or a workpiece folder under a
machine group or machine node. Only the
name and the type attributes need to be set in
the PackageNodeInfo parameter for a work‐
piece folder. Then the assigned NC files can
be imported with the returned ContentNode.
StreamingTicket Import NC file into the MMP server.
ImportPartProgram( NodeIdentifier Imports an NC file under a machine group
parent, PartProgramNodeInfo node, machine node, workpiece node, or NC
partProgramInfo, string package node.
versionToOverwrite )
With the StreamingTicket, the FileTransfer in‐
terface (UploadFile) must then be used to send
the contents of the file to the server.
If versionToOverwrite is not equal to "0",
the part program is imported with the specified
version and any existing version of the NC file
is overwritten.
The import procedure must be completed with
a FinalizeUpload
List<ContentNode> List nodes in the MMP server.
ListNodes( NodeIdentifier parent, Lists the nodes of the type ContentNode lying
Filter filter ) directly under the parent node with a specified
filter.
List<ContentNode> List nodes in the MMP server.
ListNodesWithChildren( NodeIdentif Lists all the nodes of the type ContentNode un‐
ier parent, Filter filter ) der the parent node and all the subnodes with
a specified filter.
Name Description
void Sets the trial cut ID or the
SetAvailableForTrialCutFlag( NodeI AvailableForTrialCut flag.
dentifier id, string Without trial cut ID or release ID, an NC file
versionToSetFlag, bool value ) cannot be transferred to the machine.
This function is used to set the trial cut ID for a
node with the specified version.
void Sets the Released flag.
SetReleasedFlag( NodeIdentifier Without trial cut ID or release ID, an NC file
id, bool value, bool cannot be transferred to the machine.
resetAvailableForTrialCutFlag )
Sets the release ID of a node
The trial cut ID can be reset at the same time.
If the release ID for a part program is set, the
release ID of the previously released version
of the NC file is automatically reset.
The parent NodeIdentifiers reference nodes of the PlantLayout interface (e.g. to reference
the machine level in the plant tree as the target of an operation) or of the DNCContent interface
(e.g. to reference a workpiece folder of a machine as a target of an operation). The id
NodeIdentifiers reference items as they are returned by the system as lists via the
ListNodes() or ListNodesWithChildren().
The returned identifiers can be changed while the MMP server is operating by deleting and
adding files and folders, and should not be saved outside the MMP system.
A ContentFilter can be transferred to restrict the result list of the methods ListNodes() and
ListNodesWithChildren().
IMachineDncFunctions
The functions of this interface are for direct access to the machines and the data in the file
system of the machine. Not all of the methods are supported by all machine types. Therefore,
before calling a method using GetCapabilities(), a check should be made as to whether
the machine can process the desired operation. Operations in the file system of the machine
can only be successful if the machine is online. Therefore, before calling a method using
GetMachineStatus(), a check should be made as to whether the machine can process the
jobs.
Name Description
void Deletes a list of items on a machine.
DeleteOnMachine( NodeIdentifier
machine, List<MachineDncItem>
itemsToDelete )
List<DncMachineCapabilities> Provides the capabilities of a machine. De‐
GetCapabilities( NodeIdentifier pending on the machine technology and the
machine ) type of connection to MMP, only a part of the
scope of functions of the interface can be used.
MachineDncStatus Returns the status of a machine ("online", "off‐
GetMachineStatus( NodeIdentifier line", "unknown").
machine )
List<MachineDncItem> Lists the items on a machine.
ListItemsOnMachine( NodeIdentifier
machine )
void Transfers a list of items from the file system of
TransferFromMachine( NodeIdentifie a machine to a level in the administrative struc‐
r machine, NodeIdentifier parent, ture on the MMP server.
List<MachineDncItem>
itemsToTransfer )
void Transfers a list of items to a destination speci‐
TransferToMachine( NodeIdentifier fied with the TransferOptions object in the file
machine, List<NodeIdentifier> system of the machine.
itemsToTransfer, TransferOptions
transferOptions )
void SelectItem(NodeIdentifier Selects an item for a channel.
machine, MachineDncItemIdentifier
item, uint channel )
void DeselectItem(NodeIdentifier Deselects the selected NC program in a chan‐
machine, uint channel ) nel.
StreamingTicket Imports an NC file directly into the file system
ImportToMachine( NodeIdentifier of the machine
machine, MachineDncItem The program is not registered in the MMP sys‐
machineDncItem ) tem but only stored in temporary memory.
With the StreamingTicket, the FileTransfer in‐
terface (UploadFile) must then be used to
transfer the contents of the file to the server.
Name Description
ExportMachineDncItem Exports an NC file directly from the file system
ExportFromMachine( NodeIdentifier of the machine.
machine, MachineDncItemIdentifier The program is not registered in the MMP sys‐
item ) tem but only stored in temporary memory.
The returned ExportMachineDncItem object
contains the file information and a streaming
ticket.
With the StreamingTicket, the FileTransfer in‐
terface (DownloadFile) must then be used to
read the contents of the file from the server.
MachineDncItem Complete upload.
FinalizeUpload( StreamingTicket Completes the upload of an imported item. On‐
ticket ) ly in this way is the data saved on the machine.
The machine NodeIdentifiers reference machines in the plant structure of the MMP server
and thus indirectly the machine itself. These identifiers are received from the PlantLayout
interface. The parent NodeIdentifiers reference nodes of the PlantLayout interface (e.g. to
reference the machine level in the plant tree as the target of an operation) or of the DNCContent
interface (e.g. to reference a workpiece folder of a machine as a target of an operation). The
id NodeIdentifiers reference items as they are returned by the DncContent interface as lists
via the ListNodes() or ListNodesWithChildren().
The item NodeIdentifiers reference items in the file system of the machine. These are formed
by the method ListItemsOnMachine() from the file system of the machine. The returned
identifiers can be changed while the MMP server is operating by deleting and adding files and
folders in the machine, and should not be saved outside the MMP system.
If a StreamingTicket is created by the methods, then it is possible to use this ticket to make a
one-time access to the contents of the file with the "FileTransfer" interface. StreamingTickets
become invalid when the MMP software is restarted on the server.
The interface provides access to the file contents, which were initiated by a previous call of
the DncContent or DncMachineFunctions interface.
Name Description
Stream Receipt of the file contents from the MMP serv‐
DownloadFile(StreamingTicket er, identified by a DownloadTicket
downloadRequest)
StreamingTicket UploadFile(String Sending a file to the MMP server, identified by
CheckSum, String FileName, an upload ticket.
StreamingTicket streamingTicket, The checksum is currently not evaluated and
Stream FileByteStream) can remain blank. The file name must be iden‐
tical to the file name when the ticket is initiated
Note
For the transfer of larger file contents, the parameters for the maximum file size must be
adapted to the client application if necessary (MaxReceivedMessageSize and
maxBufferSize (e.g. 8388608 = 8 Mbyte)).
Note
The interface for change notifications is not available in SINUMERIK Integrate.
IDNCNotificationRegistry
The external applications can subscribe to notifications for specific nodes. The notification is
then done via the INotificationCallback Interface, which of course must then also be
implemented in the external application
Name Description
List<NotificationConfiguration> Returns the configuration of a notification.
GetNotificationConfiguration( Noti
ficationTarget target )
void Subscribing to a notification.
RegisterForNotification( Notificat
ionTarget target,
List<NotificationConfiguration>
notificationConfiguration )
void Unsubscribing a notification.
UnregisterForNotification( Notific
ationTarget target )
INotificationCallback
Clients must implement this interface for the notification.
Name Description
void Callback for the OnEvent.
OnEvent( List<DncNotificationEvent
> events )
Exceptions
If a call on the interface fails, exceptions with error information are initiated.
GeneralFault
Name Description
String Details The details of the error.
String Issue The issue of the error.
ConnectionFault
ImportFault
DataReaderFault
UnknownFault
UploadFault
5.5 Terms
A higher-level item is defined via the ParentNodeIdentifier attribute for each item. The
following table illustrates the possible relations. Only the topmost item Root, which itself has
no higher-level item, takes up a special position.
Parent
PlantLayoutNode ContentNode
Child Root Group Machine NC Work‐ NC file Attach‐
package piece ment
Group ✓ ✓ --- --- --- --- ---
Machine ✓ ✓ --- --- --- --- ---
NC package --- ✓ ✓ --- --- --- ---
Workpiece --- ✓ ✓ --- --- --- ---
NC file --- ✓ ✓ ✓ ✓ --- ---
Attachment --- --- --- ✓ --- ✓ ---
Attachments can only be assigned to NC files and NC packages. NC files can be assigned to
groups, machines, NC packages, and workpieces. Workpieces and NC packages can be
assigned to groups and machines.
Identifier
The nodes can be reached either with the ID of the MMP system or via the path supplemented
with the version.
Note
Only NodeByIdentifier is supported in SINUMERIK Integrate.
Package
In the external interface, a distinction is made between workpieces and NC packages by the
type attribute.
ExportPackageInfo
After an ExportPackage task, the client receives an ExportPackageInfo, which contains the
StreamingTickets for the export of the content of the package, the StreamingTickets for the
export of the attachments of the package, and the PackageNodeInfo.
StreamingTicket
After an import job, the client receives a StreamingTicket. With the aid of this ticket, the contents
can be imported.
The states Online and Offline are only reported for machines which have "MachineStatus"
capability.
Ability Description
DeleteItem It is possible to delete files in the file system of the machine.
TransferItem It is possible to transfer files from the MMP management to the machine and vice
versa.
DirectTransferI‐ It is possible to transfer files past the MMP management to and from the machine.
tem The data is not saved in the administrative structure of the MMP server during this.
ListItems It is possible to obtain the contents of the file system of the machine as a list. The
respective MMP client software on the machine determines the contents of the list.
SelectItem It is possible to select NC programs for processing in a channel. This option is
currently only offered by machines with the SINUMERIK Powerline and Solutionline
controllers.
MachineStatus The user can see on the interface whether the MMP software client (MMP IFC for
SINUMERIK, MMP for Operate, MMP interface client for third-party controllers) is
active. Machine types that require interactive operation (serial connection, ma‐
chines of the Filesystem type) do not provide an "online" signal.
The technological capabilities of the machine determine which operations are possible in the
file system of the machine.
① Area 1 provides functions for displaying and filtering the plant structure and encompasses the top left area and the
project tree under it.
② Area 2 provides functions for displaying and filtering the file management and encompasses the top center area
and the file tree under it.
③ Area 3 provides functions for importing, exporting, transferring and querying settings.
Checkbox Description
Powerline Shows all Powerline controllers configured in MMP
Solutionline Shows all Solutionline controllers configured in MMP
Third-party controller Shows all of the third-party controllers configured in MMP
File system Shows all of the file systems configured in MMP
Serial interface Shows all of the controllers with a serial interface configured in MMP
All levels per call Shows all of the levels in the plant structure
In the top left area, filter properties can be set for the plant structure with the aid of the
checkboxes. Click the "Refresh" button to update the underlying plant tree with the following
function:
If the "All levels per call" checkbox is enabled:
Name Description
List<PlantLayoutNode> Lists the nodes that belong to the plant struc‐
ListNodesWithChildren( NodeIdentif ture.
ier parent, PlantLayoutFilter The function lists all the levels below the "pa‐
filter ) rent" node.
Name Description
List<PlantLayoutNode> Lists the nodes that belong to the plant struc‐
ListNodes( NodeIdentifier parent, ture.
PlantLayoutFilter filter ) The function only lists one level.
Checkbox Description
Programs Shows NC programs which are saved on the server for the selected machine
Packages Shows NC packages, which are saved on the server for the selected machine
Attachments Shows attachments which are saved on the server for the selected machine
All levels per call Shows all of the levels in the file management
In the top central area, filter properties can be set for the file management with the aid of the
checkboxes. Click the "Refresh" button to update the underlying plant tree with the following
function:
If the "All levels per call" checkbox is enabled:
Name Description
List<ContentNode> List nodes in the MMP server.
ListNodesWithChildren( NodeIdentif Lists all the nodes of the type ContentNode
ier parent, Filter filter ) under the "parent" node and all the subnodes
with a specified filter.
Name Description
List<ContentNode> List nodes in the MMP server.
ListNodes( NodeIdentifier parent, Lists the nodes of the type ContentNode lying
Filter filter ) directly under the parent node with a specified
filter.
Range 3: Functions
Button Description
Machine Opens a dialog in which data is displayed for the machine selected in the plant tree.
Additional buttons are displayed which can be used to initiate the MMP functions.
Properties Opens a dialog in which the trial cut ID and release flag are set.
Delete Deletes selected items from the MMP server.
Transfer Opens a dialog with which an item is transferred to the machine.
Imp. package Opens a dialog with which an NC package is created on the server.
Imp. partprog. Opens a dialog with which an NC program is imported into the server.
Imp. attach‐ Opens a dialog with which the attachments are imported into the server.
ment
Machine status Queries the status of the selected controller.
M Capabilities Returns the capabilities of the selected controller which are supported or not suppor‐
ted.
Exp. package Opens a dialog with which NC packages are exported from the server.
Exp. partprog. Opens a dialog with which NC programs are exported from the server.
Exp. attach‐ Opens a dialog with which the attachments are exported from the server.
ment
Machine
The "Machine" button opens a dialog in which data is displayed for the machine selected in
the plant tree. Additional buttons are displayed which can be used to initiate the MMP functions.
The following function is used for this purpose:
Name Description
List<MachineDncItem> Lists the items on a machine
ListItemsOnMachine( NodeIdentifier
machine )
There are buttons for additional functions on the right side of the dialog.
Transfer back
Name Description
void Transfers a list of items from the file system of
TransferFromMachine( NodeIdentifie a machine to a level in the administrative struc‐
r machine, NodeIdentifier parent, ture on the MMP server.
List<MachineDncItem>
itemsToTransfer )
Delete
Name Description
void Deletes a list of items on a machine
DeleteOnMachine( NodeIdentifier
machine, List<MachineDncItem>
itemsToDelete )
select
Name Description
void SelectItem(NodeIdentifier Selects an item for a channel
machine, MachineDncItemIdentifier
item, uint channel )
deselect
Name Description
void DeselectItem(NodeIdentifier Deselects the selected NC program in a chan‐
machine, uint channel ) nel
Imp. to machine
First, the following function is carried out:
Name Description
StreamingTicket Imports an NC file directly into the file system
ImportToMachine( NodeIdentifier of the machine
machine, MachineDncItem The program is not registered in the MMP sys‐
machineDncItem ) tem but only stored in temporary memory.
With the StreamingTicket, the FileTransfer in‐
terface (UploadFile) must then be used to
transfer the contents of the file to the server.
Name Description
StreamingTicket UploadFile(String Sending a file to the MMP server, identified by
CheckSum, String FileName, an upload ticket. The checksum is currently not
StreamingTicket streamingTicket, evaluated and can remain blank. The file name
Stream FileByteStream) must be identical to the file name when the
ticket is initiated
Name Description
MachineDncItem Complete upload.
FinalizeUpload( StreamingTicket Completes the upload of an imported item. On‐
ticket ) ly in this way is the data saved on the machine.
Name Description
ExportMachineDncItem Exports an NC file directly from the file system
ExportFromMachine( NodeIdentifier of the machine.
machine, MachineDncItemIdentifier The program is not registered in the MMP sys‐
item ) tem but only stored in temporary memory.
The returned ExportMachineDncItem object
contains the file information and a streaming
ticket.
With the StreamingTicket, the FileTransfer in‐
terface (DownloadFile) must then be used to
read the contents of the file from the server.
Name Description
Stream Receipt of the file contents from the MMP serv‐
DownloadFile(StreamingTicket er, identified by a DownloadTicket
downloadRequest)
Properties
This dialog shows the current status of the trial cut ID and of the release ID. Pressing the "OK"
button sets the IDs and flags to the respective status of the checkboxes.
Name Description
void Sets the trial cut ID or the
SetAvailableForTrialCutFlag( NodeI AvailableForTrialCutFlag
dentifier id, string Without trial cut ID or release ID, an NC file
versionToSetFlag, bool value ) cannot be transferred to the machine.
This function is used to set the trial cut ID for a
node with the specified version.
void Sets the SetReleasedFlag
SetReleasedFlag( NodeIdentifier Without trial cut ID or release ID, an NC file
id, bool value, bool cannot be transferred to the machine.
resetAvailableForTrialCutFlag )
Sets the release ID of a node
The trial cut ID can be reset at the same time.
If the release ID for a part program is set, the
release ID of the previously released version
of the NC file is automatically reset.
Delete
This button deletes selected items on the server.
The following function is used:
Name Description
void Remove nodes from the MMP server.
DeleteNodes( List<NodeIdentifier> Deletes nodes of the type ContentNode.
identifiers )
Delete a list of nodes with specified ID
Transfer
This dialog transfers selected items into the specified path to the controller.
Name Description
void Transfers a list of items to a destination speci‐
TransferToMachine( NodeIdentifier fied with the TransferOptions object in the
machine, List<NodeIdentifier> file system of the machine.
itemsToTransfer, TransferOptions
transferOptions )
Imp. package
The button opens a dialog in which a new NC package with the selected properties is created
on the server.
The following function is used for creating:
Name Description
ContentNode Create package in the MMP server.
ImportPackage( NodeIdentifier Regardless of the type attribute, this creates
parent, PackageNodeInfo info ) an NC package or a workpiece folder under a
machine group or machine node. Only the
name and the type attributes need to be set in
the PackageNodeInfo parameter for a work‐
piece folder. The assigned NC files can then
be imported with the returned ContentNode.
Imp. partprog.
The button opens a dialog in which the NC program is selected for import.
Name Description
StreamingTicket Import NC file into the MMP server.
ImportPartProgram( NodeIdentifier Imports an NC file under a machine group
parent, PartProgramNodeInfo node, machine node, workpiece node, or NC
partProgramInfo, string package node.
versionToOverwrite )
With the StreamingTicket, the FileTransfer in‐
terface (UploadFile) must then be used to
transfer the contents of the file to the server.
If versionToOverwrite is not equal to "0",
the part program is imported with the specified
version and any existing version of the NC file
is overwritten.
The import procedure must be completed with
a FinalizeUpload.
Imp. attachment
The button opens a dialog in which an attachment is selected for import.
The following function is used for this:
Name Description
StreamingTicket Import attachment into the MMP server.
ImportAttachment( NodeIdentifier Imports an attachment under an NC file or an
parent, AttachmentNodeInfo info ) NC package.
With the StreamingTicket, the FileTransfer in‐
terface (.UploadFile) must then be used to
transfer the contents of the file.
The import procedure must be completed with
a FinalizeUpload
Machine status
The button opens a dialog in which the current status of the controller is displayed.
The following function is used for this:
Name Description
MachineDncStatus Returns the status of a machine ("online", "off‐
GetMachineStatus( NodeIdentifier line", "unknown").
machine )
M Capabilities
The button opens a dialog in which the supported functions are displayed.
Name Description
List<DncMachineCapabilities> Provides the capabilities of a machine.
GetCapabilities( NodeIdentifier Depending on the machine technology and the
machine ) type of connection to MMP, only a part of the
scope of functions of the interface can be used.
Exp. package
The button opens a dialog in which the save location is selected.
The following function is used for this:
Name Description
ExportPackageInfo Export package from the MMP server.
ExportPackage( NodeIdentifier id ) The return value contains information about
the contents of the package and the associated
StreamingTickets for the file contents.
With the StreamingTicket, the file contents
must then be read out on the FileTransfer in‐
terface (DownloadFile).
Name Description
Stream Receipt of the file contents from the MMP serv‐
DownloadFile(StreamingTicket er, identified by a DownloadTicket
downloadRequest)
Exp. partprog.
The button opens a dialog in which the save location is selected.
The following function is used for this:
Name Description
StreamingTicket Export NC file from the MMP server.
ExportPartProgram( NodeIdentifier With the StreamingTicket, the FileTransfer in‐
id, out PartProgramNodeInfo terface (DownloadFile) must then be used to
partProgramInfo ) access the contents of the file.
The object PartProgramNodeInfo contains
the metadata from MMP.
Name Description
Stream Receipt of the file contents from the MMP serv‐
DownloadFile(StreamingTicket er, identified by a DownloadTicket
downloadRequest)
Exp. attachment
The button opens a dialog in which the save location is selected.
The following function is used for this:
Name Description
StreamingTicket Export attachment from the MMP server.
ExportAttachment( NodeIdentifier With the StreamingTicket, the FileTransfer in‐
id, out AttachmentNodeInfo info ) terface (DownloadFile) must then be used to
access the contents of the file.
The AttachmentNodeInfo object contains
metadata for the file attachment
Name Description
Stream Receipt of the file contents from the MMP serv‐
DownloadFile(StreamingTicket er, identified by a DownloadTicket
downloadRequest)