You are on page 1of 29

Communication protocol for FujiTrax

MES ComCell Application


for FujiTrax

Software Design Specification

Change record
Date Name Version Comments
02/26/2008 Stefan Rosskopf 1.0.0 Initial version

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 1 from 29


Communication protocol for FujiTrax

Index

1 ABBREVIATIONS & DEFINITIONS..............................................................................


DEFINITIONS..............................................................................4
4

2 REFERENCES...............................................................................................................
REFERENCES...............................................................................................................4
4

3 INTRODUCTION............................................................................................................
INTRODUCTION............................................................................................................4
4

3.1 Purpose...............................................................................................................................................
Purpose............................................................................................................................................... 4

3.2 Scope...................................................................................................................................................
Scope................................................................................................................................................... 4

4 GENERAL DESCRIPTION.............................................................................................
DESCRIPTION.............................................................................................5
5

4.1 NXT Machine.......................................................................................................................................


Machine....................................................................................................................................... 5

4.2 Kitting Station.....................................................................................................................................


Station..................................................................................................................................... 6

4.3 Software Components Overview.......................................................................................................


Overview....................................................................................................... 7

4.4 MES LineControl.................................................................................................................................


LineControl................................................................................................................................. 8

4.5 Communication mechanisms............................................................................................................


mechanisms............................................................................................................ 9
4.5.1 Fujitrax to MES ComCell interface................................................................................................
interface................................................................................................ 9
4.5.2 Initial Process................................................................................................................................
Process................................................................................................................................ 9
4.5.3 Sequence IDs................................................................................................................................
IDs................................................................................................................................ 9

4.6 Multiboard Handling.........................................................................................................................


Handling......................................................................................................................... 10

4.7 Error Handling and Indication.........................................................................................................


Indication......................................................................................................... 12

5 CONFIGURATION.......................................................................................................
CONFIGURATION.......................................................................................................13
13

5.1 FraMES.cfg Configuration...............................................................................................................


Configuration............................................................................................................... 13
5.1.1 Equipment type...........................................................................................................................
type........................................................................................................................... 13
5.1.2 Fujitrax machine and line name...................................................................................................
name................................................................................................... 13
5.1.3 Feeder Carrier in CarMa..............................................................................................................
CarMa.............................................................................................................. 13

5.2 LineControl Settings........................................................................................................................


Settings........................................................................................................................ 13

6 INTERACTION WITH THE LINECONTROL SERVER...............................................


SERVER...............................................13
13

6.1 Initialisation and Setup OK..............................................................................................................


OK.............................................................................................................. 13

6.2 Configuration....................................................................................................................................
Configuration.................................................................................................................................... 13

7 COMCELL EVENT FUNCTIONS.................................................................................


FUNCTIONS.................................................................................14
14

7.1 event_load.........................................................................................................................................
event_load......................................................................................................................................... 14

7.2 event_unload....................................................................................................................................
event_unload.................................................................................................................................... 14

7.3 event_start........................................................................................................................................
event_start........................................................................................................................................ 14

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 2 from 29


Communication protocol for FujiTrax

7.4 event_stop.........................................................................................................................................
event_stop......................................................................................................................................... 14

8 COMCELL MESSAGE FUNCTIONS...........................................................................


FUNCTIONS...........................................................................14
14

8.1 msg_setev_ack.................................................................................................................................
msg_setev_ack................................................................................................................................. 15

8.2 msg_startev_ack..............................................................................................................................
msg_startev_ack.............................................................................................................................. 15

8.3 msg_keepalive..................................................................................................................................
msg_keepalive.................................................................................................................................. 15

8.4 msg_pcbcheckin..............................................................................................................................
msg_pcbcheckin.............................................................................................................................. 15

8.5 msg_pcbcheckout............................................................................................................................
msg_pcbcheckout............................................................................................................................ 17

8.6 msg_loadcomp.................................................................................................................................
msg_loadcomp................................................................................................................................. 19

8.7 msg_unloadcomp.............................................................................................................................
msg_unloadcomp............................................................................................................................. 21

8.8 msg_changecomp............................................................................................................................
msg_changecomp............................................................................................................................ 23

8.9 msg_loadkitting................................................................................................................................
msg_loadkitting................................................................................................................................ 23

9 SAMPLE EVENT SEQUENCES..................................................................................


SEQUENCES..................................................................................25
25

9.1 xxxCOMP Events..............................................................................................................................


Events.............................................................................................................................. 26

10 OTHER CONSIDERATIONS....................................................................................
CONSIDERATIONS....................................................................................27
27

10.1 Configurable items.......................................................................................................................


