Académique Documents
Professionnel Documents
Culture Documents
Project Introduction
Project Description
The Texas Hold-Em Heads Up Generator project idea originated from our love of the game. The
application of this project delivers orders for two separate poker hands represented by the HERO and
VILLAIN cards. The order selection allows for a suit (,,,) and card value for Hero card #1, Hero
card #2, Villain card #1 and Villain card #2, table shape (Hexagon or Oval) and table/card border colour.
This is accomplished by implementing Human Entry Mode and Automatic ID order entry. Human Entry
mode is applied by human selection on the HMI and Automatic ID uses a barcode scanner that loads
orders based on the pallet entering for the next order. For these order operations to be applied, the
communication paths needed to be established: The Panel View and PC communicate by Ethernet,
barcode scanner on DeviceNET and the robot on RIO to complete orders (figure #2, Network and Control
system diagram). The projects intention is to have a relatable feel to a poker environment. This is why
both the robot drawing and HMI are designed to resemble a poker table similar to the drawing below
(figure #1).
MENU
Order Sheet
Order Selection #1
Hero
Villain
Hero Card 1
Hero Card 2
Villain Card 1
Villain Card 2
Table Shape
Number
Suit
Number
Suit
Number
Suit
Number
Suit
Oval
Hexagon
Black
Blue
Table Shape
Order Selection #2
Hero
Villain
Hero Card 1
Hero Card 2
Villain Card 1
Villain Card 2
Number
Suit
Number
Suit
Number
Suit
Number
Suit
Oval
10
Hexagon
Black
X
Blue
Order Selection #3
Hero
Villain
Hero Card 1
Number
Hero Card 2
Suit
Number
Villain Card 1
Suit
Number
Villain Card 2
Suit
Number
Suit
Table Shape
Oval
Black
Hexagon
Blue
Table Shape
Order Selection #4
Hero
Villain
Hero Card 1
Number
Hero Card 2
Suit
Number
Villain Card 1
Suit
Number
Villain Card 2
Suit
Number
Suit
Oval
Black
Hexagon
Blue
Order Selection #5
Hero
Villain
Hero Card 1
Number
Hero Card 2
Suit
Number
Villain Card 1
Suit
Number
Villain Card 2
Suit
Number
Suit
Table Shape
Oval
Black
Hexagon
Blue
The order selection objects on the left of the screen are linked to separate tags. The values in
these tags are then moved to a single tag for the FIFO input. The FIFO stack is seen on the right
containing the two place orders followed by the FIFO output (current order) on the bottom.
CLX Panel
We implemented the Ethernet module (slot 9), RIO (slot 10) and DeviceNET (slot 11) in this
project from the 13-slot AB I/O chassis.
7
In this photo the robot is finishing the first order entered. When this order is executed the robot is
programmed to grab the black pen for card numbers if the DIN[X] for border color is blue.
The robot is programmed to compare the GINs[X-X] for the card number suits. Since the
black pen is in the gripper the robot draws all black suits first before drawing red suits.
8
10
11
12
The input objects on the left represent all requirements to make a complete order. When Human Entry
mode is enabled the values in the tags are moved to a product code tag using BTD instructions to specify
the length and bit level to be copied within. When the DEALING button is pressed the FIFO loads the
order from the product code and is visible in the order 1 row. SHUFFLING simply manually unloads the
FIFO although it is important to make note that the FIFO automatically unloads when the pallet is lifted
on the lift locate unit.
13
Series of multistate indicators on the top of the screen represent the barcode or FIFO
order output
14
15
Push button Indexing: In this indexing mode, workcell I/O are changing for each step based on the
number of times the ADVANCED PB is pressed. If the lift locate is raised with the pallet present and
Robot Bypass is not active, the sequencer ADVANCE PB is not functional while the order is in motion.
Once the robot is done working the user is able to then advance the sequence.
Time Based Indexing: For sequence steps to change automatically, an array of timer presets are used to
change a Time Based Indexing Timer based on the sequencer step. This is done by using indirect
addressing where a MOV is implemented to change the timer preset. For example, the Source for the
MOV could be Timer_Presets[Sequencer_Control.POS] to destination Time_Base_Indexing_Timer.PRE.
Even Driven Indexing: This indexing modes operation is the best choice of the three. This is because
photocells and proximitys are used to track the pallet location and advance to the next sequencer step for
efficient movement through the workcell.
16
The PanelView needed to have robot feedback displayed. To accomplish this we declared GOUT
values at specific stages of the order. A specified GOUT was used for motion status, pen status and
gripper status. The multistate captions and colours change based on each GOUT value. Examples of the
robot status caption could be Robot at Perch Position, Robot above pen rack, Robot drawing Oval etc.
Examples of the Pen Status could be Dropping Black Pen, Grabbing Blue Pen and No Pen etc. The
objects related to I/O change based on the pallet location to give the operator an idea of where the pallet is
in relation to the robot order.
17
Network Screen
This screen displays the main devices, their network addresses and communications paths used for this
project. The symbols are all static except for the red X and green check marks. When Ethernet, RIO or
DNET are disconnected the red x appears. This was accomplished using status bits from the modules.
For DNET the Local:11:I.StatusRegister.DeviceFailure bit changes from 0 or 1 based on the device
status. RIO status was accomplished using FPROJECT_MMNM:I.RackStatus.0. The blue message
indicators are linked to FactoryTalk View Studio system status tags.
18
ControlLogix Program
FIFO
To place a single order, the data from each order selection is stored in a DINT named
PRODUCT_CODE in a sequence. To accomplish this, control list selectors were tagged to our order
selections. For example, the image below (figure #15) shows HERO_CARD1_NUM which holds a value
from 1-13(A to K) and our PRODUCT_CODE.
Product Code
BTD Instruction
To move a range of values from the ORDER_OUTPUT to the
Robot the BTD is very useful. Since each card number has a GIN
using 4 bits of data this will consume a word of its own. As seen in
Figure #17 on the left, the length of the first BTD instruction is 16
bits. So this instruction takes 16 bits from ORDER_OUTPUT
starting at bit 0 (Source Bit = 0) and moves them to the robot input
data [4] starting at bit 0 (Dest Bit 0). At this point now the FIFO is
unloading one order each time the pallet is present on the raised
LLU and moving card values to our GINs. The same procedure is
done in the second BTD. This instruction is moving 8 bits starting
at bit 16 (Source Bit = 16) and moving it to the robot input data [5]
starting at bit 0 (Dest Bit 0) being the value of 4 GINs for card
suits. This same procedure done for the third BTD sending two
bits of data for two digital inputs being table shape and border
Figure #17: Sending order to Robot
colour.
Condition Handler
Entrance Conveyor
Time Seconds
y = 207x-0.954
50
45
40
35
30
25
20
15
10
5
0
0
10
20
30
40
50
60
70
80
VFD Speed Hz
To change the entrance conveyor speeds on the fly without disrupting the sequence and keeping
efficiency, the Timer Preset values for Time based Indexing and Event Driven Indexing needed to
change. To accomplish this, time measurements were taken at speed intervals of 5Hz each from the LTU
proximity to the end of the entrance conveyor. Once recorded, the graph above (figure #18) was created
in excel and a power equation trend line was assigned resulting in the formula y = 207x-0.954. The logic
for this math equation is below.
Math Function
Handshake
The purpose of the above logic is for message flow
control known as handshaking. This allows CLX to
know that data is available and to stop the Barcode
Reader from sending messages faster than CLX can
receive them. It is important to note that the Barcode
Scanner reads in ASCII so a conversion to decimal
must be done.
Figure #22: Barcode Handshaking Logic
Trigger
Write Data
Communication w Module
Communication to the module is
done through the bidirectional BTW
and BTR above. The BTW sends the
data table values to the analog outputs
while the BTR retrieves the module
status information and stores it in the
processor.
Auto Mode
The Sequencer functions in steps where outputs
energize based on the sequencers position.
SEQ_Steps[0] is a DINT array that has specific bits
assigned to outputs. To energize an output in the
program at an assigned step a 1 is entered into the bit
field. The table below is an organized layout of the
sequence of operation we want the workcell outputs
LTU_Raise_Solenoid
PreStop_Lower_Solenoid
13
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
VFD_Start_Bit
LTU_Lower_Solenoid
10
VFD_Stop_Bit
11
VFD_Rev_Bit
Trans_Convr_FWD
12
VFD_Speed_Bit_1
Trans_Convr_REV
13
VFD_Speed_Bit_2
Lift_Raise_Solenoid
14
VFD_Speed_Bit_3
Lift_Lower_Solenoid
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
1
0
Figure #28: Sequencer Bit Table
Not Used
STEP1
STEP2
STEP3
STEP4
STEP5
STEP6
STEP7
STEP8
STEP9
STEP10
STEP11
1
5
0
0
0
0
0
0
0
0
0
0
0
0
Gate_FWD_Starter
Gate_REV_Starter
Sequencer Steps
Numeric
Entry
Object
Decimal
Value
0
17536
17536
17408
256
8550
4352
8448
8526
512
17920
128
24
back to LBL[2] on line 3 checking the status of these two conditions. Now that the robot as jumped to
line 7 a DO[63] unloads the FIFO in CLX. DO[62] knocks out the FIFO unload operation, entrance
conveyor, and LLU control. This ensures that a new order can be loaded for the next operation without
changing the current robot order.
robot still has the black pen in the gripper then the robot begins to draw spades or clubs by jumping past
the blue drop and black grab routine.
25
Pallet Exit
To enable the LLU to lower and run the entrance conveyor in
reverse for the next sequence step, the IN_CYCLE interlock
needs to be false. DO[64] makes a true to false transition to
enable the sequencer to continue to the next step than disable
itself. Lastly DI[2] is a signal from CLX to only jump back to the
Figure #34: Pallet exit handshake
top of the program when the pallet has left the LLU to ensure the
cycle does not repeat itself.
26
Reading DT File
14 VAR
15 NUM,COUNT:INTEGER
16 X,Y,Z,XX,YY,ZZ:REAL
17 REF_POINT:POSITION
18 P1,P2:XYZWPR
19 -20 C:FILE
40 READ C (X,Y,Z,XX,YY,ZZ)
41 -42 NUM=TRUNC(Z) -- CONVERT REAL
NUMBER TO INTEGER
43 P1= REF_POINT -- P1 SET TO
REFERENCE REF POINT
44 $SPEED=150;$MOTYPE=LINEAR;$TERMTYPE=FINE
45 -46 FOR COUNT=1 TO NUM DO
47 READ C (X,Y,Z,XX,YY,ZZ)
48 -49 IF (XX=0) AND (YY=0) THEN -- LINEAR
50 $MOTYPE=LINEAR
51 P1.x=P1.x+X;P1.y=P1.y+Y;P1.z=P1.z+Z
52 MOVE TO P1
53 -54 ELSE -- CIRCULAR MOTION
55 P1.x=P1.x+X;P1.y=P1.y+Y;P1.z=P1.z+Z
56 P2=P1
57 P2.x=P2.x+XX;P2.y=P2.y+YY;P2.z=P2.z+ZZ
58 $MOTYPE=CIRCULAR
59 MOVE TO P2 VIA P1
60 P1=P2
61 -62 ENDIF
63 ENDFOR
64 $MOTYPE=LINEAR
65 CLOSE FILE C
27
Developing Positions
Y
To develop the numbers and suits
+Z is towards pallet
DT Tables
X
XX
YY
ZZ
13
94.8
-87.0
-100
100
-3.28
1.23
-3.28
-1.23
-1.32
-3
1.3
-3
1.36
-0.87
1.36
-0.87
-1.36
-0.87
-1.36
-0.87
-1.36
-3
1.3
-3
3.28
-1.23
3.28
1.23
1.24
0.77
1.24
0.77
-1.24
-1.24
-9
-100
28
Condition Handler
4 PROGRAM FP_COND
5 -6 CONST
7 COND=34
8 CONDD=37
9 Begin
10 Condition[1]:
11 When DIN[CONDD]=False Do
12 HOLD
13 Enable Condition[1]
14 Enable Condition[2]
15 EndCondition
16 Condition[2]:
17 WHEN DIN[COND]=True Do
18 UNHOLD
19 EndCondition
20 Enable Condition [1]
21 Enable Condition [2]
22 End FP_COND
Circular Motion on TP
29
Conclusion
Mitchell Moore
o What did you learn?
This project reinforced a lot of previous learning experience from lab classes. Taking
concepts and implementing them in your own creative project gets you thinking about subjects
you do not constantly practice. This relates to configuring the robot I/O with the CLX to
develop group input/output integer values for our order operations, moving those values from
the HMI to the FIFO, implementing the sequencer to move the pallet through the workcell
using multiple indexing methods, the robot handshake with the CLX to start the drawing
operation on the robot and releasing the pallet. These concepts made me more efficient and
knowledgeable when developing and troubleshooting. The specific subjects that were new to
me consist of BTW and BTRs for communicating with the Analog VFD module, condition
handlers and using case selects with DT file calling. Learning about condition handlers are
key because now I can implement them into projects such as SCADA to receive robot
positional feedback for a symbol animation. In relation to the VFD it was the more
challenging idea to understand. Looking through supplement notes referencing the module
manual helped me grasp following a procedure to get new instructions functioning.
o How would you approach this project differently if you could do it again?
When the project started my confidence on what direction to head in lacked. I was used to
following lab procedure without little difficulty since I never strayed far off. It felt as if it was
my first time creating a TP and Karel file. Now that I have completed the project my ability to
create TP, Karel, and a RSLogix file for this project would be faster and more efficient
resulting in more features being applied that use more in-depth concepts such as structured text
and or function block. With my previous knowledge an idea I would have implemented was
adding a calculated offset from the reference position in the Karel file for each number and
suit for all four positions rather than making 4 sets of DT files for each number and suit. This
would have eliminated more than seventy five percent of time spent on creating and
troubleshooting these files.
30
o What advice would you give next years students to be successful with their project?
When coming up with the concept for the project it is important to come up with a concept
that meets specifications quickly with features that can be managed. By doing this we would
have had more time to develop our thoughts on where to start to develop our code. It is key to
not underestimate this project. We found ourselves saying many times that a task would only
take a few hours meanwhile it would turn into a period of days solving. This is why for our
extra concepts it is important that we declared them as possible outcomes for the project
depending on development time to make sure the workload would be manageable. I think
that before diving right into the project it would be beneficial to go over concepts from
Integrated Auto II and Automation Systems. This would have given us a more efficient
approach to the integration of all the components instead of actively troubleshooting and
referring to notes. Along with this I feel that some research into new instructions and logic
would have actually saved time in the long run. We started off with a base of code for moving
order data to a product code which did not function. With some research we were able to find
a simple instruction that took hardly any time to integrate in comparison to the time we spent
developing the original code. This relates back to time management. This is a project done in
pairs and it is important to work together but at some stages taking turns completing one
subject matter can be ineffective. You may find yourself spending more time solving the
others logic then completing it yourself. Troubleshooting something that is not created in
your style also is ineffective. If you are able to work effectively and use good time
management skills it would be beneficial to go for bonus marks on progress demo one. These
bonus marks could include some AutoCAD, robot handshake, DT files or some Karel
programming. If you are able to complete the expectations of progress demo one, having
insight on the second stage of the project will set you up in a good position. This would
hopefully set you up with more time at the finalization of the project for your extra concepts
and or touch ups.
32
Nick MacDonald
How would you approach this project differently if you could do it again?
When we began the final project, we lacked direction and were unsure of how we would execute many
of the main tasks required. I think that keeping an agenda and journal in order to organize our thoughts,
ideas, future jobs and current goals would have helped us organize our thoughts better and be more
prepared for checkpoint demos etc. As with most projects, time management is always the biggest factor
in being successful and organized. There were many late, late nights, days or hours before a demo, where
we would be scrambling to be prepared or have to sacrifice marks in order to be done on time. So instead
of leaving work until a week before, we could have allotted time in previous weeks so that we would be
more prepared, come demo day. Lastly, in terms of organization, I noticed while we complied this final
report, looking at our controller tags, we had more than one hundred unused tags, not only in control
logix, but in all of our programming software, more housekeeping would have kept our heads clear and
our thoughts more concise.
33
school, so they could see the work and time and understanding that goes into a lab.
34
35
Appendix A
36
37
Slot
1
1
1
1
1
1
1
1
Start Point
49
51
53
55
65
69
73
77
# of Points
2
2
2
2
4
4
4
4
Rack
16
16
16
16
Slot
1
1
1
1
Start Point
17
65
69
73
# of Points
16
4
4
4
Slot
1
1
1
Start Point
62
63
64
Range
61-64
61-64
61-64
Start Point
33
35
36
Range
33-39
33-39
33-39
Slot
1
1
1
38
Tool Frame
User Frame
X= 0.0
X= 773.1
Y= 0.0
Y= 457.8
Z = -310.0
Z = 563.8
W= 0.0
W= -180
P = 0.0
P = 0.0
R = 0.0
R = 0.0
Conversion
0000
Card
Value
2
0001
01
0010
10
Hero Card 1
Binary
Hero Card 2
Villain Card 1
Villain Card 2
Binary
Card Suit
11
00
0011
Binary
Table Style
10
11
12
13
14
15
0100
Oval
0101
Hexagon
Villain
Card 2
Suite
0110
Binary
Table Color
Hero
Card 1
Suite
Hero
Card 2
Suite
16
17
18
19
20
21
22
23
0111
Black
1000
10
Blue
Table
Style
24
Table
Color
25
0
Oval
Villain
Card 1
Suite
1001
1010
1011
Blue
1100
39
Product ID (2 Words)
0
0
14
1
1
1
15
1
2
1
16
0
3
0
17
1
4
0
18
0
5
0
19
1
6
1
20
1
7
1
21
1
8
0
22
1
9
0
23
0
10
1
24
0
11
0
25
1
12
0
13
0
11
1
25
1
12
0
13
1
Order 2
Hero Card 1
Hero Card 2
Villain Card 1
Villain Card 2
10
11
12
13
14
15
7
Hero Card 1 Suite
7
Hero Card 2 Suite
16
17
18
19
20
21
22
23
Table Style
Table Color
24
25
1
Hexagon
1
Blue
Product ID (2 Words)
0
0
14
0
1
1
15
1
2
1
16
0
3
1
17
1
4
0
18
1
5
1
19
0
6
1
20
1
7
1
21
1
8
0
22
0
9
1
23
0
10
0
24
1
40
TP
Teach Pendant File
Number of Lines
FP_MMNM
70
FP_OPEN
FP_CLOSE
FP_CB
41
FP_VS
16
FP_HEX
21
FP_OV
22
FP_RG
15
FP_RD
15
FP_GG
15
FP_GD
15
FP_BG
15
Total
FP_BD
15
283
Variables
Names
Digital
Names
Group
Names
Robot
PALLET_AT_LLU
DI[33]
ROBOT_STATUS
GO[3]
Open_Gripper
RO[1]
ROBOT_BYPASS
DI[38]
PEN_STATUS
GO[4]
Close_Gripper
RO[2]
ORDER_UNLOAD
DO[63]
GRIPPER_STATUS
GO[5]
IN_CYCLE
DO[62]
HCARD1_SUIT
GI[8]
TABLE_COLOR
DI[36]
HCARD2_SUIT
GI[9]
TABLE_SHAPE
DI[35]
VCARD1_SUIT
GI[10]
ROBOT_DONE
DO[64]
VCARD2_SUIT
GI[11]
NO_PALLET
DI[2]
Close_Gripper
RO[2]
Open_Gripper
RO[1]
41
KAREL Files
Karel File
Number of Lines
FP_COND
22
HCard1_N
69
HCard2_N
69
VCard1_N
69
VCard2_N
69
HCard1_S
64
HCard2_S
64
VCard1_S
64
VCard2_S
64
Total
554
KAREL Variables
Names
Type
COND
DIN[34]
COND
DIN[37]
FILE
NUM
INTEGER
COUNT
INTEGER
X,Y,Z,XX,YY,ZZ
REAL
REF_POINT
POSITION
P1,P2
XYZWPR
H_CARD1_NUM
GIN[12]
H_CARD2_NUM
GIN[13]
V_CARD1_NUM
GIN[14]
V_CARD2_NUM
GIN[15]
42
DT Files
DT File
Name
# Of
Lines
DT File
Name
# Of
Lines
FP_1A.DT
FP_1B.DT
FP_1C.DT
FP_1D.DT
FP_2A.DT
FP_2B.DT
FP_2C.DT
FP_2D.DT
FP_3A.DT
FP_3B.DT
FP_3C.DT
FP_3D.DT
FP_4A.DT
FP_4B.DT
FP_4C.DT
FP_4D.DT
FP_5A.DT
FP_5B.DT
FP_5C.DT
FP_5D.DT
FP_6A.DT
FP_6B.DT
FP_6C.DT
FP_6D.DT
FP_7A.DT
FP_7B.DT
12
12
12
12
8
8
8
8
8
8
8
8
7
7
7
7
8
8
8
8
9
9
9
9
6
6
FP_7C.DT
FP_7D.DT
FP_8A.DT
FP_8B.DT
FP_8C.DT
FP_8D.DT
FP_9A.DT
FP_9B.DT
FP_9C.DT
FP_9D.DT
FP_10A.DT
FP_10B.DT
FP_10C.DT
FP_10D.DT
FP_11A.DT
FP_11B.DT
FP_11C.DT
FP_11D.DT
FP_12A.DT
FP_12B.DT
FP_12C.DT
FP_12D.DT
FP_13A.DT
FP_13B.DT
FP_13C.DT
FP_13D.DT
6
6
8
8
8
8
8
8
8
8
10
10
10
10
6
6
6
6
10
10
10
10
13
13
13
13
452
TOTAL # of Lines
Figure #55 All DT Files & Total # of Lines
Positions
Total Taught Positions
Total Calculated
Combined Total
102
400
502
FT View Screens
Screen Name
Total
Network Screen
Order Display Screen
Sequencer
Workcell Inputs
Workcell Outputs
Main Screen
Tag Name
Data Type
Type of Object
Auto_Barcode_Display
BOOL
Momentary Pushbutton
Manual_Mode_Screen
BOOL
Momentary Pushbutton
Auto_Mode_Screen
BOOL
Momentary Pushbutton
Human_Entry_Mode_Screen BOOL
Momentary Pushbutton
Monitor_Screen_PB
BOOL
Momentary Pushbutton
Network_Screen_PB
BOOL
Momentary Pushbutton
workcell_INPUTS_pb
BOOL
Momentary Pushbutton
worckcell_OUTPUTS_pb
BOOL
Momentary Pushbutton
Emergency_Stop
BOOL
Momentary Pushbutton
ShutdownButton1
GotoConfigureModeButton1
ShutdownButton1
GotoConfigureModeButton1
44
Data Type
Type of Object
HERO_CARD1_NUM
INT
Multistate Indicator
HERO_CARD1_NUM
INT
HERO_CARD2_NUM
INT
Multistate Indicator
HERO_CARD2_NUM
INT
VILLAIN_CARD1_NUM
INT
Multistate Indicator
VILLAIN_CARD1_NUM
INT
VILLAIN_CARD2_NUM
INT
Multistate Indicator
VILLAIN_CARD2_NUM
INT
HERO_CARD1_SUIT
INT
HERO_CARD2_SUIT
INT
VILLAIN_CARD1_SUIT
INT
VILLAIN_CARD2_SUIT
INT
TABLE_SHAPE
INT
Multistate Indicator
TABLE_SHAPE
INT
TABLE_COLOR
INT
Multistate Indicator
TABLE_COLOR
INT
Human_Entry_Mode
BOOL
Multistate Indicator
Emergency_Stop
BOOL
Momentary Pushbutton
Human_Entry_Mode_Start
BOOL
Momentary Pushbutton
Human_Entry_Mode_Stop
BOOL
Momentary Pushbutton
Auto_Barcode_Display
BOOL
Momentary Pushbutton
Manual_Mode_Screen
BOOL
Momentary Pushbutton
Auto_Mode_Screen
BOOL
Momentary Pushbutton
Main_Screen
BOOL
Momentary Pushbutton
OrderOuput_Animation
BOOL
Polygon(x10)
Order0_Animation
BOOL
Polygon(x10)
Order1_Animation
BOOL
Polygon(x10)
Order2_Animation
BOOL
Polygon(x10)
Order3_Animation
BOOL
Polygon(x10)
Order4_Animation
BOOL
Polygon(x10)
Order5_Animation
BOOL
Polygon(x10)
ORDER_LOAD_PB
BOOL
Momentary Pushbutton
ORDER_UNLOAD_PB
BOOL
Momentary Pushbutton
45
Data Type
Type of Object
Emergency_Stop
BOOL
Momentary Pushbutton
Stop_PB_PV1000
BOOL
Momentary Pushbutton
Start_PB_PV1000
BOOL
Momentary Pushbutton
Man_Mode_ON
BOOL
Multistate Indicator
Trans_Convr_REV_PB
BOOL
Momentary Pushbutton
Trans_Convr_FWD_PB
BOOL
Momentary Pushbutton
Prestop_PB
BOOL
Maintained Pushbutton
Lift_Locate_PB
BOOL
Momentary Pushbutton
Auto_Barcode_Display
BOOL
Momentary Pushbutton
LTU_Posn_Select
SINT
TRIGGER_BARCODE_PB
BOOL
Momentary Pushbutton
Auto_Barcode_Display
BOOL
Momentary Pushbutton
MANUALTRIGGER
BOOL
Momentary Pushbutton
Gate_Convr_REV_PB
BOOL
Momentary Pushbutton
Gate_Convr_FWD_PB
BOOL
Momentary Pushbutton
Entrance_FWD_PB
BOOL
Momentary Pushbutton
Entrance_REV_PB
BOOL
Momentary Pushbutton
Robot_Bypass_LT
BOOL
Multistate Indicator
Robot_Bypass
BOOL
Momentary Pushbutton
Entrance_exit_Speed_Select
SINT
Entrance_Speed_Select
SINT
Main_Screen
BOOL
Momentary Pushbutton
Human_Entry_Mode_Screen
BOOL
Momentary Pushbutton
HZ_DISPLAY1
REAL
Numeric Display
Entrance_Speed_FPM
REAL
Numeric Display
ANALOG_ENTRY_ENABLE
BOOL
Maintained Pushbutton
READ_BIT
BOOL
Momentary Pushbutton
VFD_ANALOG_ENTRY
REAL
VFD_ANALOG_EXITY
REAL
Entrance_Speed_FPM1
REAL
Numeric Display
HZ_DISPLAY
REAL
Numeric Display
46
Lift_Locate_Message
SINT
Multistate Indicator
LTU_Message
SINT
Multistate Indicator
Trans_Convr_Message_PV1000
SINT
Multistate Indicator
Gate_Convr_Message
SINT
Multistate Indicator
Entrance_Convr_Message
SINT
Multistate Indicator
Prestop_Message
SINT
Multistate Indicator
Data Type
Type of Object
Emergency_Stop
BOOL
Momentary Pushbutton
Monitor_Screen_PB
BOOL
Momentary Pushbutton
Manual_Mode_Screen
BOOL
Momentary Pushbutton
Auto_Mode_Screen
BOOL
Momentary Pushbutton
OSTableShape
INT
Ellipse
OSTableShape
INT
Polyline
OSCard1Num
DINT
Multistate Indicator(x2)
OSCard2Num
DINT
Multistate Indicator(x2)
OSCard3Num
DINT
Multistate Indicator(x2)
OSCard4Num
DINT
Multistate Indicator(x2)
OSCard1Suit
DINT
Multistate Indicator(x2)
OSCard1Suit
DINT
Multistate Indicator(x2)
OSCard1Suit
DINT
Multistate Indicator(x2)
OSCard1Suit
DINT
Multistate Indicator(x2)
OSTABLECOLOR
INT
Rounded Rectangle(x4)
OSTABLECOLOR
INT
Multistate Indicator
OSTableShape
INT
Multistate Indicator
47
Monitor Screen
Tag Name
Data Type
Type of Object
Emergency_Stop
BOOL
Momentary Pushbutton
Auto_Barcode_Display
BOOL
Momentary Pushbutton
Main_Screen
BOOL
Momentary Pushbutton
RED_STACK_LIGHT
BOOL
Rounded Rectangle
Yel_Stack_LT
BOOL
Rounded Rectangle
GREEN_STACK_LIGHT
BOOL
Rounded Rectangle
Gate_REV_Starter
BOOL
Polygon
Gate_FWD_Starter
BOOL
Polygon
Prestop_Lower_Solenoid
BOOL
Polygon(x3)
FPROJECT_MMNM:I.Data[2].4
BOOL
Polygon
FPROJECT_MMNM:I.Data[2].3
BOOL
Polygon
FPROJECT_MMNM:I.Data[0].9
BOOL
Polygon
LTU_POSTION_OBJECT
BOOL
Polygon(x2)
LTU_Raise_Solenoid
BOOL
Polygon(x2)
LTU_Lower_Solenoid
BOOL
Polygon(x2)
VFD_Rev_Bit
BOOL
Polygon
Entrance_FWD_Indicator
BOOL
Polygon
FPROJECT_MMNM:I.Data[1].3
BOOL
Polygon
FPROJECT_MMNM:I.Data[1].2
BOOL
Polygon
Trans_Convr_REV
BOOL
Polygon
Trans_Convr_FWD
BOOL
Polygon
FPROJECT_MMNM:O.Data[3].13
BOOL
Polygon
Robot_Status
DINT
Multistate Indicator
Robot_Status1
DINT
Multistate Indicator
Robot_Status3
REAL
Multistate Indicator
Network Screen
Tag Name
Data Type
Type of Object
Emergency_Stop
BOOL
Momentary Pushbutton
ROBOT_IO_MMNM:I.RackStatus.0
BOOL
Line(x8)
Enet
BOOL
Line(x4)
Local:11:I.StatusRegister.DeviceFailure
BOOL
Line(x4)
@CLXPresentScanTime
Numeric Display
@Status
String Display
ROBOT_IO_MMNM:I.RackStatus
DINT
String Display
Main_Screen
BOOL
Momentary Pushbutton
Sequencer Screen
Tag Name
Data Type
Type of Object
Emergency_Stop
BOOL
Momentary Pushbutton
Robot_Bypass
BOOL
Momentary Pushbutton
Robot_Bypass_LT
BOOL
Multistate Indicator
Auto_Mode_Indicator
BOOL
Momentary Pushbutton
Start_SEQ
BOOL
Momentary Pushbutton
Sequencer_Stop_PB
BOOL
Momentary Pushbutton
AUTOON
BOOL
Momentary Pushbutton
AUTOOFF
BOOL
Momentary Pushbutton
AutoEnable
BOOL
Multistate Indicator
Main_Screen
BOOL
Momentary Pushbutton
Manual_Mode_Screen
BOOL
Momentary Pushbutton
Human_Entry_Mode_Screen
BOOL
Momentary Pushbutton
Monitor_Screen_PB
BOOL
Momentary Pushbutton
Auto_Barcode_Display
BOOL
Momentary Pushbutton
Advance_Sequence_PB
BOOL
Momentary Pushbutton
Reset_Sequencer_PB
BOOL
Momentary Pushbutton
49
Indexing_Selection
INT
Sequencer_Control.POS
DINT
Numeric Display
timer_time.pre
DINT
Numeric Display
Timer_Time.ACC
DINT
Numeric Display
Entrance_Speed_Select1
SINT
Entrance_exit_Speed_Select1
SINT
HZ_DISPLAY1
REAL
Numeric Display
Entrance_Speed_FPM
REAL
Numeric Display
ANALOG_ENTRY_ENABLE2
BOOL
Multistate Indicator
AUTO_SPEED_SELECT_REV
SINT
AUTO_SPEED_SELECT_FWD
SINT
READ_BIT
BOOL
Momentary Pushbutton
ANALOG_ENTRY_ENABLE2
BOOL
Maintained Pushbutton
Entrance_Speed_FPM1
REAL
Numeric Display
HZ_DISPLAY
REAL
Numeric Display
GATE_REV_Indicator
BOOL
Multistate Indicator
Gate_FWD_Indicator
BOOL
Multistate Indicator
LL_Lower_Indicator
BOOL
Multistate Indicator
LL_Raise_Indicator
BOOL
Multistate Indicator
Transfer_REV_Indicator
BOOL
Multistate Indicator
Transfer_FWD_Indicator
BOOL
Multistate Indicator
LTU_Lower_Indicator
BOOL
Multistate Indicator
LTU_Raise_Indicator
BOOL
Multistate Indicator
Pre_Stop_Down_Indicator
BOOL
Multistate Indicator
Speed_Select_3_Indicator
BOOL
Multistate Indicator
Speed_Select_2_Indicator
BOOL
Multistate Indicator
Speed_Select_1_Indicator
BOOL
Multistate Indicator
VFD_Rev_Indicator
BOOL
Multistate Indicator
VFD_Stop_Indicator
BOOL
Multistate Indicator
VFD_Start_Indicator
BOOL
Multistate Indicator
50
Data Type
Type of Object
FPROJECT_MMNM:I.Data[0].0
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[0].1
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[0].2
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[0].3
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[0].4
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[0].5
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[0].6
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[0].7
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[0].8
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[0].9
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[0].10
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[0].11
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[0].12
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[0].13
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[1].1
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[1].2
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[1].3
INT
Multistate Indicator
FPROJECT_MMNM:I.Data[1].4
DINT
Multistate Indicator
FPROJECT_MMNM:I.Data[1].5
DINT
Multistate Indicator
FPROJECT_MMNM:I.Data[1].6
DINT
Multistate Indicator
FPROJECT_MMNM:I.Data[1].7
SINT
Multistate Indicator
FPROJECT_MMNM:I.Data[1].8
SINT
Multistate Indicator
FPROJECT_MMNM:I.Data[1].9
REAL
Multistate Indicator
FPROJECT_MMNM:I.Data[1].10
REAL
Multistate Indicator
FPROJECT_MMNM:I.Data[1].11
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[2].2
SINT
Multistate Indicator
FPROJECT_MMNM:I.Data[2].3
SINT
Multistate Indicator
FPROJECT_MMNM:I.Data[2].4
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[2].5
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[2].6
REAL
Multistate Indicator
51
FPROJECT_MMNM:I.Data[2].10
REAL
Multistate Indicator
FPROJECT_MMNM:I.Data[2].15
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[0].14
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[0].15
BOOL
Multistate Indicator
Data Type
Type of Object
FPROJECT_MMNM:O.Data[2].2
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[3].1
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[3].2
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[3].4
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[3].5
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[3].6
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[3].7
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[3].8
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[3].9
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[3].10
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[3].11
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[3].12
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[3].13
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[3].14
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[3].15
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[4].0
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[4].1
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[4].2
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[4].3
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[4].4
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[4].11
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[4].12
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[4].13
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[4].14
BOOL
Multistate Indicator
52
FPROJECT_MMNM:O.Data[4].15
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[5].0
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[5].2
BOOL
Multistate Indicator
FPROJECT_MMNM:O.Data[5].5
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[2].5
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[2].6
REAL
Multistate Indicator
FPROJECT_MMNM:I.Data[2].10
REAL
Multistate Indicator
FPROJECT_MMNM:I.Data[2].15
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[0].14
BOOL
Multistate Indicator
FPROJECT_MMNM:I.Data[0].15
BOOL
Multistate Indicator
53