The
VIEW
device is configured identically as in the TESTBED_VIEWL
configuration.Click on a Device to view its configuration.


The
HMI
device encapsulates the functionality of the HMI layer of the
architecture, including the HMI elements needed to:
- read sensor values;
- simulate manual loading of pegs and rings to the chain conveyor;
- write actuator values; and
- maintain resettable counts of "lost" (unassembled) rings and pegs and of peg/ring assemblies produced.








The
MODEL
device contains eight instances of the EMB_RES
type, which in turn contain the Model elements for the
corresponding Views, as well as logic to simulate the physics
of the interactions among Model elements including their
sensors and actuators and transfer of workpieces.

The
CLOCK
resource contains the simulation clock, whose events are distributed
using the local
multicast pattern. It also contains additional logic to provide
"artificial gravity", i.e., a constant ON signal to the "motors" of
the chutes in the PEG_CHUTE
and RING_CHUTES
resources.

The
CHAIN_MDL
resource contains an instance of the CNV_MDLL
type,
corresponding to the chain in the CHAIN
view.

The
SORT_MDL
resource contains an instance of the SOL_MDLL
type,
corresponding to the sorter solenoid in the
CHAIN
view.

The
PEG_CHUTE
resource contains an instance of the CNV_MDLL
type,
corresponding to the
CHUTE
element of the
CHUTES
view.

The
RING_CHUTES
resource contains instances of the CNV_MDLL
type, corresponding to the
CHUTE
element of the
CHUTES
view.

The
BELT_MDL
resource contains intances of the CNV_MDLL
and CNVG_MDLL
types, corresponding to the
ASSY_CHUTE
and
RING_FEED
elements of the
CHUTES
view, respectively.

The
ASSY_MDL
resource models the peg/ring assembly.

The
INSP_MDL
resource uses an instance of the WP_SENSE
type to model the operation of the inspection station.

Inter- and intra-layer communication is implemented with the local multicast
pattern, in particular for the distribution of the simulation clock
and the simulation of workpiece transfer with instances of the LOADL
and LOADLE
types. The FBDK
uses the Tagged Data
design pattern to ensure consistency of the communicated events and
data, as shown in the table below.
Where applicable, this table lists the correspondences between the tag names and the testbed's Sensor/Actuator labels, which are also used in the HMI.
Name | Type | UDP Channel | Description |
---|---|---|---|
ASSEMBLED |
|
|
MODEL Internal Peg/Ring Assembly Event |
ASSY_CHUTE_SENSE |
BOOL |
|
ASSEMBLY HOPPER FULL |
BELT_ACT |
BOOL |
|
BELT CONVEYOR |
BELT_REND |
UINT,VSTYLE |
|
MODEL/VIEW Internal Belt Position + Workpiece
Style |
BELT_SENSE |
BOOL |
|
REJECT AREA DETECT |
CHAIN_ACT |
BOOL |
|
CHAIN CONVEYOR |
CHAIN_REND |
UINT,VSTYLE |
|
MODEL/VIEW internal chain position +
workpiece style |
INSPECT_SENSE |
BOOL,BOOL |
|
ASSEMBLY DETECT, RING ASSEMBLED |
LOAD_CHAIN |
VSTYLE |
|
Load chain with VSTYLE workpiece |
PEG_FEED_SENSE |
BOOL |
|
PEG AT RING CHUTE |
REJECT_ACT |
BOOL |
|
REJECT SOLENOID: 1=Advance, 0=Retract |
REJECT_SENSE |
BOOL |
|
REJECT SOL RETURN |
RING_FEED_ACT |
BOOL,BOOL |
|
MODEL internal (TRUE, ROTARY SOLENOID) |
RING_FEED_LOAD |
|
|
MODEL internal chain to chute ring transfer
event |
RING_FEED_SENSE |
BOOL,BOOL,BOOL |
|
RING PRESENT, INDEX CAM OPEN,
INDEX CAM CLOSED |
RING_LOST |
|
|
HMI Internal: Ring passed by chute, discarded |
ROTARY_ACT |
BOOL |
|
ROTARY SOLENOID: 1=Advance, 0=Retract |
SIM_CLK |
|
|
MODEL simulation clock |
SORT_ACT |
BOOL |
|
SORT SOLENOID: 1=Advance, 0=Retract |
SORT_PEG_SENSE |
BOOL,BOOL |
|
SORT AREA DETECT, METAL PEG DETECT |
SORT_SENSE |
BOOL |
|
SORT SOL RETURN |