items....................................................................................................................... 27

10.2 Minimizing impact on Equipment Cycle time...................................................................................27

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 3 from 29


Communication protocol for FujiTrax

1 Abbreviations & Definitions


The following terms are used along of this document. Here is the meaning:
 ComCell. MES TCP/IP server application to listen TCP/IP messages
 Commands. Used as a synonym of Message
 Equipment Controller. Used as synonym of F&K Delvotec machine controller
 MES. Manufacturer Execution System
 Message Set. List of ASCII messages supported by agreement of MES and Equipment Controller
 Run. Test a unit in a given Process station
 Test Run. Result of measurements or Process result for a Run
 Unit History. Set of entries which describe the station registration and processing in a time line for a
given unit.
 WIP. Working in Process

2 References
“MES. Equipment Generic Setup & Machine Cycle Interaction V1.0.0.ppt”
Shows to Equipment supplier how to talk with MES across TCP/IP messages
"FujitraxHostSystemInterfaceSpecificationV1.0.0_Update.pdf"
Interface specification provided by Fuji.
"HostSystemInterface_Update.pdf"
Addon update of interface specification provided by Fuji.
"Specification LineControl.doc.pdf Version 1.2"
Specification of MES LineControl Server and Client module.

3 Introduction

3.1 Purpose
This document provides a detailed design specification to develop a ComCell filter dll for connection a Fuji
NXT machine to the Conti electronic plants MES.

3.2 Scope
This document provides the basic specification for writing the FraMES ComCell application for the Fujitrax.

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 4 from 29


Communication protocol for FujiTrax

4 General Description
The ComCell filter dll, together with ComCell framwork provides the communication interface between the
FujiTrax event base messages for Conti MES and the MES FraMES api. It als includes the process specific
part of the business logic which is not covered by MES.
The filter dll can be used to connect to a Fujitrax Central Server for one Fuji NXT machine a also to a
Fujitrax Kitting Station. This can be set in the ComCell configuration for the filter dll.
Here an overview ot the functions with a short description covered by the filter dll:

4.1 NXT Machine

NXT machine
event message id equipment action MES action
Component load LOADCOMP One or several feeders Components are set to batch
with reels are loaded on positions of the MES station.
the NXT machine. The components are not
assigned to a WIP
order/operation at this time.

Component unload UNLOADCOMP One or several feeders Components are released from
with reels are unloaded batch positions of the MES
from the NXT machine or station.
the reels run out of
components
Component change CHANGECOMP One or several reels are Components are set to batch
changed due to splicing positions of the MES station.
transitions The components are not
assigned to a WIP
order/operation at this time.
Checkin PCB PCBCHECKIN A PCB goes into the the Validate the WIP unit for the
first module of the NXT MES station and load the
associated WIP definitions into a
WIPMaMa slot
Checkout PCB PCBCHECKOUT A PCB comes out from Find the corresponding
the last module of the WIPMaMa slot and assign all
NXT provided components to that
slot, if they are not assigned
(use). Release all not provided
components from that slot.
(unuse)
Record quantities of used
components in WIPMaMa.
Process the WIP unit.

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 5 from 29


Communication protocol for FujiTrax

4.2 Kitting Station

Kitting Station
event message id equipment action MES action
Prepare kitting LOADKITTING A feeder is set at a The component reel is assigned
Fujitrax Kitting Station to a feeder carrier in CarMa
(Kitting Stand)

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 6 from 29


Communication protocol for FujiTrax

4.3 Software Components Overview


For the MES ComCell - Fujitrax approach, these components are required.
- MES Server
- MES ComCell Application supporting specified equipment interface protocol.
- Fujitrax Software and hardware including the Central Server Clients and Kitting Station supporting
specified equipment interface protocol.

MES Server

CAPS DLB CAPS DLB CAPS DLB

MES ComCell MES ComCell MES ComCell


Application Application Application
for Fujitrax for Fujitrax for Fujitrax

Fujitrax
Central Server
Verifier/Profiler EPI EPI EPI

Fujitrax Fujitrax
Fujitrax
Central Server Central Server
Kitting Station
Client Client

EPI: Equipment Interface Protocol


CAPS DLB: Camline Application Server Interface

For each NXT machine one connection to a MES ComCell Application is required. Target is to install the
MES ComCell Application at the same computer as the “Fujitrax Central Server Client”. In that case no
network commication for the EPI are needed. Therefore one Fujitrax Central Server Client is needed for
each NXT machine.
For the “Kitting Station” an additional instance of the MES ComCell application for Fujitrax is used.

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 7 from 29


Communication protocol for FujiTrax

4.4 MES LineControl


