FGD - Fragranite Machining Cell

We can have more than one Fragranite Machining Cell in the facility, so in the follow it will be mandatory to distinguish each one of them.
We will use the following codes to identify uniquely the cells:

FMC001: Cell 1

FMC002: Cell 2

....

FMC00N: Cell N

Finally we will assign the name "Cell code" to this field.

Items count interface

The Fragranite Machining Cell subsystems are:

Robot 1

Robot 2

Each item that enter into the production process will be taken by the Robot 1 and then by the Robot 2.
So for each item the process is:

Robot 1 starts the task

Robot 1 terminates the task

Robot 2 starts the task

Robot 2 terminates the task

For each terminated process ESA will send data to Next via TCP/IP channel.
The data sent by ESA will consist in the following structure:

Field	Description	Example
Command	A specific string of 4 characters	ITEM
Product	The code of the product	114.0055.882
Cell code	The code of the cell that is producing the item	FMC001
Data of starting task in Robot 1	Data in the format YYYYMMDD	20230430
Time of starting task in Robot 1	Time in the format HH:MM:SS	00:03:17
Data of terminating task in Robot 1	Data in the format YYYYMMDD	20230430
Time of terminating task in Robot 1	Time in the format HH:MM:SS	00:06:12
Data of starting task in Robot 2	Data in the format YYYYMMDD	20230430
Time of starting task in Robot 2	Time in the format HH:MM:SS	00:06:24
Data of terminating task in Robot 2	Data in the format YYYYMMDD	20230430
Time of terminating task in Robot 2	Time in the format HH:MM:SS	00:08:40

The string must be prepared considering the following rules:

Each field is separated by the next one by the character ';'

At the end of the string it will be placed the exadecimal code 0x04 (4 as a number)

Follows an example of a string that ESA can send at the end of the process:

ITEM;114.0055.882;FMC001;20230430;00:03:17;20230430;00:06:12;20230430;00:06:24;20230430;00:08:40\04

Machine status interface

The two robots can be in one of the following status:

RUN: the robot is available or is producing

STOP: the robot is not available so it cannot produce

We are interested in the following state transition:

RUN -> STOP: from RUN to STOP

STOP -> RUN: from STOP to RUN

ESA will send to Next via TCP/IP a specific message for each of the two state transition.
Considering a STOP event for one of the two robots, it is necessary to send the 2 messages in a specific order, in particular:

RUN -> STOP transition

STOP -> RUN transition

Next will not consider any different sequence, for example:

RUN -> STOP transition

RUN -> STOP transition

or

STOP -> RUN transition

STOP -> RUN transition

In the follow the data structure for the 2 transitions.

RUN->STOP data structure
Field	Description	Example
Command	A specific string of 4 characters	STOP
Cell code	The code of the cell where the event is occurring	FMC002
Robot	The robot interested by the event: ROBOT1 or ROBOT2	ROBOT1
Data of starting the event	Data in the format YYYYMMDD	20230430
Time of starting the event	Time in the format HH:MM:SS	00:03:17
Reason of the stop	A numeric code that identify the reason of the stop, from a specific list of the available stops	20

The string must be prepared considering the following rules:

Each field is separated by the next one by the character ';'

At the end of the string it will be placed the exadecimal code 0x04 (4 as a number)

Follows an example of a string that ESA can send when a STOP begins:

STOP;FMC002;ROBOT2;20230430;00:03:17;20\04
STOP->RUN data structure
Field	Description	Example
Command	A specific string of 3 characters	RUN
Cell code	The code of the cell where the event is occurring	FMC002
Robot	The robot interested by the event: ROBOT1 or ROBOT2	ROBOT1
Data of starting the event	Data in the format YYYYMMDD	20230430
Time of starting the event	Time in the format HH:MM:SS	00:03:17
Reason of the stop	A numeric code that identify the reason of the stop, from a specific list of the available stops	20

The string must be prepared considering the following rules:

Each field is separated by the next one by the character ';'

At the end of the string it will be placed the exadecimal code 0x04 (4 as a number)

Follows an example of a string that ESA can send when a STOP terminates:

RUN;FMC002;ROBOT2;20230430;00:08:17;20\04