Sie sind auf Seite 1von 281

Process Simulate Standalone

Intermediate Robotics (CEE)


Student Guide
October 2015
MT45215 – version 12.1

Publication Number
MT45215-S-121
Tecnomatix copyright, proprietary, and
restricted rights notice

Proprietary and restricted rights notice


This software and related documentation are proprietary to Siemens
Product Lifecycle Management Software 2 (IL) Ltd.
© 2015 Siemens Product Lifecycle Management Software Inc.

Trademarks
Siemens and the Siemens logo are registered trademarks of Siemens
AG. Tecnomatix is a trademark or registered trademark of Siemens
Product Lifecycle Management Software Inc. or its subsidiaries in the
United States and in other countries. All other trademarks, registered
trademarks, or service marks belong to their respective holders.
Adobe Reader is a trademark or registered trademark of Adobe Systems
Incorporated.
Apache is a registered mark or trademark of The Apache Software
Foundation or its subsidiaries in the US and other countries.
AutoCAD is a registered mark or trademark of Autodesk, Inc. or its
subsidiaries in the US and other countries.
Firefox is a trademark or registered trademark of Mozilla Foundation.
Intel is a registered trademark of Intel Corporation.
Java is a registered trademark of Oracle and/or its affiliates.
Microstation is a registered mark or trademark of Bentley Systems,
Incorporated or its subsidiaries in the US and other countries.
Oracle is a registered mark or trademark of Oracle Corporation or its
subsidiaries in the US and other countries.
Siemens is a registered mark or trademark of Siemens Corp. or its
subsidiaries in the US and other countries.
TiCon is a registered mark or trademark of MTM or its subsidiaries in
Germany and other countries.

2 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121


Windows, Microsoft, Internet Explorer and Microsoft Office are
trademarks or registered trademarks of Microsoft Corporation.

MT45215-S-121 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 3


Contents

Tecnomatix copyright, proprietary, and restricted rights notice . . 2

Intermediate robotics (CEE) course overview . . . . . . . . . . . . . . . . . 13

TR45215 prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
TR45215 audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Learning tracks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Introduction to event-based simulation . . . . . . . . . . . . . . . . . . . . . . 1-1

Training introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2


Do I do this? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Introduction to the training manual structure . . . . . . . . . . . . . . . . . . 1-2
Introduction to event-based robotics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
Overview of robot signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
The signal exchange via PLC/CEE . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
Teach pendant OLP command basics . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
Basic OLP commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7
Simulation Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10
Overview of triggering events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10
Simulation Panel basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10
Simulation Panel usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13
Introduction to signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14
Signal basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14
Naming rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14
Practical applications of signals . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15
Signal Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16
Signals Viewer basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16
Signals Viewer usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-17
CEE operational transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18
Overview of transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18
Transition basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19
Transitions usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20
Process Simulate sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-21
Sensor basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-21
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-21
Viewing logic blocks and smart components . . . . . . . . . . . . . . . . . . . . . 1-22

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 5


Contents

Logic block and smart component basics . . . . . . . . . . . . . . . . . . . . . 1-22