To provide additional dynamic configuration parameters assigned to the SMD line, the involving of a MES
LineControl Server is required.

MES Server

CAPS DLB

CAPS DLB CAPS DLB CAPS DLB


MES LineControl EPI
LineControl
Server

FraMES FraMES FraMES ComCell


Application Application Application
for Labeling or
Lasermarking
for Solder Paste Printer for Fujitrax

EPI: Equipment Interface Protocol


CAPS DLB: Camline Application Server Interface

One LineControl Server is used for one SMD Line. It is used to select the material that has to be produced.
It also can be configured to additionally select the MES order. When the material has been selected, a
LineControl configuration Testplan is loaded from the EVAPROD database. This testplan provides several
common LineControl configuration parameters:

- Identification type for the PCB multiboard panel


- Identification type for the PCB single board
- PCB Multiboard handling

Additional to that SMD dedicated configuration parameter can be configured.

The MES ComCell Application for Fujitrax communicates to the LineControl Server by using the LineControl
EPI.

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 8 from 29


Communication protocol for FujiTrax

4.5 Communication mechanisms

4.5.1 Fujitrax to MES ComCell interface


MES ComCell communicates with the Fujitrax through a set of messages.
Communication will be initiated by ComCell as ComCell is acting in active mode. Fujitrax is the TCP/IP
server and ComCell is the TCP/IP client. As soon as the connection is established and Fujitrax has got the
event list and the start event, Fujitrax starts sending events.

4.5.2 Initial Process


The initial process is needed to start the comunication between Fujitrac and MES ComCell. ComCell has to
send a SETEV message with the configured machine name and a list of all required events. Depending on
the configuration the events are for the NXT machine or only on event for the Kitting Station.
After that ComCell sends a STARTEV message to Fujitrax to start with the comunication. This procedure
has to be implemented by using the standard "event_start" function and the message functions "msg_..."

event_start
SETEV

Fujitrac
SETEV_ACK
STARTEV

msg_
setev_ack
STARTEV_ACK

msg_
startev_ack

4.5.3 Sequence IDs


As Fujitrax sends a sequence id (SeqID) for each message, the MES ComCell application has to reply the
same sequence id when sending the reply message.

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 9 from 29


Communication protocol for FujiTrax

4.6 Multiboard Handling


The ComCell application is able to process two differen types of multiboard handling.
If the hole multiboard is treated as on WIP unit with quantity ≥ 1 the WIP transactions (checkin and finish)
are done for the panel identification sent by Fujitrax. (MLTB2='P' - see FraMES LineControl specification)
If single units of a multiboard are treated as WIP units (quantity always 1) the WIP transactions (checkin and
finish) are done for the each single unit. The unit identifications are retrieved from the CarMa multiboard
carrier data set by panel identification sent by Fujitrax. (MLTB2='S' - see FraMES LineControl specification)
The type of the multiboard handling are selected by the LineControl setting. To keep the flowcharts readable
only MLTB2='P' are drawn for the message function msg_pcbcheckin and msg_pcbcheckout.
Flowchart multiboard handling entry:

MLTB entry

