Manufacturing Execution System (MES)¶
A Manufacturing Execution System (MES) enable two-way IoT communication of manufacturing business information between IFS and machines in the production facility. This can enable a new level of insight, control and efficiency in the production system. IFS Cloud can be used as a standalone MES solution or integrated with third party systems.
A common practice is to use a integration platform as a intermediate communication broker. The platform can have multiple functions. For instance it can act as: a network load balancer, a network security layer or bridge, a IoT address repository, IT protocol converter and Machine Language Translator.
Outbound¶
This enables you to send start and stop commands to a machine using shop floor workbench. In this example the message in Application Messages is enriched with operation information and sent outbound to a Device.
Prerequisites¶
Before configuring there are some considerations:
- Conduct a risk assessments and implement necessary safety steps. The remote start and stop action should never compromise the health and safety of any person.
- Ensure that the Machine supports the required connections.
- The network access, security and routing requirements have been addressed.
- The machine language and message protocol can be handled.
Setup Outbound Communication¶
To setup the outbound communication the following steps need to be addressed.
Work Center - Send IoT Event to Device¶
In Work Center activate Send IoT Event to Device. This Work Center should contain the resource that you want to send the messages to.
Device map¶
In Device Map create a Device ID and connect this to the Work Center Resource ID.
Starting or stopping a operation using a Work Center will generate a IFS Connect Application Message. This message can be enriched with more information and sent outbound.
Enriching the message using Get Operation Info¶
Create a Routing address with the Transport Connector type Projection. Use the transformers TO_MIXED_CASE followed by IFS_XML_TO_JSON_GENERIC. This converts the XML file containing the Operation ID in the application message to a JSON payload. Set the Projection Method to Action and the Projection Resource to ShopFloorConnector.GetOperationInfo.
Set up the outbound address¶
Set up a outbound Routing Address. The example in the images use a RESTful POST message with a Api Key. To configure a custom solution refer to IFS Connect
Routing Rule - Start or Stop operation¶
Set up a Routing Rule to trigger a outbound message when a Application Message occur. Set the MESSAGE_FUNCTION
to START_OPERATION
. Set the RECEIVER as the Device ID connected to the Work Center Resource in the Device Map. Set the first Destination Address to the internal Projection using GetOperationInfo and the second to the outbound address.
Starting Machine Time on a shop order operation now triggers a outbound message to the connected device. A similar setup using MESSAGE_FUNCTION
as STOP_OPERATION
triggers a outbound message on stop.
To differentiate between start, stop, setup and production you can use the OperationStatus information in the GetOperationInfo payload. This is a example snippet of a response:
{
...
"OperationStatus": "SetupStarted",
...
}
Shop Floor Connector APIs¶
This describes to the premium APIs available in the ShopFloorConnector projection. To see payload and response examples refer to the documentation available in API Explorer .
Get Shop Floor information¶
GetOperationInfo¶
Given an Operation ID operation information is returned.
GetNextExecutableOperation¶
Based on a Site, Work Center and Resource ID the GetOperationInfo information for the next Executable Operation is returned.
GetCurrentOperations¶
Based on a Site, Work Center and Resource ID the GetOperationInfo information for the current ongoing activities is returned
Post data from a Work Center machine:¶
ReceiveOrder¶
Given an Operation ID items are received to a Location No. Components will be backflushed if not issued.
ReportAnalysisResult¶
Enables incremental registration of Quality Results to a Datapoint on an Analysis No.
StartOperation¶
Allows starting the machine time activities Production or Setup on a given Operation ID.
StopOperation¶
Stops ongoing machine time activity on a given Operation ID. Interruption causes can be registered too.
ReportQuantityComplete¶
Registers produced quantity for a specified Operation ID. This projection can be used to close an operation.
ReportQuantityScrap¶
Registers scraped quantity and scrap reason for a specified Operation ID. This projection can be used to close an operation.
StartMachineDowntime¶
Initiates Downtime on a Resource ID or Work Center. Downtime Cause can also be entered.
StopMachineDowntime¶
Stops ongoing Downtime on a Resource ID or Work Center
Prerequisites¶
Requires a service account with suitable Permission Set and Site access.
Machine instruction¶
Machine Instruction allow you to store and configure machine program parameters in IFS. Example of a Machine Instruction Guideline Text connected to a operation:
GetOperationInfo returns the operation information containing the Machine Instruction text. Example snippet of the response:
{
...
"MachineInstructions": [
{
"GuidelineDescription": "PRM: P/Recpie/123",
"GuidelineText": "<Parameter 1: 517><Parameter 2: low> <Parameter 3: 'green'>"
}
...
}