Logic block and smart component usage . . . . . . . . . . . . . . . . . . . . . 1-22
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-22
Modules Viewer (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23
Module basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24

Device operations and transitions . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1

Working in event-based studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2


Event-based basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Device operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
Device operation basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
Simulation Panel review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
Joint value sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9
Joint value sensor basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
Automatically creating device operations and sensors . . . . . . . . . . . . . . 2-12
Signal generation basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16
Alternative and simultaneous operations . . . . . . . . . . . . . . . . . . . . . . . 2-17
Alternative and Simultaneous Basics . . . . . . . . . . . . . . . . . . . . . . . 2-17
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19
Quick tips to debug an event-based simulation . . . . . . . . . . . . . . . . . . . 2-20
Quick tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22

Part appearances and material flow . . . . . . . . . . . . . . . . . . . . . . . . . 3-1

More on working with studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2


Event-based study basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Studies and more . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Working with part appearances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Appearances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Part appearance and material flow basics . . . . . . . . . . . . . . . . . . . . . . . . 3-5
Flow operations and event-based simulation . . . . . . . . . . . . . . . . . . . 3-5
The Sequence Editor’s effect on line simulations . . . . . . . . . . . . . . . . 3-5
The Material Flow Viewer’s Effect on Line Simulations . . . . . . . . . . . 3-6
The Material Flow toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
Events in event-based (CEE) simulation . . . . . . . . . . . . . . . . . . . . . . 3-8
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
Quick tips to part appearance and material flow problems . . . . . . . . . . . 3-9
Quick tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10

6 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121


Contents

Sensors and conveyors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1

Sensor introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2


Sensor basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Sensor types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Photoelectric sensors (light sensors) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
Light sensor basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6
Proximity sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8
Proximity sensor basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10
Conceptual conveyors and skids overview . . . . . . . . . . . . . . . . . . . . . . . 4-11
Conveyor and skid overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11
Conveyor and skid introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12
Conceptual conveyor basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12
Conceptual conveyor usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14
Basic definition of conveyor behavior . . . . . . . . . . . . . . . . . . . . . . . . 4-16
Editing conceptual conveyors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17
Define a resource as a conceptual skid . . . . . . . . . . . . . . . . . . . . . . . 4-18
Conceptual skid usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19
Working with a conveyor and conveyable parts . . . . . . . . . . . . . . . . . . . 4-20
Define a conveyable part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21
Property projectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22
Property projectors basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22
Property list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23
Property projector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24
Property sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25
Creating and editing property sensors . . . . . . . . . . . . . . . . . . . . . . . 4-25
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-26
Quick tips to debug a conveyor or sensor simulation . . . . . . . . . . . . . . . 4-27
Quick tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29

Logic blocks and smart components . . . . . . . . . . . . . . . . . . . . . . . . . 5-1

Logic block basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3


Modules versus logic blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
Introduction to logic blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
General logic block definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
Creating a logic resource (logic block) . . . . . . . . . . . . . . . . . . . . . . . . 5-5
Logic block value expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6
Safety mat example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8
Safety mat basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 7


Contents

Logic block algebraic behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9


Logic basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9
Algebraic modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9
Parameters and constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
Signal monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11
Rising edge and falling edge functions . . . . . . . . . . . . . . . . . . . . . . . . . 5-12
Basic logic block functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13
More logic block functions (press example) . . . . . . . . . . . . . . . . . . . . . . 5-14
More functions details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14
Additional logic block functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15
Best practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16
CNC controller logic block example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17
Mixed boolean and algebraic expressions . . . . . . . . . . . . . . . . . . . . . 5-17
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17
Smart components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18
Smart components overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18
Smart component commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19
Smart component usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19
Automatically creating actions and sensors from poses . . . . . . . . . . 5-20
Copy LB logic basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20
Light stack example (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21
Custom conveyor example (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22
Conveyor basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23
Advanced skid conveyors (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24
Quick tips for logic block simulations . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25
Quick tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-27

Putting it all together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1


Beginning of the putting it all together . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
Background information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
Creating line simulation studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
Automatic smart component creation . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
Creating and using modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5
Module basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5
Working with modules in the Module Viewer . . . . . . . . . . . . . . . . . . . 6-6
Importing and exporting modules . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9

8 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121


Contents

Create proximity sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10


Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10
Working with part appearances (again) . . . . . . . . . . . . . . . . . . . . . . . . . 6-11
Seeing part appearances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11
Manual part generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11
Internal rules for automatic part generation . . . . . . . . . . . . . . . . . . 6-12
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12
New non-sim operations for logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13
Non-sim operation usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14

Robotic event-based simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1


Introduction to event-based robotics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
Overview of robot signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
The signal exchange via PLC/CEE . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
Teach pendant OLP command basics . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
Basic OLP commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5
Setup a basic robotic zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8
Signals for a basic interference zone . . . . . . . . . . . . . . . . . . . . . . . . . 7-8
Logic block for a basic interference zone . . . . . . . . . . . . . . . . . . . . . . 7-8
Synchronization OLP commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10
Basic robot macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11
Basics of robot macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-14
Default signals and robot programs . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-15
Robot programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-15
Robotics: Inter location handling . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-17
Pose signals on robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-18
Creating a program from several paths . . . . . . . . . . . . . . . . . . . . . . 7-18
Handshaking mechanism for program execution . . . . . . . . . . . . . . . 7-19
Other signal functions (not covered in this course) . . . . . . . . . . . . . . 7-20
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-21
Calling paths from main programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-22
Part Handling OLP Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-22
Program Flow OLP Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-22
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-23
Using robot program conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-24
Entering free text OLP commands . . . . . . . . . . . . . . . . . . . . . . . . . 7-24
OLP command conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-24
Ignoring logic in OLP commands . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-27
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-28
Signal graphs in the Robot Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-29
Signal graph basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-29
Robot Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-29

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 9


Contents

Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-30
Creating various Excel reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-31
Basic Excel reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-31
Basic Excel report usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-31
Cycle time reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-32
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-34
Quick tips for robot signals and macros . . . . . . . . . . . . . . . . . . . . . . . . . 7-35
Quick tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-35
Viewing object attributes in the Object Tree . . . . . . . . . . . . . . . . . . 7-35
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-37

Putting it all together continued . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1

Fixture and robot 1 putting it all together . . . . . . . . . . . . . . . . . . . . . . . . 8-2


Overview of the station sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3
Robot 2 and conveyor putting it all together . . . . . . . . . . . . . . . . . . . . . . 8-4
Continued overview of station sequence . . . . . . . . . . . . . . . . . . . . . . 8-4
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6

Additional lessons on smart components, conveyors, and more


(optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1

Operator gate control example (optional) . . . . . . . . . . . . . . . . . . . . . . . A-3


Gate control basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3
Robot controller example (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4
Robot controller basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6
Tip dresser example (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-7
Tip dresser basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-7
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-7
Connection mapping (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-8
Additional details on automatically connecting signals to logic
blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-8
Connect Devices to LB basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-8
Connect Devices to LB usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9
Part scheduler example (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-10
Part scheduler basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-10
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-12
Operation run bar example (optional) . . . . . . . . . . . . . . . . . . . . . . . . . A-13
Operation run bar basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-13
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-14
Dump unit example (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-15
Dump unit basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-15
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-16
Robot interference zone example (optional) . . . . . . . . . . . . . . . . . . . . . A-17

10 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121


Contents

Interference zone basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-17


Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-17
Other ways to create and edit logic blocks (optional) . . . . . . . . . . . . . . A-18
Creating and editing logic block basics . . . . . . . . . . . . . . . . . . . . . A-18
Logic block usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-18
Other selected smart component topics (optional) . . . . . . . . . . . . . . . . A-20
Smart component target speed device (frequency converters) . . . . . A-20
Joint velocity controlled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-21
Joint acceleration controlled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-22
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-23
Weld controller example (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . A-24
Weld controller basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-24
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-25
PLC example (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-26
PLC basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-26
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-28
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-29

More event-based examples (optional) . . . . . . . . . . . . . . . . . . . . . . B-1

Sending signals between multiple objects (CNC / robot example) . . . . . . B-2


Robot signal basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2
Creating a new input signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-3
Robot signal connection and synchronization . . . . . . . . . . . . . . . . . . . . B-4
Connection and Synchronization Charts . . . . . . . . . . . . . . . . . . . . . B-4
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-5
Pick and place operations and macros . . . . . . . . . . . . . . . . . . . . . . . . . . B-6
Pick and place basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-6
The signal exchange between a robot and a device controller . . . . . . B-6
Notes on grip and release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-7
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-8
Grip and release robot macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-9
More robot macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-9
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-10
Merge stations into a line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-11
Basic use case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-11
Merge studies details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-11

Virtual commissioning / connecting to a PLC (optional) . . . . . . . C-1

Virtual commissioning basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-2


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-2
Virtual commissioning benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-3
Evaluating system behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-3
Programming languages used for PLCs . . . . . . . . . . . . . . . . . . . . . . C-4
Virtual commissioning using OPC . . . . . . . . . . . . . . . . . . . . . . . . . . C-5

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 11


Contents

Simulating in Process Simulate using OPC mode . . . . . . . . . . . . . . . . . C-8


The stages of cell design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-8
Connecting to a PLC using OPC . . . . . . . . . . . . . . . . . . . . . . . . . . . C-8
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-9
More on Process Simulate PLC simulation . . . . . . . . . . . . . . . . . . . . . C-10
Process Simulate as an OPC client . . . . . . . . . . . . . . . . . . . . . . . . C-10
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-10
PLC to Process Simulate mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . C-12
Introduction to signal mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . C-12
Tools to help follow a standard for naming signals . . . . . . . . . . . . . C-12
Following a standard for naming signals . . . . . . . . . . . . . . . . . . . . C-14
OPC to Process Simulate Excel mapping tool . . . . . . . . . . . . . . . . . C-15
Using the OPC to Process Simulate Excel mapping tool . . . . . . . . . C-18
Signal mapping warnings and errors . . . . . . . . . . . . . . . . . . . . . . . C-19
Rename signals using resource names . . . . . . . . . . . . . . . . . . . . . . C-20
Renaming signals by resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-20
The direct Step 7 mapping tool . . . . . . . . . . . . . . . . . . . . . . . . . . . C-20
Using the direct Step 7 mapping tool . . . . . . . . . . . . . . . . . . . . . . . C-21
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-23
Non-sim and flow operations and modules with OPC . . . . . . . . . . . . . . C-24
The problem and additional conditions . . . . . . . . . . . . . . . . . . . . . C-24
Commands to create start signals . . . . . . . . . . . . . . . . . . . . . . . . . C-25
Viewing and create start signals . . . . . . . . . . . . . . . . . . . . . . . . . . C-26
Using a logic block to trigger “virtual” operations . . . . . . . . . . . . . C-27
Using a trigger logic block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-28
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-28
Virtual commissioning - Putting it all together . . . . . . . . . . . . . . . . . . C-29
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-29
The CEE material flow and evaluation algorithm . . . . . . . . . . . . . C-30
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-36

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index-1

12 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121


Intermediate robotics (CEE) course
overview

Course description
In the Process Simulate Intermediate Robotics (CEE) course, basic features of
robotic event-based simulation are explored using the Cyclic Event Evaluator
(CEE). The CEE, which functions like a PLC, is used to control how a typical
robotics simulation progresses using logic.

Course objectives
Learn about:
• Project preparation

• Concept of event-based simulation

• Device operations basics

• Common and differential transitions

• Part appearances and material flow

• Sensors

• Logic blocks and smart components

• Process logic management (modules)

• Defining and simulating conveyors

• Event-based robotic signals

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 13


Intermediate robotics (CEE) course overview

• And More

14 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121


Intermediate robotics (CEE) course overview

TR45215 prerequisites
In this course, you expand what was learned in the TR45115 course (5 days
of training). (This Student guide assumes that you have already taken this
prerequisite course).
• TR45115 Process Simulate Standalone Basic Robotic Simulation

• Knowledge of controls and robotics helpful.

TR45215 audience
Individuals who would like to become knowledgeable in creating event-based
simulations using the Cyclic Event Evaluator (CEE). This course is also a
prerequisite to the TR42315 Process Simulate Standalone Advanced Robotics
course.

Learning tracks
Learning tracks for the Tecnomatix application are
found on the Siemens PLM Software training website:
training.industrysoftware.automation.siemens.com/index.cfm

Related Courses
• TR45101 – Process Simulate Standalone Part Flow Simulation

• TR45106 – Process Simulate Standalone Human Simulation

• TR45115 – Process Simulate Standalone Basic Robotic Simulation

• TR45215 – Process Simulate Standalone Intermediate Robotics

• TR45315 – Process Simulate Standalone Advanced Robotics

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 15


Lesson

1 Introduction to event-based
simulation

Purpose
To introduce event-based simulation (using the Process Simulate Cyclic
Event Evaluator).

Objectives
After you complete this chapter, you should be familiar with:
• The typographical conventions used in this student guide.

• The underlying concepts of the Cyclic Event Evaluator.

• How to use the Simulation Panel.

• Basic information about the signals used in Process Simulate.

• How to use the Signal Viewer.

• What transitions are and how they are used.

• How to view sensors.

• How to view the contents of a logic block or smart component.

• The basics on the Modules Viewer.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 1-1


Introduction to event-based simulation

Training introduction

Purpose

In this topic, you learn about the basic training manual structure.

Objectives

After you complete this topic, you should be able to:

• Know the basic training manual structure

Do I do this?

Here is an overview of the how to create a simulation in Process simulate


using logic. All of these topics are covered in this training.

Introduction to the training manual structure

The training manual is designed for a classroom containing one to nine


students and an instructor.

1-2 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Introduction to event-based simulation

The course starts out using simple, basic data. Later, there are three
data that can be used: Automotive, Airplane, or Structural. In cases
where there is a data choice, the activity includes the name of the choice:
Activity Name Prefix Description
Refers to an automotive assembly
Automotive
process
Refers to an airplane maintenance
Airplane
process
Refers to a large structure
Structure (skyscraper or ship) general
assembly process

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 1-3


Introduction to event-based simulation

Introduction to event-based robotics


Purpose
In this topic, you get an overview of robotic signals.

Objectives
After you complete this topic, you should be able to:
• Find and identify robot signals.

Overview of robot signals


The normal architecture of a control (PLC) program separates the treatment
of working devices (clamps, tools, etc.) and robots. They are treated with
different specific Function Blocks (FB), which are based on the different
nature of these resources.
The unique event-based simulation solution of Process Simulate allows
testing and validating not only the motion part of the robot paths but also
the synchronization of robots as part of the production resources within a
station, zone, or line.
The benefit of this solution enable you to increase the quality of the output
robot programs and saves valuable time on the shop floor previously used to
do these tasks without simulation (by trial-and error on the real robots).
The logic evaluation engine of Process Simulate serves to receive, handle,
and feed signals back to the robot and by thus replacing the previously used
PLC program.

The signal exchange via PLC/CEE


Robots may communicate with other robots through the PLC/CEE in order to
allow additional signal handling (like information passed to the line control

1-4 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Introduction to event-based simulation

or the entry into restricted zones). Robot may also be waiting for signals sent
by devices, which are not controlled directly by the robot. (The robot normally
directly controls guns; clamps are more likely to be controlled by the PLC).
Process Simulate offers this functionality, which is available by selecting the
robot (in the Graphic Viewer or in the Resources folder of the Object Tree)
and then choosing Robotics→Robot Signals .
The following diagram illustrates the basic relationship between robot (OLP)
signals and PLC signals:

Selecting the Robot Signals command opens the Robot Signals dialog box
for the selected robot. This dialog box maps the signal on the robot with the
signal on the PLC. The I/O shown here from the perspective of the PLC. For
example: robots receive (wait for) PLC output signals and send PLC input
signals.

The Robot Signals toolbar has many abilities:

• New Input Signal - creates a new PLC input signal (and robot output
signal)

• New Output Signal - creates a new PLC output signal (and robot
input signal).

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 1-5


Introduction to event-based simulation

• Create Default Signals - Inserts 4 standard output signals


and 5 standard input signals that are commonly used (for example
startProgram, emergencyStop, etc.)

• Delete Signal - deletes the selected signal

• Import Signals - Replaces the current signals with those imported


from a Microsoft Excel spreadsheet.

• Export Signals - Exports all signals to a Microsoft Excel spreadsheet.


You learn more about these abilities in this topic and the next topic.

Teach pendant OLP command basics


Robot signals are used by OLP commands which can be placed on paths,
locations, and macros.
To edit the OLP commands of a location or path, first view the it in either the
Teach Pendant or the Path Editor.
One way to view the OLP commands of a location is the select it and
choose Robotics→Teach Pendant .
Another way is to view the path in the Path Editor, then double-click
the OLP Commands box of the desired location.

Techniques to edit OLP commands


These options are available in the OLP Commands section:
• To edit a command in the OLP Commands section, double-click it.

• To move the selected commands up/down in the list: Press the [up] or
[down] arrow keys or click Move Selected commands Up or Move
Selected commands Down .

• To remove the select command, press the [Delete] key or right-click it


and choose Delete .

• To cut the select command, press [Ctrl]-[X] or right-click it and choose


Cut .

1-6 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Introduction to event-based simulation

• To copy the select command, press [Ctrl]-[C] or right-click it and choose


Copy .

• To paste a command, press [Ctrl]-[P] or right-click it and choose Paste .


If you do not select a line before pasting, the commands are added to
the end of the list in the OLP Commands section.

Other supported copy/paste options:


o Copying and pasting strings or groups of commands.

o Pasting from another location, or application.

o Copying from another box, location, or another application.

Basic OLP commands


On the Teach Pendant after clicking Add, the Standard Commands menu is
available. These commands are available during simulation, but either do not
download or download as comments.
The Standard Commands Menu:
Standard commands not mentioned here are described later in this
course.

• File submenu:
o # OpenFile — Opens a file for editing. The Mode setting enables you
to Append or Overwrite file content. Also, set a Handle to be used
in the next WriteLine and CloseFile commands and a Name for the
path to the file to be opened.

o # CloseFile — Closes an open file. Set the Handle of the file that was
opened with the OpenFile command.

o # WriteLine — Enables you to write a line of text in an open file. Set


the Handle of the file that was opened with the OpenFile command
and write the text in the Expression box. Use double quotes to print
the value of a variable or a signal, for example, type "E1" to write the
value of signal E1.

• Graphics submenu:

o # Blank — Blank an object during simulation.

o # Display — Display an object during simulation.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 1-7


Introduction to event-based simulation

o # TCP Tracker — Enables you to start, pause, resume, or stop the


TCP Tracker for the robot assigned to the current operation during
simulation.

• Paint submenu:

o # OpenPaintGun — Marks the location where painting should start.

o # ClosePaintGun — Marks the location where painting should stop.

o # ChangeBrush — Marks the location where the painting style


should be changed (for example paint fan 1, 2, 3, etc.)

• ToolHanding submenu:
o # Connect — (add an external axis to the robot during simulation)
connect the specified joint from the specified device as an external axis
of the robot. For example, when simulating a grinding robot with a
tool changer with several sized grinding tools.

o # Disconnect — (remove an external axis of the robot during


simulation) disconnect all external axis joints of the specified device
from the robot. For example, when simulating a grinding robot with a
tool changer with several sized grinding tools.

o # DriveDevice — Moves the selected device to the selected target pose.


(Review from the TR42115 course)

o # GunToState — Instructions for moving the gun to its specified pose,


as specified in the Gun State parameter. TR45115 Process Simulate
Standalone Basic Robotic Simulation and TR45215 Process Simulate
Standalone Intermediate Robotics (CEE) courses
In the case of a servo gun, this moves the servo gun to the
position specified by the external axis depart value. If no depart
value is defined, the servo gun moves using the Gun State
parameter.

o # Mount — Mount a new tool on the robot. For example, when


simulating a grinding robot with a tool changer with several sized
grinding tools.

o # UnMount - Unmount the existing tool on the robot. For example,


when simulating a grinding robot with a tool changer with several
sized grinding tools.

1-8 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Introduction to event-based simulation

o # WaitDevice — The robot waits until the selected device reaches the
selected target pose. (Review from the TR42115 course). (Review from
the TR45115 course).

o # Drive Device Joints — Move the selected joint(s) of the selected


kinematic device to the specified joint value(s).

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 1-9


Introduction to event-based simulation

Simulation Panel
Purpose
In this topic, you learn how to use the Simulation Panel.

Objectives
After you complete this topic, you should be able to:
• Get an overview of how an event-based simulation operates.

• Use the Simulation Panel.

Overview of triggering events


There are several ways to make something happen (or trigger) in an
event-based simulation. you review these options with this finished model
before continuing to the part of the training where you learn how to setup
them up ourselves.
Methods for triggering cyclic behavior:
• Signals

• Transitions

• Sensors

• Robotics

• Logic blocks

• Modules

You learn how to setup and use each technique throughout this course.

Simulation Panel basics


The Simulation Panel viewer enables you to view and set signal values
during a simulation. The signal values can be set manually (for example for
key signals), automatically set by the simulation, or forced to a value. The
current list of signals and forced values can be stored to a .SPSS (Simulation
Panel Simulation Settings) file.
Simulation Panel toolbar:
• Add Signal - Adds the signals you selected in the Signal Viewer under
the selected node in the Simulation Panel.

1-10 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Introduction to event-based simulation

• Add LB Elements - Opens the Add LB Elements dialog box, enabling


you to add logic behavior elements (for example, exits, entries, and
parameters) under the selected node in the Simulation Panel.

• Remove Signal - Removes selected signals, logic block elements or


groups from the Simulation Panell. Removing a group removes the group
node and all the elements nested under the node. You can also remove
an item by pressing the Delete key.

• Group - Groups selected signals, logic block elements, or other groups


in the Simulation Panel and nests them under a new group container
node. A new Group is automatically assigned a name, composed of the
word “group” and an index. The group name is set to edit mode, allowing
you to type a different name. The value columns for the group node are
grayed out.

• Ungroup - Ungroups the selected group in the Simulation Panel,


removes the Group node, and adds the group’s direct descendants to
the group’s parent node (another group or the Simulation Panel root).
Ungroup does not change the order or hierarchy of the group’s descendant
nodes.

• Load Signals Settings - Opens the Load Simulation Panel Signals


Setting dialog box and enables you to load a new Simulation Panel Signal
Setting (.SPSS) file into the Simulation Panel.

• Store Signals Settings - Opens the Store Simulation Panel Signals


Setting dialog box and enables you to save the current contents of the
Simulation Panel as an .SPSS file for future use.

• Settings - Opens the Settings dialog box, enabling you to define the
location in which to save .SPSS files.

Simulation Panel Right-click:


This buttons are on the right-click of a signal in the Simulation Panel.

• Force Signals

• Unforce Signals

Simulation Panel columns:


A short overview of the columns of the Simulation Panel are shown here:
• Simulation - Displays the name of the signals included in the simulation.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 1-11


Introduction to event-based simulation

• Inputs - For input signals this column displays the signal value. The
value is updated during simulation.

• Outputs - For output signals this column displays the signal value. The
value is updated during simulation.

• LB — Displays the value of Logic Block Parameters, Entries and Exits for
debugging purposes.

• Forced - If deselected , the signal operates normally. If selected , the


signal always sends the value specified in the Forced Value column.

• Forced Value - The value sent by the signal if the check box in the Forced
column is selected. For binary values, a green square indicates a signal
that is always on (TRUE), while a red square indicates a signal that is
always off (FALSE). If a signal can carry a numeric value, double-click the
box in this column to set the forced value for the signal.

Simulation Panel usage

To open the Simulation Panel viewer:


• Choose View→Viewers→Simulation Panel.

To setup the list of signals in the viewer:


1. In the Signal Viewer, choose the desired signals.

2. In the Simulation Panel, click Add Signal to Viewer .

To force a signal value:


1. In the Simulation Panel, Locate the desired signal, select the Forced
check box.

2. Enter the desired value.

Storing and Loading a Group of Signals in the Simulation Panel:


The contents of the Simulation Panel are not stored when you choose
File→Save (from the main toolbar or the top menu bar). In order to save
them for future use:
1. In the Simulation Panel, click Store Signals Settings dialog box.

2. Enter a name for the SPSS (Simulation Panel Signals Settings) file and
click OK.

1-12 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Introduction to event-based simulation

.SPSS files also save the forced value and status of the signal. It is
very useful to store forced values in order to initiate simulations
with predefined scenarios (Amount of cycles etc.) It is possible to
specify the default folder where .SPSS files are stored and loaded
from.

In order to load a previously stored list of signals:


1. In the future, after reloading the study, return the Simulation Panel, click
Load Signals Settings

2. Choose a SPSS (Simulation Panel Signals Settings) file and click OK.

Activities

In the Simulation Panel section, do the following activities:


• Introduction to the Simulation Panel

• Testing the logic of a robotic workcell in "manual mode"

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 1-13


Introduction to event-based simulation

Introduction to signals
Purpose
In this topic, you learn the basics of signals.

Objectives
After you complete this topic, you should be able to:
• Create, view, and name signals.

Signal basics
Signals are used to define the logic of a simulation.
There are several types of signals that can be created.
• Key Signal – Used for user input (for example a Palm Button).

• Display Signal – Used to monitor something (for example an LED on


an operator panel).

• Resource Input Signal – Used to represent communication to the PLC


(for example a signal that is set from a robot to the PLC)

• Resource Output Signal – Used to represent communication from the


PLC (for example a signal that is set to a robot from the PLC)

Naming rules
These naming rules follow the IEC 61131-3 international standard for
variable (also known as the identifier) naming.

An identifier is a string of letters, digits, and underline characters which


shall begin with a letter or underline character.
An identifier is a string of letters, digits, and underline characters which
shall begin with a letter or underline character.
Underlines shall be significant in identifiers, for example “A_BCD” and
“AB_CD” shall be interpreted as different identifiers. Multiple embedded
underlines are not allowed.
Identifiers shall not contain imbedded space (SP) characters.
At least six characters of uniqueness shall be supported in all systems which
support the use of identifiers, for example, “ABCDE1” shall be interpreted
as different from “ABCDE2” in all such systems.
Identifier features and examples:
• Upper case and numbers

1-14 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Introduction to event-based simulation

o IW215 IW215Z QX75

• Upper and lower case, numbers embedded underlines. All the above plus:
o LIN_SW_5 LimSw5 abcd ab_Cd

• Upper and lower case, numbers leading or embedded underlines. All the
above plus:
o _MAIN _12V7

Practical applications of signals

Signals can be created or renamed in the Signal Viewer.


After a signal is created, its type can be set in the Signal Viewer at any time.
Signals can also function like variables or constants (for example a minimum
or maximum value for a variable). A signal constant is setup by fixing its
value in the Simulation Panel. These fixed values, as well as the contents of
the Simulation Panel, can be loaded or saved to a SPSS file.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 1-15


Introduction to event-based simulation

Signal Viewer
Purpose
In this topic, you learn how to use the Signal Viewer.

Objectives
After you complete this topic, you should be able to:
• Use the Signal Viewer.

• Create a new signal.

Signals Viewer basics


The Signals Viewer Toolbar:

• Create new signal - creates a new signal.

• Delete signal - deletes the selected signals.

• Signal Viewer Filter - allow users to filter the rows by values in the
various columns seen in the table. For example: filter by signal name, by
address, as well as by the signal's connection to operations or resources.

• Reset Signal Viewer Filter - clears the filter so that all signals is shown.

• Export to Excel (discussed later)

• External Mapping Tool (discussed later)

• Signal Mapping Tool (discussed later)

• Cross Reference Query (discussed later)

Signals Viewer usage


To open it:
• Choose View→Viewers→Signal Viewer.

1-16 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Introduction to event-based simulation

By default in the Advanced Simulation window layout, the Signal


Viewer is setup as an on demand dialog box along the bottom of
the Process Simulate window.

To create a signal:

1. From the Signal Viewer, click Create new signal .

2. Choose the desired type, enter the name, and click OK.

Activities

In the Signal Viewer section, do the following activities:


• Create a new signal

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 1-17


Introduction to event-based simulation

CEE operational transitions

Purpose
In this topic, you learn about logical transitions between operations.

Objectives
After you complete this topic, you should be able to:
• View transitions for operations.

Overview of transitions
In a standard time-based simulation, the sequence of operations (SOP)
determines the order the operations is executed. In an event driven
simulation, logic determines the order the operations is executed.
The sequence between the operations is only one element of the complete
logic definition. For example, operation Op1 should start before operation
Op2. This is the sequence.

However, operation Op2 can have more conditions to define the criteria to
start.
The method used to control the start of an operation is the evaluation of its
transition condition (the end criteria for the previous operation).

1-18 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Introduction to event-based simulation

Transition basics

On the Sequence Editor, when working inLine Simulation Mode and


setting the LineOperation as the current operation, the Transition column
enables you to determine the logical conditions (like a Plant Simulation
entrance and exit control) that must be satisfied before the next linked
operation can be executed. There two basic states for a transition:

• The transition has defined conditions

• The transition does not have conditions defined


you discuss branching transitions later in this course.

Each condition is made up of an expression containing one or more signals


and logical operators which evaluates to a TRUE or FALSE value. If the
value of expression is TRUE , the next linked operation is executed. So the
exit control of one operation becomes the start control of the next operation.
• One important thing to remember with event drive simulation is
that the Gantt does not control the order that the operations are
executed. This is controlled by the signals.

• However the links on the Gantt between operations are used to


control how a generated appearance is passed from one operation
to another

By default all compound operations do not have transitions and all operations
do. The default condition contains a special signal named according to the
operation with _end appended to the end of the name. This signal “flickers”
to TRUE when the operation is finished executing.
For compound operations the internal operations are also important.
The resulting conditions are the common conditions for the compound
and the last internal operations conditions.

Another typical signal is named according to a device with _AT appended


to the end of the name. This signal becomes true when a device is at a
specific pose.
Conditions for Entrance and Exit Control:
The exit control for the currently edited operation is entered in the Command
Condition box.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 1-19


Introduction to event-based simulation

The entrance control for the successor operation is entered in the lower
section of the Transition Editor dialog box. Typically you leave this blank,
unless there are multiple successor operations.

Transitions usage
To create a transition:

• On the Sequence Editor, Link two or more operations as discussed


in the TR45115 Process Simulate Standalone Basic Robotic Simulation
course.
You can also link operations by dragging the operation bar in
the Gantt chart section of the first operation straight down, then
dropping the resulting line on the operation bar of the second
operation.

To setup the default exit control for an operation:


1. On the Sequence Editor, locate the desired operation whose exit control
is to be set.

2. Double-click its Transition .

3. Edit the common condition and enter the desired logical conditions.
You can include a maximum of 20 signals and operators, combined,
in each expression.

Later in class you discuss several ways too handle branching logic
(or alternatives).

To remove a transition:
• On the Sequence Editor, Unlink two or more operations as discussed
in the TR45115 Process Simulate Standalone Basic Robotic Simulation
course.

Activities
In the CEE operational transitions section, do the following activities:
• Look at some existing transitions

1-20 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Introduction to event-based simulation

Process Simulate sensors

Purpose

In this topic, you learn how to identify sensors in a study.

Objectives

After you complete this topic, you should be able to:


• Notice some sensors in a finished study.

Sensor basics

Sensors enable you to detect 3D-visualized parts and resources which come
near or enter the sensors detection range (for example collision detection or
near miss detection). They are used for:
• Part detection (is the part at the right place?),

• Interlock detection (stop robot if it moves too near the security area of
another robot or a security fence)

• Etc.

There are several types of sensors that created and used in Process Simulate:

• Create Joint Distance Sensor

• Create Joint Value Sensor

• Create Photoelectric Sensor (also known as light sensors)

• Create Proximity Sensor (also known as distance sensors)

• Create Property Sensors (also known as barcode readers)

Each is described in its own topic.

Activities

In the Process Simulate sensors section, do the following activities:


• Notice some sensors

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 1-21


Introduction to event-based simulation

Viewing logic blocks and smart components

Purpose

In this topic, you learn how to view the contents of logic blocks and smart
components.

Objectives

After you complete this topic, you should be able to:


• Look the content of a logic block.

Logic block and smart component basics

A logic block contains a defined logic behavior derived from one or more
entries, exits, and internal equations.
For example, a logical resource can be used to describe the operation of an
air conditioning system, which activates to change the temperature to a
predefined level according to inputs it receives, such as current readings
from a thermostat. The logic resource contains the logic used to determine
when to activate the air conditioner.
Logic resources can contain entry and exit values, as well as any number of
parameters, and constants. These must all have unique names. You can
create expressions that determine which exit value is triggered and under
which conditions.
The Edit Logic Resource command enables you to change the names of
entries and exits, but not parameters, constants, or actions.

Logic block and smart component usage

To view a logic block’s content:


1. In the Graphic Viewer or Object Tree, choose the logic block.

2. Choose CEE→Logic Block→Edit Logic Resource .

3. View the desired parameters.

Activities

In the Viewing logic blocks and smart components section, do the following
activities:
• Look at the content of a logic block

1-22 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Introduction to event-based simulation

Modules Viewer (optional)


Purpose
In this topic, you learn where to find a module and what it contains.

Objectives
After you complete this topic, you should be able to:
• Look at the content of a module

Module basics
In this topic you create and use modules to clean up how you are setting up
our logic. Modules are created in the Modules Viewer.
The Modules Viewer enables you to create and view the hierarchy of modules
in the study . It contains:
• The Modules Viewer toolbar enables you to manage the contents of the
Modules Viewer.

• The Modules Viewer Inventory area displays all the modules that are
stored in the study . From this area, modules can be dragged and
dropped into the Modules Viewer Hierarchy area, as required.

• The Modules Viewer Hierarchy area displays the configurable hierarchy


of modules for the study . The order of modules in the hierarchy
determines the behavior of the study .

The Modules Viewer enables you to edit and evaluate signal expressions.
It can be considered to act as an “internal PLC”. In Modules Viewer, you
can define a signal as a result of a logical expression comprising a number
of other signals and operators. The expressions are evaluated each time a
scan is performed. You can edit the signals assigned to a selected module by
defining new expressions for signals, or by modifying the expressions defined
for a selected signal.
To open it:
By default it is collapsed against the right side of the Graphic Viewer. If
it is not:
• Choose View→Viewers→Modules Viewer.

Activities
In the Modules Viewer (optional) section, do the following activities:
• Look at the content of a module

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 1-23


Introduction to event-based simulation

Summary
Subjects learned in this topic:
• The typographical conventions used in this student guide.

• An overview of the underlying concepts of the Cyclic Event Evaluator.

• How to use the Simulation Panel.

• Basic information about the signals used in Process Simulate.

• How to use the Signal Viewer.

• What transitions are and how they are used.

• How to view robot signals.

• How to view the contents of a logic block or smart component.

• The basics on the Modules Viewer.

1-24 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Lesson

2 Device operations and transitions

Purpose
To learn about device operations and transitions.

Objectives
After you complete this chapter, you should be familiar with:
• Cover the prerequisites of working in an event-based study.

• How to create device operations.

• How to create joint value sensors.

• How to create joint value sensors and devices operations simultaneously.

• How to set up a signal to control whether the clamps are open or closed.

• How to find problems with your event-based simulation.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 2-1


Device operations and transitions

Working in event-based studies


Purpose
In this topic, you learn how to work in event-based studies.

Objectives
After you complete this topic, you should be able to:
• Know some the prerequisites to loading an event-based study.

Event-based basics

To work in an event-based simulation


• Window Layout
o For the window layout it is suggested to choose Advanced Simulation:
From the toolbar, choose Advanced Simulation from the Layout
manager drown arrow .

• Study Mode

Process Simulate is now in Line Simulation Mode mode.

Viewing product in line simulation mode

• When a study is opened in Line Simulation Mode , the product is not


shown.

• During a simulation a part appearance is auto generated when the part is


“used” or “needed”.

• When the part is no longer “used” or “needed”, the part appearance is


destroyed.

• When the simulation is reset, all part appearances are destroyed.

• When a simulation is not running part appearances can be temporarily


generated manually to help with simulation creation.

Activities
In the Working in event-based studies section, do the following activities:
• Starting out

2-2 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Device operations and transitions

Device operations
Purpose
In this topic, you learn how to create device operations.

Objectives
After you complete this topic, you should be able to:
• Create device operations.

• Create an cyclic event-based simulation.

Device operation basics


Process Simulate enables you to add several types of simulative operations,
including a Device Operation , (generic) Operation , Flow Operation
or Compound Operation . A compound operation can also be referred to
as a sequence of operations. A compound operation can include different
types of operations. The first step in the definition of the operation is to set
the current operation in the Operation Tree viewer. This serves as a kind of
operations repository. Then the operation is created. Finally, the operations
are linked in the Sequence Editor.
Any operation created by the system, except those mentioned later on
(for example Device operation and signal creation), automatically create
an operation_end signal. This signal is used as default condition in the
transition between one operation and the successor operation. Upon the
end of the operation it is set to TRUE for one computation cycle and then
reset to FALSE .

The behavior of this signal is as shown here in the illustration:

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 2-3


Device operations and transitions

Selecting New Device Operation enables you to manually create a


simulative operation, which moves a component with kinematics from one
pose to another (for example a tool with clamps that open).
In an Event-based simulation, Process Simulate needs to be able to
“catch” the TRUE /FALSE pulse to be able to continue to the next
cycle.

To create a new device operation:


1. Select the device in the Graphic Viewer or the Object Tree, hold down the
[Ctrl] key, and select the parent operation to this new device operation
from the Operation Tree.

2. Choose Operations→New Device Operation .


The New Device Operation dialog box is shown.

3. In the Name box, enter a name for the operation. By default all new
device operations are named Op#.

4. From the From pose list of values list, choose the start pose for the device.
All devices have a HOME pose. This is the default start pose for a
device operation. As a best practice, it suggested to set the From
pose to (current pose).

5. From the To pose list of values list, choose the final pose for the device.

6. To specify further details for the device operation, click Expand . The
New Device Operation dialog box is expanded, as shown below:

2-4 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Device operations and transitions

7. In the Description box, enter a description for the operation.


You are not required to enter a description. However, if a description
is entered into the Description box, it appears in the Edit Operation
dialog box when an operation is edited. It also appears as the text
headlines in an .AVI movie file when using the Text Overlay tool.

8. In the Duration box, modify the duration time for the operation by using
the up and down arrows or by typing in the required time.
If the time specified is less than the minimum time required for
the movement (specified when defining kinematics), the time is
adjusted automatically to the minimum time required when the
operation is run. By default, the duration time is five seconds. If
required, you can change the unit of measurement in the Units tab
in the Options dialog box.

9. Click OK. A new device operation is created and displayed in the


Operation Tree viewer. The new operation is automatically set as the
current operation and is therefore displayed in the Sequence Editor.
When a pose is edited, the device operation using that pose is
updated automatically.

To insert a new operation into an existing SOP


• Choose an operation from the existing operations which are included
under the current operation and drag it in the tree part of the Sequence

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 2-5


Device operations and transitions

Editor. Automatically a bar representing the default duration (or


predefined duration) appears in the Sequence Editor.
The Operation Properties option enables you to modify the
parameters of a selected operation. The parameters of an operation
vary according to the type of operation. To edit a compound
operation, the required compound operation must first be set as the
current operation.

To edit an operation:
1. Choose an existing device operation from the Operation Tree.

2. Right-click it and choose Operation Properties .

Simulation Panel review


The Simulation Panel viewer enables you to view and set signal values
during a simulation. The signal values can be set manually (for example for
key signals), automatically set by the simulation, or forced to a value. The
current list of signals and forced values can be stored to a .SPSS (Simulation
Panel Simulation Settings) file.
Simulation Panel Toolbar:
• Add Signal - Adds the signals you selected in the Signal Viewer under
the selected node in the Simulation Panel.

• Add LB Elements - Opens the Add LB Elements dialog box, enabling


you to add logic behavior elements (for example, exits, entries, and
parameters) under the selected node in the Simulation Panel.

• Remove Signal - Removes selected Signals, LB elements or groups


from the Simulation Panell. Removing a group removes the group node
and all the elements nested under the node. You can also remove an item
by pressing the Delete key.

• Group - Groups selected Signals, LB elements, or other groups in the


Simulation Panel and nests them under a new Group container node.
A new Group is automatically assigned a name, composed of the word
“group” and an index. The group name is set to edit mode, allowing you to
type a different name. The value columns for the group node are grayed
out.

• Ungroup - Ungroups the selected group in the Simulation Panel,


removes the Group node, and adds the group’s direct descendants to
the group’s parent node (another group or the Simulation Panel root).

2-6 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Device operations and transitions

Ungroup does not change the order or hierarchy of the group’s descendant
nodes.

• Load Signals Settings - Opens the Load Simulation Panel Signal


Setting dialog box and enables you to load a new Simulation Panel Signal
Setting (.SPSS) file into the Simulation Panel.

• Store Signals Settings - Opens the Store Simulation Panel Signals


Setting dialog box and enables you to save the current contents of the
Simulation Panel as an .SPSS file for future use.

• Settings - Opens the Settings dialog box, enabling you to define the
location in which to save .SPSS files.

Simulation Panel Right-click:


This buttons are on the right-click of a signal in the Simulation Panel.
• Force Signals

• Unforce Signals

Simulation Panel Columns:


A short overview of the columns of the Simulation Panel are shown here:
• Simulation — Displays the name of the signals included in the simulation.

• Inputs — For input signals this column displays the signal value. The
value is updated during simulation.

• Outputs — For output signals this column displays the signal value. The
value is updated during simulation.

• LB — Displays the value of Logic Block Parameters, Entries and Exits for
debugging purposes.

• Forced - If deselected , the signal operates normally. If selected , the


signal always sends the value specified in the Forced Value column.

• Forced Value — The value sent by the signal if the check box in the
Forced column is checked. For binary values, a green square indicates
a signal that is always on (TRUE), while a red square indicates a
signal that is always off (FALSE). If a signal can carry a numeric value,
double-click the box in this column to set the forced value for the signal.

Activities
In the Device operations section, do the following activities:

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 2-7


Device operations and transitions

• Creating device operations

• Creating a cyclic event-based simulation

2-8 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Device operations and transitions

Joint value sensor

Purpose

In this topic, you learn how to create a joint value sensor.

Objectives

After you complete this topic, you should be able to:

• Create joint value sensors.

Joint value sensor basics


A cylindicator sensor is like a Process Simulate proximity sensor. You
discuss proximity sensors later.

The Create Joint Value Sensor command can be found in several locations.

• On the CEE→Sensors menu

• By right-clicking a non-robotic kinematic device on the Object Tree.

It enables you to configure a sensor for a device or robot. Creating a joint


value sensor automatically creates a signal for the sensor. The signal's name
is the same as the sensor's name.
Configuration options in the New Joint Value Sensor dialog box enable you to
link the sensor's detection range to one of the following:

• A single joint's position value. When the position of the joint reaches a set
value within the sensor's detection range, the sensor's signal is activated.

• A specific pose. When all joints reach pose values within the sensor's
detection range, the sensor's signal is activated.

The default name for a device sensor is: NameOfDevice_at_


The default name for a robot sensor is: NameOfRobot_at_
To define a sensor for a device or robot:

1. In the Object Tree, right-click the device for which you wish to define
the sensor.

2. Choose Sensors→Create Joint Value Sensor . The Create Joint Value


Sensor dialog box is displayed:

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 2-9


Device operations and transitions

3. In the Name box, enter a name for the sensor.

4. (This step is required for robots and optional for devices.) Choose a pose
from the list of device-specific poses displayed in the Pose list of values.
The range of motion of the selected pose serves as a base value when
defining the sensor's active range.

5. (For devices only.) Choose a joint from the list of device-specific joints
displayed in the Joint list of values. The system checks the value of the
selected joint against the sensor's active range.

6. (For devices other than robots.) Define the sensor's active range by
Selecting the appropriate Type option.
If the device is a robot, the Type options are disabled.

Types of Joint Value Sensors:

• Pulse - The sensor emits a signal when the joint value is identical to
the sensor value. The bit is set high the instant the conditions are true
(for example on the rising edge) and then reset afterward. However, if
the target device is not listening for the signal at that instant, it may be
missing. Therefore, it is the least common type.

2-10 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Device operations and transitions

• Range (like having a tolerance) - The sensor emits a signal if the joint
value is between the From and To values configured for the sensor. The
bit is set high for a longer time period (and then reset), so that it won’t get
missed. This is the most common type.

• Step From (rising edge) - The sensor emits a signal if the joint value
is the same as or higher than the From value configured for the sensor.
The bit is set high the instant the conditions are true and not reset (for
example catch the rising edge and not turn off)

• Step To (trailing edge) - The sensor emits a signal if the joint value is
the same as or lower than the To value configured for the sensor. The bit
is set high after the conditions are true (for example catch the trailing
edge)

1. In the From and To list of values lists, enter the required values for the
sensor's active range, as appropriate.

• If a Pulse sensor is selected, enter the required value in the From


box.

• If a Range sensor is selected, enter the required values in the


From and To boxes.

• If a Step From sensor is selected, enter the required value in the


From box.

• If a Step To sensor is selected, enter the required value in the


To box.

2. Click OK. The Create Joint Value Sensor dialog box closes and the sensor
appears in the Object Tree.

Signal and Sensor storage:


• When a sensor is created, a related signal is automatically created.

• When updating the database, the signal definition is stored in a PLC


program object related to the study and the sensor is stored in the study.

Activities
In the Joint value sensor section, do the following activities:
• Creating joint value sensors

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 2-11


Device operations and transitions

Automatically creating device operations and sensors


Purpose
In this topic, you learn how to automatically create device operations and
sensors.

Objectives
After you complete this topic, you should be able to:
• Create signals, sensors, and devices operations simultaneously.

Signal generation basics

The Create Device Operations/Signals command is found in this location:


• On the CEE→Signal Generation menu

• From the Signal Handling toolbar

It is enabled when you choose at least one non-robot kinematic device, but it is
disabled if a robot is selected. The command performs the following functions:
• Creates MoveToPose signals. MoveToPose signals appear in the Signal
Viewer using the following naming convention:

• DeviceName_to_NameOfPose

• Creates pose sensors for selected poses. The pose sensors appear in the
Object Tree as a child of the device, using the following naming convention:

• DeviceName_to_NameOfPose

• Creating the pose sensor automatically creates an AT signal for the


device-sensor combination. The AT signal appears in the Signal Viewer,
using the following naming convention:

• DeviceName_at_NameOfPose

2-12 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Device operations and transitions

The system ensures that the name is unique by appending a number


to the default name if necessary.

• Creates device operations for moving the device between pairs of poses.
o For each pair of selected poses (PoseA and PoseB), the Create Device
Operations/Signals command creates two operations. One operation
moves the device from PoseA to PoseB and the other moves the
device from PoseB to PoseA. The device operations appear in the
Operation Tree viewer in the Operations/LineOperation path, in the
GeneratedOps compound operation, using the following naming
convention:

o DeviceName_from_NameOfPoseA DeviceName_to_NameOfPoseB
If the GeneratedOps compound operation does not exist,
running the Create Device Operations/Signals command
creates it.

Creating the device operations automatically creates an End signal for each
device operation. The End signal appears in the Signal Viewer, using the
following naming convention:
• DeviceName_from_NameOfPoseA DeviceName_to_NameOfPoseB

The Create Device Operations/Signals command operates in one of


two modes.
• Single device selection mode: When you choose one device and choose
the Create Device Operations/Signals command, the Create Device
Operations/Signals dialog box appears, displaying options to configure
before executing the command.

o The Create Device Operations/Signals dialog box displays all of the


poses defined for the selected device. By Selecting a set of poses, you
can configure the Create Device Operations/Signals command to
create new operations that move the device between the selected poses.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 2-13


Device operations and transitions

o The Create Device Operations/Signals dialog box includes a Jump to


selected Pose button, enabling you to move the device to a desired
pose.

o Using the options in the Create for marked poses section, you can
configure the Create Device Operations/Signals command to do
one of the following:

o Create only MoveToPose signals and pose sensors.

o Create MoveToPose signals, pose sensors, and device operations for


moving the device between the selected poses.

• Multi-selection mode: When you choose more than one device, the Create
Device Operations/Signals command operates in multi-selection
mode.

The Create Device Operations/Signals command does not


display a dialog box.

The Create Device Operations/Signals command processes all


selected devices that meet one of the above criteria. If one or more
of the selected devices do not meet the criteria, a warning message
appears, indicating which devices were not processed.

• The multi-selection mode operates only on devices that fulfill one of the
following criteria:
o The device has two poses and neither pose is HOME.

o The device has three poses and one of them is HOME.

• When operating in multi-selection mode, the Create Device


Operations/Signals command performs the following functions for
each valid device:
o Creates a MoveToPose signal for each pose defined for the device.

o Creates a pose sensor for each pose of the device.

o Creates device movement operations, depending on the number of


defined poses.

o For devices that have two defined poses, the Create Device
Operations/Signals command creates two operations. One
operation moves the device from Pose A to Pose B and the other moves
the device from Pose B to Pose A.

2-14 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Device operations and transitions

o For devices that have three defined poses, one of which is Home, the
command does not create operations for the Home pose, but it does
create two device operations for the other two poses. One operation
moves the device from Pose A to Pose B and the other moves the
device from Pose B to Pose A.

To create device operations and signals for one device:


1. Choose one device in any viewer.

2. Choose CEE→Signal Generation→Create Device Operations/Signals .


The Create Device Operations/Signals dialog box appears. The Device
Poses section contains all of the poses of the device.

You can move the device to a specific pose by Selecting the pose and
clicking Jump to selected Pose. Double-clicking a pose performs
the same action.

3. Select the check boxes of all of the desired poses.

4. In the Create for marked poses section, choose one of the following:
• Signals and Operations: Creates MoveToPose signals, pose sensors,
and device operations for each of the poses configured in the Device
Poses section.

• Only Signals: Creates MoveToPose signals and pose sensors for each
of the poses configured in the Device Poses section.

5. Click OK.
• Process Simulate creates the following:

• MoveToPose signals. The signals appear in the Signal Viewer.

• Pose sensors. The pose sensors appear in the Object Tree as a child
of the device. Creating the pose sensors automatically creates an AT

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 2-15


Device operations and transitions

signal for the device-pose combination. The AT signal appears in the


Signal Viewer.

• Device operations (if Signals and Operations is selected in the Create


Device Operations/Signals dialog box). The operations appear in
the Operation Tree in the Operations/LineOperation path, in the
GeneratedOps compound operation. Creating the device operations
automatically creates an End signal for each device operation. The
End signal appears in the Signal Viewer.

To create device operations and signals for more than one device:
1. Select the desired devices in any viewer.

2. Choose CEE→Signal Generation→Create Device Operations/Signals .


• For each selected device, Process Simulate creates the following:

• MoveToPose signals. The signals appear in the Signal Viewer.

• Pose sensors. The pose sensors appear in the Object Tree as a child of
the device.

• Creating the pose sensors automatically creates an AT signal for the


device-pose combination. The AT signal appears in the Signal Viewer.

• Device operations. The operations appear in the Operation Tree, in the


GeneratedOps compound operation.

• Creating the device operations automatically creates an End signal for


each device operation. The End signal appears in the Signal Viewer.

Activities

In the Automatically creating device operations and sensors section, do the


following activities:
• Generating signals and sensors

2-16 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Device operations and transitions

Alternative and simultaneous operations


Purpose
In this topic, you learn how to create alternative and simultaneous operations.

Objectives
After you complete this topic, you should be able to:
• Control which device moves using signals.

Alternative and Simultaneous Basics


The default behavior in Process Simulate is to interpret operations, which
depend on the same predecessor as operations to be executed simultaneously.
The picture below shows two compound operations running in parallel (hence
simultaneously). More than two operations may be executed simultaneously.

In order to change the behavior from simultaneous to alternative, the common


starting transition must be edited: Double-click the Transition to open the
Transition Editor dialog box.

Change the Branch Type in the list of values to Alternative. The link type
changes accordingly:

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 2-17


Device operations and transitions

When the Common Conditions for a selected operation have been met,
Process Simulate advances to the operations that have been defined to follow
the selected operation. For each of the operations defined to follow the
selected operation, Differential Conditions can be defined. In order for each
operation to continue, its Differential Conditions must be met, in addition to
the Common Conditions defined for its predecessor.
To define or edit differential conditions:
1. In the Transition Editor dialog box, choose the operation to which the
program continues as shown with the arrow:

2. Edit the condition by clicking Edit Condition. Now proceed to setting up


the Common Conditions.

Notes:
• Normally there is no need to define a “decision operation” which evaluates
the “IF” condition.

• If the “IF” is the first step to be evaluated in the sequence (or inside a
compound operation) then a dummy “Non-Simulation operation must be
inserted to allow the definition of the differential conditions.
o In the Sequence Editor, select the parent compound operation.

o Choose Operations→New Operation→New Non-Sim Operation .

o In the New Non-Sim Operation dialog box, enter Switch for the Name.

o For the Duration, enter 0.

2-18 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Device operations and transitions

o Click OK.

Activities

In the Alternative and simultaneous operations section, do the following


activities:
• Device signal control

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 2-19


Device operations and transitions

Quick tips to debug an event-based simulation


Purpose
In this topic, you learn some quick tips to debug an event-based simulation.

Objectives
After you complete this topic, you should be able to:
• Have a few things to try in order to trouble shoot problems encountered.

Quick tips
Sequence Editor techniques:
• Verify LineOperation is the current operation: It should show in bold in
the Operation Tree and should be the top operation in the Sequence Editor.

• Use Customize Columns to add the Branch Type, Transition, and


Running columns.

• Edit the Transition conditions to make sure there are no deleted


signals shown.

• Device operations Transition conditions should contain “_at” signals


from the related joint value sensor.

• Play the simulation using Step Simulation Forward .

• Check which operations are running by looking at the Running column.

• Add Pause Events to setup break points.

• Click Jump Simulation to Time to start from a specific point in the


simulation.

• Check the start condition for an operation:


o Method 1: Edit the Transition condition of the predecessor
operation.

o Method 2: Start the simulation and quickly stop it. Choose the desired
operation and click Operation Start Condition .

Operation Start Condition can be found in the right-click


menu of the Operation Tree and in the CEE top menu. If not,
add it to the desired menus using Tools→Customize.

2-20 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Device operations and transitions

o If the condition is an _end signal, then it do not start until the


predecessor operation has finished. If it is something else (such as a
sensor signal), it starts when that signal is true (irrespective if the
predecessor operation has finished or started)

Simulation Panel techniques:


• Put signals into the Simulation Panel that are related to a specific
resource:
o In the Signal Viewer, click Signal Viewer Filter .

o Click in the filter line for the Resource column.

o Check Show only signals associated with the following resources


and poses.

o Select in the selection box below the check box, select the desired
resources from the Object Tree or Graphic Viewer.

o Click Apply .

o Choose he desired signals

o In the Simulation Panel, click Add Signal to Viewer .

Signal Viewer techniques:


• In the Signal Viewer, look at the PLC Connection (it sends status to the
“PLC” or “CEE”) and Resource (shows associated resources)

• Cross Reference Query tells where the selected signal is used (for
example is safe to delete or not) If you delete a signal that is used, it
shows deleted signal or deleted parameter on the place where it is used
(for example on the transition condition or elsewhere)

Object Tree techniques:

• In the Object Tree, click Customize Columns to add the Input Signals
and Output Signals columns.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 2-21


Device operations and transitions

Summary
Subjects learned in this topic:
• Covered the prerequisites of working in an event-based study.

• How to create device operations.

• How to create joint value sensors.

• How to create joint value sensors and devices operations simultaneously.

• How to set up a signal to control whether the clamps are open or closed.

• How to find problems with your event-based simulation.

2-22 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Lesson

3 Part appearances and


material flow

Purpose
To provide information on material flow and part appearances.

Objectives
After you complete this chapter, you should be familiar with:
• How to create studies other related topics and an overview of the topics
in this topic.

• How to work with part appearances.

• How to use what you have learned together with some new material flow
concepts.

• How to trouble shoot material flow and part appearance problems.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 3-1


Part appearances and material flow

More on working with studies


Purpose
In this topic, you learn how to work with event-based studies.

Objectives
After you complete this topic, you should be able to:
• Learn a little bit about event-based studies

Event-based study basics


In this topic you describe these preparation topics:
• Start with sequence-based simulation and create an event-based
simulation from it

• Part assigning

• Part relocation

Use the simulation logic to


• Create a controlled cycle behavior

• Synchronize operations

Studies and more


Study Creation and Manipulation:
• Study Modes:

o File→Standard Mode - Standard mode is for Sequence based


simulation. In this mode, the next operation to simulate is completely
determined by the links in the Sequence Editor.

o File→Line Simulation Mode - Line Simulation mode is for


event-based simulation or partial Sequence Based simulation. In this
mode, the next operation to simulate is determined by an operation’s
transition conditions becoming true in the Sequence Editor.

Snapshots and Line Simulation Mode:

• Snapshots are disabled in Line Simulation Mode because it overlaps


with event-based functionality (for example when to display a part
instance); but snapshots still can be used in Standard Mode .

3-2 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Part appearances and material flow

Working with part appearances


Purpose
In this topic, you learn how to work with part appearances.

Objectives
After you complete this topic, you should be able to:
• Work with part appearances

Appearances
Viewing product in a line simulation mode:
• When a study is first opened in Line Simulation Mode , the product
associated to the operation tree is not shown.

• During a simulation a part appearance is automatically generated when


the part is “used” or “needed”.

• When the part appearance is no longer “used” or “needed” it is destroyed.

• When the simulation is reset, all part appearances are destroyed.

• When a simulation is not running part appearances can be temporarily


generated manually to help with simulation creation.

What is an appearance?

• It is the only way to view product data in a Line Simulation Mode .

• It allows placing one reference to a specific product (structure or part


instance) in a study and to view it at multiple locations simultaneously
(for example several copies of the part moving down a line).

Ways to generate an appearance automatically:


• Material flow operation with the desired part associated to it.

• Non-sim operation with the desired part associated to it.

• Attach event with the desired part associated to it.

Appearance display:
• When generated automatically or manually, appearances are shown in
the Graphic Viewer and in the Appearances folder of the Object Tree.

Ways to keep a part alive or destroy it:

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 3-3


Part appearances and material flow

• The appearance stays “alive” through the defined material flow sequence
defined in the Material Flow Viewer.

• When the transition condition on the last operation in the sequence


becomes true , the appearance is destroyed.

Ways to generate an appearance manually:


• Generate Appearances
o Displays the part (as an appearance) associated to the selected
operation.

o Available on the right-click menu in the Operation Tree (of the


Advanced Simulation or my Advanced Simulation window
layout).

Creating frames at the desired position of a part:


• In a RobcadStudy, create reference frames for the part or compound part.

1. Change the Pick Intent to Self Origin .

2. Choose Modeling→Create Frame→Frame by 6 Values .

3. Select the red part.

4. Click OK.

Setting the initial position of an appearance:

• In Line Simulation Mode :


o When the simulation is reset, right-click the desired operation and
choose Generate Appearances .

o Place the appearance in the desired position (for example on a specific


frame created earlier).

o Delete the appearance.


The new initial position of the appearance is stored. The next
time it is generated manually or automatically it appears in
this position.

3-4 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Part appearances and material flow

Part appearance and material flow basics


Purpose
In this topic, you learn how to build on what was learned in the previous
topics by adding a part flow to our simulation.

Objectives
After you complete this topic, you should be able to:
• Setup the initial object flow operation.

• Control the generation of part appearances.

Flow operations and event-based simulation


You add the part to the study and setup a flow operation for it.
Manually Generating Part Appearances:
In order to create the initial flow operation, you first need to manually
generate a part appearance. Each operation that has a part associated to it
has the ability to store its own part appearance at a specific position in the
study. To manually generate a part appearance, right-click an operation with
an associated part and choose Generate Appearances .
Creating the Initial Flow Operation:
• Place the part appearance in the desired location

• Create the flow operation


You learned how to make flow operations in the TR45115 Process
Simulate Standalone Basic Robotic Simulation course.

• Delete the part appearance

Setting the Start Position for an Appearance Associated to a Specific


Flow Operation:
• Generate appearances for the flow operation

• Place the part appearance in the desired location

• Delete the part appearance

The Sequence Editor’s effect on line simulations


In the Sequence Editor:
• Links between compound operations are ignored

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 3-5


Part appearances and material flow

• Links between operations are used for holding the transition condition
(which becomes the start condition of the successor operation).

• Only the operation start condition determines whether an operation can


start or not (if an operation doesn’t have a predecessor operation with a
transition condition, it starts continuously)

The Material Flow Viewer’s Effect on Line Simulations


In the Material Flow Viewer:
• Used to view and edit material flow links
Material flow links are an operation type object, but can only be seen
in the Material Flow Viewer. In order to modify it, you must have
the ability to check out its predecessor and successor operations.

• Can only contain material flow links and operations (no compound
operations)

• A material flow link determines the order in which parts are moved
between operations

• Material flow links allow downstream operations to access parts


accumulated in previous operations
Parts assigned to compound operations are ignored.

Branching material flow links:


• Simultaneous material flow links allow parts to be passed to successor1
AND successor2 AND successor3.

• Alternative material flow links allow parts to be passed to successor1 OR


successor2 OR successor3.
Alternative material flow links are shown in the Material Flow
Viewer as a dashed line.

• Alternative material flow links, using alternative groups, allow parts to


be passed to successor1 OR (successor2 AND successor3), if successor2
and successor3 are part of an Alternative Group.

Compound parts:
• If, in a material flow, the first operation is a flow operation for partA,
then there’s a flow operation for partB, and then a flow operation for a
compound part containing partA and partB then:

3-6 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Part appearances and material flow

o The parts is passed from the preceding operation flows to the


compound part flow. (The two single instances is put together into
the compound part).

The Material Flow toolbar

• Add Operation

• Link Mode

• Generate Material Flow Links

• Add Link

• Unlink

• Delete

• Create Default Material Flow Structure

• Set as Simultaneous Link

• Set as Alternative Link

• Create Alternative Group

• Choose

• Move

• Zoom In

• Zoom Out

• Zoom to Fit

• Zoom to Selection

• Show / Hide

• Highlight part Consuming Operations

• Display Parts

• Material Flow Validity Report

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 3-7


Part appearances and material flow

• Export to Image File

• Layout Display

• Toggle Grid

Events in event-based (CEE) simulation

In this topic, you use signal events and key signals in the Simulation Panel
to set and reset signal values. Later, you replace most of signal events with
other event-based tools such as sensors, modules, and smart components.
During event-based (CEE) simulation, event execution operates as follows:
• For events that are not related to objects (for example, pause and signal
events), the execution time is calculated from the start time of the first
operation in the compound in each cycle.

• Process Simulate does not execute object-related events of compound


operations (for example, blank, display, attach, and detach).

• Process Simulate executes all events of leaf operations (for example, flow,
weld, and non-sim operations) as usual.
A Signal Event sets the value of a signal. Signal values are either
True or False . Signal events are only relevant when working in
a study in Line Simulation Mode .

Activities

In the Part appearance and material flow basics section, do the following
activities:
• Setting up the initial object flow operation

• Controlling the generation of part appearances

3-8 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Part appearances and material flow

Quick tips to part appearance and material flow problems

Purpose
In this topic, you learn quick tips to part appearance and material flow
problems.

Objectives
After you complete this topic, you should be able to:
• Have a few things to try in order to trouble shoot problems encountered.

Quick tips

Part Associations:
• Parts must be associated the operation structure to be able to generate
them in Line Simulation Mode .

Material Flow Viewer:


• The rule of thumb is to only add an operation to the Material Flow Viewer
if it uses parts or produces parts.

• Operations could also have been added to the Material Flow Viewer from
the Not in Viewer tab of the Material Flow Validity Report .

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 3-9


Part appearances and material flow

Summary
Subjects learned in this topic:
• How to create studies other related topics and an overview of the topics
in this topic.

• How to work with part appearances.

• How to use what you have learned together with some new material flow
concepts.

• How to trouble shoot material flow and part appearance problems.

3-10 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Lesson

4 Sensors and conveyors

Purpose
This chapter provides information on how to setup and use sensors and
conveyors. It contains the following lessons:

Objectives
After you complete this chapter, you should be familiar with:
• The types of sensors in Process Simulate.

• How to create and use light sensors.

• How to create and use proximity sensors.

• How to define conceptual conveyors, conceptual parts, and conceptual


skids.

• How to work with conveyors and conveyable parts.

• How to create and use property projectors.

• How to create and use property sensors.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 4-1


Sensors and conveyors

Sensor introduction

Purpose

In this topic, you learn how the basic types of sensors available in Process
Simulate.

Objectives

After you complete this topic, you should be able to:


• Know the types of sensors available and their purpose.

Sensor basics

Light (photoelectric) and proximity sensors enable you to detect 3D-visualized


parts and resources which come near or enter the sensors detection range (for
example collision detection or near miss detection). They are used for:
• Part detection (is the part at the right place?),

• Interlock detection (stop robot if it moves too near the security area of
another robot or a security fence)

• Etc.

Sensor types

• Joint Value Sensor


The joint value sensor was covered in an earlier chapter in this course and
is covered again in later chapters.

• Proximity Sensor
A proximity sensor requires the selection of geometry to represent it.
It is a 3D sensor that checks for collisions/near misses with existing
components. The sensor is activated when one or more predefined
elements enter its predefined detection range (near-miss) of the geometry
of the sensor. To create this type of sensor:

• Photoelectric (Light) Sensor


A photoelectric (light) sensor contains a lens (a geometric object) and a
beam (what collisions/near misses are detected against) attributes. The
sensor is activated when one or more graphical elements enter its light
beam (for example a light curtain). To create this type of sensor:

4-2 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Sensors and conveyors

Just like Joint Value Sensors; Proximity Sensors and Photoelectric


(Light) Sensors set a bit high when the condition is TRUE (for
example in this case when a collision/near miss is detected with
the designated part).

• Property Projector
Technically, this is not a sensor. However, it is used to add properties,
defined in the Edit Part Simulation Property List, to objects (like putting a
bar code on an object) that a property sensor can detect. To create this
type of object:

• Property Sensor
A property sensor is used to detect objects bearing certain properties,
added by a property projector, during a simulation. To create this type of
sensor:

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 4-3


Sensors and conveyors

Photoelectric sensors (light sensors)


Purpose
In this topic, you learn how to create and use light sensors.

Objectives
After you complete this topic, you should be able to:
• Create and use light sensors.

Light sensor basics

To define a photoelectric sensor in Process Simulate


Configuration options in the Create Photoelectric Sensor dialog box enable
you to define the size of the lens, as well as the length of the beam emitted
by the sensor.

1. Choose CEE→Sensors→Create Photoelectric Sensor from the menu.


In the Create Photoelectric Sensor dialog box by default, light_sensor
is shown in the Name box.

4-4 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Sensors and conveyors

2. Set the Lens Parameters for the photoelectric sensor by choosing values
in the Diameter and Width (thickness) boxes. The lens has no affect on the
simulation. It just provides selectable geometry in the Graphic Viewer.

3. Set the beam parameters for the photoelectric sensor by choosing values in
the Length box. The Length is the maximum length of the beam emitted
by the photoelectric sensor. This is a critical attribute of the sensor.

4. Objects defined under Check Interference With are detected by the


photoelectric sensor when interfering (colliding) with the beam.

5. Clicking OK, the sensor resource and an input signal with the same name
as the sensor’s name is created.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 4-5


Sensors and conveyors

The sensor signal is triggered to 1 when a part from the interference


list crosses the sensors beam.
When a photoelectric sensor is created, it is placed by default at the
origin of the cell. To relocate the sensor, use the Tools→Placement
commands. When moving it, make sure to select the whole
component and not just the lens.
To activate the sensor, choose the sensor and click
CEE→Sensors→Activate Sensor . The sensor can be turned off
by clicking CEE→Sensors→Deactivate Sensor .
If needed, the beam can be displayed or hidden by clicking
either CEE→Sensors→Display Detection Zone or
CEE→Sensors→Hide Detection Zone .

By default light sensors are not active. You can activate them, but
they still may be ignored. They need to be used to be truly active.

To edit a photoelectric sensor in Process Simulate

1. Choose the sensor resource and choose CEE→Sensors→Edit Sensor


from the menu. The Edit Photoelectric Sensor dialog box is displayed.

2. Change the desired settings.

Activities
In the Photoelectric sensors (light sensors) section, do the following activities:

4-6 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Sensors and conveyors

• Doing the basic study setup

• Creating and using light sensors

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 4-7


Sensors and conveyors

Proximity sensors

Purpose
In this topic, you learn how to create and use proximity sensors.

Objectives
After you complete this topic, you should be able to:
• Create and use proximity sensors.

Proximity sensor basics

To define a proximity sensor in Process Simulate


Configuration options in the Create Proximity Sensor dialog box enable you to
set the sensor’s detection range. You can also specify the items that trigger
the sensor when they enter its detection range.
1. In the Process Simulate, choose CEE→Sensors→Create Proximity
Sensor . In the Create Photoelectric Sensor dialog box by default,
proximity_sensor is shown in the Name box.

2. In the Name box, enter a name for the sensor.

3. In the Graphic Representation box, choose the resource or location in the


Graphic Viewer or Object Tree to be used as the sensor’s base object. The
sensor’s detection range is measured from this point.

4. In the Check Interference With section, enter the names of the objects
in the Graphic Viewer that activates the sensor when they enter its
detection range.

5. From the Detection Range dropdown list, specify the sensor’s detection
range, meaning the maximum distance that an object can be positioned
from the base object and still activate the sensor. If the distance between
any of the objects specified in the Check Collision With section and the
base object is equal to or lower than this range, the sensor is activated.

6. Defining the value of the sensor signal as FALSE under normal


conditions (when no element is inside the detection range) by Selecting
the option Normally False Signal.

4-8 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Sensors and conveyors

7. Click OK.

To edit a proximity sensor in Process Simulate


1. In the Process Simulate, select the sensor resource and choose
CEE→Sensors→Edit Sensor from the menu.

2. In the Edit Proximity Sensor dialog box, modify the sensor settings as
required.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 4-9


Sensors and conveyors

Activities

In the Proximity sensors section, do the following activities:


• Creating and using proximity sensors

4-10 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Sensors and conveyors

Conceptual conveyors and skids overview


Purpose
In this topic, you learn how to create and use conceptual conveyors and skids.

Objectives
After you complete this topic, you should be able to:
• Use and edit a conceptual conveyor.

• Create and use skids.

• Use a light sensor to stop all skids on a conveyor.

• Use kinematics to stop just one skid on a conveyor.

Conveyor and skid overview


Conveyor mechanisms are used as objects in automated distribution and
warehousing. In combination with computer controlled pallet handling
equipment this allows for more efficient retail, wholesale, and manufacturing
distribution. It is considered a labor saving system that allows large volumes
to move rapidly through a process, allowing companies to ship or receive
higher volumes with smaller storage space and with less labor expense. Any
kind of conveyor involves material flow.

Basic types of conveyors:


• Power and free – Parts are carried on a skid. Can use Kinematics to move
skid off of the conveyor. Part stopping can be asynchronous.

• Belt conveyor – Part sits directly on the conveyor. The whole conveyor
has to stop in order to stop the part (synchronous stop).

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 4-11


Sensors and conveyors

Conveyor and skid introduction


The conveyor geometry typically comes from some other external system.
However, you need to define a logical “conveying surface” where the parts
and skids moves along.
Our conveyor concept is built on reusable elements, which like LEGO, can be
combined to form any kind of logistics (for example simple part conveyors,
skid conveyors, OHR etc.)
Functionality overview:
In order to see this portion of the modeling menu, you must change the
Window Layout to Advanced Robotics.
The CEE→Conveyor menu includes the following commands:

• Define (Conceptual) Conveyor - Used to create a complete conveyor


(linear and angular combined) that follows a curve. It can be used to
transport parts in a study. (Regular or skid conveyor)

• Define As Linear Conceptual Conveyor - Used to create a linear


conveyor (segment). Combine with other conveyors like LEGOs to build a
larger conveyor to transport parts in a study. (Regular or skid conveyor)

• Define As Angular Conceptual Conveyor - Used to create an angular


conveyor (segment). Combine with other conveyors like LEGOs to build a
larger conveyor to transport parts in a study. (Regular or skid conveyor)

• Edit Conceptual Conveyor - Used to modify the settings of an existing


conveyor.

• Define Conveyable Part - Used to choose a part to be transported by a


regular (not skid) conveyor.

• Define As Conceptual Skid - Used to define an existing resource as a skid


for transporting parts on a skid conveyor (linear or angular).

• Edit Conceptual Skid - Used to modify the settings of an existing skid.

• Edit Conveyor Logic Behavior - Used to add conveyor logic behavior,


such as starting and stopping, to a conveyor.

Conceptual conveyor basics


Conveyor types:
Angular conveyors

4-12 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Sensors and conveyors

You use the CEE→Conveyor→Define As Angular Conceptual Conveyor


command to create an angular conveyor that can be used to transport
parts along a curved path between defined locations inside the cell. You
can optionally define the conveyor as a skid conveyor.
When defining an angular conveyor, you must define the center point
and a radius as well as the angle of curvature. The radius and angular
speed define the linear speed of the conveyor, as described by the following
equation:
v [mm/sec] = a [deg/sec] * radius [mm]

Linear conveyors

You use the CEE→Conveyor→Define As Linear Conceptual Conveyor


command to create a linear conveyor that can be used to transport parts
between defined locations inside the cell. You can optionally define the
conveyor as a skid conveyor.

Curve conveyors

You use the CEE→Conveyor→Define Conveyor command to create a


conveyor that follows a curve. This curve can contain straight or angled
segments that bend in any direction. The curve can be closed or opened,
and you can use part of the curve or the whole curve.

Conveyor basics
This information is true for all conveyors.
• Conveying Tolerance - define how close a part has to be to the conveyor
in order for the part to be conveyed. Any object within the conveying
tolerance moves as if it is placed upon the conveyor.

• Collision Tolerance - define how close a part has to be to the conveyor in


order for it to be considered in collision calculations. If a part or skid is
within the collision tolerance, but outside the conveying tolerance, and it is
therefore stationary, the application takes it into account when calculating
collisions between objects. If a part is beyond the collision tolerance, the
application ignores it when calculating collisions between objects.

• In the case of a conceptual skid, the collision tolerance and conveying


tolerance are measured from the conveying frame.

• You cannot configure the collision tolerance to be less than the conveying
tolerance. This combination is blocked because the application checks for
collision between objects on the conveyor.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 4-13


Sensors and conveyors

Conceptual conveyor usage


A conveyor can only be put into an existing component. You can either model
an existing geometric component or create a new empty component.
To define a linear conceptual conveyor:

1. Choose Modeling→Create Part or Resource→New Resource


A conveyor object can contain geometry (optional), kinematics
(optional), a conveying surface, and logic.

2. Choose Conveyer for the type and give it a name.

3. In the Object Tree, choose it.

4. Choose CEE→Conveyor→Define As Linear Conceptual Conveyor .

5. Enter the desired parameters.

6. Choose Modeling→End Modeling .

7. Choose the desired location under the system root and name for the COJT.

8. In the Navigation Tree, choose the desired location in the ResourceLibrary


for the object.

To define a linear conceptual conveyor:


1. Select an existing conveyor geometric component.

4-14 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Sensors and conveyors

2. Choose Modeling→Set Modeling Scope .

3. In the Object Tree, choose it.

4. Choose CEE→Conveyor→Define As Linear Conceptual Conveyor .

5. Enter the desired parameters.

6. Choose Modeling→End Modeling .

7. Choose File→Update Teamcenter .

To define an angular conceptual conveyor:

1. Choose Modeling→Create Part or Resource→New Resource

2. Choose Conveyer for the type and give it a name.

3. In the Object Tree, choose it.

4. Choose CEE→Conveyor→Define As Angular Conceptual Conveyor .

5. Enter the desired parameters.

6. Choose Modeling→End Modeling .

7. Choose the desired location under the system root and name for the COJT.

8. In the Navigation Tree, choose the desired location in the ResourceLibrary


for the object.

1. Select an existing conveyor geometric component.

2. Choose Modeling→Set Modeling Scope .

3. In the Object Tree, choose it.

4. Choose CEE→Conveyor→Define As Angular Conceptual Conveyor .

5. Enter the desired parameters.

6. Choose Modeling→End Modeling .

7. Choose File→Update Teamcenter .

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 4-15


Sensors and conveyors

Basic definition of conveyor behavior


A main characteristic of conveyors is their ability to respond to start, stop
change direction etc. signals. A controlled behavior can be achieved with
conveyors by adding sensors (for example a conveyor moves a part until a
proximity or light sensor detects it and stops the part). In this activity you
shows how to model such situations.

An additional consideration is shown in an additional example: How to link a


series of skid conveyors in such a way that the skids conveyed do not collide
(It is already finished for your convenience).
Edit Conceptual Conveyor Definition and Behavior

The CEE→Conveyor→Edit Conceptual Conveyor command enables you


to modify the settings of an existing conveyor. You can only edit a conveyor
that is loaded for modeling.

The CEE→Conveyor→Edit Conveyor Logic Behavior command enables


you to add your logic behavior, such as starting and stopping, to a conveyor.
You can edit the logic behavior, as required, in the Resource Logic Behavior
Editor dialog box.
Conveyor Actions:
• Start – Add logic that starts the conveyor
o By default, the resulting logic block simulation has a "rising edge"
behavior, which means that the conveyor starts only when the
condition of the Start signal changes from False to True .

• Stop – Add logic that stops the conveyor


o By default, the resulting logic block simulation has a "rising edge"
behavior, which means that the conveyor stops only when the condition
of the Stop signal changes from False to True .

• Change Speed – Add logic that enables the use of controllable speeds

4-16 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Sensors and conveyors

o The actual speed is calculated according to the following formula:


cur_speed + SPEED_STEP * (ChangeSpeed AND NOT
prev_changeSpeed) where SPEED_STEP is defined as a constant
inside the logic block simulation. The change of speed is initiated by
the external Boolean value in the following expression: cur_speed *
(ChangeSpeed AND NOT prev_changeSpeed).

• Change Direction – Add logic that enables of use of bidirectional conveyors

o By default, the resulting logic block simulation has a "rising edge"


behavior, which means that the conveyor changes direction only when
the condition of the Change Direction signal changes from False to
True . The conveyor only changes direction when it is stopped-that is,
the Change Direction signal has no effect if the conveyor is in motion.

The formula calculating the speed is just a default behavior and like
the other three actions can easily be edited with the Logic Block Editor.

Editing conceptual conveyors

To edit a conceptual conveyor:

1. In theObject Tree or Graphic Viewer, choose it.

2. Choose Modeling→Set Modeling Scope .

3. Choose CEE→Conveyor→Edit Conceptual Conveyor .

4. Change the desired parameters.

5. Choose Modeling→End Modeling .

To edit a conveyor’s logic:

1. In the Object Tree or Graphic Viewer, choose it.

2. Choose Modeling→Set Modeling Scope .

3. Choose CEE→Conveyor→Edit Conveyor Logic Behavior .

4. Change the desired parameters.

5. Choose Modeling→End Modeling .

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 4-17


Sensors and conveyors

Define a resource as a conceptual skid


When defining a resource as a skid, you must define the conveying frame
and the surface entities to which the parts being transported are attached.
The conveying frame sets the position of the reference frame for making
tolerance calculations on the skid.
The skids, together with the entities that comprise it, are referred to as a
resource. You must define the entities that touch or hold parts to be conveyed
by the conveyor.
Skid basics
The CEE→Conveyor→Define As Conceptual Skid command enables
you to define an existing resource as a skid for transporting parts on a skid
conveyor (linear or angular).
When defining a resource as a skid, you must define:
• The conveying frame which sets the position of the reference frame for
making tolerance calculations on the skid.

• The surface entities to which the parts being transported are attached.

The CEE→Conveyor→Edit Conceptual Skid command enables you to


modify the settings of an existing skid.

Conceptual skid usage


To define a conceptual skid:

1. Modeling→Create Part Resource→New Resource

2. Choose Container for the type and give it a name.

3. In the Object Tree, choose the desired skid component.

4. Choose CEE→Conveyor→Define As Conceptual Skid .

5. Enter the desired parameters.

6. Choose Modeling→End Modeling .

7. Choose the desired location under the system root and name for the COJT.

8. In the Navigation Tree, choose the desired location in the ResourceLibrary


for the object.

To edit a conceptual skid:

4-18 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Sensors and conveyors

1. In the Object Tree, choose the desired skid component.

2. Choose Modeling→Set Modeling Scope .

3. In the Object Tree or Graphic Viewer, choose it.

4. Choose CEE→Conveyor→Edit Conceptual Skid .

5. Change the desired parameters.

6. Choose Modeling→End Modeling .

Activities

In the Conceptual conveyors and skids overview section, do the following


activities:
• Creating a conveyor “race track”

• Creating a skid

• Adding basic logic to conveyors

• Use a light sensor to stop all skids on a conveyor

• Use kinematics to stop just one skid on a conveyor

• Creating a conveyor using a curve

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 4-19


Sensors and conveyors

Working with a conveyor and conveyable parts


Purpose
In this topic, you learn how to build on the knowledge gained in the TR45115
Process Simulate Standalone Basic Robotic Simulation course. What you
develop here is used in the next lesson as well.

Objectives
After you complete this topic, you should be able to:
• Define a conveyable part.

• Use conveyable parts, a conveyor, and sensors.

Define a conveyable part

The Define Conveyable Part command enables you to choose a part to be


transported by a normal conveyor. A normal conveyor can only transport
parts defined as conveyable. When defining conveyable parts, you must
choose the conveying frame.
To define conveyable parts:
1. Choose a part appearance in the Graphic Viewer or Object Tree.

2. Choose CEE→Conveyor→Define Conveyable Part . The Define


Conveyable Part dialog box is displayed.

3. In the Conveying Frame box, enter the X-, Y- and Z-coordinates of the
frame for conveying the part. By default, the frame is set as the center
of the bottom of the part.

4. Click OK. The part is now defined as a conveyable part. During


simulation, a normal conveyor can convey the part when the part is placed
on the conveyor.

4-20 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Sensors and conveyors

Activities

In the Working with a conveyor and conveyable parts section, do the following
activities:
• Open the Ex5 study

• Add a conveyor and sensors

• Using conveyable parts, a conveyor, and sensors

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 4-21


Sensors and conveyors

Property projectors
Purpose
In this topic, you learn how to create and use property projectors.

Objectives
After you complete this topic, you should be able to:
• Create and use a property list.

• Create and use a property projector.

Property projectors basics


Property sensors (together with property projectors) are used for:
• Mixed production stations / lines (all processes react different regarding
the product to be produced)

• Between this lesson and the next one, you discuss how to add properties to
parts using Property Projectors and read part properties using Property
Sensors.

• Etc.

You learn the following commands:


• Edit Part Simulation Property List

• Create Property Projectors

• Edit Property Projector

Property Projectors versus Property Sensors:


• Property Projectors
o Add part properties.

o Can assign multiple properties to parts.

o Are stored inside line simulation studies as independent elements (not


as 3D elements under the system root folder).

• Property Sensors
o Read part properties.

o Can detect only one property assigned to parts.

4-22 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Sensors and conveyors

o Are stored as new component resources (with 3D elements stored


under the system root folder).

Property list
• The Edit Part Simulation Property List enables you to define the part
properties that can be assigned by a Property Projector.

To create a part property:


1. Choose CEE→Sensors→Property Sensor→Edit Part Simulation Property
List .

2. Click Add.

3. Enter the desired parameters.

In the Properties section of the Create Property Projector dialog box, the
Available Properties list displays the properties available for allocation to
objects (those properties that you defined in the Deactivate Sensor) and
the Used Properties box displays the properties selected for allocation by
the property projector.

Property projector

The Create Property Projector command enables you to create a 3D


projector element and use them to allocate properties (defined in the Edit Part
Simulation Property List command) to parts during a simulation.

The Edit Property Projector command enables you edit existing property
projectors to configure its detection range, the properties that should be
projected, and the parts to be detected.
To create a property projector:

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 4-23


Sensors and conveyors

1. Choose CEE→Sensors→Property Sensor→Create Property Projector .

2. A 3D property projector is added to the Graphic Viewer.

3. The property projector is shown together with a ray that represents its
range. The property projector allocates properties to objects that cross
its ray.

4. Place it in the desired location.

To edit a property projector:


1. Choose the property projector.

2. Choose CEE→Sensors→Property Sensor→Edit Property Projector .

3. Enter the desired parameters.

Activities

In the Property projectors section, do the following activities:


• Property lists and property projectors

4-24 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Sensors and conveyors

Property sensors

Purpose
In this topic, you learn how to read part properties using Property Sensors.

Objectives
After you complete this topic, you should be able to:
• Create and edit property sensors.

Creating and editing property sensors

The Create Property Sensor command enables you to create property


sensors and use them to detect properties on certain objects during a
simulation. It configures a 3D sensor element, the data type to be detected
and its location.

The Edit Sensor command enables you to configure the sensor’s name, the
signal name and type to be created for the sensor, its detection volume and
range, and the property and parts to be detected.
To create a property sensor:

1. Choose CEE→Sensors→Property Sensor→Create Property Sensor .

2. A 3D property sensor is added to the Graphic Viewer and the Create


Property Sensor dialog box appears.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 4-25


Sensors and conveyors

3. Enter the desired parameters.

4. The property sensor is shown together with several 3D rays that represent
its detection zone. The property sensor detects properties on objects that
enter the zone.

Activities
In the Property sensors section, do the following activities:
• Using property sensors

4-26 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Sensors and conveyors

Quick tips to debug a conveyor or sensor simulation


Purpose
In this topic, you learn some quick tips to debug a conveyor or sensor
simulation.

Objectives
After you complete this topic, you should be able to:
• Have a few things to try in order to trouble shoot problems encountered.

Quick tips
General:

• You do not have to End Modeling to save changes to a component,


unless you want to use this prototype outside of this study.

Sensors:
• If the sensor is not working: verify it is active, and that it is “used”. For
example, they must be included in a Transition .

• When setting up transition conditions using sensors, typically you want to


specify the rising edge of the sensor (for example RE(light_sensor) ).

Skids:
• If you configure the Object Tree to show the Attachments column, you is
able to see on which conveyor the skid is traveling.

• When a skid’s conveyingFrame gets far enough away from the


conveyingSurface (for example farther than the Conveying Tolerance),
it stops moving with the conveyor.

Conveyors:
• When defining a conveyor, the Collision Tolerance should be entered
before the Conveying Tolerance; otherwise you get an error.

• When defining a conveyor, look at the yellow arrow down the center of the
movingSurface. This is the default forward direction of the conveyor.
You want the skids to move around the track clockwise. If yours is going
counter clockwise, click Change Direction to switch the default forward
direction.

• When defining a conveyor if the Skid Conveyor check box is selected,


the conveyor only moves objects defined as a skid (which could be parts

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 4-27


Sensors and conveyors

or resources). However, if it is deselected, the conveyor only moves


“conveyable parts”.

• If the conveyor is not working verify that the sensors are active, that the
part was defined as conveyable, and that the conveyor was not defined as
a skid conveyor (if trying to move parts).

Property Projectors and Property Sensors:


• The barcoder and barcode sensor must be used in order for them to be
active. For example, they must be included in a transition condition.

4-28 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Sensors and conveyors

Summary
Subjects learned in this topic:
• The types of sensors in Process Simulate.

• How to create and use light sensors.

• How to create and use proximity sensors.

• How to define conceptual conveyors, conceptual parts, and conceptual


skids.

• How to work with conveyors and conveyable parts.

• How to create and use property projectors.

• How to create and use property sensors.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 4-29


Lesson

5 Logic blocks and smart


components

Purpose
To provide information on the creation and usage of logic blocks and smart
components.

Objectives
After you complete this chapter, you should be familiar with:
• How to create logic blocks

• How to setup a simple safety mat logic block

• How to do more with logic blocks

• How to use some basic functions

• How to do even more with logic blocks.

• How to create a logic block that is needed later.

• The basics of smart components

• How to setup a simple smart component from scratch

• How to create a custom logic conveyor.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 5-1


Logic blocks and smart components

• How to run and examine an advanced conveyor example.

• Some tips for using event–based simulations.

5-2 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Logic blocks and smart components

Logic block basics


Purpose
In this topic, you learn the basics of logic blocks.

Objectives
After you complete this topic, you should be able to:
• Compare modules and logic blocks.

• Create and edit a Logic block.

Modules versus logic blocks


You have already spent some time setting up logic using transition conditions.
In the next few activities you learn two important tools for setting up logic
in Process Simulate: Logic blocks and modules.
• Modules
o Exists only in a study (but can be copied from one study to another)

o Could do instead of Init non-sim operations

o Can export and import between studies (becomes a new object) Used
for logic that is specific to a study, but is called over and over within
the study

• Logic blocks (and smart components)


o Logic built into a component (.COJT).

o The component (.COJT) can have geometry and kinematics.

o Can reuse between studies (same object referenced in both; or can


model it to get a separate object) Used for logic that is used over and
over again in several studies (for example a robot controller, gate,
safety mat, etc.

Introduction to logic blocks


It is very common, that some equipment do not have 2D or 3D data.
Nevertheless, there may be a requirement to include them in the simulation.
Therefore a logic block gives the user the option to add any type of “virtual”
equipment with predefined behavior.
A logic block is a resource that has no kinematics and there is also no need
for a graphical representation. Instead, the logic block contains a defined
logical behavior derived from one or more specified inputs, outputs, and an

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 5-3


Logic blocks and smart components

equation. For example, a logic block can be used to describe the operation of
an air conditioning system, which activates to change the temperature to a
predefined level according to inputs it receives, such as current readings from
a thermostat. The logic block contains a formula, used to determine when to
activate the air conditioner.

General logic block definitions

Logic resources (logic blocks) contain at least one entry value and/or exit
value, as well as any number of parameters and constants. Expressions can
be created that determine which exit value is triggered and under which
conditions.

This diagram shows the relationship between the PLC and a logic block.
• Each PLC output signal is an entry into a device or logic block and each
feedback (in other words an exit) from any device is an input signal into
the PLC.

A logic block has two different aspects.


• The part describing its behavior (you need to model the object to change).

• The signal interface (for example entries and exits)

Workflow to define a logic block


The following diagram shows the creation sequence:

5-4 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Logic blocks and smart components

Creating a logic resource (logic block)

Upon choosing CEE→Logic Block→Create Logic Resource , the Resource


Logic Behavior Editor dialog box appears. A logic block can include several
things, including:
• Entries — Typically, entries are connected to PLC output signals that
set their value.

• Exits — Typically, entries are connected to PLC input signals whose value
is set by an expression within the logic block.

• Constants — constants can be referenced in expressions within the logic


block.

• Parameters — constants can be referenced in expressions within the logic


block with a value set by an expression within the logic block.

The following types are possible for entries, exits, constants, and parameters:
• BOOL Boolean (1 bit) — values can be either 0 (false) or 1 (true).

• BYTE (8 bit) — a whole 3 digit number from 0 to 255.

• INT Integer (16 bit) — a whole 5 digit number from −32,768 to 32,767.

• WORD (16 bit) — a whole 5 digit number from 0 to 65,535.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 5-5


Logic blocks and smart components

• DINT Double integer (32 bit) — a whole 10 digit number from


−2,147,483,648 to 2,147,483,647.

• DWORD Double word (32 bit) — a whole 10 digit number from 0 to


4,294,967,295.

• REAL (32 bit) — a number with decimal point.

After defining the number and types of entry/exit signals it is also possible to
give them meaningful names.

Logic block value expressions


A value expression is used to set the value of an exit or parameter.
For example, you define a Boolean entry named A and Boolean exit named B.
The easiest case is to put the A entry into the Value Expression box for the B
exit to define this equation: B = A.
When defining the expression for the B exit. if you select the Delay Exit
check box, a time delay of setting the exit signal is achieved as shown here
in the graph:

The Abort delay and reset exit condition allows an early reset of a
signal connected to an exit (for example for an emergency stop).
When typing in the Value Expression box, you are prompted with
various options on how to finish typing. Choices are either logic
operators, functions, entries, exits, parameters, actions, or constants
of the logic block. You slowly learn about how to use all of these in the
coming lessons. However, here are some of the standard operators:
• AND — Evaluates to true if both are true.

• NOT — Changes the value from true to false, or false to true.

• OR — Evaluates to true if either are true.

• XOR — Evaluates to true only if one is true and the other is false.

• ( ) Parenthesis — Evaluate what’s inside first.

5-6 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Logic blocks and smart components

• + — * / Addition, Subtraction, Multiplication, or Division

• < = > Less Than, Equals, or Greater Than — Evaluates to either


true or false.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 5-7


Logic blocks and smart components

Safety mat example

Purpose
In this topic, you learn how to make a basic logic block.

Objectives
After you complete this topic, you should be able to:
• Define a safety mat logic block.

Safety mat basics

Entries
• DETECT – should be connected to a sensor placed on the mat that detects
the presence of an operator.

Internal Logic
• If an operator is detected on the safety mat, then a mat fault is set

Exits
• Mat FAULT – should be connected to a signal that can be used to trigger
devices in the study to stop

Activities

In the Safety mat example section, do the following activities:


• Defining a safety mat (optional)

5-8 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Logic blocks and smart components

Logic block algebraic behavior


Purpose
In this topic, you learn how to perform mathematical equations in a logic
block.

Objectives
After you complete this topic, you should be able to:
• Use algebraic modeling.

• Set parameters and constants.

• Create a simple counter logic block.

Logic basics
Not all the relevant behavior can be simulated with a simple time delay. The
need for more complex modeling can be given with a simple counting behavior,
for example upon some start signal and until some target value is reached a
motor should be operated and then stopped, the parts moved away and start
again. It is very likely that such a target value may by itself be a variable.
Therefore the Logic Resource Editor has a different user interface and
options, allowing much more complex modeling.

This activity does not reintroduce the basic workflow of logic blocks. Please
refer to the relevant part from the last activity.

Algebraic modeling
In order to deal with mathematics calculations, a different user interface is
needed. This is automatically invoked with a defining a parameter or an exit
signal of a type different then BOOL (for example INT, DINT, REAL).
The expression box is different and no time delay or reset option is available,
which by the way, wouldn’t make much sense.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 5-9


Logic blocks and smart components

Parameters and constants


In order to evaluate complex equations temporary results and sometimes
also the results of the last cycle are needed. Therefore a Parameter can be
defined and used in calculations with other parameters as well as in exit
signal calculations.
Numeric expressions must be done using internal Constants. This allows
Process Simulate to deal internally with signal type compatibility.
The constant allows values according to its type:
• BOOL: TRUE , FALSE

• INT, DINT: integer numbers (incl. Negative)

• REAL: Any number with decimal point

Signal monitoring
The Signal Monitoring dialog box aids users in debugging logic expressions.
Users can view signals and their status or value in the context of their logic
expressions. This makes it easier to understand how a signal’s value or status
impacts an entire expression, logic block or module behavior and now users
can debug modules, logic blocks, their logic expressions, or any user-defined
expressions. Process Simulate automatically breaks any expression in
the "watch dialog box" to its sub components, providing users with better
visibility and understanding of debugged expressions.
It is used in these scenarios, to evaluate logical expressions during simulation:
• All the logical expressions of one or many modules.
1. Select the desired modules in the Modules viewer.

2. Click Signal Monitor from the Modules viewer toolbar.

• One or many logical expressions of one module.


1. From the Modules viewer, select the desired module and click Edit
Module .

2. Select the desired lines in the Module Editor.

3. Click Signal Monitor from the Module Editor toolbar.

• The logical expressions of one or many logic blocks.


1. Browse and select the desired logic blocks in the Object Tree.

2. Choose CEE→Signal Monitor .

5-10 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Logic blocks and smart components

• One or manual free hand logical expressions.

1. Choose CEE→Signal Monitor .

2. Type in one or many free hand expressions in the top pane of the
Signal Monitoring dialog box.

After the Signal Monitoring dialog box is opened, you can click Apply
styles to color the signals green or red, according to their value. During
simulation, click Connect To Simulation to update the values shown.

Activities

In the Logic block algebraic behavior section, do the following activities:


• Creating a simple counter

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 5-11


Logic blocks and smart components

Rising edge and falling edge functions


Purpose
In this topic, you learn how to do more mathematical equations in a logic
block.

Objectives
After you complete this topic, you should be able to:
• Using falling edge in a logic block.

Basic logic block functions


• RE (X) – The Rising Edge function
o According to Wikipedia, a rising edge is the transition of a digital
signal from low to high. It is also named positive edge. When a circuit
is raising edge triggered, it becomes active when the clock signal goes
from low to high, and ignores the high to low transition.

• FE (X) – The Falling Edge function


o According to Wikipedia, a falling edge is the high to low transition.
It's also known as the negative edge. When a circuit is falling edge
triggered, it becomes active when the clock signal goes from high to
low, and ignores the low to high transition.
It should be noted that the terms front edge or leading edge, back
edge or trailing edge describe the related position of edges in a clock
cycle. A leading edge can be a falling edge.

Now let’s enhance the simulation and keeping track what was the total
amount of the parts produced after you have several times stopped set and
reset the GO key during the simulation:
Here’s one possible solution:

5-12 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Logic blocks and smart components

You shall therefore identify each time, when the B12_z1_GO key changes
from TRUE to FALSE . This is achieved with the falling edge (FE)
function, available for parameters and exits.
Only entries or parameters can be input to the Boolean functions.

The FE (falling edge) function of (B12_z1_GO) supplies a pulse each time the
status changes from TRUE to FALSE . In order to make the logic blocks
more easily reusable, it is not recommended to use a specific entry name (like
B12_z1_GO) but a more generic one (for example New).
You need a Boolean entry (where the GO signal is connected) and an
INTEGER for the amount in the actual production batch and for exit you need
an integer indicating the total summation.
The main equation is then given by:
Batch_sum = Batch_sum + (Produced * FE (New)) where FE means use
falling edge (FE) detection from the functions list.

Activities

In the Rising edge and falling edge functions section, do the following
activities:
• Using falling edge in a logic block

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 5-13


Logic blocks and smart components

More logic block functions (press example)

Purpose
In this topic, you learn how to use other signal functions.

Objectives
After you complete this topic, you should be able to:
• Learn more about using functions in logic blocks.

More functions details


Functions can be used as part of the logic found on a transition condition,
logic block, or module.
• SR ( set reset ) - The set reset function requires two input boolean signals:
set and reset. This function keeps a signal in a triggered position until it
is reset with another signal. The results for the SR and RS functions are
the same except when both set and reset are TRUE . The following table
shows the behavior of the SR and RS functions throughout a sequence
of state changes:
Set Signal Reset Signal RS Result SR Result State
FALSE FALSE FALSE FALSE Initial state
RS or SR
TRUE FALSE TRUE TRUE
value set
Set
Maintained,
FALSE FALSE TRUE TRUE if only the
set signal
changes.
Set and reset
TRUE TRUE FALSE TRUE
are both true.
RS or SR
FALSE TRUE FALSE FALSE value reset
Reset
Maintained,
FALSE FALSE FALSE FALSE if only the
set signal
changes.

• RS ( set reset ) - The reset set function behaves like the SR function,
except that it is FALSE when both set and reset are TRUE .

• RANDOM (min max) — The random number function requires two integer
input signal, min and max, and returns a random number between Min

5-14 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Logic blocks and smart components

and Max. RANDOM triggers a response at the instant when one of the
input signal changes from FALSE to TRUE.

• ABS (num) — The absolute value function requires one input parameter,
num, which must be a number. ABS triggers a response at the instant
when the input signal changes from FALSE to TRUE and returns the
absolute value of num.

Additional logic block functions


Additional logic block functions can be downloaded and installed from
the GTAC FTP site separately from Process Simulate. From
https://download.industrysoftware.automation.siemens.com/tecnomatix,
browse to Tecnomatix→Planning Applications→Robot
Controllers→v11.1→User LB Funcs→(Math func, Robot follow func,
TCP travel distance func) and download them.
After these functions are installed, they are available when defining
logical expressions in a logic block.

• IntModulo (value1:int value2:int) - this math function computes the


remainder of value1 divided by value2.

• RealModulo (value1:real value2:real) - this math function computes the


remainder of value1 divided by value2.

• RobotFollow (connect:boolean) - a logic block function to make robot


"slave" follow robot "master". The robots should be named master and
slave. The slave robot follows the master robot, when connect is true until
connect becomes false. Returns the success or failure as a boolean.

• TcpTravelDistance (start:boolean) - Compute a distance traveled by a


robot when a signal start is switched from false to true. The function
should be used inside a logic block embedded inside a robot. When start
switches from false to true, the distance is set to 0 and the logic block
starts to sum each segment traveled by the robot. When start switches
from true to false, the distance summing stops. The distance is returned
as a real number.

Best practices
Transition Conditions versus Modules versus Logic Blocks:
In the previous few lessons you introduced three important tools in Process
Simulate: Transition Conditions, Modules, and Logic Blocks. Let’s compare
and contrast them:
• Transition conditions

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 5-15


Logic blocks and smart components

o Exists only on a specific transition

o Used for logic that is specific to an operation

• Modules
o Exists only in a study (but can be copied from one study to another)

o Could do instead of Init non-sim operations

o Used for logic that is specific to a study, but is called over and over
within the study

• Logic blocks (and smart components)


o Logic built into a component (.COJT).

o The component (.COJT) can have geometry and kinematics.

o Used for logic that is used over and over again in several studies (for
example a robot controller, gate, safety mat, etc.

Activities

In the More logic block functions (press example) section, do the following
activities:
• Test the functions

• Press simulation demo

5-16 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Logic blocks and smart components

CNC controller logic block example


Purpose
In this topic, you learn ow to use mixed boolean and algebraic expressions to
control a CNC. This puts several of the previous concepts together into one
big example. you create a simulation containing a robot, a CNC machine,
and a CNC controller.

Objectives
After you complete this topic, you should be able to:
• Create logic blocks with mixed boolean and algebraic expressions.

• Use time delays in logic blocks.

Mixed boolean and algebraic expressions


Very often a resource reacts differently, dependent upon the actual part,
which has to be treated or machined. Some additional features of the logic
block modeling enable a representation sufficient to meet even advanced
control requirements, while still using only a few and simple equations.
The following comparisons may freely be used as expressions in an equation:
(A_int > B_int)
if true then the value would be equal 1

if false then the value would be equal 0.

An example:
1. A_int = 10; B_int = 3; const_17 = 17
Temp = (A_int > B_int) * const_17

Temp = 17

2. A_int = 10; B_int = 13; const_17 = 17


Temp = (A_int > B_int) * const_17

Temp = 0

Activities
In the CNC controller logic block example section, do the following activities:
• Using time delays in logic blocks

• Using mixed boolean and algebraic expressions

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 5-17


Logic blocks and smart components

Smart components
Purpose
In this topic, you learn how to create and use smart components.

Objectives
After you complete this topic, you should be able to:
• Smart Components Overview

• Smart Component Commands

• Smart Component Usage

Smart components overview


Users have the option to add all the Logic Block capabilities to any type of
device, and thus turn it into a smart component. The main advantage of the
smart component is the ability to define a signal interface and set predefined
actions and store them as library elements for further use.
In the shop floor of today, a lot of resources aren’t “dumb” devices (like simple
actuator valves) anymore. A lot of them have their own device controller.
The most well known in the area of Body-In-White are the robot controller
and the weld controller.
In this context you are concentrating on the capability of devices/resources
to be operated (for example to carry out actions upon a signal that has been
set) according to a control behavior executed inside the Device/resource’s
controller. you refer to such a device/resource as a smart component.
The three main issues introduced in this smart component are:
• No need to define external operations

• All the logic is stored on the prototype

• It’s a combination of logic and kinematics behavior

5-18 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Logic blocks and smart components

Smart component commands

The following Smart Component commands are available:


These commands are located on the CEE→Logic Block menu.

• CEE→Logic Block→Add LB to a Resource - to create a Logic Block


for an existing resource (except conveyors, skids, and sensors), possessing
logic, 3D representation, and kinematic behavior.

• CEE→Logic Block→Create LB Pose Action and Sensors (also


known as Automatic Pose Action/Sensor Creation) - to choose device
poses (only kinematic objects that possess joints and poses) for which
the system then creates pose actions and sensors, together with all the
required entries and exits.

• CEE→Logic Block→Copy LB Logic - used to import logic from a


resource with logic to a resource without logic. You can use the command
to quickly model resources with similar kinematics by copying logic from
a resource and editing the target

Smart component usage

How to turn a normal device into a smart component?

1. Open a component for modeling or create a new one.

2. Add or modify the geometry.

3. Add or modify the kinematics.

4. Add a logic block to it ( ).

5. Edit the logic block and add the desired logic and actions.

6. Save the new smart component.

7. Use the smart component in a simulation.

Modeling must be enabled for the resource before performing this command.
After creating the logic block and attaching it to the resource, the command
opens the Resource Logic Behavior Editor and enables you to edit the new
logic and kinematics behavior.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 5-19


Logic blocks and smart components

Automatically creating actions and sensors from poses

The Create LB Pose Action and Sensors (also known as Automatic Pose
Action/Sensor Creation) command enables you to choose device poses for
which the system then creates pose actions and sensors, together with all the
required entries and exits. You can choose poses of more than one device if
those devices share the same poses. This command works only on kinematic
objects that possess joints and poses.
One can save the time for doing the many steps regarding the creation of a
Resource logic block with Pose Actions, Joint Value Sensors, Entries, Exits
and connected signals by using Create LB Pose Actions and Sensors .
It automatically creates a logic block for a device with actions and sensors for
every selected pose. Also, the Entries and Exits can be created and connected
to new signals (if the Create and connect signals option is selected). The
resulting logic block has everything inside automatically.

Copy LB logic basics

The Copy LB Logic command enables you to import logic from a resource
with logic to a resource without logic. You can use the command to quickly
model resources with similar kinematics by copying logic from a resource
and editing the target.

5-20 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Logic blocks and smart components

Light stack example (optional)

Purpose
In this topic, you learn how to create a light stack smart component from
scratch. This lesson puts together several concepts from previous lessons
into one object.
Light stacks are common in the manufacturing area. Once defined, it
could be copied and reused as necessary.

Objectives
After you complete this topic, you should be able to:
• Create geometry for a reusable light stack.

• Create and test kinematics for a reusable light stack.

• Create and test logic for a reusable light stack.

Activities

In the Light stack example (optional) section, do the following activities:


• Creating geometry for a reusable light stack

• Creating and testing kinematics for a reusable light stack

• Creating and testing logic for a reusable light stack

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 5-21


Logic blocks and smart components

Custom conveyor example (optional)


Purpose
In this topic, you learn how to create an example conveyor.

Objectives
After you complete this topic, you should be able to:
• Define a “default” conveyor.

• Define a “custom” conveyor (optional).

Conveyor basics
Our conveyor concept is built on reusable elements, which like LEGO, can be
combined to form any kind of logistics (for example simple part conveyors,
skid conveyors, OHR etc.)
Here are some of the connections you setup for the conveyor:
Entries
• part_present – should be connected to the part sensor at the beginning
of the conveyor

• part_at_index – should be connected to the part sensor at the middle


of the conveyor

• part_at_end – should be connected to the part sensor at the end of the


conveyor

• robot_clear – should be connected to a robot signal from the robot loading


the conveyor and triggered when the robot reaches a specific location in
its robotic path.

Internal Logic
• If a part is present, and not part at the end of the conveyor, and the robot
is clear, then the conveyor is ready

• If the conveyor is ready, then start moving until the conveyor is told to
stop.

• Stop the conveyor as soon as a part is detected at the part at index location

• Unload the part as soon as it reaches the end of the conveyor

• Reset the robot clear robot signal as soon as the part is at the middle
of the conveyor

5-22 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Logic blocks and smart components

Exits
• Unload – Used to advance to the next stop in the part flow, which either
could be a robot unloading the part from the conveyor, or the part being
destroyed at the end of its simulation life.

• reset_clear – should be connected to the same robot signal as robot_clear.

Actions
• Conveyor start action

• Conveyor stop action

Activities

In the Custom conveyor example (optional) section, do the following activities:


• Defining a “default” conveyor

• Defining a “custom” conveyor (optional)

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 5-23


Logic blocks and smart components

Advanced skid conveyors (optional)

Purpose
In this topic, you learn how to shows you some use of more advanced use of
the checking for skids and preventing of bumping.

Objectives
After you complete this topic, you should be able to:
• Look at an advanced skid conveyor example.

Activities

In the Advanced skid conveyors (optional) section, do the following activities:


• Advanced skid conveyor (Optional)

5-24 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Logic blocks and smart components

Quick tips for logic block simulations


Purpose
In this topic, you learn some quick tips for logic block simulations.

Objectives
After you complete this topic, you should be able to:
• Have a few things to try in order to trouble shoot problems encountered.

Quick tips
Object Tree techniques:

• In the Object Tree, click Customize Columns to add the LB Simulate,


Input Signals and Output Signals columns.

Simulation Panel:
• Add signals from within a logic block to the Simulation Panel.

Other misc. notes about logic blocks:


• Standard logic blocks should be created and stored in a library for quick
reuse

• If standards at your company exist for logic block entries and exits match
what’s on the real PLC it is easy to connect to it later.

• Simulation time interval relates, but does not determine how often a
logic block is run:
o A logic block is run every 0.1 seconds.

o Therefore, it is best to develop logic blocks with the simulation time


interval set to 0.1, so that they match.

• Value expressions can be entered directly on exits or as a parameter.


o Enter them as a parameter if you would like to use the results in other
parameters or multiple exits.

Conditions vs. modules vs. logic blocks:


In the previous few lessons you introduced three important tools in Process
Simulate: transition conditions, modules, and logic blocks. Compare and
contrast them:
• Transition Conditions
o Exists only on a specific transition

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 5-25


Logic blocks and smart components

o Used for logic that is specific to an operation

• Modules
o Exists only in a study

o Could do instead of Init non-sim operations

o Used for logic that is specific to a study, but is called over and over
within the study

• Logic Blocks (and smart components)


o Logic built into a component (.COJT)

o A component (.COJT) can have geometry and kinematics

o Used for logic that is used over and over again in several studies (for
example a robot controller, gate, safety mat, etc.

5-26 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Logic blocks and smart components

Summary
Subjects learned in this chapter:
• How to create logic blocks

• How to setup a simple safety mat logic block

• How to do more with logic blocks

• How to use some basic functions

• How to do even more with logic blocks.

• How to create a logic block that is needed later.

• The basics of smart components

• How to setup a simple smart component from scratch

• How to create a custom logic conveyor.

• How to run and examine an advanced conveyor example.

• Some tips for using event–based simulations.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 5-27


Lesson

6 Putting it all together

Purpose
To provide a putting it all together for the topics covered in the first part of
the course, as well as adding a activities for few other features.

Objectives
After you complete this chapter, you should be familiar with:
• Beginning of the putting it all together

• Creating line simulation studies

• Automatic smart component creation

• Creating and using modules

• Create proximity sensor

• Working with part appearances

• New non-sim operations

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 6-1


Putting it all together

Beginning of the putting it all together

Purpose
In this topic, you learn how to put it all together (P.I.A.T.).

Objectives
After you complete this topic, you should be able to:
• Get some background information on what you are about to do.

Background information

Some suggestions for production (after this course):


• Unitize everything (put units and sensors together in one compound
resource for the fixture)

• Make sensor geometry a separate component (put on frame for where it


should go, or align by 3 points to get it into position)

6-2 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Putting it all together

Creating line simulation studies

Purpose
In this topic, you learn how to create line simulation studies to be used
to simulate and verify event driven manufacturing processes in Process
Simulate.

Objectives
After you complete this topic, you should be able to:
• Set your working folder.

• Create a line simulation study.

• Open and examine a simple event-based study.

Activities

In the Creating line simulation studies section, do the following activities:


• Opening and examining a simple event-based study

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 6-3


Putting it all together

Automatic smart component creation

Purpose
In this topic, you learn how to automatically create smart components.

Objectives
After you complete this topic, you should be able to:
• Setup the clamps and pins smart components.

Activities

In the Automatic smart component creation section, do the following activities:


• Setup the clamps and pins smart component

6-4 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Putting it all together

Creating and using modules

Purpose

In this topic, you learn how to take some of what you did as a transition
condition and convert it to a module. You also make your logic more
sophisticated.

Objectives

After you complete this topic, you should be able to:


• Create a new module to connect some of signals and make things happen
in your simulation.

Module basics

In this topic you create and use modules to clean up how you are setting up
our logic. Modules are created in the Modules Viewer.
The Modules Viewer enables you to create and view the hierarchy of modules
in the study . It contains:
• The Modules Viewer toolbar enables you to manage the contents of the
Modules Viewer.

• The Modules Viewer Inventory area displays all the modules that are
stored in the study . From this area, modules can be dragged and
dropped into the Modules Viewer Hierarchy area, as required.

• The Modules Viewer Hierarchy area displays the configurable hierarchy


of modules for the study . The order of modules in the hierarchy
determines the behavior of the study .

The Modules Viewer enables you to edit and evaluate signal expressions.
It can be considered to act as an “internal PLC”. In Modules Viewer, you
can define a signal as a result of a logical expression comprising a number
of other signals and operators. The expressions are evaluated each time a
scan is performed. You can edit the signals assigned to a selected module by
defining new expressions for signals, or by modifying the expressions defined
for a selected signal.
To open it:
By default it is collapsed against the right side of the Graphic Viewer. If
it is not:
• Choose View→Viewers→Modules Viewer.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 6-5


Putting it all together

Working with modules in the Module Viewer


Modules inventory functionality:

• New Module — Enables you to add a new module to the study

• Delete Module — Enables you to delete a module from the study.

• Edit Module — Enables you to configure modules.

• Export Module(s) — Enables you to save modules from the current


study to an external file.

• Import Module(s) — Enables you to read modules from an external


file into the current study.

• Send Module to the Signal Monitor — Enables you display the


selected modules in the Signal Monitor dialog box. This dialog box can be
used to see the real time values of the signals, which can be helpful for
debugging problems.

Modules hierarchy functionality:

• Disconnect Call — Enables you to disconnect a module from the


Modules Viewer Hierarchy section.

• Disconnect Call Tree — Enables you to disconnect a hierarchy of


modules from the Modules Viewer Hierarchy section.

• Move Call Up — Enables you to raise the position of a module in the


Modules Viewer Hierarchy section.
Modules are executed from top down in this area.

• Move Call Down — Enables you to lower the position of a module in


the Modules Viewer Hierarchy section.

• Create “IF” Statement — Enables you to make a conditional call to a


module as a child of the selected object in the Modules Viewer Hierarchy
section.

• Edit “IF” Statement — Enables you to edit the conditions of the


selected “IF” statement for calling a module. This condition controls when
the child object of the “IF” statement is executed.

To define a new module in the modules inventory:

6-6 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Putting it all together

1. In the Module Viewer, click New Module Object

2. Click New Entry.

3. Enter the Expression by typing and Selecting from the hints that appear
to auto fill the box.

4. Choose the Result Signal

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 6-7


Putting it all together

The Result Signal box do not auto fill like the Expression box. Also,
the Result Signal box is case sensitive.

5. Click OK.

6. Repeat for other entries.

7. Click OK.

8. Rename the module as desired.

To add modules to the modules hierarchy:


• Drag the desired module from the Modules Inventory and drop it on the
desired object in the Modules Hierarchy that is its hierarchical parent.

To add branching logic:


1. In the Modules Hierarchy, choose the hierarchical parent for the IF
statement.

2. Click Create “IF” Statement

3. Choose the IF in the Modules Hierarchy and click Edit "IF" Statement

4. Enter the condition for the IF.


This is the condition that, when true, causes the module inside the
IIF to be executed,

5. Add desired modules to the IF and ELSE sections using drag.

Best practices:
• Do not add any logic directly under Main. Instead create a module and
nest everything else under it. That way you is able to merge this study
with others later without problems.

• If you intend on merging several stations together later, prefix the name
of the module with the station name.

6-8 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Putting it all together

Importing and exporting modules

Modules can be exported from one study and imported into another. In
addition to the exported modules, the file also contains the resulting signals
and their substituted expressions and all signals used in the module with
their types and hardware type definitions.
• From the Modules Viewer, select the desired modules and click Export
Modules . Export an XML file of the modules.

• With the desired study loaded, click Import Modules in the Modules
Viewer. Choose an XML file of modules to import.

Signals imported from a file which already exist in the target study are
automatically connected, otherwise they are created automatically. Therefore
it is recommended to ensure that the target study contains all the relevant
resources and signals in use, before importing the file. This saves the need to
connect or map the signals manually. The import is not executed for signals
contained in the file that exist in the target study if the signal types do not
match. The current implementation of this functionality does not export
module hierarchy.

Activities

In the Creating and using modules section, do the following activities:


• Creating a new module

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 6-9


Putting it all together

Create proximity sensor

Purpose
In this topic, you learn how to create proximity sensors on the clamps and
conveyor.

Objectives
After you complete this topic, you should be able to:
• Create part proximity sensors on the fixture and conveyor.

Activities

In the Create proximity sensor section, do the following activities:


• Create part proximity sensors on the fixture and conveyor

6-10 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Putting it all together

Working with part appearances (again)

Purpose

In this topic, you learn how to work with part appearances.

Objectives

After you complete this topic, you should be able to:

• Manually generate a part appearance.

• Automatically a part appearance.

Seeing part appearances

Unlike loading studies in Standard Mode , when they are loaded in Line
Simulation Mode : no part data is loaded with it. There are two ways to
see the parts related to operations:

• Manually – Use the Generate Appearances command.

• Automatically – Start the simulation to generate them automatically


To set the initial position of an appearance:
o Generate the appearance.

o Place it in the desired position (The new initial position of the


appearance is stored).

o Delete the appearance.

Manual part generation

• The Generate Appearances command enables manual creation of the


part appearances in the Graphic Viewer and the Object Tree viewer for
the selected operation. This enables the user to view the relevant parts,
position them and perform other related tasks.

To Manually create part appearances:


In the Operation Tree, right-click the desired operation and choose Generate
Appearances .

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 6-11


Putting it all together

Internal rules for automatic part generation

There are some rules concerning which instances generates appearances, how
many and where. A part instance that is related to the operation by at least
one of the following relations cause an appearance to be generated:
• Part is assigned to the operation.

• Part is assigned to a child operation (when the parent compound


operation is selected for Generate Appearances .

• A weld/via location operation is attached to the part.

• A flow location operation is attached to the part.

• An event that is on the operation refers to the part (Blank, Display,


Attach, Detach, Add to Group, Remove from Group).

• An OLP Command on a location operation refers to the part (Blank,


Display, Attach, Detach).

An operation generates one part appearance per related instance, even if


there are multiple relations between the part instance and the operation.
For example, the Op1 weld operation has all of the following relations to
part instances:
• Part1 is assigned to the operation.

• An Attach event exists on the operation and attaches Part2 to a gripper.

• A Blank event exists on the operation and blanks Part1.

• An Attach OLP command attaches Part1 to another object.

When Op1 is selected and Generate Appearances is executed, only one


appearance of Part1 and one of Part2 is generated.
The part appearance location is saved with the related operation's data.
Changes in appearances that are applied in a line simulation study have no
effect on the instance location.

Activities

In the Working with part appearances (again) section, do the following


activities:
• Generating part appearances

6-12 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Putting it all together

New non-sim operations for logic

Purpose
In this topic, you learn how to create non-sim operations for logic.

Objectives
After you complete this topic, you should be able to:
• Create the initial operation.

Non-sim operation usage

The New Non-Sim Operation command enables you to create an operation


that takes time, but does not simulate anything. Like any other operation, a
non-sim operation can be used as a repository for logic. This logic is used to
determine when the successor operation is executed.
To create an non-simulated operation:
1. In the Sequence Editor or Object Tree, choose the parent operation.

2. Choose Operations→New Non Sim Operation .

3. Enter the desired parameters.

Activities

In the New non-sim operations for logic section, do the following activities:
• Creating the initial operation

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 6-13


Putting it all together

Summary
Subjects learned in this topic:
• Beginning of the putting it all together

• Creating line simulation studies

• Automatic smart component creation

• Creating and using modules

• Create proximity sensor

• Working with part appearances

• New non-sim operations

6-14 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Lesson

7 Robotic event-based simulation

Purpose
To provide a description of basic robotics tasks.

Objectives
After you complete this chapter, you should be familiar with:
• An introduction to event-based robotic simulation.

• How to integrate logic blocks into an existing robotic simulation.

• How to connect and synchronize robot signals for two robots in an


interference zone.

• How to use default signals.

• How to setup OLP commands and macros on locations.

• How to do more with macros.

• Some tips for using event–based simulations.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 7-1


Robotic event-based simulation

Introduction to event-based robotics


Purpose
In this topic, you get an overview of robotic signals.

Objectives
After you complete this topic, you should be able to:
• Find and identify robot signals.

Overview of robot signals


The normal architecture of a control (PLC) program separates the treatment
of working devices (clamps, tools, etc.) and robots. They are treated with
different specific Function Blocks (FB), which are based on the different
nature of these resources.
The unique event-based simulation solution of Process Simulate allows
testing and validating not only the motion part of the robot paths but also
the synchronization of robots as part of the production resources within a
station, zone, or line.
The benefit of this solution enable you to increase the quality of the output
robot programs and saves valuable time on the shop floor previously used to
do these tasks without simulation (by trial-and error on the real robots).
The logic evaluation engine of Process Simulate serves to receive, handle,
and feed signals back to the robot and by thus replacing the previously used
PLC program.

The signal exchange via PLC/CEE


Robots may communicate with other robots through the PLC/CEE in order to
allow additional signal handling (like information passed to the line control

7-2 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Robotic event-based simulation

or the entry into restricted zones). Robot may also be waiting for signals sent
by devices, which are not controlled directly by the robot. (The robot normally
directly controls guns; clamps are more likely to be controlled by the PLC).
Process Simulate offers this functionality, which is available by selecting the
robot (in the Graphic Viewer or in the Resources folder of the Object Tree)
and then choosing Robotics→Robot Signals .
The following diagram illustrates the basic relationship between robot (OLP)
signals and PLC signals:

Selecting the Robot Signals command opens the Robot Signals dialog box
for the selected robot. This dialog box maps the signal on the robot with the
signal on the PLC. The I/O shown here from the perspective of the PLC. For
example: robots receive (wait for) PLC output signals and send PLC input
signals.

The Robot Signals toolbar has many abilities:

• New Input Signal - creates a new PLC input signal (and robot output
signal)

• New Output Signal - creates a new PLC output signal (and robot
input signal).

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 7-3


Robotic event-based simulation

• Create Default Signals - Inserts 4 standard output signals


and 5 standard input signals that are commonly used (for example
startProgram, emergencyStop, etc.)

• Delete Signal - deletes the selected signal

• Import Signals - Replaces the current signals with those imported


from a Microsoft Excel spreadsheet.

• Export Signals - Exports all signals to a Microsoft Excel spreadsheet.


You learn more about these abilities in this topic and the next topic.

Teach pendant OLP command basics


Robot signals are used by OLP commands which can be placed on paths,
locations, and macros.
To edit the OLP commands of a location or path, first view the it in either the
Teach Pendant or the Path Editor.
One way to view the OLP commands of a location is the select it and
choose Robotics→Teach Pendant .
Another way is to view the path in the Path Editor, then double-click
the OLP Commands box of the desired location.

Techniques to edit OLP commands


These options are available in the OLP Commands section:
• To edit a command in the OLP Commands section, double-click it.

• To move the selected commands up/down in the list: Press the [up] or
[down] arrow keys or click Move Selected commands Up or Move
Selected commands Down .

• To remove the select command, press the [Delete] key or right-click it


and choose Delete .

• To cut the select command, press [Ctrl]-[X] or right-click it and choose


Cut .

7-4 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Robotic event-based simulation

• To copy the select command, press [Ctrl]-[C] or right-click it and choose


Copy .

• To paste a command, press [Ctrl]-[P] or right-click it and choose Paste .


If you do not select a line before pasting, the commands are added to
the end of the list in the OLP Commands section.

Other supported copy/paste options:


o Copying and pasting strings or groups of commands.

o Pasting from another location, or application.

o Copying from another box, location, or another application.

Basic OLP commands


On the Teach Pendant after clicking Add, the Standard Commands menu is
available. These commands are available during simulation, but either do not
download or download as comments.
The Standard Commands Menu:
Standard commands not mentioned here are described later in this
course.

• File submenu:
o # OpenFile — Opens a file for editing. The Mode setting enables you
to Append or Overwrite file content. Also, set a Handle to be used
in the next WriteLine and CloseFile commands and a Name for the
path to the file to be opened.

o # CloseFile — Closes an open file. Set the Handle of the file that was
opened with the OpenFile command.

o # WriteLine — Enables you to write a line of text in an open file. Set


the Handle of the file that was opened with the OpenFile command
and write the text in the Expression box. Use double quotes to print
the value of a variable or a signal, for example, type "E1" to write the
value of signal E1.

• Graphics submenu:

o # Blank — Blank an object during simulation.

o # Display — Display an object during simulation.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 7-5


Robotic event-based simulation

o # TCP Tracker — Enables you to start, pause, resume, or stop the


TCP Tracker for the robot assigned to the current operation during
simulation.

• Paint submenu:

o # OpenPaintGun — Marks the location where painting should start.

o # ClosePaintGun — Marks the location where painting should stop.

o # ChangeBrush — Marks the location where the painting style


should be changed (for example paint fan 1, 2, 3, etc.)

• ToolHanding submenu:
o # Connect — (add an external axis to the robot during simulation)
connect the specified joint from the specified device as an external axis
of the robot. For example, when simulating a grinding robot with a
tool changer with several sized grinding tools.

o # Disconnect — (remove an external axis of the robot during


simulation) disconnect all external axis joints of the specified device
from the robot. For example, when simulating a grinding robot with a
tool changer with several sized grinding tools.

o # DriveDevice — Moves the selected device to the selected target pose.


(Review from the TR42115 course)

o # GunToState — Instructions for moving the gun to its specified pose,


as specified in the Gun State parameter. TR45115 Process Simulate
Standalone Basic Robotic Simulation and TR45215 Process Simulate
Standalone Intermediate Robotics (CEE) courses
In the case of a servo gun, this moves the servo gun to the
position specified by the external axis depart value. If no depart
value is defined, the servo gun moves using the Gun State
parameter.

o # Mount — Mount a new tool on the robot. For example, when


simulating a grinding robot with a tool changer with several sized
grinding tools.

o # UnMount - Unmount the existing tool on the robot. For example,


when simulating a grinding robot with a tool changer with several
sized grinding tools.

7-6 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Robotic event-based simulation

o # WaitDevice — The robot waits until the selected device reaches the
selected target pose. (Review from the TR42115 course). (Review from
the TR45115 course).

o # Drive Device Joints — Move the selected joint(s) of the selected


kinematic device to the specified joint value(s).

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 7-7


Robotic event-based simulation

Setup a basic robotic zone


Purpose
In this lesson, you learn how to setup and use signals for basic robot
synchronization in an interference zone.
There are many ways to do this. Here you put the signals directly on
the locations of the robotic path and connect them using a logic block.
Later in this section of the course you put the signals in a macro and
then put the macro references on the locations in the robotic path.
Another example is at the end of the appendix of this course which uses
signals connected using a module.

Objectives
After you complete this lesson, you should be able to:
• Setup a robotic interference zone using robotic signals and a logic block.

Signals for a basic interference zone


You add these boolean output signals to the two robotics:
• checkZone1

You add these boolean input signals to the two robotics:


• enterZone1

• exitZone1.

On the location where the robot is about to enter a zone, put the following:
• The robot waits until checkZone1 is false.

• enterZone1 is set to a value of true.

• exitZone1 is set to a value of false.

On the location where the robot has left a zone, put the following:
• enterZone1 is set to a value of false.

• exitZone1 is set to a value of true.

Logic block for a basic interference zone


In this lesson you use a simple logic block that has already been
created. For those that are curious, the steps to create it can be found
in the appendix of this course.

7-8 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Robotic event-based simulation

Entries
• RBT1_ENT_ZONE – should be connected to a robot signal describing
whether the first robot is entering the first interference zone

• RBT1_EXT_ZONE – should be connected to a robot signal describing


whether the first robot has exited the first interference zone

• RBT2_ENT_ZONE– should be connected to a robot signal describing


whether the second robot is entering the first interference zone

• RBT2_EXT_ZONE– should be connected to a robot signal describing


whether the second robot has exited the first interference zone

Internal Logic
• A robot is currently in the first interference zone, if robot 1 has entered
the zone, but has not left it yet.

• RBT_CHK_ZONE = SR ( "RBT1_ENT_ZONE" "RBT1_EXT_ZONE" ) OR SR (


"RBT2_ENT_ZONE" "RBT2_EXT_ZONE" )

Recall the SR function has two parameters: When the first one
becomes true, it makes the function result true. When the second
becomes true, it makes the SR function result false.

Exits
• RBT_CHK_ZONE – should be connected to a robot signal representing a
check whether a robot is currently in the first interference zone

Synchronization OLP commands

On the Teach Pendant after clicking Add, the Standard


Commands→Synchronization menu is available.
• # SendSignal — In line simulation mode, the robot sends a robot signal
to the PLC (PLC input). .
Both boolean and analog signals are supported. Any integer
value can be assigned to a signal. In event-based simulations the
Destination is always left blank.

• # SetSignal — Enables you to compose an expression for the value of the


selected robot output signal.

• # WaitSignal — In line simulation mode, the robot waits for a robot signal
from the PLC (PLC output).

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 7-9


Robotic event-based simulation

• # WaitTime — The robot waits the specified number of seconds before


the next command is performed.

Activities

In the Setup a basic robotic zone section, do the following activities:


• Setting up a basic robotic zone

7-10 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Robotic event-based simulation

Basic robot macros

Purpose
In this lesson, you learn how to set the macro folder, and create and use robot
macros.

Objectives
After you complete this lesson, you should be able to:
• Set the macro folder and reload the files without restarting the system.

• Create robot macros.

• Use robot macros.

Basics of robot macros


A robotic macro is a list of predefined robotic OLP commands, which can be
stored in a .macros file, and can be referred by the different applications

Robotic Macro Folder


In the Motion tab of Options dialog box (Tools→Options), you can
change the location of the Robot Macro files folder (the default is
.\sysroot\Macros). If this folder is changed, you can either restart
Process Simulate for this change to take effect or you can select a robot,
choose Robotics®
®Robot Modules , and click Reload Files.

In Robot Macro files folder, you place your robotic macros file. One .macros
file can exist per robot controller (for example Abb-Rapid, Default,
Fanuc-Rj, Kawasaki-As, Kuka-Krc, Yaskawa-Inform, etc.).

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 7-11


Robotic event-based simulation

The name of each .macros file should be controllerName.macros

Macro file format:


A macro file is an ASCII file (plain text). Each macro file contains the macro
definition for its controller use, in the following format:
• MACRO macro_name

• OLP_Command

• OLP_Command

• OLP_Command

• …

• MACRO macro_name

• OLP_Command

• OLP_Command

• OLP_Command

• …

Where macro_name is the name of a specific macro (in the specific controller
syntax), and each OLP_Command should be an OLP_Command in the syntax
of the specific controller.
For example, a macro file for the Default controller may look like this:

• Macro ENTER_ZONE_1

• # WaitSignal checkZone1 0

• # Send enterZone1 1

7-12 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Robotic event-based simulation

• # Send exitZone1 0

• Macro ENTER_ZONE_2

• # WaitSignal checkZone2 0

• # Send enterZone2 1

• # Send exitZone2 0

• Macro EXIT_ZONE_1

• # Send enterZone1 0

• # Send exitZone1 1

• Macro EXIT_ZONE_2

• # Send enterZone2 0

• # Send exitZone2 1

Simulate a Robotic Macro


A Robotic Macro is handled like a regular OLP command: it can be put on a
robotic location using the Teach Pendant dialog box, and should be written in
the specific controller syntax.

While simulating a macro command, the specific controller simulates each


line of it as if they were directly in the OLP command list shown in the
Teach-Pendant. In case one of the OLP commands in the macro is not
recognized by the controller, or it fails to execute properly – the behavior, is

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 7-13


Robotic event-based simulation

the same as a regular OLP command: according to the specific controller


logic, it ignores the command, shows error message, stops the simulation, etc.

Activities

In the Basic robot macros section, do the following activities:


• Setting up the macro folder

• Using basic robot macros

7-14 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Robotic event-based simulation

Default signals and robot programs

Purpose
In this topic, you learn how to create and use default robot signals and robot
programs.

Objectives
After you complete this topic, you should be able to:
• Create and use robot status signals.

• Create and use robot signals to pause or abort path execution.

• Create and use program from several paths.

Robot programs
A Process Simulate program is used when switching, during simulation,
between several robotic operations using logic, or when downloading.

A real robot contains several tasks to be executed. Normally it is made up


of motion tasks and logic instructions organized in a robot program. Almost
all robot programs have the same basic skeleton:

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 7-15


Robotic event-based simulation

To guarantee correct behavior, all robot vendors enforce a predefined sequence


of signal exchange:
• To prevent the robot from starting to move in an uncontrolled way.

• To continue its motion until the end of its task.

The Siemens PLM Software default behavior doesn’t simulate all of the
signals used by a real robot. Those significant signals for the correct process
behavior are included in the default behavior. Specific behavior may be
implemented in the relevant ESRC controller, which has to be purchased
separately and has its own documentation.

In the Robot Signalsdialog box, clicking Create Default Signals creates


several commonly used status signals.
Status Signals:
Status signals are continuously evaluated by the robot controller (either
Input for example emergency stop or output for example pose signal). They
are a way of simulating behavior that can be downloaded. Using status

7-16 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Robotic event-based simulation

signals, paths can be simulated like robot programs using path numbers
inside the program.
Default (PLC) output signals:
• startProgram (signal function = Starting Program)

• programNumber (signal function = Program Number)

• emergencyStop (signal function = Program Emergency Stop)

• programPause (signal function = Program Pause)

Default (PLC) input signals:


• programEnded (signal function = Ending Program)

• mirrorProgramNumber (signal function = Mirror Program Number)

• errorProgramNumber (signal function = Error Program Number)

• robotReady (signal function = Robot Ready)

• HOME (signal function = Pose Signal)

Robotics: Inter location handling

There are two ways to stop the robot anytime during simulation:
• The emergencyStop robot signal is checked all the time and not only
when a robot reaches a specific location. In other words: on each update
of a simulation cycle it is checked. If it is set to TRUE , the robot stops
immediately.

• Process Simulate supports one programPause robot output signal per


robot. This is a soft emergency stop signal that pauses the robot when
the signal turns TRUE . When the signal subsequently turns False ,
the robot continues from the position in which it stopped (both spatially
and from the same point in the program). This signal may be used, for
example, if a light sensor detected a worker entering a zone shared by
humans and robots. When the worker enters the zone, the robot pauses
and when the worker exits the zone, the robot resumes from exactly the
point at which it stopped.
programPause is different from the emergencyStop signal, where
you must return the robot to its HOME position before restarting
the program simulation.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 7-17


Robotic event-based simulation

Pose signals on robots


Part of robot status signals
• Automatically triggered

• Two degree tolerance for each joint

Just define a robot pose and the system turns it into a simulation relevant
signal.

Creating a program from several paths


As explained in the introduction, a robot executes its paths in the context of
a program. The path has normally a path number (in the status signal this
path number is called programNumber – an expression which is often used
by OLP programmers.)
The general workflow is as follows:

• Choose Robotics→Robot Program→Robotic Program Inventory .

• Create a new (empty) program (or open an existing one).

The following buttons are available:

• Create new program - Creates a program for the specified robot.

7-18 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Robotic event-based simulation

• Open in Program Editor - Opens the selected program in the Path


Editor. This is the only way to add paths to a program.

• Download program - Downloads the selected program, using the


assigned robot controller, to a program file for running on a real robot.
Requires various setup steps be performed first. See the TR45315 Process
Simulate Standalone Advanced Robotics course for details.

• Upload program - Uploads a program file to the selected program.


Requires various setup steps be performed first. See the TR45315 Process
Simulate Standalone Advanced Robotics course for details.

• Set as default program - required step in order to use it in a simulation


Without setting a program, the simulated robot do not work.

• Delete Program - Deletes the selected program.

Handshaking mechanism for program execution

A robot executes its paths in the context of a program. In order to prevent the
robot from unauthorized starting its motion, several mechanisms are applied.
Some of these mechanisms are simulated:
• Robot Ready

• Valid Path number

• Robot Start signal

Robot Ready status signal:


When the robot is ready mechanically and electrically then normally some
“READY” signal is sent to the PLC. This behavior can be simulated with
Process Simulate by adding a #WaitTime OLP command on the path (before
the first location) using the Teach Pendant.
The behavior is such, that for the first time during a simulation session (for
example after Reset has been pressed) this time is executed as waiting and
only then the RobotReady signal is set to TRUE by the robot.
Valid Path Number status signal:
Several mechanisms are used to indicate that a correct or not existing path
number has been sent by CEE/PLC.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 7-19


Robotic event-based simulation

Almost all robots allow mirroring the number that has been received by the
robot. As long as this number corresponds to a number existing inside of
the robot program everything is OK.
A different behavior is used in case the number doesn’t exist. Some robot
vendors return a zero in the mirroring and others mirror the number but set
an additional status signal such as errorProgramNumber to TRUE .
In the default controller the second behavior has been modeled.
StartProgram and ProgramEnded Status Signals:
• For paths inside a program:
o When all pre-requirements are fulfilled, then the robot is ready to start
its action, which is triggered by the rising edge of the startProgram
robot signal.

o At the end of the path the robot sets the ProgramEnded signal.

Other signal functions (not covered in this course)

Tracking objects on conveyors: you can define a robot line tracking mechanism
to enable simulated robots to track objects moving on a conveyor. This can be
used, for example, when simulating the painting of parts.
Robot-conveyor tracking is only supported by RRS-enabled controllers,
for example ABB-Rapid.

Robot-conveyor tracking is implemented by using the following signal pair:


• Part detection signal — ConveyorPosition

• Robot start signal — ConveyorTrigger

A conveyor is associated with the part detection (ConveyorPosition) signal.


This robot signal tracks and dynamically updates the position of the part
as it progresses along the conveyor. When the robot start (ConveyorTrigger)
signal is high, the robot tracks the object on the defined conveyor. You can
define up to four signal pairs.

7-20 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Robotic event-based simulation

You can configure up to four pairs of ConveyorPosition and


ConveyorTrigger signals:
• ConveyorPosition_1

• ConveyorTrigger_1

• ConveyorPosition_2

• ConveyorTrigger_2

• ConveyorPosition_3

• ConveyorTrigger_3

• ConveyorPosition_4

• ConveyorTrigger_4

Activities

In the Default signals and robot programs section, do the following activities:
• Testing out the simulation

• Creating a robot program and using default signals

• Creating and using default robot signals

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 7-21


Robotic event-based simulation

Calling paths from main programs

Purpose

In this lesson, you learn how to setup a main program that calls the paths
instead of calling the paths by path number.

Objectives

After you complete this lesson, you should be able to:


• Recall the grip and release part handling commands.

• Setup a main program that calls the paths instead of calling the paths
by path number.

Part Handling OLP Commands

On the Teach Pendant after clicking Add, the Standard


Commands→PartHandling menu is available.

• # Attach — Attach a selected component to another component or


link during simulation.

• # Detach - Attach a selected component to another component or link


during simulation.

• # Grip — moves the gripper to the specified pose and attaches the part to
it. This OLP command is automatically added to grip locations in Pick
and Place Operations and is preferable to the Attach command for part
handling.

• # Release — moves the gripper to the specified pose and detaches the part
from it. This OLP command is automatically added to release locations
in Pick and Place Operations and is preferable to the Detach command
for part handling.

Program Flow OLP Commands

On the Teach Pendant after clicking Add, the Standard


Commands→ProgramFlow menu is available.
• # Macro — executes the specified macro located in the <robot
controller>.macros file located in the Macros folder defined in
Tools→Options. The file can contain any OLP command for the selected
robot controller.

7-22 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Robotic event-based simulation

• # CallPath — in the middle of executing a path (for example pa1),


another path (for example pa2) can be executed. Once pa2 is finished, it
picks up where it left off in pa1.

• # CallProg — similar to CallPath, except for programs instead of paths.

OLP commands can be added to a path or location using the Teach


Pendant or Path Editor.

Activities

In the Calling Paths from Main Programs section, do the following activities:
• Using CallPath and Main Programs

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 7-23


Robotic event-based simulation

Using robot program conditions


Purpose
In this lesson, you learn how to use if conditions.

Objectives
After you complete this lesson, you should be able to:
• Enter free text OLP commands.

• Use if conditions as OLP commands.

Entering free text OLP commands


OLP commands can be entered on locations of a robotic path by either
selecting them from the Add Standard Commands list or by selecting Add
Free Text.
For example to enter a comment as an OLP command on a location, enter: ;
followed by a string of text, such as Here is a comment in my program.

OLP command conditions


The information referenced here is for the default controller. Each
robot controller supports these conditions and may support additional
options as well. For example the Fanuc controller Process Simulate also
supports Jump to label abilities. More on the controller specific options
is covered in the advanced robotics course (TR45315).

Basic syntax
The following basic syntax is supported in the condition commands:
• Logic operators: AND, OR, NOT (case sensitive)

• Parentheses

• Robot signals (case sensitive)

• False

• Decimal and integer values

• Arithmetic operators: +, - , *, /

OLP commands are not case sensitive.

7-24 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Robotic event-based simulation

If then else syntax


Use the If command to make the execution of a command depend on the
result of a condition. If the condition returns true, the lines between Then
and Elseif are executed. . If the condition returns false, the Elseif commands
are executed, otherwise it executes the Else commands. If you do not need it,
you can also omit the Else and Elseif commands.
• # If <condition> Then

• # Elsif <condition> Then

• # Else

• # Endif

• For example:
o # If (a + b) > c Then

o # callPath pa1

o # Elsif a OR b Then

o # callPath pa2

o # Else

o # callPath pa3

o # Endif

Switch syntax
The Switch command enables you to make easier and clearer choices when
presented with several possibilities. This way you do not have to use lengthy
if-then-elseif chains.
This is similar to the case statement in the C programming language.

• # Switch <expression>

• # Case <val1>, <val2>

• # Default

• # Endswitch

• For example:

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 7-25


Robotic event-based simulation

o # Switch (a+b)

o # Case 1

o # callPath pa1

o # Case 2, 3

o # callPath pa2

o # Default

o # callPath pa3

o # Endswitch

For loop syntax


The For loop passes over a range between a beginning and an end value using
the specified step size. The loop variable has to be of data type integer.
• # For <var> From <start> To <end> Step <step> Do

• # For <var> From <start> To <end> Do

• # Endfor

• For example:
o # For j From 1 To 10 Step 2 Do

o # callPath pa1

o # callPath pa2

o # Endfor

While loop syntax


The While loop is executed as long as the condition is true.
If the condition never becomes false, it runs forever.

• # While <expression> Do

• # Endwhile

• For example:
o # While a < 100 Do

7-26 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Robotic event-based simulation

o # callPath pa1

o # Endwhile

Ignoring logic in OLP commands

When selected, the system skips logic OLP commands (IF, ELSIF, ELSE,
ENDIF, SWITCH, CASE, DEFAULT, ENDSWITCH, WHILE, ENDWHILE,
FOR, ENDFOR, GOTO, JUMP, CALL, Variable assignments). However the
system runs other commands, such as those nested under a loop, for example.
1. Choose Tools→Options.

2. In the Options dialog box, click the Motion tab.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 7-27


Robotic event-based simulation

3. Select the Ignore logic in OLP commands check box.

4. Click OK.

Activities
In the Using robot program conditions section, do the following activities:
• Entering basic OLP commands as free text

• Using the “if” OLP command

7-28 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Robotic event-based simulation

Signal graphs in the Robot Viewer


Purpose
In this topic, you learn how to open and view the signal graph in the Robot
Viewer.

Objectives
After you complete this topic, you should be able to:
• Use the Robot Viewer in event-based studies

Signal graph basics


In the TR42115 Process Simulate on eMS Basic Robotic Simulation course,
you covered several of the panels (graphs) of the Robot Viewer. Here you
mention a few more that are related to Event-Based Simulations (Line
Simulation).

Robot Viewer

To open it, choose: Robotics→Robot Viewer .


The Robot Viewer contains the following panels:
• Joint Monitor — It generates and displays a graphical representation of
their values at all points of time in the simulation. See TR45315 Process
Simulate Standalone Advanced Robotics for more information

• Joint Status — It shows the current value for each joint of the selected
robot (including external joints). Alternatively, you can display the current
joint value as a percentage of the joint range. See TR45315 Process
Simulate Standalone Basic Robotic Simulation for more information

• Digital Signals — It displays the values of the selected signals against


time during a simulation (as TRUE or FALSE ).

• Analog Signals — It displays the values of the selected signals against


time during a simulation (for example 1, 2, 3, etc.).

• TCPF Speed Monitor — Displays a graph of the speed of the robot TCPF.
In the Legend section, you can set the color of the trace. The Statistics
section displays the minimum and maximum speeds of the robot TCPF.
See TR45315 Process Simulate Standalone Advanced Robotics for more
information.

• Joint Speed and Acceleration — Displays graphs of joint speed and


acceleration. See for more information.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 7-29


Robotic event-based simulation

• Power Consumption — The graph above shows the current Power


Consumption of a robot during simulation in units of kW (kilowatts).
See TR45315 Process Simulate Standalone Advanced Robotics for more
information.

Basic Usage:
• In the Robot Viewer, choose the down arrow to the right of the Panels
button and deselect everything except for the desired panel.

Activities

In the Signal graphs in the Robot Viewer section, do the following activities:
• Using the Robot Viewer in event-based studies

7-30 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Robotic event-based simulation

Creating various Excel reports


Purpose
In this topic, you learn how to create various Microsoft Excel reports from
Process Simulate.

Objectives
After you complete this topic, you should be able to:
• Create several different Microsoft Excel reports.

• Create cycle time reports.

Basic Excel reports


There are several ways to export information displayed in a viewer to
Microsoft Excel:

• The Export to Excel command (on the Signal Viewer) enables you
to export the contents of the Signals Viewer to an Microsoft Excel
spreadsheet.

• The File→Import Export→Export to Excel and File→Import


Export→Export All Viewers to Excel commands enable you to export
the contents of the Path Editor, Sequence Editor, and Modules Viewer to
tabs of an Microsoft Excel spreadsheet.

• The Cross-reference query button (located in the Signal Viewer)


enables you to export selected signals in the Signal Viewer into an
Microsoft Excel spreadsheet that cross-references those signals.
If the Microsoft Excel application is not installed on your computer,
an error message is generated.
o The spreadsheet contains the following tables: Transitions,
Signal Events, Modules, and Logic Behaviors, each of which
references the selected signals.

• The CEE→Logic Block→Export LB(s) to Excel command enables


viewing the contents of a logic block in an easy-to-read Microsoft Excel
spreadsheet.

Basic Excel report usage


To view the LB’s logic in Excel:

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 7-31


Robotic event-based simulation

1. In the Object Tree, choose the resource whose logic behavior you wish to
export.

2. Choose CEE→Logic Block→ Export LB(s) to Excel .

Create a cross section query spreadsheet:

• From the Signal Viewer, click Cross-reference query .

To create an report in Excel of all the signals:

1. From the Signals Viewer, choose Export to Excel .

2. Enter a filename for the .XLS

To export the contents of various viewers to Excel:

• Choose File→Outputs→Export All Viewers to Excel .

To export the contents of a specific viewer to Excel:


• Choose the Path Editor, the Sequence Editor, or the Modules Viewer.

• Choose File→Import Export→Export to Excel .

Cycle time reporting

In event-based simulation there is no specific end to a simulation, which can


run for multiple cycles. So, there is not an easy way to calculate how long the
cycle time is for a station without generating a cycle time report.

Optionally, Cycle Time Report Settings can be used to configure


which timers participate in the cycle time report and to define priorities
for the internal timers.

7-32 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Robotic event-based simulation

Here are the steps to viewing this report

1. Setup the robot cycle time OLP commands on the robotic operations using
the Teach Pendant Add→Standard Commands→RobotCycleTime menu.

2. Toggle on the generation of the cycle time report by choosing


Robotics→Cycle Time Report .

3. Play the simulation for the desired amount of time and then stop the
simulation.
The cycle time report is displayed in Microsoft Excel.

Available robot cycle time OLP commands

• CycleStart — specify when the cycle time calculation should begin.

• CycleEnd — specify when the cycle time calculation should end.

• TimerOn — Define when a user defined timer should start track time
associated to a certain part of the simulation. Each timer includes a
user-defined name.
Internal (built-in) timers include motion to location time, wait
device time, weld time, weld count, wait time, and wait signal time.

• TimerOff — Define when a certain timer should be stopped during


a specific cycle.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 7-33


Robotic event-based simulation

Cycle time report content


• Reports for each simulated robot are displayed in separate tabs (named
by the relevant robot) in the Excel file.

• The last tab is called Report settings and displays the report settings.

• Each row in the report represents a significant event during the operation.

• Analyzing the report enables you to identify periods of time when the
robot is inactive, to discover the duration of the idle state, and understand
the cause of inactivity.

• The Totals section of the report provides totals for robot active time (for
example, MotionToLocation) and inactive time (for example, WaitDevice)
providing a useful overview of robot activity during the operation. It also
contains the weld count, indicating how many weld locations were visited.

• You can make changes to the operation for example by: Changing the
order of locations, repeat the simulation, and compare the new report
with the original one.

Activities

In the Creating various Excel reports section, do the following activities:


• Creating basic Excel reports

• Creating cycle time reports

7-34 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Robotic event-based simulation

Quick tips for robot signals and macros


Purpose
In this topic, you learn about some quick tips for robot signals and macros.

Objectives
After you complete this topic, you should be able to:
• Have a few things to try to trouble shoot problems encountered.

Quick tips
Robot signals
• In order to easily and properly use default robot signals, it is suggested to
create a “robot controller” logic block.

• The same goes for setting up robot interference zones.

• A sample is provided at the end of these training materials.

Viewing object attributes in the Object Tree

1. In the Object Tree, click Customize Columns .

2. In the Customize Columns dialog box, double-click >>.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 7-35


Robotic event-based simulation

LB Simulate is used to turn a logic block on and off.

Input Signals and Output Signals displays signals connected to


the logic block.

3. Click OK.

4. Expand the width of the Object Tree.

5. Expand the contents of the Resources folder.

7-36 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Robotic event-based simulation

Summary
Subjects learned in this topic:
• An introduction to event-based robotic simulation.

• How to integrate logic blocks into an existing robotic simulation.

• How to connect and synchronize robot signals for two robots in an


interference zone.

• How to use default signals.

• How to setup OLP commands and macros on locations.

• How to do more with macros.

• Some tips for using event–based simulations.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 7-37


Lesson

8 Putting it all together continued

Purpose
In this lesson, you learn how to add a dual robot simulation to our “putting it
all together example”.

Objectives
After you complete this lesson, you should be able to:
• Apply what you learned in the previous section on robotic event-based
simulation to our “putting it all together example”.

• Gain a deeper understanding of robotic event-based simulation.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 8-1


Putting it all together continued

Fixture and robot 1 putting it all together


Purpose
In this lesson, you learn how to add a dual robot simulation to our “putting it
all together example”.

Objectives
After you complete this lesson, you should be able to:
• Apply what you learned in the previous sections on robotic event-based
simulation and fixtures to our “putting it all together example”.

• Gain a deeper understanding of robotic event-based simulation.

Overview of the station sequence


In the previous “Putting It All Together” in this course, you completed the
first two steps described here. In this “Putting It All Together”, you complete
a few more steps in the process, allow you to open and close the fixture and
perform the weld operation.
Before this simulation starts, you assume that the clamps are open, the
pins are extended, and the robots are at the first location of their paths
(the home position for this station).

Fixture and first robot simulation


1. Check if fixture is clear to load.
The clamps must be opened, the pins extended, a part is not present,
and welding is not complete.

2. The operator chooses a part style.


Part style 1 or 2 is loaded into the fixture. Sensors detect which
part has been loaded.

3. When the operator is clear of the fixture, he presses the palm button.
The clamps close.

4. Check if clear to weld.


A part is present, the welding is not complete, the clamps are closed,
and the pins are extended.

5. If zone 1 is empty, robot 1 enters the zone and moves to the pounce
location.

8-2 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Putting it all together continued

6. Robot 1 performs the weld operation specific to part style 1 or 2.

7. Robot 1 exits zone 1.


The weld operation is complete.

8. The clamps open and the pins retract.


This needs to be done before robot 2 removes the part from the
fixture.

After completing these steps in this lesson, you continue the “Putting It
All Together” in the next lesson.

Activities

In the Fixture and robot 1 putting it all together section, do the following
activities:
• Simulating the fixture and first robot

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 8-3


Putting it all together continued

Robot 2 and conveyor putting it all together


Purpose
In this lesson, you learn how to add a dual robot simulation to our “putting it
all together example”.

Objectives
After you complete this lesson, you should be able to:
• Apply what you learned in the previous sections on robotic event-based
simulation and conveyors to our “putting it all together example”.

• Gain a deeper understanding of robotic event-based simulation.

Continued overview of station sequence


In the previous “putting it all together” lesson, you completed the first eight
steps described here. In this “putting it all together”, you complete the rest of
these steps.
Before this simulation starts, you assume that the clamps are open, the
pins are extended, and the robots are at the first location of their paths
(the home position for this station).

Fixture and first robot simulation (review)


These steps are a review of what was done in the previous lesson.

1. Check if fixture is clear to load.


The clamps must be opened, the pins extended, a part is not present,
and welding is not complete.

2. The operator chooses a part style.


Part style 1 or 2 is loaded into the fixture. Sensors detect which
part has been loaded.

3. When the operator is clear of the fixture, he presses the palm button.
The clamps close.

4. Check if clear to weld.


A part is present, the welding is not complete, the clamps are closed,
and the pins are extended.

8-4 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Putting it all together continued

5. If zone 1 is empty, robot 1 enters the zone and moves to the pounce
location.

6. Robot 1 performs the weld operation specific to part style 1 or 2.

7. Robot 1 exits zone 1.


The weld operation is complete.

8. The clamps open and the pins retract.


This needs to be done before robot 2 removes the part from the
fixture.

Second robot and conveyor simulation


1. Check if the fixture is clear to unload.

2. If zone 1 is empty, robot 2 enters the zone and moves to the pounce
location.

3. Robot 2 removes the part from the fixture.

4. Robot 2 exits zone 1.


The robot clears of the fixture.

At this point if you had a sensor on the gripper you could verify
that the part was actually picked up. If not, you could try to get
the part again.

5. Robot 2 moves to the conveyor.

6. Check if the conveyor is clear to drop part on it.


There is no part present at the drop point (at the first conveyor
sensor).

7. Robot 2 sets down the part on the conveyor.

8. Check if robot is clear of conveyor.


When the robot is clear of the conveyor, it is turned on.

9. The conveyor is stopped when the part is detected at the second sensor.

10. The part is destroyed when it reached the third sensor at the far end
of the conveyor.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide 8-5


Putting it all together continued

If there were another station at this end of the conveyor, the part
would continue into that station. At this point this is the end of
our line.

Activities

In the Robot 2 and conveyor putting it all together section, do the following
activities:
• Adding the second robot and conveyor

8-6 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Appendix

A Additional lessons on smart


components, conveyors, and
more (optional)

Purpose
To provide additional information on smart component and conveyor abilities
in Process Simulate.

Objectives
After you complete this chapter, you should be familiar with:
• How to create and use smart components.

• How to create a simple smart component.

• How to create a simple robot controller.

• How to create internal pose sensors.

• How to create a smart tip dresser.

• How to create a smart safety gate.

• How to copy a logic block.

• To create a smart panel view.

• How to create logic block pose actions and sensors.

• Got an overview of conceptual conveyors and skids.

• How to define a conceptual conveyor.

• How to edit conceptual conveyors and behavior.

• How to create an example conveyor.

• How to define a conceptual skid.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide A-1


Additional lessons on smart components, conveyors, and more (optional)

• How to create an example weld controller.

• How to create an example PLC.

• How to use connection mapping to import signals and logic block


connections exported from an eCAD system.

A-2 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Additional lessons on smart components, conveyors, and more (optional)

Operator gate control example (optional)


Purpose
In this topic, you learn how to create a simple smart component.

Objectives
After you complete this topic, you should be able to:
• Create a gate control.

Gate control basics


Here are some of the connections you setup for the operator gate control:
Entries
• HOLD – should be connected to a robot signal for each robot in the study
that tells whether the it is moving or not

• CHECK FAULT1 – should be connected to the first device which could


signal a fault (for example a safety mat)

• CHECK FAULT2 – optionally can be connected to the second device which


could signal a fault (for example a safety gate)

• CHECK FAULT3 – optionally can be connected to the third device which


could signal a fault

Internal Logic
• Move to the run pose, if the simulation is running and no faults are
detected

• Move to the ready pose, if the simulation is not running and no faults
are detected

• Move to the fault pose, if any faults detected

Exits
• (None)

Activities
In the Operator gate control example (optional) section, do the following
activities:
• Defining an operator gate control (optional)

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide A-3


Additional lessons on smart components, conveyors, and more (optional)

Robot controller example (optional)


Purpose
In this topic, you learn how to create a simple robot controller.

Objectives
After you complete this topic, you should be able to:
• Create a robot controller smart component.

Robot controller basics


Entries
• PROGRAM NUMBER – should be connected to a robot signal representing
the path number of the program that is requested be executed.

• MIRROR NUMBER – should be connected to a robot signal representing


whether the requested path number is valid for this program.

• PRG INPUT 1 – should be connected to a robot signal. representing the


first path in a program for a robot.
You do not use 1, 2, and 3 for the program numbers (just in case 1
and 2 are true you don’t want 3 to execute). There are other ways to
accomplish this as well.

• PRG INPUT 3 – should be connected to a robot signal representing the


second path in a program for a robot.

• PRG INPUT 7 – should be connected to a robot signal representing the


third path in a program for a robot.

• PRG INPUT 9 – should be connected to a robot signal representing the


fourth path in a program for a robot.

• RESET CYC COMP – should be connected to a PLC signal to tell when to


reset the cycle complete boolean.

• CYC COMP – should be connected to a PLC signal representing when


the cycle is complete.

• ROBOT AT PNC – should be connected to a robot signal representing


whether the robot is at the pounce location.

• ROBOT CLEAR JOB – should be connected to a robot signal representing


whether the robot cycle is complete.

A-4 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Additional lessons on smart components, conveyors, and more (optional)

• CLR TO PNC – should be connected to a PLC signal representing whether


the robot is clear to pounce.

Basic use case


• First the PLC sends the signal requesting that the robot is clear to move
to the pounce location

• Then the robot sends a signal that it received the request to move to the
pounce location

• Then the robot moves to the pounce location

• The PLC sends a signal requesting the robot to perform a certain path

• The robot replies that it can perform the requested path

• The robot performs the requested path

• The robot informs the PLC when it is done performing the requested path

• The PLC clears the request to perform the completed path

Internal logic
• Program check = (program input 1 * ONE) + (program input 2 * TWO) +
etc.

• If program check is greater than zero, assign its value to program select

• As soon as the PLC says to requests the robot to move to the pounce
location, then the robot should reply that it can move to the pounce
location.

• As soon as the robot finishes the cycle, it should tell the PLC.

• Move to the run pose, if the program has not ended and the robot is ready
and the robot has not encountered an error

• Move to the fault pose if a program error was encountered

• Move to ready if the program has ended and the robot has not encountered
an error.

Exits
• PROGRAM START – should be connected to a robot signal representing
whether the robot has started moving along a path

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide A-5


Additional lessons on smart components, conveyors, and more (optional)

• PROGRAM SELECT – should be connected to a robot signal representing


which robot path in a program has been selected.

• RBT CYC COMP – should be connected to a robot signal representing


whether the robot cycle is complete.

• CLEAR TO PNC – should be connected to a robot signal representing


whether representing whether the robot is clear to go to the pounce
location.

Activities

In the Robot controller example (optional) section, do the following activities:


• Defining a robot controller (optional)

A-6 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Additional lessons on smart components, conveyors, and more (optional)

Tip dresser example (optional)

Purpose
In this topic, you learn how to create a smart tip dresser.

Objectives
After you complete this topic, you should be able to:
• Create a tip dresser smart component.

Tip dresser basics

Here are some of the connections you setup for the tip dresser:
Entries
• start_motor – should be connected to a signal representing whether the
tip dress motor should start

Internal Logic
• When the tip dresser is started, move to the grid pose, wait 5 seconds,
then stop the motor

• The tip dresser is complete, when the motor has stopped and the tip
dresser has returned to the ready position.

Exits
• complete – should be connected to a signal representing when the tip
dress is complete

Activities
In the Tip dresser example (optional) section, do the following activities:
• Defining a tip dresser (optional)

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide A-7


Additional lessons on smart components, conveyors, and more (optional)

Connection mapping (optional)


Purpose
In this topic, you learn how to use connection mapping to import signals and
logic block connections exported from an eCAD system.

Objectives
After you complete this topic, you should be able to:
• Use the Automatic Connect Signals to LB command
This command can be added to the menu using Tools→Customize.

• Use Connect Devices to LB.

Additional details on automatically connecting signals to logic blocks


After creating a logic resource, you can attach the resource to signals that
enable it to communicate with the rest of the cell. The Automatic Connect
Signals to LB command connects entries and exits to signals either by using
mapping information in the Translation Table or by using fixed rules
For each entry, the system matches a signal whose name contains the device
name possible entry name string. Failing this, it matches a signal whose
name contains the device name and the possible entry name strings.
For each exit, the system matches a signal whose name contains the device
name possible exit name string. Failing this, it matches a signal whose name
contains the device name and the possible exit name strings.
For example, if the "exit1" exit is translated to "in_1" and "input_1"
and the device name is "device1", the system first looks for a signal
containing the string "device1in_1" and "device1input_1". It might find
"xxx_device1in_1_signal" or "xxx_device1input_1_signal". The system then
looks for a signal containing the string "device1" followed by the string "in_1"
or "input_1". It might find "xxx_device1_xxx_in_1_xxx_signal".

Connect Devices to LB basics

The CEE→Logic Block→Connect Devices to LB command enables you


to simultaneously apply the same logic behavior to multiple devices. This is
often useful when your resources include many similar devices.
• It duplicates a specified logic resource, creating a duplicate for each one of
a specified list of devices. Each duplicate logic resource is added to the
Object Tree below each device and named device_name_LB_name, where
device_name is the name of the device and LB_name is the name of the
duplicated logic resource.

A-8 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Additional lessons on smart components, conveyors, and more (optional)

• It automatically connects signals to the entries and exits using internally


defined criteria. It is possible that this criteria may not be met and that
the connection fails.

An alternative is to use the CEE→Logic Block→Translation Table to


determine which signal is connected to each entry and exit.

Connect Devices to LB usage


To connect devices to a logic block:

1. Choose CEE→Logic Block→Connect Devices to LB .

2. Enter the desired parameters.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide A-9


Additional lessons on smart components, conveyors, and more (optional)

Part scheduler example (optional)


Purpose
In this topic, you learn how to use what was learned to do a simple part
scheduler.

Objectives
After you complete this topic, you should be able to:
• Create a part scheduler smart component.

Part scheduler basics


Entries
• _batchsize1 – should be connected to a key signal that represents the
max batch size of style 1

• _batchsize2 – should be connected to a key signal that represents the


max batch size of style 2

• _done_b1 – should be connected to a signal that represents when the


cycle for style 1 is complete.

• _done_b2 – should be connected to a signal that represents when the


cycle for style 2 is complete.

• _reset_b1 – should be connected to a signal that represents when the max


number of style 1 parts has been reached and that the counter should be
reset to start again.

• _reset_b2 – should be connected to a signal that represents when the max


number of style 1 parts has been reached and that the counter should be
reset to start again.

• _set_batch_on – should be connected to a signal that represents whether


to run in auto (batch) or manual mode (simulation stops after one cycle
and waits to continue).

• _select_Style1 – should be connected to a signal that represents style1


is to be loaded next.

• _select_Style2 – should be connected to a signal that represents style2


is to be loaded next.

• _reset_Style – should be connected to a signal that represents when the


cycle starts.

A-10 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Additional lessons on smart components, conveyors, and more (optional)

Internal logic
• Keep making style 1 parts as long as the active counter value is less than
the batch size and has not been reset.

• Keep making style 2 parts as long as the active counter value is less than
the batch size and has not been reset.

• actval_b1 = ("actval_b1" + RE ( "_done_b1" )) * ( NOT "_reset_b1")

• actval_b2 = ("actval_b2" + RE ( "_done_b2" )) * ( NOT "_reset_b2")

• do_b1 = "actval_b1" < "_batchsize1"

• do_b2 = "actval_b2" < "_batchsize2"

• re_set-style1 = RE ( "_select_Style1" )

• re_set-style2 = RE ( "_select_Style2" )

• do_style1 = SR ( "re_set_style2" "re_reset_style" )

• OK_Style1 = ("do_b1" AND "_set_batch_on") OR (( NOT "_set_batch_on")


AND "do_style1")

• OK_Style2 = ("do_b2" AND "_set_batch_on") OR (( NOT "_set_batch_on")


AND "do_style2")

• ALL_DONE = NOT ("do_b1" OR "do_b2")

Parameters
• actval_b1 – should be connected to a signal that represents the style1
active counter value.

• actval_b2 – should be connected to a signal that represents the style2


active counter value.

• do_b1 – should be connected to a signal that represents whether to


continue doing style1.

• do_b2 – should be connected to a signal that represents whether to


continue doing style2.

• re_set_style1 – should be connected to a signal that represents the rising


edge of the set style1 signal.

• re_reset_style – should be connected to a signal that represents the rising


edge of the set style2 signal.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide A-11


Additional lessons on smart components, conveyors, and more (optional)

• do_style1 – should be connected to a signal that represents whether to


start doing style1.

• do_style2 – should be connected to a signal that represents whether to


start doing style2.

Exits
• OK_Style1 – should be connected to a signal that represents whether a
style 1 part should be produced from the source.

• OK_Style2 – should be connected to a signal that represents whether a


style 2 part should be produced from the source.

• ALL_DONE – should be connected to a signal which resets the active


counter value signifying the schedule is all done.

Activities

In the Part scheduler example section, do the following activities:


• Defining a part scheduler (optional)

A-12 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Additional lessons on smart components, conveyors, and more (optional)

Operation run bar example (optional)


Purpose
In this lesson, you learn how to create an operation run bar smart component.

Objectives
After you complete this lesson, you should be able to:
• Create an operation run bar smart logic block.

Help topics
Additional information for this lesson can be found in:
• xxx

• xxx

Operation run bar basics


Entries
• Press_Button – should be connected to a signal that represents when the
operator presses the palm button (operator is clear of the fix and ready)

• Select_Manual – should be connected to a signal that represents when


manual mode has been selected.

• Reset_start – should be connected to a signal that represents when the


cycle is complete.

• Batch_Mode – should be connected to a signal that represents when


batch mode has been enabled.

• Part_Loaded – should be connected to a signal that represents when the


part is ready.

Internal logic
• reset = RE ( "Reset_Start" )

• set = RE ( "ready" )

• ready = ("Part_Loaded" AND "Press_Button") OR ("Batch_Mode" AND


"Part_Loaded")

• START = SR ( "set" "reset" )

• RUN = "at_s2"

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide A-13


Additional lessons on smart components, conveyors, and more (optional)

Actions
• mv_to_s1 = Move to MANUAL pose.

• mv_to_s2 = Move to AUTO pose.

Parameters
• reset – should be connected to a signal that represents the rising edge of
reset start.

• set – should be connected to a signal that represents the rising edge of


ready.

• at_s1 – should be connected to the joint value sensor that represents


when the POSE is MANUAL.

• at_s2 – should be connected to the joint value sensor that represents


when the POSE is AUTO.

• ready – should be connected to a signal that represents when the part is


loaded and the button is pressed, or when a part is loaded in batch mode.

Exits
• START – should be connected to a signal that represents

• RUN – should be connected to a signal that represents

Activities

In the Operation run bar example (optional) section, do the following


activities:
• Defining a operation run bar

A-14 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Additional lessons on smart components, conveyors, and more (optional)

Dump unit example (optional)


Purpose
In this lesson, you learn how to define a dump unit smart component.

Objectives
After you complete this lesson, you should be able to:
• Create dump unit smart logic block.

Help topics
Additional information for this lesson can be found in:
• xxx

• xxx

Dump unit basics


Entries
• to_IN – should be connected to a signal that represents when the dump
should be moved to the IN pose.

• to_OUT – should be connected to a signal that represents when the dump


should be moved to the OUT pose

• PartPresent – should be connected to a signal that represents when a


part is present in the fixture.

Internal Logic
• weld = "at_WELD_sensor" AND "PartPresent"

• re_weld = RE ( "weld" )

• fe_PartPresent = FE ( "PartPresent" )

• wld_comp = SR ( "re_weld" "fe_PartPresent" )

Parameters
• dump_at_in – is a joint value sensor that detects that the dump is in the
IN pose (0 degrees).

• dump_at_out – is a joint value sensor that detects that the dump is in


the OUT pose (45 degrees).

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide A-15


Additional lessons on smart components, conveyors, and more (optional)

• gun_at_open – is a joint value sensor that detects that the dump is in the
OPEN pose (–70 degrees).

• at_WELD_sensor – is a joint value sensor that detects that the dump


is in the WELD pose (0 degrees).

• weld – should be connected to a signal that represents when the dump is


at the WELD pose and the part is present.

• re_weld – should be connected to a signal that represents the rising edge


of weld.

• fe_PartPresent – should be connected to a signal that represents the


falling edge of part present.

• wld_comp – should be connected to a signal that represents the set/reset


of the rising edge of weld and falling edge of part present.

Exits
• at_IN – should be connected to a signal that represents when the dump is
at the IN pose.

• at_OUT – should be connected to a signal that represents when the dump


is at the OUT pose.

• WLD_COMP – should be connected to a signal that represents when


wld_comp and part present.

Activities

In the Dump unit example (optional) section, do the following activities:


• Defining a dump unit (optional)

A-16 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Additional lessons on smart components, conveyors, and more (optional)

Robot interference zone example (optional)

Purpose

In this lesson, you learn how to make a robot interference zone smart
component.

Objectives

After you complete this lesson, you should be able to:


• Define a robot interference smart component.

Interference zone basics

Entries
• RBT1_ENT_ZONE – should be connected to a robot signal describing
whether the first robot is entering the first interference zone

• RBT1_EXT_ZONE – should be connected to a robot signal describing


whether the first robot has exited the first interference zone

• RBT2_ENT_ZONE– should be connected to a robot signal describing


whether the second robot is entering the first interference zone

• RBT2_EXT_ZONE– should be connected to a robot signal describing


whether the second robot has exited the first interference zone

Internal Logic
• A robot is currently in the first interference zone, if robot 1 has entered
the zone, but has not left it yet.

• RBT_CHK_ZONE = SR ( "RBT1_ENT_ZONE" "RBT1_EXT_ZONE" ) OR SR (


"RBT2_ENT_ZONE" "RBT2_EXT_ZONE" )

Exits
• RBT_CHK_ZONE – should be connected to a robot signal representing a
check whether a robot is currently in the first interference zone

Activities

In the Robot interference zone example (optional) section, do the following


activities:
• Defining a robot interference zone (optional)

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide A-17


Additional lessons on smart components, conveyors, and more (optional)

Other ways to create and edit logic blocks (optional)


Purpose
In this topic, you learn other ways to create and edit logic blocks.

Objectives
After you complete this topic, you should be able to:
• Create and edit logic blocks.

Creating and editing logic block basics

The CEE→Logic Block→Create Logic Resource command enables you to


create a logic block. It contains a defined logic behavior derived from one or
more entries, exits, and internal equations.
For example, a logical resource can be used to describe the operation of an
air conditioning system, which activates to change the temperature to a
predefined level according to inputs it receives, such as current readings
from a thermostat. The logic resource contains the logic used to determine
when to activate the air conditioner
Logic resources can contain entry and exit values, as well as any number of
parameters, and constants. These must all have unique names. You can
create expressions that determine which exit value is triggered and under
which conditions.
The CEE→Logic Block→Edit Logic Resource command enables you to
change the names of entries and exits, but not parameters, constants, or
actions.
The CEE→Logic Block→Connect Signals command enables you to
attach its entries and exits to signals. They can be existing signals or created
directly in the Connect Signals dialog box.
You can attach only one signal to entries or exits. However, an entry signal of
type boolean may have one or more attached signals. In this case, the logic
block evaluates the signals as if an OR operation was inserted between them.

Logic block usage


To create a new logic block:
1. Choose CEE→Logic Block→Create Logic Resource .

2. Enter the desired content for the logic block.

To edit a logic block:


1. In the Graphic Viewer or Object Tree, choose the logic block.

A-18 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Additional lessons on smart components, conveyors, and more (optional)

2. Choose CEE→Logic Block→Edit Logic Resource .

3. Change the desired parameters.

To connect signals to logic block entries and exits:


1. In the Graphic Viewer or Object Tree, choose the desired logic block.

2. Choose CEE→Logic Block→Connect Signals .

3. Enter the desired parameters.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide A-19


Additional lessons on smart components, conveyors, and more (optional)

Other selected smart component topics (optional)

Purpose
In this topic, you learn how to setup a frequency converter.

Objectives
After you complete this topic, you should be able to:
• Create a smart component target speed device (frequency converters).

• Use Joint Velocity Controlled velocity profiles.

• Use Joint Acceleration Controlled velocity profiles.

Smart component target speed device (frequency converters)

Devices needing an exact positioning are normally controlled by frequency


converters. These devices do receive an ongoing feedback and control either
their speed or their acceleration/deceleration in order to achieve their target
with highest precision.
An easy example for a similar behavior is an elevator which upon pushing
the target button accelerates at maximum, then slows down and finally stops
at exact position.
The smart components have an additional capability, to allow very accurate
replicas of such frequency converters or speed/target devices.
The velocity profile of a simple target device:

A-20 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Additional lessons on smart components, conveyors, and more (optional)

The velocity profile of a 2 stage (elevator-type) device:

The common behavior: First the device accelerates until it goes up to a given
target speed. An ongoing online feedback informs the device continuously
about its actual position. At a predefined delta distance, before reaching
the target, the speed goes either directly down (simple target) or in order
to achieve higher accuracy, slows down to a much lower speed and when
reaching some delta, the final target decelerates to speed = 0.
Device speed and acceleration control actions can be added while editing
kinematic smart components:
• Joint Velocity Control – Move a joint at a specified speed.

• Joint Acceleration Control – Move a joint at a specified acceleration.

Joint velocity controlled


The Resource Logic Behavior Editor displays the Joint Velocity Controlled
Action section. During a simulation, this action accelerates or decelerates

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide A-21


Additional lessons on smart components, conveyors, and more (optional)

the selected joint to the defined velocity. This velocity is maintained for the
duration of the action and as long as the target velocity has not changed.
• Value Expression - A Boolean expression. When the expression evaluates
to true , the action is initiated. When it evaluates to false , the action is
not initiated or terminates if it is already initiated.

• Target Velocity Expression - A numeric expression that defines the joint


target velocity. When the expression is positive the target velocity is
positive. When it is negative, the target velocity is negative.

• Acceleration Expression - A numeric expression that defines the joint


target acceleration. This expression must always evaluate to a positive
value. If it evaluates to a negative value, the simulation behavior remains
undefined.

• Deceleration Expression - A numeric expression that defines the joint


target deceleration. This expression must always evaluate to a positive
value. If it evaluates to a negative value, the simulation behavior remains
undefined.

Joint acceleration controlled


The Resource Logic Behavior Editor displays the Joint Acceleration
Controlled Action section. During a simulation, this action calculates the
difference between the defined acceleration and deceleration expressions.
If the difference is positive, the action accelerates the selected joint to the
calculated value. If the difference is negative, the action decelerates the
selected joint.
• Value Expression - A Boolean expression. When the expression evaluates
to true , the action is initiated. When it evaluates to false , the action is
not initiated or terminates if it is already initiated.

• Target Velocity Direction Expression - A Boolean expression that defines


the joint direction of motion. When the expression evaluates to true , the
velocity is positive. When it evaluates to false , the velocity is negative.
This expression defines only the joint direction of motion but not
its velocity.

• Acceleration Expression - A numeric expression that defines the joint


target acceleration. This expression must always evaluate to a positive
value. If it evaluates to a negative value, the simulation behavior remains
undefined.

• Deceleration Expression - A numeric expression that defines the joint


target deceleration. This expression must always evaluate to a positive

A-22 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Additional lessons on smart components, conveyors, and more (optional)

value. If it evaluates to a negative value, the simulation behavior remains


undefined.

The following holds true for both, velocity or acceleration control:


If you load a logic block resource and the Joint parameter is missing
from the Joint Velocity Controlled action (there are certain types of
studies where it may have been deleted), the action is not loaded and
the system issues a warning message.

Activities
In the Other selected smart component topics section, do the following
activities:
• Target speed devices (optional)

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide A-23


Additional lessons on smart components, conveyors, and more (optional)

Weld controller example (optional)


Purpose
In this topic, you learn how to create an example weld controller smart
component.

Objectives
After you complete this topic, you should be able to:
• Create a weld controller smart component.

Weld controller basics


Here are some of the connections you setup for the weld controller:
Entries
• WLD_CYC_GUN1 – should be connected to a robot signal which controls
the weld cycle of gun1

• WLD_CYC_GUN2 – optionally can be connected to a robot signal which


controls the weld cycle of gun2

• WLD_CNTR_GUN1 – should be connected to a signal which totals how


many welds have been performed by gun1

• WLD_CNTR_GUN2 – optionally can be connected to a signal which totals


how many welds have been performed by gun2

• TD_CYC_CNT - should be connected to a signal which stores the total


cycle count for this robot

• TD_COMP_GUN1 – should be connected to a signal which stores the


whether the max number of welds of gun1 was not reached

• TD_COMP_GUN2 – optionally can be connected to a signal which stores


the whether the max number of welds of gun2 was not reached

Internal logic
• The weld counter value of gun1 equals one more than the current value
of the weld counter, if the max is not exceeded

• The weld counter value of gun2 equals one more than the current value
of the weld counter, if the max is not exceeded

• If the weld gun1 was cycled and the max number of welds was not
reached, then the gun1 weld counter is set the weld counter value.

A-24 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Additional lessons on smart components, conveyors, and more (optional)

• If the weld gun2 was cycled and the max number of welds was not
reached, then the gun2 weld counter is set the weld counter value.

• If the weld gun1 was cycled, reset its value

• If the weld gun2 was cycled, reset its value

• If the max number of welds for gun1 was reached, reset its value

• If the max number of welds for gun2 was reached, reset its value

• If the weld counter for gun1 is greater than one less than the total cycle
count for this robot, then total cycle for gun1 has been reached

• If the weld counter for gun2 is greater than one less than the total cycle
count for this robot, then total cycle for gun1 has been reached

Parameters
• WLD_CNTR_VAL_GUN1 – is a signal which represents

• WLD_CNTR_VAL_GUN2 – is a signal which represents

Exits
• WLD_CYC_GUN1 – (same as the entry)

• WLD_CYC_GUN2 – (same as the entry)

• WLD_CNTR_GUN1 – (same as the entry)

• WLD_CNTR_GUN2 – (same as the entry)

• TD_CYC_GUN1 – should be connected to a signal which stores the total


cycle of gun1

• TD_CYC_GUN2 – optionally can be connected to a signal which stores


the total cycle of gun2

• TD_COMP_GUN1 – (same as the entry)

• TD_COMP_GUN2 – (same as the entry)

Activities
In the Weld controller example (optional) section, do the following activities:
• Defining a weld controller (optional)

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide A-25


Additional lessons on smart components, conveyors, and more (optional)

PLC example (optional)

Purpose
In this topic, you learn how to create an example PLC.
This smart component may not be needed, since the contents are
basically a combination of other smart components you created earlier
in this course.

Objectives
After you complete this topic, you should be able to:
• Create a basic PLC smart component.

PLC basics
In this topic, you used what you have already learned to connect signals to a
smart component named PLC CABINET. It contains all the needed logic for
gathering several types of common statistics in a study. Here are some of
the statistics you setup in this topic:
Entries
• CYC_CMP_S1 – should be connected to a robot signal telling whether the
last robot’s cycle of style 1 is complete.

• CYC_CMP_S2 – optionally can be connected to a robot signal telling


whether last robot’s cycle of style 2 is complete.

• CYC_CMP_S3 – optionally can be connected to a robot signal telling


whether the last robot’s cycle of style 3 is complete.

• JOB_CNTR_TOTAL – should be connected to a signal representing the


total number of jobs processed

• JOB_CNTR_S1 – should be connected to a signal representing the total


number of style 1 parts processed

• JOB_CNTR_S2 – optionally can be connected to a signal representing the


total number of style 2 parts processed

• JOB_CNTR_S3 – optionally can be connected to a signal representing the


total number of style 3 parts processed

• START_CYCLE — is connected to a signal representing when a cycle is


started.

A-26 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Additional lessons on smart components, conveyors, and more (optional)

• NEXT_CYCLE — is connected to a signal representing when the next


cycle is started.

• START_TIME — is connected to a signal representing the start time.

• RUN_TIME — is connected to a signal representing the run time.

Internal logic
• The current value of elapsed time equals the previous value of elapsed
time plus the time interval.

• The total number of jobs equals one more than the job counter total.

• If the first, second, or third robot’s cycle is complete, then the average
cycle equals the elapsed time divided by the total number of jobs.

• If the last robot’s cycle of style 1 is complete, then current style 1 job
counter equals one more than its previous value.

• If the last robot’s cycle of style 2 is complete, then current style 2 job
counter equals one more than its previous value.

• If the last robot’s cycle of style 3 is complete, then current style 3 job
counter equals one more than its previous value.

• ELSPD_TIME = "ELSPD_TIME" + "TIME_INTERVAL"

• TOTAL_JOBS = "JOB_CNTR_TOTAL" + 1

• RE_START_CYC = RE ( "START_CYCLE" )

• RE_NEXT_CYC = RE ( "NEXT_CYCLE" )

• AVERAGE_CYCLE = "ELSPD_TIME" / "TOTAL_JOBS"

• JOB_CNTR_TOTAL = "TOTAL_JOBS"

• JOB_CNTR_S1 = "JOB_CNTR_S1" + 1

• JOB_CNTR_S2 = "JOB_CNTR_S2" + 1

• JOB_CNTR_S3 = "JOB_CNTR_S3" + 1

• LAST_CYCLE = "ELSPD_TIME" - "RUN_TIME"

• SET_START_TIME = "ELSPD_TIME"

• SET_RUN_TIME = "START_TIME"

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide A-27


Additional lessons on smart components, conveyors, and more (optional)

• JPH = ("TOTAL_JOBS" / "ELSPD_TIME") * 3600

Parameters

• ELSPD_TIME – is connected to a signal representing the time of the


elapsed time.

• TOTAL_JOBS – is connected to a signal representing the total jobs.

• RE_START_CYC – is connected to a signal representing the rising edge of


the start cycle..

• RE_NEXT_CYC – is connected to a signal representing the rising edge


of the next cycle.

Exits

• AVG_CYCLE – Average number of parts processed

• JOB_CNTR_TOTAL – optionally can be connected to a Total number of


parts processed

• JOB_CNTR_S1 – should be connected to a signal representing the total


number of style 1 parts processed

• JOB_CNTR_S2 – optionally can be connected to a to a signal resenting


the total number of style 1 parts processed

• JOB_CNTR_S3 – optionally can be connected to a signal representing the


total number of style 3 parts processed

• LAST_CYCLE – is connected to a signal representing the time of the last


cycle.

• SET_START_TIME – is connected to a signal representing the start time.

• SET_RUN_TIME – is connected to a signal representing the run time.

• JPH – is connected to a signal representing jobs performed per hour.

Activities

In the PLC example (optional) section, do the following activities:

• Defining a PLC cabinet (optional)

A-28 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Additional lessons on smart components, conveyors, and more (optional)

Summary
Subjects learned in this topic:
• How to create and use smart components.

• How to create a simple smart component.

• How to use other signal functions.

• How to create a simple robot controller.

• How to create internal pose sensors.

• How to create a smart tip dresser.

• How to create a smart safety gate.

• How to copy a logic block.

• To create a smart panel view.

• How to create logic block pose actions and sensors.

• Got an overview of conceptual conveyors and skids.

• How to define a conceptual conveyor.

• How to edit conceptual conveyors and behavior.

• How to create an example conveyor.

• How to define a conceptual skid.

• How to create an example weld controller.

• How to create an example PLC.

• How to use connection mapping to import signals and logic block


connections exported from an eCAD system.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide A-29


Appendix

B More event-based examples


(optional)

Purpose
In this lesson, you learn more about event-based simulations using other
examples that are similar to those used earlier in this course.

Objectives
After you complete this lesson, you should be able to:
• Setup and use a robot zone using a different signal methodology.

• Setup and use robot pick and place using a different signal methodology.

• Setup and use macros using a different signal methodology.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide B-1


More event-based examples (optional)

Sending signals between multiple objects (CNC / robot example)


This topic describes how to send signals between multiple objects.
It contains the following subtopics:
• Create and use input and output robot signals.

Robot signal basics

A common situation is the combined use of Logic resources and 3D elements.


This Activity concentrates on both additional features for logic block as well
as the integration of a logic resource into a 3D simulation scenario.

Creating a new input signal

In the Robot Signals dialog box, clicking New Input Signal opens the
Input Signal dialog box, allowing inserting the PLC signal name as well
as the relevant robot signal name:

B-2 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
More event-based examples (optional)

The names used for the Robot Signal Name are what is used as part
of the OLP strings on locations.

Actually the robot OLP signals are not just strings like in ROBCAD (or
a when loading a study in Standard Mode in Process Simulate). They
are real objects, changing their names in this signal list automatically
changes the names in the OLP commands.

Users may also change the PLC signal name in the Signal Viewer as
well.

Activities

In the Sending signals between multiple objects (CNC / robot example)


section, do the following activities:
• Setting up the robot and CNC interface communication

• Adding the CNC animation

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide B-3


More event-based examples (optional)

Robot signal connection and synchronization

Purpose
In this topic, you learn how to do robot signal connection and synchronization.

Objectives
After you complete this topic, you should be able to:
• Setup a robotic interference zone using robotic signals.

Connection and Synchronization Charts

In this topic you setup a zone between two robots using Send Signal / Wait
Signal OLP commands and a module.

B-4 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
More event-based examples (optional)

Another way to do it would be to setup a logic block.

Activities

In the Robot Signal Connection and Synchronization section, do the following


activities:
• Robotic Signals

• Creating and using a Module

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide B-5


More event-based examples (optional)

Pick and place operations and macros


Purpose
In this topic, you learn how to create pick and place operations and macros.

Objectives
After you complete this topic, you should be able to:
• Be aware of several ways to setup a robot to grip and release parts.

Pick and place basics


Besides being a heavily used production resource carrying out all kind of
manufacturing activities, robots are also heavily used for handling operations.
You can separate their handling activities into two well distinguished actions:
• Gripping and releasing a part

• Moving from a start location to a target location

It is in fact a combination of operations that you have already used during


this training.
The new and different combination is by the use of signals – like in the real
robot – to drive the gripper.
How this can be achieved, together with re-usable pre-made code is the
topic of this activity.

The signal exchange between a robot and a device controller


Robots normally communicate with mounted devices such as welding guns,
clamps, mechanical grippers or any other resource that can be operated
(magnetic grippers etc.). They in fact communicate with the device controller
of the mounted device.

B-6 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
More event-based examples (optional)

The entire information exchange is done by signals. These signals are for
the robot controller the same as those going or coming from the PLC. It is
therefore a natural enhancement that this can also be simulated in or system.
Earlier in this course you created smart component clamps. Now, you
apply the same principle to robotics. The device controller is a Logic
Block used for each robot. They are named GripperControllerRed and
GripperControllerBlue. The controlling algorithm is quite simple, but is
enough to illustrate the use of a Logic Block as a device controller:
• When the grip_required is true , then trigger the grip operation

• When the release_required signal is true, then trigger the release


operation

• When (@grip AND grip_required) OR (@release AND


release_required) then give a feedback to the robot action done.

Upon exporting the Logic Block to excel you should see the implementation of
this.
In the scope of this activity the needed signals as shown in the connections
should be sent from the robots. In a second step this is done in a more
efficient and re-usable way.

Notes on grip and release


There are two ways to perform a grip of a part:
• Use the Grip OLP command, which inserts:
o # Desitination gripper

o # Drive CLOSE

o # Desitination gripper

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide B-7


More event-based examples (optional)

o # WaitDevice CLOSE

o #Grip gripper_frame

• Use a combination of the Send Signal, Wait Time, and Wait for Signal
OLP commands (and a logic block), which inserts:
o # Send grip_req 1

o #WaitSignal Done_req 1

o #Send grip_req 0

There are two ways to perform a release of a part:


• Use the Release OLP command which inserts:
o # Release gripper_frame

o # Desitination gripper

o # Drive OPEN

o # Desitination gripper

o # WaitDevice OPEN

• Use a combination of the Send Signal, Wait Time, and Wait for Signal
OLP commands (and a logic block) which inserts:
o # Send rel_req 1

o #WaitSignal Done_req 1

o #Send rel_req 0

Activities

In the Pick and place operations and macros section, do the following
activities:
• (No activities)

B-8 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
More event-based examples (optional)

Grip and release robot macros


Purpose
In this topic, you learn how to create and use robot macros.

Objectives
After you complete this topic, you should be able to:
• Create and use robot macros.

More robot macros


Here are some other macro examples:
• Macro GRIP

• # Send grip_req 1

• # WaitTime 1

• # WaitSignal Done_req 1

• # Send grip_req 0

• Macro RELEASE

• # Send rel_req 1

• # WaitTime 1

• # WaitSignal Done_req 1

• # Send rel_req 0

• Macro WELD_GUN1

• # Weld

• # WaitSignal checkWeldFault1 0

• # Send cycleWeldgun1 1

• # GunToState

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide B-9


More event-based examples (optional)

• Macro WELD_GUN2

• # Weld

• # WaitSignal checkWeldFault2 0

• # Send cycleWeldgun2 1

• # GunToState

• Macro TIPDRESS_GUN1

• # Send startTipdressMotor 1

• # WaitSignal TipdressComplete 1

• # Send startTipdressMotor 0

• # Send TipdressCycleComp1 1

• Macro TIPDRESS_GUN2

• # Send startTipdressMotor 1

• # WaitSignal TipdressComplete 1

• # Send startTipdressMotor 0

• # Send TipdressCycleComp2 1

Activities

In the Grip and release robot macros section, do the following activities:
• Using grip and release robot macros

B-10 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
More event-based examples (optional)

Merge stations into a line


Purpose
In this topic, you learn how to merge several stations into a line.
In this topic you learn about the process of merging two stations to
make one study using the Merge Studies command.

Objectives
After you complete this topic, you should be able to:

• Use Merge Studies command to merge several station studies into


a line study.

Basic use case


Examine Station 2:
• Load the second station and run the simulation.

Merge to a line-level study:

• Use the Merge Studies command to merge two station level studies
into a new line level study.

• Open the study.

• Update the logic that passes the parts from one station to the next.

Run Simulation
• Play the simulation.

o In the Sequence Editor, click Play Simulation Forward .

o Watch the simulation.

Merge studies details

The Merge Studies command enables you to merge the engineering data
from a number of different studies into a single, new study.
1. Select a studyfolder containing the desired studies.

2. Select Tools→Merge Studies .

3. Enter a New Study Name.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide B-11


More event-based examples (optional)

4. Select the desired studies from the Available Studies list and click >>.

5. Click Merge to complete the operation.

B-12 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Appendix

C Virtual commissioning /
connecting to a PLC (optional)

Purpose
To learn a little bit about virtual commissioning with Process Simulate.

Objectives
After you complete this chapter, you should be familiar with:
• How to simulate in OPC mode.

• How to map between of PLC and the CEE environment.

• How to setup non-sim operations and modules for the OPC simulation.

• How to put it all together

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide C-1


Virtual commissioning / connecting to a PLC (optional)

Virtual commissioning basics

Purpose
In this lesson, you get background information about PLCs and virtual
commissioning, and learn about OPC setup.

Objectives
After you complete this lesson, you should be able to:
• Understand the basics of PLCs and virtual commissioning

• Understand more about the OPC standard.

• Understand more about pre-requisites for running an OPC simulation.

• Understand more about OPC.

Introduction

Introduction to virtual commissioning


Today’s highly automated and flexible manufacturing systems are all
controlled by programmable logic controller (PLC) programs that include
sophisticated tooling, robots, transfer lines and other safety equipment. PLC
programming allows manufactures to alter production lines without having
to completely retool the entire facility. However, whenever changes are made,
engineers still have to stop the production for an extended period of time
while they debug the PLC programs against live equipment.
With Process Simulate virtual commissioning, you can debug your PLC
program on a virtual environment before downloading it to real equipment.
By simulating and validating your automation equipment virtually, you can
confirm it works as expected and significantly reduce system startup time.

Important terms
Here are some terms that you should be familiar with when doing virtual
commissioning:
• Programmable logic controller (PLC) — a computer used for the
control, sequencing, and safety interlock of factory assembly lines. It
detects the state of all connected input devices, executes a user created
program, and energizes or de-energies all connected output devices.

• Human-Machine Interface (HMI) — allows an operator to interact


with the PLC for configuration, reporting, or everyday control.

C-2 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Virtual commissioning / connecting to a PLC (optional)

• Interlock — used to prevent undesired states in a machine such as


harming its operator or damaging itself by stopping the machine. They
could be as sophisticated as light screens, or could be just switches. For
example, a dishwasher stops, if you open it.

Virtual commissioning benefits


Virtual commissioning is an environment for testing, simulation and debug
of PLC programs, the HMI, and the automation scheme of a factory. Using
it, you have:
• Shorter time to production

• Quicker change cycle

• Better quality PLC program

• Optimized performance

• Decreased cost of production stop and prototype parts

Virtual commissioning creates a realistic shadow of a production environment


to test and debug the PLC program on a PLC. It does not create a PLC
program. This testing can be done long before the real system is built to
minimize impact on existing production. It can connect to real PLC hardware
or a virtual PLC through OPC or emulate the PLC using CEE.

Evaluating system behavior


Process Simulate can be used to evaluate mechanical and automation system
behavior in one system, such as:
Mechanical engineer tasks
The mechanical engineer performs several tasks, including:

• Setup and use kinematic devices

• Creation of robot programs

• Sequences of mechanical devices such as robots

• Creation and validation of a 3D Layout

• Robot clearances

• Station cycle time

Electrical engineer tasks

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide C-3


Virtual commissioning / connecting to a PLC (optional)

After the electrical engineer has created a PLC program, Process Simulate
can help with commissioning (testing) it. a combination of objects in the
real world and virtual world of Process Simulate can be connected to the
PLC to perform:

• Testing device inputs and outputs

• Test PLC logic

• Test interlocks

• Test HMI

Programming languages used for PLCs

Process Simulate does not create PLC code. Instead, it connects to a PLC
(through OPC) running a PLC program. It doesn’t matter how the PLC
program is written, however unless you are running a Siemens PLC, the
signal names must match in Process Simulate and on the PLC.
Here are some example PLC programming languages:
• Ladder logic — (or ladder diagram) a programming language used to
program PLCs that uses a graphical diagram representation. The name
is based on the observation that programs in this language resemble
ladders, with two vertical rails and a series of horizontal rungs between
them (each representing a relay). Ladder Logic programming has been
expanded to include such functions as counters, timers, shift registers,
and math operations.

• Function block diagram — a graphical language showing signal and


data flows though reusable function blocks. It is useful for showing the
interconnection of control system algorithms and logic.

C-4 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Virtual commissioning / connecting to a PLC (optional)

• Structured text — A high level text language that encourages structured


programming. It has a syntax that resembles pascal and supports a wide
range of standard functions and operators.

• Instruction list — A low level “assembler like” language that is based on


instructions list languages found in a wide range of today’s PLCs.

• Sequential function chart — A method of programming complex control


systems at a structured level. The program is an overview of the control
system, in which the basic building blocks are entire program files. Each
program file is created using one of the other types of programming
languages. This approach coordinates large, complicated programming
tasks into smaller, more manageable tasks.

Virtual commissioning using OPC


The OLE for Process Control (OPC) simulation option in Process Simulate
requires a Process Simulate Commissioning license. To use OPC

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide C-5


Virtual commissioning / connecting to a PLC (optional)

simulation, the OPC server provided by the vendor must be correctly installed
on the PC.

The OPC classic standard


On a PC, OPC is based on Microsoft's OLE environment and therefore
requires the OLE 'COM' technology to be installed as part of the operating
system. The OPC standard defines objects, methods, and properties to
meet the interoperability requirements of real time process automation
applications. The requirements include the following:
• A standard technique for addressing information contained in process
control devices and systems.

• An efficient transfer of data from a process device to an application.

• Server-specific configuration support.

• Client / server and modular architecture.

• The ability for a client to use several servers simultaneously.

Most automation vendors support the OPC interface for data transfer
between host system computers and Microsoft Windows applications, both
for general purposes and for operation and monitoring functions. For more
information, see the OPC Foundation website (opcfoundation.org).

OPC architecture
The OPC classic standard consists of servers that transfer data between
control host systems and general purpose interfaces for accessing these
servers. For example:
• Data Access (DA) server - Reads (collects) and writes (sets) the current
values of process data, using item IDs (variable names) as data identifiers.

• Alarms and Events (AE) server - Reports alarms and events from process
fields. The alarms and events occur asynchronously.
For OPC simulation, Process Simulate only communicates with
the DA server. The vendor provided OPC server must be correctly
installed on the PC. Normally a test client is provided to test the
correct working of the server. After installing an OPC server, the
PC must be rebooted to make it work.

To use OPC simulation with Process Simulate, you must have a running
(virtual PLC or) OPC server connected to a PLC software. This OPC server
establishes a connection between the PLC software and Process Simulate
using the COM interface. Process Simulate translates the signal names to

C-6 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Virtual commissioning / connecting to a PLC (optional)

IDs, runs the simulation in its Graphic Viewer, and exchanges data with
the OPC server.

Configure your OPC server


1. Open the OPC server configuration tool.

2. Set up a new connection including the IP address of the PLC server.

Open the logic on the PLC


1. Start your PLC software.

2. In the PLC software, open the file containing the logic that you want to
use to control the Process Simulate simulation.
This is a PLC file, not a Process Simulate file.

3. Prepare to simulate the logic in the PLC software.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide C-7


Virtual commissioning / connecting to a PLC (optional)

Simulating in Process Simulate using OPC mode


Purpose
In this lesson, you learn how to switch Process Simulate to simulate in OPC
mode.

Objectives
After you complete this lesson, you should be able to:
• Learn about the stages of cell design.

• Learn more about the OPC simulation concept and standard.

• OPC Architecture OPC architecture.

The stages of cell design


The design of production stations must account for many robots and controlled
devices. Designers typically divide the design process into two stages:
• The first stage of design (after programming the path or the specific device
behavior) is to ensure that the station works in conjunction with all of its
resources. In order to simulate real behavior, the logical dependencies
of different resources in the production station must be defined. The
logical dependencies must interact with events and production variances.
Line-builders and OEM line designers carry out this task.

• The second stage of design is to create a detailed PLC program, enabling


the design and coding of the overall logic. To verify the logic in a
simulated environment, the OPC client functionality built into Process
Simulate is used. This is done with careful consideration of the PLC that
is actually used to control the production station. This step is critical in
the deployment of the line. Line-builders, engineering houses, system
integrators, and others carry out this task.

Using the event-based simulation module in Process Simulate, you carry out
the two stages of design on a single platform, reducing the time of on-site
integration and the cost of changes.

Connecting to a PLC using OPC


The default simulation engine in Process Simulate line simulation mode is
CEE (Cyclic Event Evaluation). However, this can be switched to one of these
PLC options: SIMIT, PLCSIM, or OPC (External Connection). To do this:
1. Choose Tools→Options.

2. In the Options dialog box, click the PLC tab.

C-8 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Virtual commissioning / connecting to a PLC (optional)

3. Choose the desired PLC options:


• PLCSIM or SIMIT - Configures Process Simulate to operate in PLCSIM
or SIMIT mode. This is used to connect directly to a Siemens PLC.

• External Connection (OPC) - Configures Process Simulate to act as


an OPC client, based on the OPC standard for interfacing with PLC
servers, regardless of the vendor being used. You can connect Process
Simulate to a real PLC device via a local or remote OPC server. This is
used to connect to any PLC that supports OPC, including Siemens.

4. Click Connection Settings and enter the required settings such as Name,
OPC server, and Item header.

Activities
In the Simulating in Process Simulate using OPC mode section, do the
following activities:
• Beginning to set the OPC settings

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide C-9


Virtual commissioning / connecting to a PLC (optional)

More on Process Simulate PLC simulation


Purpose
In this lesson, you build on your knowledge of PLC (OPC) simulation in
Process Simulate.

Objectives
After you complete this lesson, you should be able to:
• Learn more about connecting to a PLC using OPC.

• Learn more about other PLC simulation modes besides OPC.

Process Simulate as an OPC client


When running with OPC, Process Simulate acts as an OPC client. This means
that in order to exchange values with the OPC server the same identifiers
must exist in both systems. These identifiers are normally given as variable
names (also known as signals). You must verify that the variable names on
the OPC server and signal names in Process Simulate match.
If using a Siemens PLC, you can alternately match signals based on
its address.

Should Process Simulate try to read or write nonexisting variables on the


OPC server, an error message dialog box is shown.

In this example, three signals in Process Simulate called Key Signal, Key
Signal1, and Key Signal2 have been created and run with a program on a
OPC server where they do not exist.

Activities
In the More on Process Simulate PLC simulation section, do the following
activities:
• Setting up the process for OPC mode

C-10 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Virtual commissioning / connecting to a PLC (optional)

• Trouble-shooting

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide C-11


Virtual commissioning / connecting to a PLC (optional)

PLC to Process Simulate mapping


Purpose
In this lesson, you learn about PLC to Process Simulate signal mapping.

Objectives
After you complete this lesson, you should be able to:
• Know your options for mapping signals.

• Use the signal mapping tools.

Introduction to signal mapping


The exchange of data using the OPC standard is based on the signal name
(unless using a Siemens OPC). You must verify that signals have the same
name in both systems (OPC server and Process Simulate). Typically, you
connect signals such as sensor signals or robot signals. To facilitate this,
many tools are provided to automatically import, connect and map signals.
Signals related to operations such as _end or _start signals are not
mapped, since they are internal to how Process Simulate operates.

Tools available to map the signals to Process Simulate for an OPC client
Several different tools are at your disposal:
1. Ideally, the PLC and Process Simulate operators follow a standard for
naming signals so that no renaming or mapping of signals is required.
(recommended)

2. An integrated Excel mapping tool

3. A rename signals using the resource name tool

4. A Siemens S7 direct mapping tool (takes care of the specific S7 address


mapping option)

5. XML signal data import (rarely done)

6. Manually renaming signals (rarely done)

Tools to help follow a standard for naming signals


You can create Excel spreadsheets that are templates for the signals to be
connected to various types of devices. Just rename the signal prefix and the
object to connect them to in the Excel spreadsheet and then import it into
Process Simulate.

C-12 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Virtual commissioning / connecting to a PLC (optional)

Creating and connecting signals to logic blocks

You use the Connection Mapping command (on CEE→Logic Block) to


import an .XLS file generated by an eCAD application. You can use the
information contained in the file to automatically create signals and connect
them to entries and exits in logic blocks. The command also creates a report
of the connections it has made.
File format:
The information is displayed in the file in the following columns:
• ResourceName — The name of the logic block.

• CategoryNameProvider — This column is for future use.

• PinName — The name of the entry or exit of the logic block to connect
the signal to.

• SignalWireName — The name of the signal.

• SignalType — The type of the signal: I - input ; Q - output. By default,


if no SignalType was specified (either the column is missing or contains
an empty value), Entry will create an output signal and Exit will create
an input signal.

• Address — The address of the signal. This optional column is only needed
if you are using a Siemens OPC connection and selected to map using
the address instead of the name.

• Comment — An optional comment for the signal.

• External Connection — Name of the External (OPC) Connection to which


the signal is wired.

eCAD applications do not generate column headings, you must edit


the file yourself to insert these. Use the exact column names for the
command to succeed. If your eCAD application generates a file with a
different order of columns, this is acceptable.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide C-13


Virtual commissioning / connecting to a PLC (optional)

Importing robot signals and their connected signals

You use the Import Signals command in the Robot Signals dialog box
to import the root signals and their connected signals (what is shown in the
Signal Viewer).
• PREFIX — A prefix for the signals.

• InterfaceName — Signal name as shown in the Signals Viewer.

• RobotInternalName — Signal name as used by the robot.

• I_Q — Specify input or output signal from the perspective of the PLC.
Either I - input ; Q - output.

• TYPE — Specify the signal type such as BOOL for boolean.

• Address — The address of the signal. This optional column is only needed
if you are using a Siemens OPC connection and selected to map using
the address instead of the name.

• Comment — An optional comment for the signal.

Following a standard for naming signals

To perform automatic logic block connection mapping and signal creation

1. Choose CEE→Logic Block→Connection Mapping . The Open dialog


box appears.

2. Select the Excel file you want.

3. The following is performed automatically:


• Searches for the logic block specified in the ResourceName column.

• Checks if the signal specified in the SignalWireName column exists


for the resource.

• If the signal does not exist, the command creates the signal.

C-14 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Virtual commissioning / connecting to a PLC (optional)

You can view the signals in the Signal Viewer.

Important and connecting robot signals to regular signals


1. Select a robot.

2. Choose Robotics→Robot Signals .

3. From the Robot Signals dialog box, click Import Signals .

4. Select the Excel file you want.

OPC to Process Simulate Excel mapping tool

You use the Signal Mapping command (on the Signals Viewer) to import
an Excel spreadsheet to map signals between the Process Simulate and OPC
(PLC) environments. (Microsoft Excel must be installed in order to run this
feature)

You use Signal Mapping to automatically replace signal names created


in one nomenclature with new names of another nomenclature. Often,
different engineers working on elements of a simulation choose signal names
differently. Creating the simulation can require standardizing thousands of
signal names named by different methods to one naming method. You can
standardize the names manually, but for large numbers of signals, it is useful
to be able to replace the names automatically. Signal data is often kept in
spreadsheet format. So, you use Signal Mapping to replace signal names
in a simulation program.

For example, you can use Signal Mapping to transfer signals named in
mechanical engineering terminology to corresponding names in electrical
engineering terminology. The replacement of one set of signal names and
parameters with another is referred to as mapping.

Signal Mapping reads an Excel spreadsheet file containing the new signal
names and other parameters.

An icon on the Signal Viewer launches the Signal Mapping Tool , which
processes the spreadsheet file, making all legal mappings. If the input
spreadsheet file contains more than one worksheet, all of the worksheets
are processed.

The Signal Mapping Tool creates a log file during the mapping process,
indicating any errors encountered in processing the spreadsheet file. The log
file is created in the directory of the input spreadsheet file.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide C-15


Virtual commissioning / connecting to a PLC (optional)

File format
The signal mapping tool ignores the first row of the Excel spreadsheet file so
you can place a title in the first row. The remaining lines contain the signal
names and other information for the signal mapping.
Each line contains the information for one signal. The expression EOF in the
first cell of a line indicates the end of the signal mapping data. When Signal
Mapping processes the file, it stops when it reaches EOF. You may insert
blank lines in the spreadsheet for organizational purposes.
The first five columns of the spreadsheet, contain the fields described in the
following table.
Required/Optional
Description
Required Mechanical Name — the name of the signal in the
current program. The Signal Mapping Tool replaces this
name during mapping.
Required Electrical Name — The Signal Mapping Tool replaces
a signal's Mechanical Name with this name during
mapping.
Optional Type — the signal type. The legal values are BOOL,
BYTE, WORD, DWORD, INT, DINT, and REAL. The
field is not case-sensitive. The value in the input file
replaces any previous Type value for the signal.
Optional Address — only needed if you are using a Siemens
OPC connection and selected to map using the address
instead of the name.
Optional Comment — a description of the signal. If a comment
already exists for the signal in the simulation program,
the Signal Mapping Tool combines the old comment with
the new one from the input file. The resulting comment
is comprised of:
• The previous name of the signal.

• The new comment from the input file.

• The previous comment.


Optional External Connection — to update a signal’s external
connection to a OPC (PLC). Specify it as shown on the
PLC tab of the Options dialog box.

Address field format


Format of the Address field for signals of type
BOOL:<Prefix><Byte><Separator><Bit>
Where:

C-16 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Virtual commissioning / connecting to a PLC (optional)

• Prefix: I, M, Q, or none.

• Byte: an integer, 0 - 65535

• Bit: an integer, 0 - 7

• Separator: “.” (the period character)

Examples of Address field for type BOOL:


• I0.1, M1.4, Q2.3, 1.3

Format of the Address field for signals other than type BOOL:
<Prefix><Byte>
Examples of Address field for signals other than type BOOL:
• IB40, MW9, QD100, IR23

The following is an example of an Excel spreadsheet input file:

The example illustrates that Row 1 is used for column titles. Signal mapping
ignores the first row.
In the example, Row 7 is blank. The blank row does not interrupt the signal
mapping process. In the example, several Type, Address, and Comment fields
are undefined, illustrating that they are optional fields. The Signal Name and
Electrical Name fields are required and they are all defined in the example.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide C-17


Virtual commissioning / connecting to a PLC (optional)

Using the OPC to Process Simulate Excel mapping tool

Preparing a file for (OPC) PLC mapping

these steps help you create the import file, by first exporting a list of your
signals in Process Simulate.

1. From the Signals Viewer, click Export to Excel , enter a filename,


and click Save.

2. In Excel, sort based on the PLC Connection column and delete all FALSE
rows.

3. In Excel, delete these columns: Memory, IEC Format, PLC Connection,


and Resource.

4. In Excel, rename the Signal Name column to Mechanical Name.

5. In Excel, insert a new column named Electrical Name.

6. From the Signals Viewer, click Signal Mapping

7. Look in the OPC (PLC). Insert the signal name as shown on the OPC
(PLC) into the Electrical Name column for the desired rows.

The address column is only used by Siemens OPC connections, if


you selected to map using the address instead of the name.

To perform Process Simulate to (OPC) PLC mapping

1. From the Signals Viewer, click Signal Mapping


An Open dialog box appears.

2. Browse to the prepared Excel spreadsheet file.


The signal names in Process Simulate are renamed to match the
equivalent signal on the OPC (PLC).

3. Click Open.

4. The mapping process begins. During the mapping, the cursor changes
to an hourglass to indicate that the mapping is in progress. When the
mapping finishes successfully, the following dialog box appears.

C-18 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Virtual commissioning / connecting to a PLC (optional)

5. Click Yes to view the log file (or No to close the dialog box).

Signal mapping warnings and errors

Run-time
Before mapping the signals contained in the spreadsheet file, it checks the
currently loaded program for duplicate signal names. If the signal mapping
finds duplicate names, it displays the following dialog box. The dialog box
indicates that signal mapping maps a new signal name from the input file to
only one of the signals in the currently-loaded program, even if other signals
share the same name.

You use this dialog box to cancel the process before mapping any signals. If
the signal mapping tool is unable to read the input file or unable to create a
log file then a dialog box appears indicating the error.

Log file
If the signal mapping tool encounters a problem mapping a signal in the
input file, it reports the details of the problem in the log file. Each entry
in the log file identifies the problematic signal by indicating the sheet and
line number of the signal in the input file. Signal Mapping Tool reports
two types of problems:
• Warning – The signal was mapped, but the signal mapping tool is
reporting an unusual situation.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide C-19


Virtual commissioning / connecting to a PLC (optional)

• Error – The signal was not mapped or was only partially mapped. Partial
mapping indicates that the signal was mapped, but that one or more
optional attributes were not included in the mapping.

• Examples of a log file warning:


o Warning: (Sheet2, line 2): signal with mechanical name
"M_1_at_CLOSE" was previously mapped to

o "E_1_at_CLOSE". Signal mapped again to "E_1_at_CLOSE".

• Example of a log files error:


o Error: (Sheet2, line 2): The mechanical-name is missing. Mapping
entry was skipped.

Rename signals using resource names

To prepare the simulation to run with a real PLC (OPC) you need to change
the names of the signals, because many PLCs don’t accept signal names
that start with a number or have spaces in them. With OPC, you need to
have the same signal name on the OPC server and in the Process Simulate
study. One way to rename the signals, is to rename the resource that it is
related to it. You can use the Rename by Resource command to rename the
signals, for example from a device operation, for a resource). In the context
of commissioning, you should only use this command if it makes the signals
the same between the OPC and Process Simulate.

Renaming signals by resource

In the context of commissioning, you should only use this command if it


makes the signals the same between the OPC and Process Simulate.
1. In the Object Tree, rename a resource so that it is like the signal prefix in
the OPC for the signals of a resource.

2. Select the resource and choose CEE→Rename by Resource.


The related signals now match what is found in the OPC.

The direct Step 7 mapping tool

When using Simatic Step 7, there is an additional option for mapping signals:
The Step 7 .sdf file format. It is supported directly. You use the External
Mapping Tool command (on the Signals Viewer) to map existing signals
in an Step 7 (Simatic) project to the signals used in a Process Simulate
simulation.

C-20 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Virtual commissioning / connecting to a PLC (optional)

File format
The .sdf file format is as follows:
Symbol Name (24 char.) | Address (12 char.) | Data Type (10 char.) |
Comment (80 char.)
For example:

Using the direct Step 7 mapping tool

Opening the Step 7 tool and reading an SDF file

1. From the Signals Viewer, click External Mapping Tool .

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide C-21


Virtual commissioning / connecting to a PLC (optional)

2. For S7 Symbol File, click Browse and select an SDF file.

3. Click Open

Map a Simatic signal to a Process Simulate signal


You must first open a SDF file in the External Mapping dialog box.
1. In the External Mapping dialog box, select a signal in the Signal List.

2. Select a signal in the in the S7 Symbol List.

3. Click Map
The relevant Signal Name, Address, and Comment fields in the Process
Simulate window are updated to match those in the Simatic window.
The name of the signal has changed, the physical address has been
carried over from the SDF file and in the comments field a remark
with the former name has been added.

Add a signal from the imported symbol name list


You must first open a SDF file in the External Mapping dialog box.

C-22 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Virtual commissioning / connecting to a PLC (optional)

1. In the External Mapping dialog box, select a signal from the imported
S7 Symbol List.

2. Click Add.
The new signal appears in the Process Simulate Signal List.

Add all signals from an .SDF file


You must first open a SDF file in the External Mapping dialog box.
1. In the External Mapping dialog box, click ImpMap.
The ImpMap option tries to map the signals automatically if an IEC
address has been defined in the Process Simulate signals viewer or
otherwise it adds the signals.

Activities

In the PLC to Process Simulate mapping section, do the following activities:


• Signal mapping

• Simatic Step 7 mapping

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide C-23


Virtual commissioning / connecting to a PLC (optional)

Non-sim and flow operations and modules with OPC

Purpose

In this lesson, you learn about non-sim and flow operations with OPC. You
also learn about the what to do with modules in OPC mode.

Objectives

After you complete this lesson, you should be able to:

• Understand the problem

• Additional conditions

• Create start signals

• Use a logic block to trigger “virtual” operations

• Convert a module to a logic block

The problem and additional conditions

The Problem

In the Sequence Editor when running in CEE mode, the flow operations and
non-sim operations are executed according to their order and transitions in
the Sequence Editor (and Material Flow Viewer).
In OPC mode, all the actions such as robotic operations and clamp smart
components, are started using PLC signals via OPC. But non-Sim and flow
operations normally are not started using a PLC signal (although the system
can create such signals).
When running Process Simulate in OPC mode, modules and logic on
operational transitions are ignored. However, logic blocks and the Simulation
Panel are not. This is an important note when setting up your simulations.

In OPC mode, an operation is executed while the triggering signal is


TRUE

In order to get the correct material flow, all non-sim or flow operations in
between “real” operations must be executed. For example, parts for a weld
operation are not put in the fixture if the non-sim or flow operations are not
executed in the correct order.

C-24 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Virtual commissioning / connecting to a PLC (optional)

Solution
You have to:
• Create start signals for all non-sim and flow operations.

• Create logic blocks to represent the transition conditions of the non-sim


and flow operations. These logic blocks should reference the operation
_start signal, _end signal, and transition condition.

• Either convert all modules to logic blocks or replace its logic with logic
in the PLC (OPC) program.

This lesson describes how to do these tasks.

Commands to create start signals

The following commands, located on the CEE→Signal Generation menu,


create _start signals and set the PLC connection attribute to TRUE (shown
in the Signal Viewer). In this case the operation starts only when the
condition of the Start signal changes from False to True .
Creating Start Signals:

• Create All Flow Start Signals — create start (for example _start)
signals for all flow operations in the study.

• Create Device Start Signal — create a start (for example _startt)


signal for a device operation.

• Create Non-Sim Start Signal — create a start (for example _startt)


signal for a non-sim operation. This command is rarely used, since it is a
best practice to represent clamps and other devices as smart components.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide C-25


Virtual commissioning / connecting to a PLC (optional)

Viewing and create start signals

Seeing the start signal for an operation


You can view the start condition of any operation using Operation Start
Condition .

To use the Operation Start Condition command, you first add it to


the menu using Tools→Customize.

1. In the Sequence Editor, click Play Simulation Forward and then


quickly click Pause Simulation (do not reset it).
This needs to be done to calculate the start conditions.

2. In the Operation Tree or Sequence Editor, select an operation.

3. Click Operation Start Condition . This can be helpful I an operation


fails to start during a simulation, you can check the starting conditions
for that operation to discover the fault and fix it. Each line in this dialog
box represents a combination of signals required to start the operation.

To create all start signals

• Choose CEE→Signal Generation→Create All Flow Start Signals .


_start signals are created for all flow operations.

To create device start signals


1. In the Operation Tree or Sequence Editor, select a device operation.

2. Choose CEE →Signal Generation→Create Device Start Signal .


A _start signal is created for the selected device operation.
Outside of class, it is rare that device operations are created.
Instead, create smart components to simulate the devices.

To create non-sim start signals


1. In the Sequence Editor or Object Tree, select the desired non-sim
operations.

2. Choose CEE→Signal Generation→Create Non-Sim Start Signal .


A _start signal is created for the selected nons-sim operation.

C-26 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Virtual commissioning / connecting to a PLC (optional)

Using a logic block to trigger “virtual” operations

Ways of triggering an operation when connected to a PLC


Any operation can get _start signals – it can be triggered by any of the
following:
• A program running on the OPC server

• A logic block exit signal

• Forcing its value on the Simulation Panel

Trigger logic block for one condition


The easiest way to define the Op_TRIGGER1 logic block when you only have
one condition is with this content:
• Entry
o start_req (Boolean) — specify the start condition signal.

o op_end (Boolean) — specify the regular operation _end signal.

• Parameter
o start_RE (Boolean) = RE ( start_req )

• Exit
o start_op (Boolean) = SR ( start_RE op_end ) — specify the
generated _start signal.

Trigger logic block for two conditions


If you have two start conditions combined with an AND to trigger an
operation, you can use this Op_TRIGGER2 logic block. A similar process
could be used to create a logic block for three start conditions.
• Entry
o start_req (Boolean) — specify the first start condition signal.

o op_end (Boolean) — specify the regular operation _end signal.

o addt_cond (Boolean) — specify the second start condition signal.

• Parameter
o combinedStart (Boolean) = start_req AND Addt_cond

o start_RE (Boolean) = RE ( combinedStart )

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide C-27


Virtual commissioning / connecting to a PLC (optional)

• Exit
o start_op (Boolean) = SR ( start_RE op_end ) — specify the
generated _start signal.

Using a trigger logic block

1. Select a flow or non-sim operation.

2. Create a _start signal using one of the techniques mentioned earlier.

3. As mentioned earlier, run Operation Start Condition . Typically, the


result is the same is what is shown for the transition condition of the
previous operation.

4. Depending on whether there are one of two signals in the start condition:
Insert either the Op_TRIGGER1 or Op_TRIGGER2 logic block.

5. Connect the first signal of the start condition to start_req.

6. Optionally, connect the second signal of the start condition to addt_cond.

7. Connect the _end signal for the operation to op_end.

8. Connect the _start signal for the operation to start_op signal.


An important point concerns the non-sim operations used to split
the sequence into alternative or parallel branches. They need to be
triggered in order to have a correct material flow.

Activities

In the Non-sim and flow operations with OPC section, do the following
activities:
• Preparing non-sim and flow operations for OPC

• Replace the modules with logic blocks

• Run OPC simulation

C-28 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Virtual commissioning / connecting to a PLC (optional)

Virtual commissioning - Putting it all together

Purpose

In this lesson, you put it all together.

Objectives

After you complete this lesson, you should be able to:

• Put it all together

Introduction

The end-to-end workflow invokes additional complexity concerning the


material flow. In CEE this material flow is very rigidly defined. In OPC the
order of execution of operations is no longer controlled by the CEE engine but
by an external control engine (the PLC through the OPC server)
Another point of interest is that now the synchronization of the processes
running in the PLC and in the Process Simulate simulation isn’t guaranteed
anymore.
This lesson answers these issues.
However it doesn’t teach PLC programming. It is strongly recommended that
the virtual commissioning user have PLC working experience.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide C-29


Virtual commissioning / connecting to a PLC (optional)

The CEE material flow and evaluation algorithm

CEE
1. When trying to execute a specific operation op1, its start condition is first
evaluated. This condition is composed of the transition conditions of the
operation's preceding operations (using AND / OR for multiple preceding
operations).

2. If its start condition is evaluated to true , a check is done in the preceding


operations' parts queues.
• Every operation fills its output part queue when it starts. In case
the queues of the preceding operations of op1 are still empty (for
example the preceding operations haven't started running) – op1
won't be executed.

• In case the preceding operations' output queues are not empty – op1
will get the parts nodes from the queue and try to look among them
for the parts it consumes.

• In case they are found among the already accumulated part – it uses
them. Otherwise - it produces them.

• In both cases – the proper part physical appearance are assigned to


the operation at this point (before start running).

3. According to this mechanism, in order to execute an operation, 2


conditions are required:
• The operation’s start condition is evaluated to true .

• The operation's direct preceding operations have already started their


running.

OPC / PLCSim / SIMIT


• The trigger for the operation's execution is the evaluation of the
operation's designated start signal.

• When this signal is evaluated to true , a check of the preceding


operations' output parts queues is done –

o If the queues are not empty, the operation tries to look for the parts
it consumes among the accumulated nodes of them. If the parts
consumed by the operation are found – they are assigned to the
operation and are used.

C-30 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Virtual commissioning / connecting to a PLC (optional)

o There are parts that can never be received from the preceding
operations (for example their first use is by this operation op1). These
parts are sourced by the operation itself.

o In case the parts' first use is not by this operation (for example the
parts were supposed to be produced by a previous operation) but they
weren't produced, because the previous operations weren't executed
yet – the operation will run without the parts.

• According to this mechanism, the only condition for running the operation
is :
o The start signal value of the operation becomes true .

o The proper part physical appearances are assigned to the operation


before it starts running.

Connection between material and logic flows


CEE: There are cases in which you want to execute an operation not in the
order that is implied from the material flow links. If, for example, you have 2
robotic operations of 2 different robots – Rob1Op and Rob2Op, both using a
part p1. The part is first used by Rob1Op (which does some welding actions
on it, for example), and is then passed to Rob2Op and used by it. Therefore,
there's a link from Rob1Op to Rob2Op in the Gantt.
The needed correct behavior is:
1. To start Rob2Op.

2. Rob2Op moves through some via locations that don't require the
part and then stop and wait for the arrival of the part (using its own
synchronization tools, such as "wait" OLP commands).

3. Rob1Op handles the part

4. Only when it has finished handling it, will pass it to Rob2Op.

5. Rob2Op will be released from the "waiting mode" and operate on the part.

So actually, you need Rob1Op and Rob2Op to start together (or even start
Rob2Op before Rob1Op) – but the handling of the parts should be first
Rob1Op and then Rob2Op.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide C-31


Virtual commissioning / connecting to a PLC (optional)

This behavior setup using the Material Flow Viewer: one of the conditions for
running Rob2Op is starting the execution of Rob1Op.
As can be seen from these examples, the material flow links and triggers
determine the flow of material and influence the order of execution.

In OPC/PLCSim/SIMIT simulation, you might have a different problem


1. The OPC server sends the value TRUE for the start_Rob2Op signal,
and causes Rob2Op to look for the part p1.

2. It will not find it (as Rob1Op hasn't run yet and therefore hasn't produced
the part yet) therefore will start running without it.

3. Rob2 will then start "waiting" (as specified before, using OLP
synchronization methods),

4. The OPC server sends the value TRUE for the signal Rob1Op. Rob1Op
will start

5. Rob1Op will produce the part, operate on it, and then when it will finish
handling it,

6. Rob2Op will be released from its "waiting mode" and start operating on
the part, BUT – the part appearance will not be assigned to the operation
as this assignment is currently done before the operation starts to run. In
weld operation case, it will result in weld location operations that are not
attached to the correct part appearance.

Here you can see that even starting the operations execution is independent
(the operations starts as soon as its start operation signal is true ) – it is
determined that the looking-for-part process and assigning it to the operation
is done before starting the operation's execution.
In order to support the cases detailed above, you need to setup the Material
Flow viewer. .
Summarizing the simulation:

C-32 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Virtual commissioning / connecting to a PLC (optional)

The common elements in both types of simulation are

• Station/Line Model

• Conventional TB

• Logic Block/Smart Component

• ESRC (Process Simulate teach pendant/robot controller)

• Material Flow (Sensors and conveyor capability)

The differences are

• Starting of operation algorithm (CEE) vs. Start signal triggering from


OPC server

• Different Material Flow (appearances) calculations

In OPC/PLCSim/SIMIT simulation

A serious difference between the CEE behavior and a real PLC program is
the execution of non-sim and flow operation. Although it’s possible to create
non-sim and flow _start signals (similar to the device_TO_ signals) it’s not
very sound that one would change the real PLC program in order to trigger
this simulation operations.

Additional Constraints in OPC/PLCSim/SIMIT simulation

• In OPC or PLCSIM mode an operation is only executed as long as the


triggering signal stays TRUE

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide C-33


Virtual commissioning / connecting to a PLC (optional)

• In order to get the correct material flow all non-sim or flow operations in
between “real” operations must be executed.

• Material flow means in this context also that locations attached to a part
for weld operation are not put to the correct locations if the non-sim or
flow operations as mentioned are not executed in the correct order.

Instead of triggering the needed simulation operations you can use dedicated
Logic Blocks.
Any operation can get _start signals – it can be triggered by any of the
following:
• A program running on the OPC server

• A logic block exit signal

• Forcing its value on the Simulation Panel

The easiest way to define the Op_TRIGGER1 logic block when you only have
one condition is with this content:
• Entry
o start_req (Boolean) — specify the start condition signal.

o op_end (Boolean) — specify the regular operation _end signal.

• Parameter
o start_RE (Boolean) = RE ( start_req )

• Exit
o start_op (Boolean) = SR ( start_RE op_end ) — specify the
generated _start signal.

If you have two start conditions combined with an AND to trigger an


operation, you can use this Op_TRIGGER2 logic block. A similar process
could be used to create a logic block for three start conditions.
• Entry

C-34 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Virtual commissioning / connecting to a PLC (optional)

o start_req (Boolean) — specify the first start condition signal.

o op_end (Boolean) — specify the regular operation _end signal.

o addt_cond (Boolean) — specify the second start condition signal.

• Parameter
o combinedStart (Boolean) = start_req AND Addt_cond

o start_RE (Boolean) = RE ( combinedStart )

• Exit
o start_op (Boolean) = SR ( start_RE op_end ) — specify the
generated _start signal.

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide C-35


Virtual commissioning / connecting to a PLC (optional)

Summary
Subjects learned in this topic:
• How to simulate in OPC mode.

• How to map between of PLC and the CEE environment.

• How to setup non-sim operations and modules for the OPC simulation.

• How to put it all together for virtual commissioning

C-36 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Index

A Conceptual skid usage . . . . . . . . . . 4-18


Additional details on automatically Connect Devices to LB basics . . . . . . A-8
connecting signals to logic blocks . . A-8 Connect Devices to LB usage . . . . . . A-9
Additional lessons on smart components, Connecting to a PLC using OPC . . . . C-8
conveyors, and more (optional) . . . . A-1 Connection and Synchronization
Additional logic block functions . . . 5-15 Charts . . . . . . . . . . . . . . . . . . . . . . B-4
Algebraic modeling . . . . . . . . . . . . . 5-9 Connection mapping (optional) . . . . . A-8
Automatic smart component Continued overview of station
creation . . . . . . . . . . . . . . . . . . . . . 6-4 sequence . . . . . . . . . . . . . . . . . . . . 8-4
Automatically creating actions and sensors Conveyor and skid introduction . . . 4-12
from poses . . . . . . . . . . . . . . . . . . 5-20 Conveyor and skid overview . . . . . . 4-11
Automatically creating device operations Conveyor basics . . . . . . . . . . . . . . . 5-22
and sensors . . . . . . . . . . . . . . . . . 2-12 Copy LB logic basics . . . . . . . . . . . 5-20
Create proximity sensor . . . . . . . . . 6-10
Creating a logic resource (logic
B
block) . . . . . . . . . . . . . . . . . . . . . . . 5-5
Background information . . . . . . . . . 6-2 Creating a new input signal . . . . . . . B-2
Basic definition of conveyor Creating a program from several
behavior . . . . . . . . . . . . . . . . . . . . 4-16 paths . . . . . . . . . . . . . . . . . . . . . . 7-18
Basic Excel report usage . . . . . . . . 7-31 Creating and editing logic block
Basic Excel reports . . . . . . . . . . . . 7-31 basics . . . . . . . . . . . . . . . . . . . . . . A-18
Basic logic block functions . . . . . . . 5-12 Creating and using modules . . . . . . . 6-5
Basic OLP commands . . . . . . . . 1-7, 7-5 Creating line simulation studies . . . . 6-3
Basic robot macros . . . . . . . . . . . . . 7-11 Creating various Excel reports . . . . 7-31
Basic use case . . . . . . . . . . . . . . . . B-11 Custom conveyor example
Basics of robot macros . . . . . . . . . . 7-11 (optional) . . . . . . . . . . . . . . . . . . . 5-22
Beginning of putting it all together . . 6-2 Cycle time reporting . . . . . . . . . . . 7-32

C D
Calling paths from main Default signals and robot
programs . . . . . . . . . . . . . . . . . . . 7-22 programs . . . . . . . . . . . . . . . . . . . 7-15
CNC controller logic block Define a resource as a conceptual
example . . . . . . . . . . . . . . . . . . . . 5-17 skid . . . . . . . . . . . . . . . . . . . . . . . 4-18
Commands to create start signals . . C-25 Device operations . . . . . . . . . . . . . . . 2-3
Conceptual conveyor basics . . . . . . 4-12 Device operations and transitions . . . 2-1
Conceptual conveyor usage . . . . . . 4-14 Do I do this? . . . . . . . . . . . . . . . . . . 1-2
Conceptual conveyors and skids Dump unit basics . . . . . . . . . . . . . . A-15
overview . . . . . . . . . . . . . . . . . . . 4-11 Dump unit example (optional) . . . . A-15

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide Index-1


Index

E J
Editing conceptual conveyors . . . . . 4-17 Joint acceleration controlled . . . . . . A-22
Entering free text OLP Joint value sensor . . . . . . . . . . . . . . 2-9
commands . . . . . . . . . . . . . . . . . . 7-24 Joint velocity controlled . . . . . . . . . A-21
Evaluating system behavior . . . . . . . C-3
Event-based basics . . . . . . . . . . . . . . 2-2 L
Event-based study basics . . . . . . . . . 3-2 Light stack example (optional) . . . . 5-21
Logic basics . . . . . . . . . . . . . . . . . . . 5-9
F Logic block algebraic behavior . . . . . 5-9
Fixture and robot 1 putting it all Logic block and smart component
together . . . . . . . . . . . . . . . . . . . . . 8-2 basics . . . . . . . . . . . . . . . . . . . . . . 1-22
Following a standard for naming Logic block and smart component
signals . . . . . . . . . . . . . . . . . . . . . C-14 usage . . . . . . . . . . . . . . . . . . . . . . 1-22
Logic block basics . . . . . . . . . . . . . . . 5-3
Logic block for a basic interference
G
zone . . . . . . . . . . . . . . . . . . . . . . . . 7-8
Gate Control Basics . . . . . . . . . . . . . A-3 Logic block usage . . . . . . . . . . . . . . A-18
General logic block definitions . . . . . 5-4 Logic block value expressions . . . . . . 5-6
Grip and release robot macros . . . . . B-9 Logic blocks and smart components . . 5-1

H M
Handshaking mechanism for program Manual part generation . . . . . . . . . 6-11
execution . . . . . . . . . . . . . . . . . . . 7-19 Merge stations into a line . . . . . . . . B-11
Merge studies details . . . . . . . . . . . B-11
Modules versus logic blocks . . . . . . . 5-3
I
More event-based examples
Ignoring logic in OLP commands . . 7-27 (optional) . . . . . . . . . . . . . . . . . . . . B-1
Importing and exporting modules . . . 6-9 More functions details . . . . . . . . . . 5-14
Interference zone basics . . . . . . . . . A-17 More Logic Block Functions (Press
Intermediate robotics (CEE) course Example) . . . . . . . . . . . . . . . . . . . 5-14
overview . . . . . . . . . . . . . . . . . . . . 13 More on Process Simulate PLC
Internal rules for automatic part simulation . . . . . . . . . . . . . . . . . . C-10
generation . . . . . . . . . . . . . . . . . . 6-12 More on working with studies . . . . . 3-2
Introduction . . . . . . . . . . . . . . C-2, C-29 More robot macros . . . . . . . . . . . . . . B-9
Introduction to event-based
robotics . . . . . . . . . . . . . . . . . . . . . 1-4 N
Introduction to event-based
Naming rules . . . . . . . . . . . . . . . . . 1-14
robotics . . . . . . . . . . . . . . . . . . . . . 7-2
New non-sim operations for logic . . 6-13
Introduction to event-based
Non-sim and flow operations and modules
simulation . . . . . . . . . . . . . . . . . . . 1-1
with OPC . . . . . . . . . . . . . . . . . . . C-24
Introduction to logic blocks . . . . . . . . 5-3
Notes on grip and release . . . . . . . . . B-7
Introduction to signal mapping . . . C-12
Introduction to signals . . . . . . . . . . 1-14
Introduction to the training manual O
structure . . . . . . . . . . . . . . . . . . . . 1-2 OLP command conditions . . . . . . . . 7-24

Index-2 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Index

OPC to Process Simulate Excel mapping Proximity sensors . . . . . . . . . . . . . . 4-8


tool . . . . . . . . . . . . . . . . . . . . . . . C-15 Putting it all together . . . . . . . . . . . 6-1
Operation run bar basics . . . . . . . . A-13 Putting it all together continued . . . . 8-1
Operation run bar example
(optional) . . . . . . . . . . . . . . . . . . . A-13 Q
Operator gate control example
Quick tips . . . . . . . . . . . . . . . . . . . 7-35
(optional) . . . . . . . . . . . . . . . . . . . . A-3
Quick tips for logic block
Other selected smart component topics
simulations . . . . . . . . . . . . . . . . . 5-25
(optional) . . . . . . . . . . . . . . . . . . . A-20
Quick tips for robot signals and
Other signal functions (not covered in this
macros . . . . . . . . . . . . . . . . . . . . . 7-35
course) . . . . . . . . . . . . . . . . . . . . . 7-20
Quick tips to debug a conveyor or sensor
Other ways to create and edit logic blocks
simulation . . . . . . . . . . . . . . . . . . 4-27
(optional) . . . . . . . . . . . . . . . . . . . A-18
Quick tips to debug an event-based
Overview of robot signals . . . . . . 1-4, 7-2
simulation . . . . . . . . . . . . . . . . . . 2-20
Overview of the station sequence . . . 8-2
Quick tips to part appearance and material
flow problems . . . . . . . . . . . . . . . . . 3-9
P
Parameters and constants . . . . . . . 5-10 R
Part appearance and material flow
Rename signals using resource
basics . . . . . . . . . . . . . . . . . . . . . . . 3-5
names . . . . . . . . . . . . . . . . . . . . . C-20
Part appearances and material
Renaming signals by resource . . . . C-20
flow . . . . . . . . . . . . . . . . . . . . . . . . 3-1
Rising edge and falling edge
Part Handling OLP Commands . . . 7-22
functions . . . . . . . . . . . . . . . . . . . 5-12
Part scheduler basics . . . . . . . . . . . A-10
Robot 2 and conveyor putting it all
Part scheduler example (optional) . . A-10
together . . . . . . . . . . . . . . . . . . . . . 8-4
Photoelectric sensors (light
Robot controller basics . . . . . . . . . . . A-4
sensors) . . . . . . . . . . . . . . . . . . . . . 4-4
Robot controller example
Pick and place basics . . . . . . . . . . . . B-6
(optional) . . . . . . . . . . . . . . . . . . . . A-4
Pick and place operations and
Robot interference zone example
macros . . . . . . . . . . . . . . . . . . . . . . B-6
(optional) . . . . . . . . . . . . . . . . . . . A-17
PLC basics . . . . . . . . . . . . . . . . . . . A-26
Robot programs . . . . . . . . . . . . . . . 7-15
PLC example (optional) . . . . . . . . . A-26
Robot signal basics . . . . . . . . . . . . . . B-2
PLC to Process Simulate
Robot signal connection and
mapping . . . . . . . . . . . . . . . . . . . . C-12
synchronization . . . . . . . . . . . . . . . B-4
Pose signals on robots . . . . . . . . . . 7-18
Robot Viewer . . . . . . . . . . . . . . . . . 7-29
Practical applications of signals . . . 1-15
Robotic event-based simulation . . . . 7-1
Process Simulate as an OPC
Robotics: Inter location handling . . 7-17
client . . . . . . . . . . . . . . . . . . . . . . C-10
Program Flow OLP Commands . . . 7-22
Programming languages used for S
PLCs . . . . . . . . . . . . . . . . . . . . . . . C-4 Safety mat basics . . . . . . . . . . . . . . . 5-8
Property list . . . . . . . . . . . . . . . . . 4-23 Safety mat example . . . . . . . . . . . . . 5-8
Property projector . . . . . . . . . . . . . 4-23 Seeing part appearances . . . . . . . . 6-11
Property projectors . . . . . . . . . . . . 4-22 Sending signals between multiple objects
Property projectors basics . . . . . . . 4-22 (CNC / robot example) . . . . . . . . . . B-2
Property sensors . . . . . . . . . . . . . . 4-25 Sensor introduction . . . . . . . . . . . . . 4-2

Process Simulate Standalone Intermediate Robotics (CEE) Student Guide Index-3


Index

Sensors and conveyors . . . . . . . . . . . 4-1 Tip dresser example (optional) . . . . . A-7


Setup a basic robotic zone . . . . . . . . 7-8 Tools to help follow a standard for naming
Signal basics . . . . . . . . . . . . . . . . . 1-14 signals . . . . . . . . . . . . . . . . . . . . . C-12
Signal generation basics . . . . . . . . . 2-12 Training introduction . . . . . . . . . . . . 1-2
Signal graph basics . . . . . . . . . . . . 7-29
Signal graphs in the Robot Viewer . . 7-29 U
Signal mapping warnings and
errors . . . . . . . . . . . . . . . . . . . . . . C-19 Using a logic block to trigger “virtual”
Signal monitoring . . . . . . . . . . . . . 5-10 operations . . . . . . . . . . . . . . . . . . C-27
Signal Viewer . . . . . . . . . . . . . . . . 1-16 Using a trigger logic block . . . . . . . C-28
Signals for a basic interference Using robot program conditions . . . 7-24
zone . . . . . . . . . . . . . . . . . . . . . . . . 7-8 Using the direct Step 7 mapping
Signals Viewer basics . . . . . . . . . . . 1-16 tool . . . . . . . . . . . . . . . . . . . . . . . C-21
Signals Viewer usage . . . . . . . . . . . 1-16 Using the OPC to Process Simulate Excel
Simulating in Process Simulate using mapping tool . . . . . . . . . . . . . . . . C-18
OPC mode . . . . . . . . . . . . . . . . . . . C-8
Simulation Panel . . . . . . 1-10, 2-17, 5-24 V
Simulation Panel basics . . . . . . . . . 1-10
Viewing and create start signals . . . C-26
Simulation Panel usage . . . . . . . . . 1-12
Viewing logic blocks and smart
Smart component commands . . . . . 5-19
components . . . . . . . . . . . . . . . . . 1-22
Smart component target speed device
Viewing object attributes in the Object
(frequency converters) . . . . . . . . . A-20
Tree . . . . . . . . . . . . . . . . . . . . . . . 7-35
Smart components . . . . . . . . . . . . . 5-18
Virtual commissioning / connecting to a
Smart components overview . . . . . . 5-18
PLC (optional) . . . . . . . . . . . . . . . . C-1
Smart componentusage . . . . . . . . . 5-19
Virtual commissioning - Putting it all
Synchronization OLP commands . . . 7-9
together . . . . . . . . . . . . . . . . . . . . C-29
Virtual commissioning basics . . . . . . C-2
T
Virtual commissioning benefits . . . . C-3
Teach Pendant OLP Command Virtual commissioning using OPC . . C-5
Basics . . . . . . . . . . . . . . . . . . . 1-6, 7-4
The CEE material flow and evaluation
W
algorithm . . . . . . . . . . . . . . . . . . . C-30
The direct Step 7 mapping tool . . . . C-20 Weld controller basics . . . . . . . . . . A-24
The problem and additional Weld Controller Example
conditions . . . . . . . . . . . . . . . . . . C-24 (Optional) . . . . . . . . . . . . . . . . . . A-24
The signal exchange between a robot and Working in event-based studies . . . . 2-2
a device controller . . . . . . . . . . . . . B-6 Working with a conveyor and conveyable
The signal exchange via PLC/CEE: . . 7-2 parts . . . . . . . . . . . . . . . . . . . . . . 4-20
The signal exchange via PLC/CEE: . . 1-4 Working with part appearances . . . . 3-3
The stages of cell design . . . . . . . . . . C-8 Working with part appearances
Tip dresser basics . . . . . . . . . . . . . . A-7 (again) . . . . . . . . . . . . . . . . . . . . . 6-11

Index-4 Process Simulate Standalone Intermediate Robotics (CEE) Student Guide MT45215-S-121
Reference tear-out pages
These reference tear-out pages are provided for your convenience.
Course agenda
Day 1 Morning
Introduction
Course
overview
Lesson 1 Introduction to Event Based Simulation
Afternoon
Lesson 2 Gripper and Device Operation Basics

Day 2 Morning
Lesson 3 Part Appearances and Material Flow
Afternoon
Lesson 4 Sensors and Conveyors

Day 3 Morning
Lesson 5 Logic Blocks and Smart Components
Afternoon
Lesson 6 Putting It all Together

Day 4 Morning
Lesson 7 Robotic Event-Based Simulation
Afternoon
Lesson 8 Putting It all Together Continued
Appendix
Optionally, discuss topics from the appendix
(optional topics)
Classroom data sheet
This table is provided so students can record their classroom setup, as
described by the instructor. Optionally, instructors may hand out a preprinted
data sheet.
Data item Data value

OS user ID
OS password

User number

Process Simulate installation folder

System root folder


Student user IDs and numbers
A user ID and the associated number is assigned to each student in class.
• Your user number is applied when performing various activities in class.

User number User Id Password


1
2
3
4
5
6
7
8
9
Instructor user ID and number
This user ID and number is reserved for use by instructors:
User number User Id Password
10
Course evaluation

Das könnte Ihnen auch gefallen