lnc_GetParameter(“MLTB2")

multiboard
S car_GetCarrierPositions
handling?

P
wpm_GetSlotForUnit
wpm_GetSlotForUnit

no,
slot returned ? no wpm_GetUnitLoss next
position
slot returned ? no

reply message NOK reply message NOK no loss?


no
same
material ?
same
no
material ?

yes

checkin checkin
wpm_UnitCheckin wpm_UnitCheckin
required ? required ?

last MLTB
position?

MLTB entry

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 10 from 29


Communication protocol for FujiTrax

Flowchart multiboard handling exit:

MLTB exit

lnc_GetParameter(“MLTB2")

multiboard
S car_GetCarrierPositions
handling?

P
wpm_GetSlotForUnit
wpm_GetSlotForUnit

slot returned ? no,


no wpm_GetUnitLoss
next
slot returned ? no position

reply message NOK reply message NOK no loss?

yes

wpm_UnitCheckin wpm_UnitFinish

last MLTB
position?

MLTB exit

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 11 from 29


Communication protocol for FujiTrax

4.7 Error Handling and Indication


All errors are handled within the ComCell application, and all errors are displayed at the GUI of the
ComCell.
Additional to that NOK results are sent back to Fujitrax.
Example error messages displayed at the ComCell GUI

Event Possible Errors


LOADCOMP Component (reel id) can not be created as batch unit in MES MaMa
UNLOADCOMP
Receipt for reel id not in MES MaMa
CHANGECOMP
PCBCHECKIN Unit not found in WIP
Unit not allowed to process at this station
Unit is scrap
PCBCHECKOUT Unit not found in WIP
Unit not allowed to process at this station
Unit is scrap
Component (reel id) can not be created as batch unit in MES MaMa
Receipt for reel id not in MES MaMa
(Component not part of MES partlist)
LOADKITTING Component (reel id) can not be created as batch unit in MES MaMa
Receipt for reel id not in MES MaMa

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 12 from 29


Communication protocol for FujiTrax

5 Configuration
There are two types of configurations for the ComCell application. One is done by entries in the FraMES.cfg
file. The other one is done via the settings of the LineControl server.

5.1 FraMES.cfg Configuration


The ComCell Fujitrax specific configuration is done in the FraMES.cfg file in a separate section [COMCELL]

5.1.1 Equipment type


EQUIPMENT_TYPE=NXT or
EQUIPMENT_TYPE=KITTING
The parameter defines the events set that have to be send to Fujitrax at the initial process with the SETEV
message.

5.1.2 Fujitrax machine and line name


The parameters define the machine name and the line name. The machine name is used during the initial
process. Both names are used to check if the Fujitrax messages fit to the ComCell instance.
MACHINE_NAME= name of machine defined in Fujittrax system
LINE_NAME= name of the line defined in Fujitrax system

5.1.3 Feeder Carrier in CarMa


The feeders are treated as carriers in CarMa if the kitting station is used. This parameter defines the CarMa
carrier type for the feeder.
FEEDER_CARRIER=carrier type
This parameter is only needed for the kitting station.

5.2 LineControl Settings


These settings are done after the LineControl testplan is loaded into the LineControl server. All configuration
parameters are retrieved from the LineControl server.

6 Interaction with the LineControl server

6.1 Initialisation and Setup OK


The ComCell application connects to a LineControl Server. Therefore it has to initialize the communication
and has to send a setup OK message if it is ready to listen from Fujitrax messages. The interaction with the
LineControl Server is implemented in the ComCell Event Functions: event_start and event_stop.

6.2 Configuration
All configuration parameters which are stored in the LineControl testplan are retrieved from the LineControl
Server. These are:

“MLTB2” Type of multiboard handling ‘P’ or ‘S’


“Material Number” Selected WIP material number
IDTP1 Idtype for PCB single unit number
IDTP2 Idtype for PCB multiboard panel number

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 13 from 29


Communication protocol for FujiTrax

7 ComCell Event Functions


ComCell event functions are triggered by the ComCell framework without a message from the connected
equipment. There are 4 event functions. Load and unload the filter dll. Start and stop the filter dll.

7.1 event_load
Load the ComCell Fujitrax configuration from the FraMES.cfg.
Load application specific GUI and place it in a tab of the WPPanel.

7.2 event_unload
Relase application specific GUI.

7.3 event_start
Create and send the SETEV message to Fujitrax. The message depends on the configuration:
EQUIPMENT_TYPE=NXT:
SETEV<TAB>SeqID<TAB>MachineName<TAB>NumList<CR>
LOADCOMP<TAB>Ack<CR>
UNLOADCOMP<TAB>Ack<CR>
CHANGECOMP<TAB>Ack<CR>
PCBCHECKIN<TAB>Ack<CR>
PCBCHECKOUT<TAB>Ack<CR>

LineControl message:
<STX>TS_INI:WRS:machine name<ETX>

Parameters to send
SeqID 1
MachineName configured parameter: MACHINE_NAME
NumList 5
Ack 1
EQUIPMENT_TYPE=KITTING:
SETEV<TAB>SeqID <TAB>MachineName<TAB> NumList <CR>
LOADKITTING<TAB>1<CR>

Parameters to send
SeqID 1
MachineName configured parameter: MACHINE_NAME
NumList 1
Ack 1

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 14 from 29


Communication protocol for FujiTrax

The answer for the message will be send to the ComCell message function msg_setev_ack. The sequence
id is set to 1 and can be checked by the msg_setev_ack.

7.4 event_stop

8 ComCell Message Functions


The following Message sets have to be supported.

8.1 msg_setev_ack
This function is called after the function "event_start" has sent an "SETEV" to the Fujitrax and Fujitrax
replies a "SETEV_ACK" message to the ComCell. There for a global variable is used to check the sequence
id set by the event_start function.
Additional to that, the machine name and the result (0=OK 1=NOK) is checked.

Usage of received parameters


SeqID Not used
MachineName Check agains configured parameter:
MACHINE_NAME
If all checks are OK, the STARTEV message is sent to Fujitrax:
STARTEV<TAB>SeqId<TAB>MachineName

Parameters to send
SeqID 2
MachineName configured parameter: MACHINE_NAME
The sequence id is set to 2, as this is the second message of the communication.

8.2 msg_startev_ack
This function is called after the function "msg_setev_ack" has sent a "STARTEV" message to the Fujitrax
and Fujitrax replied a "STARTEV_ACK" to the ComCell. The function doesn't have to reply a message to
Fujitrax.

Usage of received parameters


SeqID Not Used
MachineName Check with configured parameter:
MACHINE_NAME
After that, the LineControl gets a message, that the setup for the station is OK.
LineControl message: <STX>TS_INI:SOK<ETX>
Now the ComCell is waiting for events sent by Fujitrax (Central Server or Kitting Station)

8.3 msg_keepalive
This function provides the ComCell application part of the "Keep Alive" mechanism. This function always
sends back an "KEEPALIVE_ACK" message to notice that the application is still runnning.
Reply message:
KEEPALIVE_ACK<TAB>SeqID

Parameters to send
SeqID received SeqID

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 15 from 29


Communication protocol for FujiTrax

8.4 msg_pcbcheckin
This function is called wenn a PCB goes into the first module of the NXT machine. MES ComCell has to
validate if the unit is OK for that process step and sends back result=0 for ok or result=1 for not OK.
Tasks:
- Check the "Machine Name"
- Check if the unit is valid with the function wpm_GetSlotForUnit
- Check the ProgramName, if it fits to the material number of the unit
- Check if the material number is the same as the selected material number in the LineControl configuration
lnc_GetWIPMaterial
- Check if the critical msl remaining time is long enough lnc_GetParameter

Flowchart:

msg_pcbcheckin

MLTB entry

msg_pcbcheckin

The flow “MLTB entry” is displayed in the section “Multi Board Handling” of the “General Description”-
LineControl messages:
<STX>TS_GET:MAT<ETX> Get Materialnumber from LCS
<STX>TS_GET:SID<ETX> Get panel identification type
<STX>TS_GET:PID<ETX> Get single identification type
<STX>TS_PAR:MLTB:2<ETX> Get LineControl tesplan parameter for type ofmultiboard
handling

Usage of received parameters


SeqID Send SeqID
MachineName Check with configured parameter:
MACHINE_NAME
Time Not used
LineName Check with configured line name
LaneNo Not used
ProgramName Check with material number of the PCB in MES
PanelID Use to validate WIP unit PanelID
CriticalMslRemainingTime Optional to check with configured parameter in
LineControl testplan

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 16 from 29


Communication protocol for FujiTrax

If all checks are OK, this message is sent to Fujitrax:


PCBCHECKIN_ACK<TAB>SeqID<TAB>Result<TAB>MachineName<TAB>LaneNo<TAB>ProgramNa
me<TAB>PanelID

Parameters to send
SeqID received SeqID
Result 0 for OK / 1 for not OK
MachineName received and checked MachineName
LaneNo received LaneNo
ProgramName received and checked ProgramName
PanelID received and validated PanelID

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 17 from 29


Communication protocol for FujiTrax

8.5 msg_pcbcheckout
This function is called when a PCB goes out of the last module of the NXT machine. MES ComCell has to
validate if the unit and if its component traceability information is OK for that process step, stores the
traceability information in MES and sends back result=0 for OK or result=1 for not OK.
Although the feeder positions are controlled by the events “LOADCOMP”, “UNLOADCOMP” and
“CHANGECOMP”, the usage of the position for the slot in WIPMaMa are managed in the function
msg_pcbcheckout.
Tasks:
- Check the "Machine Name"
- Check if the unit is valid with the function wpm_GetSlotForUnit
- Check if the material number is the same as the selected material number in the LineControl configuration
wpm_GetSlotInfo lnc_GetWIPMaterial
- Get partlist setup for this slot to check if component us or unuse is required wpm_GetPartlistSetup
- For each component:
- check if position is already set with that component
- unuse position if needed wpm_UnusePosition
- if needed create batch unit in MaMa using the function wpm_CreateBachtUnit
- if needed set position in WIPMaMa by using the function wpm_SetPosition
- use position for current slot wpm_UsePosition
- use quantity for current slot and position with function wpm_UseQtyPosition
- reduce quantity for position with function wpm_DecQtyPosition
- Unuse all positions not in the list provided by the message "PCBCHECKOUT" wpm_UnusePosition
- Finish the PCB unit by calling the function wpm_UnitFinish.

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 18 from 29


Communication protocol for FujiTrax

Flowchart:

msg_pcbcheckout

MLTB entry

wpm_GetPartlistSetup

compare partlist setup


and component list

positione not used


wpm_UnusePosition yes
anymore

position used but


yes
different component

wpm_ReleasePosition
no

position not used


yes
before ?
(wpm_CreateBatchUnit)
wpm_SetPosition
wpm_UsePosition

wpm_UseQtyPosition
wpm_DecQtyPosition

all components
checked ?

wpm_UnitFinish

Error
yes
apeared?

no

reply message NOK reply message OK

msg_pcbcheckout

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 19 from 29


Communication protocol for FujiTrax

Usage of received parameters


SeqID Send SeqID
Time Not used
LineName Check with configured line name
MachineName Check with configured parameter:
MACHINE_NAME
LaneNo Not used
ProgramName Check with material number of the PCB in MES
PanelID Use to validate WIP unit PanelID
CriticalMslRemainingTime Optional to check with configured parameter in
LineControl testplan
NumList Number of used components
Components

StageNo Not Used


SlotNo Used for WIPMaMa batch Positions
PartNo Material number of the batch unti in WIPMaMa
ReelId Batch unit id in WIPMaMa
FeederId Feeder Carrier id (not used here)
PickupCount Used components for WIPMaMa
ErrorParts
RejectParts
DislodgedParts
NoPickup Not used
If everything is done this message is sent to Fujitrax:
PCBCHECKOUT_ACK<TAB>SeqID<TAB>Result<TAB>MachineName<TAB>LaneNo<TAB>ProgramN
ame<TAB>PanelID

Parameters to send
SeqID received SeqID
Result 0 for OK / 1 for not OK
MachineName received and checked MachineName
LaneNo received and checked LaneNo
ProgramName received and checked ProgramName
PanelID received and checked PanelID

8.6 msg_loadcomp
This event occurs when feeders with components are put to a module of the NXT machine., or when a reel
id is scanned during splicing.
Tasks:
- Check the "Machine Name"
- For each component:
- Check if ReelId is a batch unit in MaMa, if not create batch unit: wpm_CreateBatchUnit
- Check if FeederID is a carrier in CarMa. If not, create the carrier. car_CreateCarrier
- Check if ReelId belongs to FeederID. If not use CarMa to assign ReelID to FeederID
car_CarrierUsePosition
- Check if position is set. If not, set position with ReelID: wmp_SetPosition
- Id needed, adjust batch unit quantity wpm_DecQtyPosition

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 20 from 29


Communication protocol for FujiTrax

Flow:
msg_loadcomp
msg_changecomp

For each component of


provided list

wpm_GetBatchUnitInfo

MaMa batch units no


wpm_CreateBatchUnit OK?
exists ?

car_GetCarrierPosition

(car_CreateCarrier)
reel on that feeder
(car_CarrierReleasePosition) OK? no
carrier
car_CarrierUsePosition
No,
next
component

wpm_GetPosition

Position already
no wpm_SetPosition OK? no
set?

yes

reply message OK for reply message NOK for


this component this component

last component?

yes

reply message OK

msg_loadcomp
msg_changecomp

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 21 from 29


Communication protocol for FujiTrax

Usage of received parameters


SeqID Send SeqID
Time Not used
LineName Check with configured line name
MachineName Check with configured parameter:
MACHINE_NAME
ModuleNo Not used
NumList Number of loaded components
Components

StageNo Not Used


SlotNo Used for WIPMaMa batch Positions
PartNo Material number of the batch unti in WIPMaMa
FeederId Feeder Carrier id (not used here)
ReelId Batch unit id in WIPMaMa
Quantity Create or adjust quantity of batch unit in MaMa

Parameters to send
LOADCOMP_ACK Message name
SeqID Received SeqID
MachineName Received machine name
ModuleNo Received module no
NumList Received number of loaded components
Components

StageNo Received stage no


SlotNo Received slot no
Result 0: OK 1: NOK
PartNo Received part no
FeederId Received feeder id
ReelId Received reel id
Remaining Time MSL remaining time from MES MaMa

8.7 msg_unloadcomp
This event occurs when feeders with components are taken from a module of a NXT machine or when the
component is not longer available because the splice position is reached.
Tasks:
- Check the "Machine Name"
- For each component:
- Check if FeederID is a carrier in CarMa. If not, create the carrier. car_CreateCarrier
- Check if ReelId belongs to FeederID. If not use CarMa to assign ReelID to FeederID
car_CarrierUsePosition
- Id needed, adjust batch unit quantity wpm_DecQtyPosition
- Check if position is set. If yes release position: wmp_ReleasePosition

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 22 from 29


Communication protocol for FujiTrax

Flow:

msg_unloadcomp

For each component of


provided list

wpm_ReleasePosition

No,
next reply message NOK for
component OK? no
this component

reply message OK for


this component

last component?

yes

reply message

msg_unloadcomp

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 23 from 29


Communication protocol for FujiTrax

Usage of received parameters


SeqID Send SeqID
Time Not used
LineName Check with configured line name
MachineName Check with configured parameter:
MACHINE_NAME
ModuleNo Not used
NumList Number of unloaded components
Components

StageNo Not Used


SlotNo Used for WIPMaMa batch Positions
PartNo Material number of the batch unti in WIPMaMa
FeederId Feeder Carrier id (not used here)
ReelId Batch unit id in WIPMaMa
Quantity Adjust quantity of batch unit in MaMa
RemainingTime Optional: remaining time in MaMa
Parameters to send
UNLOADCOMP_ACK Message name
SeqID Received SeqID
MachineName Received machine name
ModuleNo Received module no
NumList Received number of loaded components
Components

StageNo Received stage no


SlotNo Received slot no
Result 0: OK 1: NOK
PartNo Received part no
FeederId Received feeder id
ReelId Received reel id
Remaining Time MSL remaining time from MES MaMa

8.8 msg_changecomp
This event occurs when the new reel id is valid because the splice position is reached. The FraMES
application can handle that like the "LOADCOMP" event.
The event “CHANGECOMP” is treated as the event “LOADCOMP”.

Usage of received parameters


SeqID Send SeqID
Time Not used
LineName Check with configured line name
MachineName Check with configured parameter:
MACHINE_NAME
ModuleNo Not used
NumList Number of unloaded components
Components

StageNo Not Used


SlotNo Used for WIPMaMa batch Positions
PartNo Material number of the batch unti in WIPMaMa
FeederId Feeder Carrier id (not used here)
ReelId Batch unit id in WIPMaMa
Quantity Adjust quantity of batch unit in MaMa

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 24 from 29


Communication protocol for FujiTrax

Parameters to send
CHANGECOMP_ACK Message name
SeqID Received SeqID
MachineName Received machine name
ModuleNo Received module no
NumList Received number of loaded components
Components

StageNo Received stage no


SlotNo Received slot no
Result 0: OK 1: NOK
PartNo Received part no
FeederId Received feeder id
ReelId Received reel id
Remaining Time MSL remaining time from MES MaMa

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 25 from 29


Communication protocol for FujiTrax

8.9 msg_loadkitting
This event occurs when a a feeder is set at the Kitting Station.
- Check the "Kitting Name"
- Check if FeederID is a carrier in CarMa. If not, create the carrier. wpm_CreateCarrier
- Check if ReelId belongs to FeederID. If not use CarMa to assign ReelID to FeederID
wpm_UseCarrierPosition
- If ReelID is not set by the Kitting Station, release position in CarMa. wpm_ReleaseCarrierPosition
Flow:

msg_loadkitting

wpm_GetBatchUnitInfo

MaMa batch units


wpm_CreateBatchUnit OK?
exists ?

yes

car_GetCarrierPosition

car_CreateCarrier
reel on that feeder
no car_CarrierReleasePosition OK?
carrier
car_CarrierUsePosition

yes
no

reply message NOK for


reply message OK
this component

msg_loadkitting

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 26 from 29


Communication protocol for FujiTrax

9 Sample Event Sequences


NXT Machine
Seq. Number of
MES ComCell
No. Comment events   Fujitrax Central Server
Connect TCP/IP server   
1 Socket Connection 1
   Accept Client Connection
SETEV   
2 Send a list of all required events 1
   SETEV_ACK
STARTEV   
3 Send start signal start with events 1
   STARTEV_ACK
Central Server sends a load    LOADCOMP
4 component for each module with a list 1..32
of all feeder positions for each module LOADCOMP_ACK   
Central Server sends a change    CHANGECOMP
component for each module with a list
5 of all feeder positions for each module 1..32
to identify that the components are CHANGECOMP_ACK   
used from now on
First PCBs go into the machine. Event    PCBCHECKIN
6 pcb checkin is sent several times 1..10
PCBCHECKIN_ACK   
First PCB goes out of the machine.    PCBCHECKOUT
7 Event pcb checkout is sent 1
PCB_CHECKOUT_ACK   
   PCBCHECKIN
Next PCB goes into the machine
PCBCHECKIN_ACK   
8 1..n
 PCBCHECKOUT
Next PCB goes out of the machine
PCB_CHECKOUT_ACK   
   PCBCHECKIN
Next PCB goes into the machine  
PCBCHECKIN_ACK   
New Feeder is set on the machine or    LOADCOMP
new reel is scanned after splicing LOADCOMP_ACK   
Splice position is reached, or new  UNLOADCOMP
9 feeder is used the first time, therfore 1..n 0..32
old reel is unloaded UNLOADCOMP_ACK   
Splice position is reached, or new  CHANGECOMP
feeder is used the first time, therfore
old reel is used from now on CHANGECOMP_ACK   
 PCBCHECKOUT
Next PCB goes out of the machine
PCB_CHECKOUT_ACK   

Kitting Station
Seq. Number of
MES ComCell
No. Comment events   Fujitrax Kitting Station
Connect TCP/IP server   
1 Socket Connection 1
   Accept Client Connection
SETEV   
2 Send a list of all required events 1
   SETEV_ACK
STARTEV   
3 Send start signal start with events 1
   STARTEV_ACK
Kitting station sends load kitting    LOADKITTING
4 events 1..n
LOADKITTING_ACK   

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 27 from 29


Communication protocol for FujiTrax

9.1 xxxCOMP Events


Event sequence with splicing:

Feeder
Event Feeder Pos Reel Id Comment
LOADCOMP feeder1 pos1 reel1 verify reel, create batch unit in MaMa
change feeder carrier
set batch position
LOADCOMP feeder1 pos1 reel2 verify reel, create batch unit in MaMa
change feeder carrier

UNLOADCOMP feeder1 pos1 reel1 release WIPMaMa batch position

CHANGECOMP feeder1 pos1 reel2 set WIPMaMa batch position

LOADCOMP feeder1 pos1 reel3 verify reel, create batch unit in MaMa
change feeder carrier

UNLOADCOMP feeder1 pos1 reel2 release WIPMaMa batch position

CHANGECOMP feeder1 pos1 reel3 set WIPMaMa batch position

Event sequence without splicing:

Feeder
Event Feeder Pos Reel Id Comment
LOADCOMP feeder1 pos1 reel1 verify reel, create batch unit in MaMa
change feeder carrier
set batch position
UNLOADCOMP feeder1 pos1 reel1 ReleasePosition

LOADCOMP feeder1 pos1 reel2 verify reel, create batch unit in MaMa
change feeder carrier
set batch position
UNLOADCOMP feeder1 pos1 reel2 ReleasePosition

LOADCOMP feeder1 pos1 reel3 verify reel, create batch unit in MaMa
change feeder carrier
set batch position

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 28 from 29


Communication protocol for FujiTrax

10 Other considerations

10.1 Configurable items


Connection and message parameters that are constant should be stored in configuration files or be made
accessible via utilities on the equipment’s user interface. The configurable items include:
 MES ComCell server host name or IP
 TCP port through which communications to MES will take place
 The equipment identifier (machine_id or kitting_station_id in message sets) that will identify the
equipment to MES
 The number of seconds the equipment should wait for a reply from MES before concluding that is a
communication error and display the error to the operator
 Destination folder for Logging Result files. It will be a local or network path location.
The MES application that talks to the equipment keeps a log for all message activity between itself and the
equipment, including the whole message send/received. As each log file reaches a certain size, it is named
according with the date it was closed and a new file is opened. Logging of messages activity by the
equipment software that talk with MES is also necessary. This could be implemented in two different ways:
1) A log file method as MES uses
2) A scrollable FIFO window of messages activity that does not log to disk.
Either or both methods will greatly aid in troubleshooting any problem between equipment and MES. To
prevent excessive disk usage for first option, a schema may be implemented where only the last X number
of files are kept and older files are deleted. In this case, it may be desirable to include the number of files to
keep and the maximum size of each file as configurable item discussed above. If both methods are used, a
means to “turn off” disk logging should be implemented.

10.2 Minimizing impact on Equipment Cycle time


Communication with MES should be implemented in such a way as to minimize the effect on the
equipment’s processing cycle time. In other words, the equipment should not spend time communicating
with MES or waiting for response when it could be processing product that is eligible for processing. This
doesn’t imply that product should be moved or processed before MES has replied to a message for that
particular product. Instead, mechanisms such as input and output queues may needed to allow pre or post-
process messaging to occur for one or more parts while another is in the process cycle (see Reference
section for PPT file)
The component tracking on MES side has to handled to minimize the impact of the cycle time at the
"PCBCHECKOUT" event. Therefore, all compontens provided by the event have to be cashed onFraMES
level and only if setup changes are recognised, these changes are stored in the "t_wip_partlist" table of the
WIP server.
END OF THIS DOCUMENT

/conversion/tmp/activity_task_scratch/539923821.doc Sheet 29 from 29

You might also like