MT45215 S 141 Intermediate

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 322

SIEMENS

Process Simulate
Standalone (eMS)
Intermediate
Robotics
Student Guide
October 2018
MT45215 ‒ Version 14.1

MT45215-S-141
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.
© 2018 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.
Windows, Microsoft, Internet Explorer and Microsoft Office are trademarks or registered
trademarks of Microsoft Corporation.

2 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Contents

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

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

TR45215 prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
TR45215 audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Learning tracks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

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

Business process overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2


Business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Introduction to event-based robotics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Overview of robot signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
The signal exchange via PLC/CEE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Teach pendant OLP command basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7
Basic OLP commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8
Simulating and triggering events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10
Business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10
Overview of triggering events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10
Simulation Panel basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11
Simulation Panel usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13
Introduction to signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15
Signal basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15
Naming rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15
Practical applications of signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16
Signal Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-17
Business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-17
Signals Viewer basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-17
Signals Viewer usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19
CEE operational transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20
Overview of transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20
Transition basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-21
Transitions usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-22
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-22
Process Simulate sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23
Sensor basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23
Viewing logic blocks and smart components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24
Logic block and smart component basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24
Logic block and smart component usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-25

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 3


Contents
Contents

Modules Viewer (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-26


Module basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-26
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-26
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-27

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


Working in event-based studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Event-based basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
More on working with studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
Event-based study basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
Studies and more . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
Business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
Non-sim operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
Simulation Panel review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
Working with part appearances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9
Business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9
Appearances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9
Basic Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12
Flow operations and event-based simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12
The Sequence Editor’s effect on line simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12
The Material Flow Viewer’s Effect on Line Simulations . . . . . . . . . . . . . . . . . . . . . . . . . 2-13
The Material Flow toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14
Events in event-based (CEE) simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15
Module basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15
Working with modules in the Module Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17
Quick tips to part appearance and material flow problems . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18
Quick tips for CEE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18
Quick tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20

Sensors and conveyors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1


Sensor introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Sensor basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Sensor types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Photoelectric sensors (light sensors) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Light sensor basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
Proximity sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
Proximity sensor basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10
Conveyors and skids overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11
Business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11
Conveyor and skid overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11
Conveyor and skid introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12
Conceptual conveyor basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13

4 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Contents

Conceptual conveyor definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14


Conveyor control points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16
Add control points to a conveyor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16
Legacy linear and angular conceptual conveyor definition . . . . . . . . . . . . . . . . . . . . . . . 3-19
Basic definition of conveyor behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21
Editing conceptual conveyors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22
Define a resource as a conceptual skid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23
Conceptual skid usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-24
Drive conveyor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27
Working with a conveyor and conveyable parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28
Define a conveyable part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29
Property projectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30
Business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30
Property projectors basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-31
Property list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-31
Property projector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-32
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33
Property sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34
Creating and editing property sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-35
Quick tips to debug a conveyor or sensor simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-36
Quick tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-36
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-38

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

Logic block basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2


Modules versus logic blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Introduction to logic blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
General logic block definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3
Creating a logic resource (logic block) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
Logic block value expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
Delete logic from resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
Safety mat example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
Business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
Safety mat basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8
Logic block algebraic behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9
Logic basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9
Algebraic modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9
Parameters and constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10
Signal monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11
Rising edge and falling edge functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12
Basic logic block functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13
More logic block functions (press example) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14
More functions details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 5


Contents
Contents

Additional logic block functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14


Complex logic statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16
Best practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17
CNC controller logic block example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18
Mixed Boolean and algebraic expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18
Smart components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19
Smart components overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19
Smart component commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19
Smart component usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20
Automatically creating actions and sensors from poses . . . . . . . . . . . . . . . . . . . . . . . . 4-20
Copy LB logic basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21
Light stack example (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22
Business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22
Connection mapping (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23
Connection mapping (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23
Custom conveyor example (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27
Conveyor basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28
Quick tips for logic block simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29
Quick tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-31

Put it all together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1

Beginning of the putting it all together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2


Background information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
Creating line simulation studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
Business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
Automatic smart component creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5
Business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6
Creating and using modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
Business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
Module basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
Working with modules in the Module Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8
Importing and exporting modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11
Create proximity sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12
Business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13
Working with part appearances (again) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14
Business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14
Seeing part appearances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14
Manual part generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15
Internal rules for automatic part generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15
Alternative and Simultaneous Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15

6 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Contents

Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18
New non-sim operations for logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19
Non-sim operation usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20

Robotic event-based simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1

Introduction to event-based robotics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2


Overview of robot signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
The signal exchange via PLC/CEE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
Teach pendant OLP command basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
Basic OLP commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5
Setup a basic robotic zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7
Signals for a basic interference zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7
Logic block for a basic interference zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7
Synchronization OLP commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
Spreadsheet format for robot signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9
Importing robot signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11
Basic robot macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12
Basics of robot macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14
Default signals and robot programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15
Business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15
Robot programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15
Robotics: Inter location handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17
Pose signals on robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17
Creating a program from several paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-18
Handshaking mechanism for program execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19
Other signal functions (not covered in this course) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-20
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-20
Calling paths from main programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-22
Do I do this . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-22
Part Handling OLP Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-22
Program Flow OLP Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23
Using robot program conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24
Entering free text OLP commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24
OLP command conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24
Ignoring logic in OLP commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-28
Setup robot path segment communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30
What is path segment communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30
Ways to setup path segment communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-31
Signal graphs in the Robot Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-32
Signal graph basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-32
Robot Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-32
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-33

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 7


Contents
Contents

Creating various Excel reports . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-34


Basic Excel reports . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-34
Basic Excel report usage . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-34
Cycle time reporting . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-35
Activities . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-37
Quick tips for robot signals and macros . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-38
Quick tips . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-38
Viewing object attributes in the Object Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-38
Summary . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-40

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


Fixture and robot 1 putting it all together . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
Business process . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
Overview of the station sequence . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3
Activities . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
Robot 2 and conveyor putting it all together .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5
Business process . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5
Continued overview of station sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7
Activities . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9

More logic block examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1


Operator gate control example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
Gate control basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
Robot controller example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3
Robot controller basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4
Tip dresser example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-5
Tip dresser basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-5
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-5
Part scheduler example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6
Part scheduler basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-7
Operation run bar example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-8
Operation run bar basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-8
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9
Dump unit example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-10
Dump unit basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-10
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-11
Robot interference zone example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-12
Interference zone basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-12
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-12
More LB techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-13
Logic block basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-13
Logic block usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-13
Other smart component topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-15
Target speed frequency converters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-15
Joint velocity controlled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-16
Joint acceleration controlled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-17

8 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Contents

Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-18
Weld controller example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-19
Weld controller basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-19
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-20
PLC example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-21
PLC basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-21
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-23
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-24

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


Sending signals between multiple objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2
Robot signal basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2
Creating a new input signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-3
Robot signal connection and sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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
Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1


Virtual commissioning basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-2
The stages of cell design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-2
Introduction to VC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-2
Virtual commissioning benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-3
Evaluating system behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-3
Programming languages used for PLCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-4
VC connection methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-6
Business process to config. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-7
Business process to begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-7
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-8
TIA Portal basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-9
Use TIA Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-9
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-9
VC with OPC DA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-10
OPC DA (OPC classic) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-10
OPC DA simulation prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-11
Process Simulate OPC DA client setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-11
Additional OPC DA notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-16
Process Simulate as an OPC DA client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-16

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 9


Contents
Contents

Process Simulate as an OPC client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-17


Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-18
VC with PLCSIM classic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-19
PLCSIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-19
PLCSIM classic pros and cons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-19
Set up a PLCSIM classic connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-20
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-22
VC with PLCSIM Advanced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-23
PLCSIM Advanced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-23
PLCSIM Advanced pros and cons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-23
Set up a PLCSIM Advanced connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-23
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-25
VC with OPC UA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-26
OPC UA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-26
OPC and Process Simulate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-26
Network configurations: Local client server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-27
Network configurations: Remote client server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-28
Network configurations: Siemens 1500 series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-28
Process Simulate OPC UA client setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-29
Process Simulate as an OPC UA client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-34
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-35
VC with Simulation Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-36
Simulation Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-36
Set up a Simulation Unit connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-36
Process Simulate SU connection setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-37
Connection type comparison table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-40
PLC to Process Simulate mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-41
Business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-41
Introduction to signal mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-41
Tools to help follow a standard for naming signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-42
Following a standard for naming signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-44
OPC to Process Simulate Excel mapping tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-44
Using the OPC to Process Simulate Excel mapping tool . . . . . . . . . . . . . . . . . . . . . . . . C-47
Signal mapping warnings and errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-48
Rename signals using resource names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-49
Renaming signals by resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-49
The direct Step 7 mapping tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-50
Using the direct Step 7 mapping tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-50
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-52
Non-sim and flow operations and modules in PLC mode . . . . . . . . . . . . . . . . . . . . . . . . . . C-53
Business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-53
The problem and additional conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-53
Commands to create start signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-55
Viewing and create start signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-55
Using a logic block to trigger “virtual” operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-57
Using a trigger logic block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-59
Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-60
Virtual commissioning - Putting it all together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-61
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-61

10 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Contents

The CEE material flow and evaluation algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-62


Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-67

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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 11


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

• 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

• And More

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 13


Intermediate
Intermediate robotics
robotics (CEE)
(CEE) course
course overview
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 (eMServer Compatible) Part Flow Simulation

• TR45106 – Process Simulate Standalone (eMServer Compatible) Human Simulation

• TR45115 – Process Simulate Standalone (eMServer Compatible) Basic Robotic Simulation

• TR45215 – Process Simulate Standalone (eMServer Compatible) Intermediate Robotics

• TR45315 – Process Simulate Standalone (eMServer Compatible) Advanced Robotics

14 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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.

• How to view sensors.

• What transitions are and how they are used.

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

• The basics on the Modules Viewer.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 1-1


Lesson
Lesson 1: 1: Introduction
Introduction to event-based
to event-based simulation
simulation

Business process overview


Event-based simulation uses logic created using signals to trigger things to occur in the workcell such
as stopping and starting robot motion, selecting robot paths to perform next, opening and closing
clamps, conveying parts, and more. The robot programmer uses event based simulation to virtually
test communication between robots and other devices. The PLC programmer uses it to test the PLC
program he has created for a workcell (virtually commission) including safety.
Creating the event-based simulation can take place at the same time as developing the robot path
simulation.

1-2 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Introduction to event-based simulation

Business process
Here is a more detailed description of the how to create an event-based simulation in Process
simulate, including virtual commissioning. Although all these steps for event-based simulation should
be performed, they could occur in a different order. More details about each step is provided when
the step is covered in this training.

The high-level steps can be grouped like this:


1. Open the data
• Create or open a study

2. Create the material flow


a. Create non-sim operations

b. Setup appearances

c. Create sensors

d. Create PLC signals

e. Create modules

3. Define the mechanical simulation and controls


a. Create logic blocks and smart components

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 1-3


Lesson
Lesson 1: 1: Introduction
Introduction to event-based
to event-based simulation
simulation

b. Create conveyors

4. Define robots interlocks


a. Optionally, create the robot program

b. Optionally, create robot signals

c. Optionally, create OLP commands

d. Simulate event-based simulations in CEE

5. Define safety interlocks


a. Create logic blocks and smart components

6. Perform virtual commissioning


a. Install and configure an OPC or SIMIT Server

b. Setup non-sim operations, flow operations, and modules for VC

c. Begin virtual commissioning (connect to a PLC)

d. PLC to Process Simulate signal mapping

1-4 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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.

• Import and export 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 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).

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 1-5


Lesson
Lesson 1: 1: Introduction
Introduction to event-based
to event-based simulation
simulation

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 Robot Signals
from the Control tab of the ribbon.

The following diagram illustrates the basic relationship between robot (OLP) signals and PLC signals:

Choosing 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).

• 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

1-6 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Introduction to event-based simulation

• 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 Teach

Pendant from the Robot tab of the ribbon.

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 the Ctrl+X keys or right-click it and choose Cut .

• To copy the select command, press the Ctrl+C keys or right-click it and choose Copy .

• To paste a command, press the Ctrl+P keys or right-click it and choose Paste .

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 1-7


Lesson
Lesson 1: 1: Introduction
Introduction to event-based
to event-based simulation
simulation

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.

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.

1-8 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Introduction to event-based simulation

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.

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).

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 1-9


Lesson
Lesson 1: 1: Introduction
Introduction to event-based
to event-based simulation
simulation

Simulating and triggering events


Purpose
In this topic, you learn how to use the Simulation Panel and distinguish between the various ways
that events can be triggered.

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.

• Distinguish between the various ways that events can be triggered.

Business process

Overview of triggering events


Signals are used to connect devices and define the logic to determine when something is triggered.
There are several ways to make something happen (or trigger) in an event-based simulation. You
review these methods using a finished model before continuing to the section of the training where
you learn how to setup them up for yourself.

Methods for triggering events


• Sensors — You may create a sensor in a fixture or a gripper to determine if a part is present. If a
part is present, the related signal is true. Otherwise it is false.

• Transitions — Typically, you use a transition to define the material flow logic. The material flow
determines when a part is created and when it is destroyed during a simulation. During virtual
commissioning transitions are ignored, so you replace then with special logic blocks.

• Logic blocks — You use logic blocks to define mechanical controls and safety interlocks. During
virtual commissioning, you can decide whether a logic block is active or inactive. During virtual
commissioning, when it is inactive, you can optionally replace the virtual device with a real one.

1-10 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Introduction to event-based simulation

• Modules — Typically, you use modules to create process logic and connect devices. This logic is
replaced later by the logic in the PLC when performing virtual commissioning.

• Robotics — On each robotic path location, you can evaluate or change the value of a signal.
You can also perform special actions such as an emergency stop.

You learn how to setup and use each method 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.

Open New Simulation Panels


• To access the Simulation Panel, from the ribbon, choose View tab→Screen Layout

group→Simulation Panel .

• You can open multiple instances of the Simulation Panel and load different signals in each
instance, enabling you to view various signals without having to scroll the signal list.

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, 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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 1-11


Lesson
Lesson 1: 1: Introduction
Introduction to event-based
to event-based simulation
simulation

• 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.

• 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 setup the list of signals in the viewer:
1. In the Signal Viewer, select the signals you want.

1-12 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Introduction to event-based simulation

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 Save from the Quick
access toolbar. 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.

.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. Select a SPSS (Simulation Panel Signals Settings) file and click OK.

Automatic loading of the Simulation Panel for a study


The Simulation Panel is automatically loaded if you had saved it in a previous session, as follows:
• If you have already opened Simulation Panel instance(s) when loading the study, all the signals
previously saved in the Simulation Panel(s) are automatically loaded, those from the first instance
are loaded into the current first instance, those from the second instance in the current second
instance, etc.

• If the Simulation Panel is closed when loading the study, you can open a Simulation Panel
instance and load a set of signals saved in an SPSS file ) use Load Signals Settings on the
Simulation Panel toolbar). If you had already added signals before loading the SPSS file, you
can set Loading Mode to Add or Replace.

Activities
In the Simulation Panel section, do the following activities:
• Introduction to the Simulation Panel

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 1-13


Lesson
Lesson 1: 1: Introduction
Introduction to event-based
to event-based simulation
simulation

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

1-14 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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
o IW215 IW215Z QX75

• Upper and lower case, numbers embedded underlines. All the above plus:

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 1-15


Lesson
Lesson 1: 1: Introduction
Introduction to event-based
to event-based simulation
simulation

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.

1-16 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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.

Business process

Signals Viewer basics


The Signals Viewer Toolbar:

• Create new signal - creates a new signal.

• Delete signal - deletes the selected signals.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 1-17


Lesson
Lesson 1: 1: Introduction
Introduction to event-based
to event-based simulation
simulation

• 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:

• Open the Simulation Panel, if it not already: From the ribbon, choose View tab→Screen Layout

group→Viewers →Signal Viewer.

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. Select the desired type, type the name, and click OK.

1-18 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Introduction to event-based simulation

Activities
In the Signal Viewer section, do the following activities:
• Create a new signal

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 1-19


Lesson
Lesson 1: 1: Introduction
Introduction to event-based
to event-based simulation
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-20 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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.

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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 1-21


Lesson
Lesson 1: 1: Introduction
Introduction to event-based
to event-based simulation
simulation

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 type 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-22 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 1-23


Lesson
Lesson 1: 1: Introduction
Introduction to event-based
to event-based simulation
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, from the Control tab of the ribbon, is used 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, select the logic block.

2. From the ribbon, choose Control tab→Resource group→Edit Logic Resource .

3. View the desired parameters.

1-24 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Introduction to event-based simulation

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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 1-25


Lesson
Lesson 1: 1: Introduction
Introduction to event-based
to event-based simulation
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 your 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:

• From the ribbon, choose View tab→Screen Layout group→Viewers →Modules Viewer.

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

1-26 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 1-27


Lesson 2: 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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 2-1


Lesson
Lesson 2: 2: Part appearances
Part appearances and material
and material flow flow

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.

Business process

2-2 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Part appearances and material flow

Event-based basics

To work in an event-based simulation

• Window Layout
o For the window layout it is suggested to select Advanced Simulation: In the ribbon View
tab→Screen Layout group, 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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 2-3


Lesson
Lesson 2: 2: Part appearances
Part appearances and material
and material flow 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 Standard Mode on the Home tab of the ribbon — 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 Line Simulation Mode on the Home tab of the ribbon — 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:

2-4 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Part appearances and material flow

• 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 .

Business process

Non-sim operations
Process Simulate enables you to add several types of simulative operations, including a Non-Sim
Operation , Flow Operation , Pick and Place Operation , Weld Operation, or
Continuous Feature Operation .
Typically you create the operations in the Operation Tree viewer. Operations are linked (sequenced)
in the Sequence Editor.
Any simulative operation you create, automatically creates an operation_end signal. This signal is
used as a default condition in the transition between one operation and the successor operation.
During a simulation, when the operation finishes, the related _end signal is set to TRUE for one
computation cycle and then reset to FALSE .
The behavior of this signal is as shown in the illustration:

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 2-5


Lesson
Lesson 2: 2: Part appearances
Part appearances and material
and material flow flow

During a simulation, Process Simulate needs to “catch” the TRUE /FALSE pulse to be
able to continue to the next cycle. Normally this not the behavior that you want. So, you
typically replace the _end signals with other signals that reference your custom logic.

To create a new non-sim operation:


1. From the Operation Tree, select the parent object.

2. From the ribbon, choose Operation tab→Create Operation group→New Operation →New

Non-Sim Operation .

The New Non Operation dialog box is shown.

3. In the Name box, type a name for the operation. By default all new non-sim operations are
named Op#.

4. In the Description box, type a description for the operation.

You are not required to type 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.

5. In the Duration box, leave it with a value of 0.

2-6 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Part appearances and material flow

6. Click OK. A new non-sim operation is created and displayed in the Operation Tree viewer. If there
is not already a current operation, the new operation is automatically set as the current operation
and is therefore displayed in the Sequence Editor.

To insert a new operation into an existing sequence of operations


• Select an operation from the existing operations which are included under the current operation
and drag it in the tree part of the Sequence 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. Select an existing 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). Ungroup does not change the order or hierarchy of the group’s
descendant nodes.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 2-7


Lesson
Lesson 2: 2: Part appearances
Part appearances and material
and material flow flow

• 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.

2-8 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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

Business process

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).

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 2-9


Lesson
Lesson 2: 2: Part appearances
Part appearances and material
and material flow flow

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:


• 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. From the Graphic Viewer toolbar, change the Pick Intent to Self Origin .

2. From the ribbon, choose Modeling tab→Layout group→Create Frame →Frame by

6 Values .

2-10 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Part appearances and material flow

3. Select the red part.

4. Click OK.

5. From the Quick access toolbar choose Save .

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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 2-11


Lesson
Lesson 2: 2: Part appearances
Part appearances and material
and material flow flow

Basic Techniques
Purpose
In this topic, you learn how to build on what was learned in the previous topics by adding a part
flow to your 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

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

2-12 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Part appearances and material flow

• 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:
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).

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 2-13


Lesson
Lesson 2: 2: Part appearances
Part appearances and material
and material flow flow

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

• Export to Image File

• Layout Display

2-14 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Part appearances and material flow

• Toggle Grid

Events in event-based (CEE) simulation


During event-based (CEE) simulation, event execution operates as follows:
• For events that are not related to objects (for example, pause 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 events of compound operations.

• Process Simulate executes all events of leaf operations (for example, flow, weld, and non-sim
operations) as usual.

Module basics
In this topic you create and use a module to set the value of one signal to another.
Modules are created in the Modules Viewer. You use the Modules Viewer 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:

• From the ribbon, choose View tab→Screen Layout group→Viewers →Modules Viewer.

Working with modules in the Module Viewer


Modules inventory functionality:

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 2-15


Lesson
Lesson 2: 2: Part appearances
Part appearances and material
and material flow flow

In this lesson, you learn about just two module inventory commands. More about the Module Viewer
and the other commands are covered later in this training.

• New Module — Enables you to add a new module to the study

• Edit Module — Enables you to configure modules.

To define a new module in the modules inventory:

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. Select the Result Signal

2-16 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Part appearances and material flow

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.

Activities
In the Basic Techniques section, do the following activities:
• Setting up the initial object flow operation

• Controlling the generation of part appearances

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 2-17


Lesson
Lesson 2: 2: Part appearances
Part appearances and material
and material flow 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 for CEE


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.

• 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. Select 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 Control tab of the ribbon.

2-18 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Part appearances and material flow

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.

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 .

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 2-19


Lesson
Lesson 2: 2: Part appearances
Part appearances and material
and material flow 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.

2-20 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Lesson 3: 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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 3-1


Lesson
Lesson 3: 3: Sensors
Sensors and conveyors
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.

Business process

Sensors are an important part of event-based simulations. In this part of the training, you learn
about several different types of sensors.

3-2 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Sensors and conveyors

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:

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:

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 3-3


Lesson
Lesson 3: 3: Sensors
Sensors and conveyors
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. From the ribbon choose Control tab→Resource group→Sensors →Create Photoelectric


Sensor .

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

3-4 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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.

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 Placement Manipulator or Relocate commands.


When moving it, make sure to select the whole component and not just the lens.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 3-5


Lesson
Lesson 3: 3: Sensors
Sensors and conveyors
and conveyors

To activate the sensor, select the sensor and choose Activate Sensor from
the Control tab of the ribbon. The sensor can be turned off by clicking Deactivate
Sensor .
If needed, the beam can be displayed or hidden by clicking either Display Detection
Zone or 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. Select the sensor resource and choose Control tab→Sensor group→Edit Sensor . The Edit
Photoelectric Sensor dialog box is displayed.

2. Change the desired settings.

3-6 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Sensors and conveyors

Activities
In the Photoelectric sensors (light sensors) section, do the following activities:
• Doing the basic study setup

• Creating and using light sensors

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 3-7


Lesson
Lesson 3: 3: Sensors
Sensors and conveyors
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. From the ribbon, choose Control tab→Sensor group→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, type a name for the sensor.

3. In the Graphic Representation box, select 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, type the names of the objects in the Graphic Viewer
that activates the sensor when they type 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.

3-8 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Sensors and conveyors

7. Click OK.

To edit a proximity sensor in Process Simulate

1. In Process Simulate, select the sensor, and choose Control tab→Sensor group→Edit Sensor
.

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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 3-9


Lesson
Lesson 3: 3: Sensors
Sensors and conveyors
and conveyors

Activities
In the Proximity sensors section, do the following activities:
• Creating and using proximity sensors

3-10 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Sensors and conveyors

Conveyors and skids overview


Purpose

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

Objectives

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


• Use and edit conveyors and conceptual conveyors.

• 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.

Business process

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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 3-11


Lesson
Lesson 3: 3: Sensors
Sensors and conveyors
and conveyors

Basic types of conveyors:


• Power and free – Parts are carried on a skid (or hanger). 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).

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.)
These commands are located on the Control tab of the ribbon:

• 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)

• Edit Conceptual Conveyor — Used to modify the settings of an existing conveyor.

• Define Conveyable Part — Used to select 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.

• Drive conveyor (described later in this lesson)

3-12 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Sensors and conveyors

Legacy conveyor commands


These legacy conveyor commands are not located on the ribbon:

• 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)

Conceptual conveyor basics


Conveyor types:
Curve conveyors

You use the Define Conveyor command, located on the Control tab of the ribbon, 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.

Angular conveyors

You use the Define As Angular Conceptual Conveyor command, not located on the
ribbon, to create a legacy 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 Define As Linear Conceptual Conveyor command, not located on the ribbon,
to create a legacy 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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 3-13


Lesson
Lesson 3: 3: Sensors
Sensors and conveyors
and conveyors

Conveyor basics
This information is true for all conveyors.
• Conveying Tolerance — defines how close a conveyable 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. For skids, the measurement is made with respect to the conveying frame.

• Collision Tolerance — defines how close a conveyable 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.

Conceptual conveyor definition


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 conceptual conveyor:

1. From the ribbon, choose Modeling tab→Components group→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-14 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Sensors and conveyors

3. In the Object Tree, select it.

4. From the ribbon, choose Controls tab→Conveyor group→Define as Conceptual Conveyor

5. For the Curve, select a curve to represent the path of the conveyor.

6. Select which portion of the curve to use and the direction of the conveyor using :

7. Click Control Points to define the control points (where the skids can stop along the curve).
This is described in more detail on the next page.

8. From the ribbon, choose Modeling tab→Scope group→End Modeling .

9. Select the desired location under the system root and name for the COJT.

10. In the Navigation Tree, select the desired location in the ResourceLibrary for the object.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 3-15


Lesson
Lesson 3: 3: Sensors
Sensors and conveyors
and conveyors

Conveyor control points


In addition to the basic definition of a conveyor’s motion and logic control, some more advanced
features are also available to allow better modeling of a real system. These features are found in
the Conveyor Control Points dialog.
Control points are points along the conveyor’s curve at which the user can decide on a certain action
to be taken by the conveyor and also set a logical expression to decide whether an action is taken.

Control Point types


• Stopper: when a part/skid reaches a stopper point it stops moving. Parts which collide with this
part (since it stopped moving and they did not) stack up to it, meaning they stop upon contact
with the stopped part.

• Orientation change: when a part/skid reaches an orientation change point it will start to rotate
according to the point’s settings.

• Speed change: when a part/skid reaches a speed change point it will start to move with a
higher/lower velocity until it reaches the next speed change point.

You can also generate and destroy skids at control points.

Add control points to a conveyor


If the conveyor has been defined as a normal conveyor, parts are conveyed along the conveyor/control
points.
If the conveyor has been defined as a skid conveyor, skids are conveyed along the conveyor/control
points.
1. Start modeling the conveyor, such as MyConveyor1, if you are not already.

2. From the ribbon, choose Control tab→Resource group→Edit Logic Resource .

3. From the Resource Logic Behavior Editor dialog box, edit the conveyor's logic and add a Boolean
entry for each control point. For example, create CP_1 and CP_2.

4. Create output signals for the new CP entries.


For example, MyConveyor1_CP_1 and MyConveyor1_CP_1 are created. and connected to
the entries.

5. From the ribbon, choose Control tab→Conveyor group→Edit Conceptual Conveyor .

6. From the Define Conceptual Conveyor dialog box, click Control Points .
The Control Points dialog appears.

3-16 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Sensors and conveyors

7. Click Create Control Point (the button toggles to its on state) and click the point on the
conveyor at which to add the new control point. The new control point is displayed as an orange
sphere.
The Control Points dialog displays the following information for the control point:

• Name - By default, control points are named according to the following convention:
CP_<enumerator>. For example, named CP_1.
If you wish to rename the control point, double-click it or press the F2 key, edit the name, and
press the Enter key to accept the change.

• Point - Displays the coordinates of the selected point.


If you wish to relocate the control point, double-click it or press the F2 key, edit the coordinates
or drag the control point to its new location, and press the Enter key to accept the change.

• Stopper check box - When a control point is defined as a Stopper Point, its Orientation
and Speed are grayed out and not considered during simulation (parts do not change their
orientation when passing the control point, and the point’s properties are ignored when
calculating speed intervals).
During the simulation when a skid/part reaches a stopper point it stops moving. If other
skids/parts follow the stationary one, they stack one after another before the Stopper Point.

If the leading item/skid on the conveyor is obstructed and cannot move forwards,
the following items/skids stack up behind it with a default gap of 0.1 mm. To change

this value, choose File→Options , PLC tab, and set the Stacking accuracy.

• Orientation - When parts reach the control point on the conveyor, their orientation is changed
to that defined in the Orientation box. By default, the box is empty and there will be no
change in the part’s orientation. To select a frame for the orientation, select the orientation
box, click and select a frame; or double-click the orientation box or press the F2 key, and edit
the frame values manually.
The control point with orientation is displayed as a sphere with a frame. Press the Enter
key to accept the change.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 3-17


Lesson
Lesson 3: 3: Sensors
Sensors and conveyors
and conveyors

If you wish to cancel the orientation, select the orientation box and click Remove Orientation
of Control Points .

• Speed - When parts reach the control point on the conveyor, their speed is changed to
that defined in the Speed box. By default, this is set as the conveyor's actual speed (the
speed box is empty, with no value displayed).

In this case, when a part or skid passes through such a control point, its speed is
changed to the actual conveyor speed (which might be accelerated or decelerated
based on the conveyor's logic behavior during the simulation).

To set the speed, select the speed box, double-click it or press the F2 key, set the value as
desired, and press the Enter key to accept the change.

• Reset to Conveyor Speed - at selected control points (represented as green spheres),


resets the speed from the absolute speed (if it was defined) to the "conveyor speed" (the
default state, indicated by the empty speed box).

• Condition expression enter a logical expression for the control point. For example, enter
NOT MyConveyor1_CP_1 for CP_1.

8. For each additional control point you want to add, click (the button toggles to its on state)
and click the point on the conveyor at which to add the new control point. The new control point
is displayed as a green sphere and the rest are displayed as orange spheres. For example,
now create CP_2.

9. If necessary, select a control point and click Remove Control Point .

10. Click OK to close the Control Points dialog and save the control points.

If you added control points on an excluded section of the conveyor curve, these are
removed when you close the Control Points dialog.

11. Optionally, you can set a Condition expression for a control point. When the condition evaluates
to True during simulation, the properties of the control point are taken into consideration;
otherwise, they are ignored. However, even when the condition expression evaluates to False
during simulation, the speed property is still used to calculate the speed intervals. Control points
are displayed in bold font in the Name column when they possess a Condition expression. For
information on how to edit expressions, refer to Edit Module.
In this example, when a skid reaches control point CP_1 and both Resource Input Signal and
Resource Input Signal1 are False, the skid continues to move. However, if one of these signals
changes to True when the next skid arrives at CP_1, that skid stops at the control point and all
the following skids stack up behind it, as long as either signal remains True.

12. Click OK to close the Control Points dialog.

3-18 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Sensors and conveyors

Legacy linear and angular conceptual conveyor definition


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. From the ribbon, choose Modeling tab→Components group→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. From the Quick access toolbar, click Customize Quick Access Toolbar , choose More
Commands, and add the Define as Linear Conceptual Conveyor to the Quick access
toolbar.

4. In the Object Tree, select it.

5. From the Quick access toolbar, choose Define as Linear Conceptual Conveyor .

6. Enter the desired parameters.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 3-19


Lesson
Lesson 3: 3: Sensors
Sensors and conveyors
and conveyors

7. From the ribbon, choose Modeling tab→Scope group→End Modeling .

8. Select the desired location under the system root and name for the COJT.

9. In the Navigation Tree, select the desired location in the ResourceLibrary for the object.

To define an angular conceptual conveyor:

1. From the ribbon, choose Modeling tab→Components group→New Resource

2. From the Quick access toolbar, click Customize Quick Access Toolbar , choose More
Commands, and add the Define as Angular Conceptual Conveyor to the Quick access
toolbar.

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

4. In the Object Tree, select it.

5. From the Quick access toolbar, choose Define as Angular Conceptual Conveyor .

6. Enter the desired parameters.

7. From the ribbon, choose Modeling tab→Scope group→End Modeling .

8. Select the desired location under the system root and name for the COJT.

9. In the Navigation Tree, select the desired location in the ResourceLibrary for the object.

3-20 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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 Edit Conceptual Conveyor command, located on the Control tab of the ribbon, enables
you to modify the settings of an existing conveyor. You can only edit a conveyor that is loaded for
modeling.

The Edit Conveyor Logic Behavior command, located on the Control tab of the ribbon, 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
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).

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 3-21


Lesson
Lesson 3: 3: Sensors
Sensors and conveyors
and conveyors

• 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, select it.

2. From the ribbon, choose Modeling tab→Scope group→Set Modeling Scope .

3. From the ribbon, choose Control tab→Conveyor group→Edit Conceptual Conveyor .

4. Change the desired parameters.

5. From the ribbon, choose Modeling tab→Scope group→End Modeling .

To edit a conveyor’s logic:


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

3-22 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Sensors and conveyors

2. From the ribbon, choose Modeling tab→Scope group→Set Modeling Scope .

3. From the ribbon, choose Control tab→Conveyor group→Edit Conveyor Logic Behavior .

4. Change the desired parameters.

5. From the ribbon, choose Modeling tab→Scope group→End Modeling .

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 Define As Conceptual Skid command, located on the Control tab of the ribbon, 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:

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 3-23


Lesson
Lesson 3: 3: Sensors
Sensors and conveyors
and conveyors

• 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 Edit Conceptual Skid command, located on the Control tab of the ribbon, enables you to
modify the settings of an existing skid.

Conceptual skid usage


To define a conceptual skid:

1. From the ribbon, choose Modeling tab→Components group→New Resource

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

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

4. From the ribbon, choose Control tab→Conveyor group→Define As Conceptual Skid .

5. Enter the desired parameters.

6. From the ribbon, choose Modeling tab→Scope group→End Modeling .

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

8. In the Navigation Tree, select the desired location in the ResourceLibrary for the object.

To edit a conceptual skid:


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

3-24 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Sensors and conveyors

2. From the ribbon, choose Modeling tab→Scope group→Set Modeling Scope .

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

4. From the ribbon, choose Control tab→Conveyor group→Edit Conceptual Skid .

5. Change the desired parameters.

6. From the ribbon, choose Modeling tab→Scope group→End Modeling .

Drive conveyor

You use the Drive Conveyor command to drive or jog the conveyor forwards or backwards so
that conveyor skids or parts move to new positions along the conveying line. You can also create and
store positions you know to be useful. For example, if you are interested in examining what happens
when a robot executes a weld on a part traveling on the conveyor, you can create a conveyor position
just before the position at which the robot executes the weld and run your simulation from that
point without the need to run it from the start.

• The Drive Conveyor command is only available in Standard Mode.

• The Simulation Panel plays the conveyor's current position (including jogged positions)
when working in Line Simulation mode.

• Conveyor control points are ignored while driving the conveyor. If, for example, you
drive the conveyor past a control point that is set to change the orientation of a skid,
the skid remains in its initial orientation.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 3-25


Lesson
Lesson 3: 3: Sensors
Sensors and conveyors
and conveyors

To drive a conveyor:

1. Select the conveyor you wish to manipulate.

2. From the ribbon, choose Control tab → Conveyor group → Drive Conveyor . The Drive
Conveyor dialog box appears.

3. If you wish to change the Zero position (this position that acts as a point of reference for all other
positions) of the conveyor, click and then click the desired point on the conveyor or enter a
numerical value.

After specifying a new Zero position all position values are automatically updated so
no change actually occurs in the positions. For example, after changing the Zero
position from zero to 50, a position at 20 will now be defined at -30. Therefore,
changing the Zero position has no observable effect on the conveyor.

Lower Limit and Upper Limit respectively show the current lower and upper limits for the
conveyor's motion (with respect to the Zero position). These parameters are not relevant for
a closed-curve conveyor.

4. When set, Limit motion automatically limits conveyor driving according to the currently conveyed
parts/skids. The limits are displayed in Lower Limit and Upper Limit. In this case, parts/skids on
the conveyor always maintain the same distance from each other. This means that when the
leading part/skid reaches the end of the conveyor and is prevented from moving any further, the
following parts/skids also stop moving, to prevent stacking. By default this parameter is set, clear
Limit motion if you wish.

5. To drive or jog the conveyor to another position, do any of the following:

• Drag the slider.

• Enter a value in the numerical field or use the arrows to update the value in the numerical field.

• Select a position from the Positions list.

6. To configure the Position list, click Positions Editor and do any of the following:

• Create a new conveyor position - Click New. The new position is named Position1 by
default and appears in the Positions list. Double-click the name to edit it and give it a
meaningful name. The numerical value of the selected position is displayed in the Value
numerical field.

• Update a conveyor position - Select a position, move the part/skid to the desired place on
the conveyor, and click Update. The value of the position is displayed in the Value numerical
field and the Value slider is refreshed.

• Delete a conveyor position - Select a position and click Delete to remove it from the
Positions list.

3-26 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Sensors and conveyors

• Jump to a conveyor position - Select a position and click Jump to cause the part/skid to
jump to the desired position. Alternatively, double-click the target position. If Limit motion is
set, conveyed parts/skids maintain their relative offset with respect to each other.

7. Optionally, click Settings to configure the Drive Conveyor display and behavior.
Configure any of the following:

• Column management - Check the columns you wish to display in the Drive Conveyor dialog
box and clear those you wish to hide. The Value column must always be displayed. Use
the and arrows to set the column order that suits you best.

• Drive controls - Set Step size to configure the distance jumped when modifying the
conveyorValue. Adjust the Slider sensitivity as desired. Higher Slider sensitivity values
cause faster, less precise slider control. lower values cause slower, more precise control.

• Attach compound parts to skids - When cleared, only parts detected by the skid are
attached to the skid. If, for example, a car has been created as a compound part and the
skid has detected the car chassis, the skid and the chassis move along the conveyor but
the car body remains in its place. When this parameter is set, the entire compound part
is attached and is moved by the conveyor.

8. If you are not satisfied with your changes, click Reset to undo the changes you made in the Drive
Conveyor dialog box since you launched it.

9. Click Close to exit the Drive Conveyor dialog box.

Activities
In the Conceptual conveyors and skids overview section, do the following activities:
• Creating a conveyor using a curve

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 3-27


Lesson
Lesson 3: 3: Sensors
Sensors and conveyors
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 select 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 select the conveying frame.
To define conveyable parts:
1. Select a part appearance in the Graphic Viewer or Object Tree.

2. From the ribbon, choose Control tab→Conveyor group→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.

3-28 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 3-29


Lesson
Lesson 3: 3: Sensors
Sensors and conveyors
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.

Business process
Sensors are an important part of event-based simulations. In this part of the training, you learn
about several different types of sensors.

3-30 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Sensors and conveyors

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.

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. From the ribbon, choose Control tab→Sensor group→ Edit Part Simulation Property List .

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 3-31


Lesson
Lesson 3: 3: Sensors
Sensors and conveyors
and conveyors

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:

1. From the ribbon, choose Control tab→Sensor group→Create Property Projector .

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

3-32 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Sensors and conveyors

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. Select the property projector.

2. From the ribbon, choose Control tab→Conveyor group→Edit Property Projector .

3. Enter the desired parameters.

Activities
In the Property projectors section, do the following activities:
• Property lists and property projectors

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 3-33


Lesson
Lesson 3: 3: Sensors
Sensors and conveyors
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 is used 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 is used 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. From the ribbon, choose Control tab→Sensor group→Sensors →Create Property


Sensor .

2. A 3D property sensor is added to the Graphic Viewer and the Create Property Sensor dialog
box appears.

3-34 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 3-35


Lesson
Lesson 3: 3: Sensors
Sensors and conveyors
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 can see 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 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:

3-36 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Sensors and conveyors

• 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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 3-37


Lesson
Lesson 3: 3: Sensors
Sensors and conveyors
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.

3-38 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Lesson 4: 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 import and connect signals to a logic from a spreadsheet.

• How to create a custom logic conveyor.

• Some tips for using event–based simulations.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 4-1


Lesson
Lesson 4: 4: LogicLogic blocks
blocks and smart
and smart components
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 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.

4-2 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Logic blocks and smart components

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:

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 4-3


Lesson
Lesson 4: 4: LogicLogic blocks
blocks and smart
and smart components
components

Creating a logic resource (logic block)

Choosing Create Logic Resource , from the Controls tab of the ribbon, opens the Resource Logic
Behavior Editor dialog box. It used to create a logic block.

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.

• 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:

4-4 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Logic blocks and smart components

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.

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

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

Delete logic from resource

You can delete all the logic from a resource.

This command is not available in Process Simulate on Teamcenter.

1. Load a study containing logic blocks.

2. In the Object Tree, select a resource containing a logic block

If logic exists in a resource, a check box is displayed for it in the LB Simulate column
in the Object Tree.

3. Set modeling scope to the resource, if you are not already modeling it.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 4-5


Lesson
Lesson 4: 4: LogicLogic blocks
blocks and smart
and smart components
components

4. In the command search box, type Delete Logic and select the Delete Logic from Resource
command.

This command is not located on the ribbon.

5. In the Delete Logic from Resource dialog box, click Yes.

6. Either End modeling the resource to save the changes to component prototype, or save the
study to save the changes in the study.

4-6 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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.

Business process

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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 4-7


Lesson
Lesson 4: 4: LogicLogic blocks
blocks and smart
and smart components
components

• 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)

4-8 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 4-9


Lesson
Lesson 4: 4: LogicLogic blocks
blocks and smart
and smart components
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. From the ribbon, choose Control tab→Debug group→Signal Monitoring .

4-10 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Logic blocks and smart components

• One or manual free hand logical expressions.

1. From the ribbon, choose Control tab→Debug group→Signal Monitoring .

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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 4-11


Lesson
Lesson 4: 4: LogicLogic blocks
blocks and smart
and smart components
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 enhance your simulation to keep track of the total number of the parts produced since you
last clicked the GO button during the simulation:

Here’s one possible solution:

4-12 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 4-13


Lesson
Lesson 4: 4: LogicLogic blocks
blocks and smart
and smart components
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 uses two input Boolean signals: set and reset. This
function uses the first signal to trigger the result signal and a second signal to reset the result
signal. In the training example you use one signal to determine that the press should begin moving
toward a pose such as closed and another to stop the movement when it has reached the pose.

• 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 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

Boolean operations

• BitwiseByteSwap (value1:doubleinteger, value2:doubleword)— Returns the signal with bytes


swapped from little endian to big endian. Value1 is the size in bytes and value2 is a signal.

Endianness refers to the sequential order in which bytes are arranged into larger
numerical values when stored in memory or when transmitted over digital links.

• BitwiseIsBitOn (value1:doubleinteger, value2:doubleword value3:doubleinteger ) —


Returns TRUE if the bit at the specified bit index is turned on in the signal. Value1 is the size in
bytes, value2 is the signal, and value3 is the bit index.

• BitwiseReverse (value1:doubleinteger, value2:doubleword) — BitwiseReverse - Returns the


signal with bits reversed from least significant bit (LSB) to most significant bit (MSB). Value1
is the size in bytes and value2 is the signal.

4-14 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Logic blocks and smart components

Counter

• CTD (value1:boolean, value2:boolean, value3:integer) — Value1 is the count up trigger,


value2 is the reset trigger, and value3 is the target value.

• CTU (value1:boolean, value2:boolean, value3:integer — Value1 is the count down trigger,


value2 is the reset trigger, and value3 is the target value.

• CTUD (value1:boolean, value2:boolean, value3:boolean, value4:boolean value5:integer


value6:integer — Value1 is the count up trigger, Value1 is the count down trigger, value2 is the
reset trigger,value4 is the start value, and value5 is the target value.

Material Flow

• DestroyAppearance (value:integer) — Destroys all the appearances within the range specified
by value to the logic block's self frame

• DestroyAppearanceAtLocation (X:real, Y:real, Z:real, value:integer) — Destroys all


appearances within the range specified by value of the X,Y,Z location.

Math

• IntModulo (value1:int, value2:int) — this math function computes the remainder of value1
divided by value2.

• MAX (value1:real, value2:real) — Maximum

• MIN (value1:real, value2:real) — Minimum

• RealModulo (value1:real, value2:real) — this math function computes the remainder of value1
divided by value2.

• ROUND (value:real) — Rounds the value.

• RoundDown (value:real) — Returns the greatest integer that is less than or equal to the value.

• RoundUp (value:real) — Returns the least integer that is greater than or equal to the value.

• SQRT (value:real) — Returns the square root (base 2) of the value.

Timer

• GetSimulationTime ()

• StopWatch (value1:boolean, value2:boolean) — A simulation stop watch in which each


activation of value2 returns the elapsed time since value1 was signaled.

• TOF (value1:boolean, value2:real)

• TON (value1:boolean, value2:real) — Generate on-delay: After value1 is triggered, it activates


after value2 time has passed.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 4-15


Lesson
Lesson 4: 4: LogicLogic blocks
blocks and smart
and smart components
components

• TP (value1:boolean, value2:real) — Generate pulse: After value1 is triggered, it triggers a


pulse after the value2 has passed.

Trigonometry
• ACOS (value:real) — Arc cosine

• ASIN (value:real) — Arc sine

• ATAN (value:real) — Arc tangent

• COS (value:real) — Cosine

• SIN (value:real) — Sine

• TAN (value:real) — Tangent

• PI () — Returns the value of PI (3.14...)

Complex logic statements


You can author complex logic statements. Relevant for all Expression related applications such as
logic blocks, modules, transitions, signal monitoring, and conveyor control points.
• Parameter calls inside function calls are separated by a comma.

• Do not need to add quotation marks around each parameter name unless the parameter name
includes spaces or commas

• A red line is placed below invalid sections of logic expressions to allow you to better understand
the areas where expressions are not valid.

For example:
• SR ( RE(X), FE(Y) )

• MAX(MAX(A,B),C) )

• MAX(A + MAX(B,C), MIN(D+E,ABS(F)))

• DestroyAppearanceAtLocation(MAX(X,LowerLimit ),MAX(Y,LowerLimit ),MAX(Z,LowerLimit


),CTU(Sensor,Reset, #Part )*ROUND(ABS(UpperLimit -LowerLimit )))

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.
Compare and contrast them:
• Transition conditions
o Exists only on a specific transition

4-16 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Logic blocks and smart components

o Used for logic that is specific to an operation such as for material flow

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

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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 4-17


Lesson
Lesson 4: 4: LogicLogic blocks
blocks and smart
and smart components
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

4-18 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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

Smart component commands


The following Smart Component commands are available:
These commands are located on the ribbon in the Controls tab→Resource group:

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 4-19


Lesson
Lesson 4: 4: LogicLogic blocks
blocks and smart
and smart components
components

• 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.

• Create LB Pose Action and Sensors (also known as Automatic Pose Action/Sensor
Creation) — to select 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.

• 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.

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 select device poses for which the system then creates pose
actions and sensors, together with all the required entries and exits. You can select 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.

4-20 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Logic blocks and smart components

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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 4-21


Lesson
Lesson 4: 4: LogicLogic blocks
blocks and smart
and smart components
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.

Business process

Activities
In the Light stack example (optional) section, do the following activities:

4-22 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Logic blocks and smart components

• 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

Connection mapping (optional)

Connection mapping (optional)

Purpose

In this topic, you learn how to import signals from an Excel spreadsheet and connect them to a
logic block.

Objectives

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


• Edit the signals in an Excel spreadsheet.

• Import signals from an Excel spreadsheet and connect them to a logic block.

Spreadsheet format

When performing connection mapping in a spreadsheet, you could either export the signals from
eCAD system, or just create an Excel spreadsheet in this format as a way to quickly create and
connect the required signals.

For the Excel file format, you must organize the file in these columns:
• ResourceName — The name of the logic block in Process Simulate. For example, enter
MyLogicBlock.

• CategoryNameProvider — This column is for future use. For example, you could enter Siemens.

• PinName — The name of the entry or exit on the logic block. For example, enter Entry1.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 4-23


Lesson
Lesson 4: 4: LogicLogic blocks
blocks and smart
and smart components
components

• SignalWireName — The name of the signal, as shown in the Signal Viewer. For example,
enter mySignal.

• SignalType — The type of the signal can be either I for input ; Q for output. By default, if no
SignalType is specified (either the column is missing or contains an empty value), connecting
the signal to logic block Entry creates an output signal and connecting to a logic block Exit
creates an input signal.

• Address — This optional column is the address of the signal.

• Comment — This optional column is a comment defined for the signal.

• External Connection — This optional column is the name of the external 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 necessary, add
the CategoryNameProvider column header and leave the column empty. If your eCAD
application generates a file with a different order of columns, this is acceptable.

For each line in the file, the command performs the following:
• Search for the logic block specified in the ResourceName column.

• Check if the signal specified in the SignalWireName column exists.

• If the signal does not exist, the command creates the signal.

• Connect the signal to the entry or exit specified in the PinName column.

Perform connection mapping

Steps to perform the import

1. Setup the source Excel spreadsheet as required.

2. Choose Control tab→Mapping group→Connection Mapping .

The Open dialog appears.

3. Select the relevant Excel spreadsheet and click Open.


Connection mapping creates signals and connections for the specified logic block.

4-24 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Logic blocks and smart components

Example import files

There are three example signal connection mapping import files in the
.\sysroot\Import-Exports\Signals folder.
• RUN_BAR.xlsx

• R2000IA_CNTRL.xlsx

• PROC_REQ_CONT.xlsx

On import, the system creates any referenced signals (SignalWireName) that do not exist. Then
connects thet signals to the referenced entry/exists (PinName) of the referenced logic block
(Resourcename).

For the import to be successful, the referenced logic block and entry/exits must already
exist.

Connecting mapping report

When Connection Mapping has finished creating signals and connections, it generates a report
and opens it in Notepad. The following is an example of a connection mapping report:

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 4-25


Lesson
Lesson 4: 4: LogicLogic blocks
blocks and smart
and smart components
components

The following are possible error messages:


• If more than one logic block has the same name, connection mapping creates signals for only the
first appearance and notes:
Duplicated resources detected <resource _name> in the report.

• If more than one entry or exit has the same name, connection mapping creates signals for
only the first appearance and notes:
Duplicated entry/exit detected <resource _name_entry_name> in the report.

• If more than one entry or exit has the same name and if they have different type definitions (for
example, one is defined as BOOL and another as WORD),connection mapping notes:
Impossible to create/connect signals to <resource _name> - inconsistent definition

4-26 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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

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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 4-27


Lesson
Lesson 4: 4: LogicLogic blocks
blocks and smart
and smart components
components

• Conveyor stop action

Activities
In the Custom conveyor example (optional) section, do the following activities:
• Defining a “default” conveyor

• Defining a “custom” conveyor (optional)

4-28 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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

o Used for logic that is specific to an operation

• Modules
o Exists only in a study

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 4-29


Lesson
Lesson 4: 4: LogicLogic blocks
blocks and smart
and smart components
components

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.

4-30 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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 import and connect signals to a logic from a spreadsheet.

• How to create a custom logic conveyor.

• Some tips for using event–based simulations.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 4-31


Lesson 5: Put 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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 5-1


Lesson
Lesson 5: 5: Put itPut
all it all together
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)

5-2 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Put 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.

Business process

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 5-3


Lesson
Lesson 5: 5: Put itPut
all it all together
together

Activities
In the Creating line simulation studies section, do the following activities:
• Opening and examining a simple event-based study

5-4 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Put 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.

Business process

Sensors are an important part of event-based simulations. In this part of the training, you learn
about several different types of sensors.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 5-5


Lesson
Lesson 5: 5: Put itPut
all it all together
together

Activities
In the Automatic smart component creation section, do the following activities:
• Setup the clamps and pins smart component

5-6 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Put 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.

Business process

Module basics
In this topic you create and use modules to clean up how you are setting up your 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 .

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 5-7


Lesson
Lesson 5: 5: Put itPut
all it all together
together

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:

• From the ribbon, choose View tab→Screen Layout group→Viewers →Modules Viewer.

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 to 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.

5-8 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Put it all together

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:

1. In the Module Viewer, click New Module Object

2. Click New Entry.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 5-9


Lesson
Lesson 5: 5: Put itPut
all it all together
together

3. Enter the Expression by typing and Selecting from the hints that appear to auto fill the box.

4. Select the Result Signal

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, select the hierarchical parent for the IF statement.

2. Click Create “IF” Statement

3. Select 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 helps avoid problems if you merge this study with others later.

5-10 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Put it all together

• If you intend on merging several stations together later, prefix the name of the module with
the station name.

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. Select 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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 5-11


Lesson
Lesson 5: 5: Put itPut
all it all together
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.

Business process

Sensors are an important part of event-based simulations. In this part of the training, you learn
about several different types of sensors.

5-12 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Put it all together

Activities
In the Create proximity sensor section, do the following activities:
• Create part proximity sensors on the fixture and conveyor

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 5-13


Lesson
Lesson 5: 5: Put itPut
all it all together
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.

Business process

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.

5-14 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Put it all together

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 .

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.

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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 5-15


Lesson
Lesson 5: 5: Put itPut
all it all together
together

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:

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, select the operation to which the program continues as shown
with the arrow:

5-16 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Put it all together

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 From the ribbon, choose Operation tab→Create Operation group→New Operation

→New Non-Sim Operation .

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

o For the Duration, type 0.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 5-17


Lesson
Lesson 5: 5: Put itPut
all it all together
together

o Click OK.

Activities
In the Working with part appearances (again) section, do the following activities:
• Generating part appearances

5-18 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Put 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, select the parent operation.

2. From the ribbon, choose Operation tab→Create Operation group→New Operation →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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 5-19


Lesson
Lesson 5: 5: Put itPut
all it all together
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

5-20 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Lesson 6: 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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 6-1


Lesson
Lesson 6: 6: Robotic
Robotic event-based
event-based simulation
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.

• Import and export 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 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).

6-2 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Robotic event-based simulation

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 Robot Signals
from the Control tab of the ribbon.

The following diagram illustrates the basic relationship between robot (OLP) signals and PLC signals:

Choosing 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).

• 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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 6-3


Lesson
Lesson 6: 6: Robotic
Robotic event-based
event-based simulation
simulation

• 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 Teach

Pendant from the Robot tab of the ribbon.

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 the Ctrl+X keys or right-click it and choose Cut .

• To copy the select command, press the Ctrl+C keys or right-click it and choose Copy .

• To paste a command, press the Ctrl+P keys or right-click it and choose Paste .

6-4 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Robotic event-based simulation

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.

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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 6-5


Lesson
Lesson 6: 6: Robotic
Robotic event-based
event-based simulation
simulation

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.

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).

6-6 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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.

Entries

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 6-7


Lesson
Lesson 6: 6: Robotic
Robotic event-based
event-based simulation
simulation

• 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).

• # WaitTime — The robot waits the specified number of seconds before the next command is
performed.

6-8 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Robotic event-based simulation

Spreadsheet format for robot signals


You can import signals generated by external applications and use them in Process Simulate.
Similarly, you can export signals created in Process Simulate to use them in other applications. The
process is accomplished using an Excel spreadsheet to store the signals.

Observe the following formatting rules when creating an Excel spreadsheet for signal import/export:
• The column headers must be exactly as shown in this example. If any are different, the system
will return an error.

• The columns must be in the exact order shown in this example. No information may be added
before, between, or after these columns.

• The Excel spreadsheet is not case-sensitive.

• If any of the following information is missing, the system will return an error: RobotInternalName,
I_Q, or TYPE.

• The following parameters are optional: Prefix, InterfaceName, Address, and Comment.
The system converts between Excel signal properties and Process Simulate properties as follows:

Excel Process Simulate


InterfaceName PLC Signal Name
RobotInternalName Robot Signal Name
I_Q I/O
Type PLC signal Type
Address PLC Address
Comment Comment

Rules for formatting imported signal names


The system uses the following rules to format imported signal names:
• If there is an InterfaceName, this is used as the PLC SignalName.

• If InterfaceName is missing, PLC SignalName is formatted as PREFIX + RobotInternalName.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 6-9


Lesson
Lesson 6: 6: Robotic
Robotic event-based
event-based simulation
simulation

• If both InterfaceName and PREFIX are missing, PLC SignalName is formatted as <current
robot instance name> + RobotInternalName.

• RobotInternalName is mandatory. If it is missing, the system generates an error in the report


log for the signal.

• If Address is missing, the signal is imported and its PLC Address remains undefined.

• If TYPE or I_Q are missing, the signal is not imported.

The Excel file does not contain a dedicated a Signal Function column. Instead, the system
exports Signal Function information as comments in the Excel file. Therefore, if you wish
to prevent losing this information after exporting it from one project and importing it into
another, use the comments in the Excel file as a guide to edit the Robot Signals dialog.

Importing robot signals


1. Set up the Excel file as required.

• Interface

2. In Process Simulate, select a robot.

3. From the ribbon, choose Control tab→Robot group→Robot Signals .

4. From the Robot Signals dialog box, click Import Signals , select the Excel file and click
Open.

6-10 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Robotic event-based simulation

Activities
In the Setup a basic robotic zone section, do the following activities:
• Setting up a basic robotic zone

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 6-11


Lesson
Lesson 6: 6: Robotic
Robotic event-based
event-based simulation
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 (File→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 right-click a
robot, choose Robot Signals and Modules→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.).

6-12 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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

• # Send exitZone1 0

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 6-13


Lesson
Lesson 6: 6: Robotic
Robotic event-based
event-based simulation
simulation

• 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 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:
• Using basic robot macros

6-14 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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.

Business process

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:

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 6-15


Lesson
Lesson 6: 6: Robotic
Robotic event-based
event-based simulation
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 signals, paths can be simulated like robot programs using path numbers
inside the program.
Default (PLC) output signals:
• startProgram (signal function = Starting Program)

6-16 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Robotic event-based simulation

• 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.

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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 6-17


Lesson
Lesson 6: 6: Robotic
Robotic event-based
event-based simulation
simulation

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:

• From the ribbon, choose Robot tab→Program group→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.

• Open in Program Editor — Opens the selected program in the Path Editor. This is the
only way to add paths to a program.

6-18 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Robotic event-based simulation

• 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.
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:

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 6-19


Lesson
Lesson 6: 6: Robotic
Robotic event-based
event-based simulation
simulation

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.

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

6-20 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Robotic event-based simulation

• Creating a robot program and using default signals

• Creating and using default robot signals

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 6-21


Lesson
Lesson 6: 6: Robotic
Robotic event-based
event-based simulation
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.

Do I do this

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.

6-22 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Robotic event-based simulation

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 File→Options. The file can contain any OLP command for
the selected robot controller.

• # 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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 6-23


Lesson
Lesson 6: 6: Robotic
Robotic event-based
event-based simulation
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.

(default controller) 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

6-24 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Robotic event-based simulation

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.

Most controllers support the IF statement natively, but each controller has its own syntax
for it that is described later in this training.

• # 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:
o # Switch (a+b)

o # Case 1

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 6-25


Lesson
Lesson 6: 6: Robotic
Robotic event-based
event-based simulation
simulation

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

o # callPath pa1

o # Endwhile

6-26 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Robotic event-based simulation

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 File→Options .

2. In the Options dialog box, click the Motion tab.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 6-27


Lesson
Lesson 6: 6: Robotic
Robotic event-based
event-based simulation
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

6-28 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Robotic event-based simulation

• Using the “if” OLP command

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 6-29


Lesson
Lesson 6: 6: Robotic
Robotic event-based
event-based simulation
simulation

Setup robot path segment communication


Purpose
In this lesson, you learn how to setup robot path segment communication.

Objectives
After you complete this lesson, you should be able to:
• Setup robot path segment communication.

What is path segment communication


Communication between the robot and PLC can be done for several reasons:
• Robot interference zones
You identify an area where multiple robots will work requiring only one robot to be in this area at
once. This was covered earlier in this training.

o Control which robots are active on the part.

• Robot path segment communication with the PLC


You identify areas in the middle of the path where the PLC needs to control or be aware of when
the robot arrives or leaves specific locations. In this way, you divide the path up into segments
and can have different logic control each segment.

o Trigger all or some of the clamps to open when the robot reaches a specific location.

o Stop the clamps from opening while the robot is between specific locations.

o After gripping a part and clear of the tool, check if the part the robot was supposed to have
picked up is actually in its gripper.

If you have a suction cup gripper, the PLC may tell the robot to try to grip the part
again. Or the PLC could halt execution of the robot program, depending on how
the logic is designed.

o Other reasons are also possible.

Ways to setup path segment communication


First, you need to map out the path, identify the segments, and the requirements of each segment.
For example, when the robot reaches a location that you want to mark as the beginning of new
segment, you could do several things:
• Notify the PLC that you have arrived at a new segment by setting the related segment signal to
TRUE. When using segments, this is done every time you have arrived at a new segment. This
could be done in several ways. For example, you could one of the following:
o By directly entering the default controller or robot specific command:

6-30 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Robotic event-based simulation

#SendSignal Segment7 1

o By use a custom robot specific command setup by your administrator:


SET SEGMENT 7

The usage and creation of custom robot specific commands is discussed in the
advanced robotics training.

• Wait before entering the new segment by setting the related segment signal to TRUE and waiting
until the request to continue signal is TRUE. This is done when you need to robot to wait until
the PLC is ready for it to continue. This could be done in several ways. For example, you could
one of the following:
o By directly entering the default controller or robot specific command:
#SendSignal Segment8 1
#WaitSignal RequestContinue 1

o By use a custom robot specific command setup by your administrator:


SET SEGMENT 8
REQUEST CONTINUE

The usage and creation of custom robot specific commands is discussed in the
advanced robotics training.

Activities
In the Setup robot path segment communication section, do the following activities:
• Setup robot path segment communication

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 6-31


Lesson
Lesson 6: 6: Robotic
Robotic event-based
event-based simulation
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.

• 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:

6-32 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Robotic event-based simulation

• In the Robot Viewer, select 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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 6-33


Lesson
Lesson 6: 6: Robotic
Robotic event-based
event-based simulation
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 Export to Excel (not on the ribbon) and File→Import Export →Export All Viewers

to Excel commands are used 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, Modules, and Logic
Behaviors, each of which references the selected signals.

• The Export LB(s) to Excel command, located on the Control tab off the ribbon, 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:

6-34 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Robotic event-based simulation

1. In the Object Tree, select the resource whose logic behavior you wish to export.

2. From the ribbon, choose Control tab→Resource group→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.

2. From the Signals Viewer, choose Export to Excel .

3. Enter a filename for the .XLS

To export the contents of various viewers to Excel:

• Choose File→Import Export →Export All Viewers to Excel .

To export the contents of a specific viewer to Excel:

• The Export to Excel command is not located in the ribbon. Add it to the Quick access toolbar
using Customize Quick Access Toolbar .

• Select the Path Editor, the Sequence Editor, or the Modules Viewer.

• From the Quick access toolbar choose 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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 6-35


Lesson
Lesson 6: 6: Robotic
Robotic event-based
event-based simulation
simulation

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.

You can choose to display SendSignal and WaitSignal commands in the report. This
allows you to better analyze the 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 Robot tab→Analysis
group→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.

6-36 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Robotic event-based simulation

• 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.

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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 6-37


Lesson
Lesson 6: 6: Robotic
Robotic event-based
event-based simulation
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 >>.

6-38 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 6-39


Lesson
Lesson 6: 6: Robotic
Robotic event-based
event-based simulation
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.

6-40 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Lesson 7: Putting it all together continued

Purpose

In this lesson, you learn how to add a dual robot simulation to your “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 your “putting
it all together example”.

• Gain a deeper understanding of robotic event-based simulation.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 7-1


Lesson
Lesson 7: 7: Putting
Putting
it all it all together
together continued
continued

Fixture and robot 1 putting it all together


Purpose

In this lesson, you learn how to add a dual robot simulation to your “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
your “putting it all together example”.

• Gain a deeper understanding of robotic event-based simulation.

Business process

7-2 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Putting it all together continued

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 selects a part style.

Part style 1 or 2 is loaded into the fixture. Sensors detect which part has been loaded.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 7-3


Lesson
Lesson 7: 7: Putting
Putting
it all it all together
together continued
continued

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.

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

7-4 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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 your “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 your “putting it all together example”.

• Gain a deeper understanding of robotic event-based simulation.

Business process

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 7-5


Lesson
Lesson 7: 7: Putting
Putting
it all it all together
together continued
continued

7-6 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Putting it all together continued

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 selects 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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 7-7


Lesson
Lesson 7: 7: Putting
Putting
it all it all together
together continued
continued

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.

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-8 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Putting it all together continued

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.

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 your line.

Activities
In the Robot 2 and conveyor putting it all together section, do the following activities:
• Adding the second robot and conveyor

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics 7-9


Appendix A: More logic block examples

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.

• 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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics A-1


Appendix
Appendix A: A:
MoreMore
logiclogic
blockblock examples
examples

Operator gate control example


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)

A-2 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


More logic block examples

Robot controller example


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
do not 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.

• CLR TO PNC— should be connected to a PLC signal representing whether the robot is clear
to pounce.

Basic use case

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics A-3


Appendix
Appendix A: A:
MoreMore
logiclogic
blockblock examples
examples

• 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

• 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 section, do the following activities:
• Defining a robot controller

A-4 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


More logic block examples

Tip dresser example


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 section, do the following activities:
• Defining a tip dresser

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics A-5


Appendix
Appendix A: A:
MoreMore
logiclogic
blockblock examples
examples

Part scheduler example


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.

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"

A-6 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


More logic block examples

• 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.

• 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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics A-7


Appendix
Appendix A: A:
MoreMore
logiclogic
blockblock examples
examples

Operation run bar example


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"

Actions
• mv_to_s1 = Move to MANUAL pose.

• mv_to_s2 = Move to AUTO pose.

Parameters

A-8 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


More logic block examples

• 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 section, do the following activities:
• Defining a operation run bar

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics A-9


Appendix
Appendix A: A:
MoreMore
logiclogic
blockblock examples
examples

Dump unit example


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).

• 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).

A-10 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


More logic block examples

• 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 section, do the following activities:
• Defining a dump unit

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics A-11


Appendix
Appendix A: A:
MoreMore
logiclogic
blockblock examples
examples

Robot interference zone example


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 section, do the following activities:
• Robot interference zone

A-12 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


More logic block examples

More LB techniques

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.

Logic block basics

The Create Logic Resource command, from the Control tab of the ribbon, is used 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 Edit Logic Resource command is used to change the names of entries and exits, but
not parameters, constants, or actions.

The Connect Signals command is used 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. From the ribbon, choose Control tab→Resource group→Create Logic Resource .

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics A-13


Appendix
Appendix A: A:
MoreMore
logiclogic
blockblock examples
examples

2. Enter the desired content for the logic block.

To edit a logic block:


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

2. From the ribbon, choose Control tab→Resource group→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, select the desired logic block.

2. From the ribbon, choose Control tab→Resource group→Connect Signals .

3. Enter the desired parameters.

A-14 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


More logic block examples

Other smart component topics


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.

Target speed frequency converters

Smart components (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:

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics A-15


Appendix
Appendix A: A:
MoreMore
logiclogic
blockblock examples
examples

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 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.

A-16 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


More logic block examples

• 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 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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics A-17


Appendix
Appendix A: A:
MoreMore
logiclogic
blockblock examples
examples

Activities
In the Other selected smart component topics section, do the following activities:
• Target speed devices

A-18 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


More logic block examples

Weld controller example


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.

• 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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics A-19


Appendix
Appendix A: A:
MoreMore
logiclogic
blockblock examples
examples

• 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 section, do the following activities:
• Defining a weld controller

A-20 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


More logic block examples

PLC example
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.

• 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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics A-21


Appendix
Appendix A: A:
MoreMore
logiclogic
blockblock examples
examples

• 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"

• 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

A-22 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


More logic block examples

• 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 section, do the following activities:
• Defining a PLC cabinet

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics A-23


Appendix
Appendix A: A:
MoreMore
logiclogic
blockblock examples
examples

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.

A-24 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics B-1


Appendix
Appendix B: B:
MoreMore event-based
event-based examples
examples (optional)
(optional)

Sending signals between multiple objects


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 (eMS) Intermediate Robotics MT45215-S-141


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 section, do the following activities:
• Set up device communication

• Ad the CNC animation

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics B-3


Appendix
Appendix B: B:
MoreMore event-based
event-based examples
examples (optional)
(optional)

Robot signal connection and sync


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 (eMS) Intermediate Robotics MT45215-S-141


More event-based examples (optional)

Another way to do it would be to setup a logic block.

Activities
In the Robot Signal Connection and Sync section, do the following activities:
• Robotic Signals

• Creating and using a Module

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics B-5


Appendix
Appendix B: B:
MoreMore event-based
event-based examples
examples (optional)
(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.

Communication
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 (eMS) Intermediate Robotics MT45215-S-141


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

o # WaitDevice CLOSE

o #Grip gripper_frame

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics B-7


Appendix
Appendix B: B:
MoreMore event-based
event-based examples
examples (optional)
(optional)

• 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 (eMS) Intermediate Robotics MT45215-S-141


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

• Macro WELD_GUN2

• # Weld

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics B-9


Appendix
Appendix B: B:
MoreMore event-based
event-based examples
examples (optional)
(optional)

• # 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 (eMS) Intermediate Robotics MT45215-S-141


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 is used to merge the engineering data from a number of different
studies into a single, new study.

1. The Merge Studies command is not located on the ribbon. To add it to the Quick access
toolbar, choose Customize Quick Access Toolbar .

2. Select a studyfolder containing the desired studies.

3. From the Process Simulate Quick access toolbar choose Merge Studies .

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics B-11


Appendix
Appendix B: B:
MoreMore event-based
event-based examples
examples (optional)
(optional)

4. Enter a New Study Name.

5. Select the desired studies from the Available Studies list and click >>.

6. Click Merge to complete the operation.

B-12 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Appendix C: Virtual commissioning

Purpose

To learn a little bit about virtual commissioning with Process Simulate.

Objectives

After you complete this chapter, you should be familiar with:


• Introduction to virtual commissioning concepts.

• How to setup automation software (TIA Portal, PLCSIM, and PLCSIM Advanced).

• How to simulate in PLC mode using a PLCSIM, a PLCSIM Advanced, or a OPC UA connection.

• How to map between the automation software and Process Simulate environment.

• How to setup non-sim operations and modules for the PLC mode simulation.

• How to put it all together for virtual commissioning.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-1


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

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 prerequisites for running an OPC simulation.

• Understand more about OPC.

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.

Introduction to VC

Commissioning, physically and virtually


Commissioning is the last engineering step in the process of creating or changing a production line.
Unfortunately in many cases, a lot of time during commissioning is spent on fixing software errors
since the control code is usually only thoroughly tested once the hardware is in place.
Virtual Commissioning (VC) provides the solution which allows the “shift left” for much of the
commissioning process so that much of the work is done in an earlier stage of the process.
VC includes building a simulation model of the plant and then connecting it to the real control system.
This is done while running through other steps of the process in parallel, such as purchasing and
assembly of equipment, in order to verify the plant and control designs without delaying production.

C-2 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

Using virtual commissioning to test PLC logic


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.

• 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

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-3


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

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


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.

C-4 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

• 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.

• 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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-5


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

VC connection methods
Several connection methods are available in Process Simulate in order to have the event based
simulation communicate with an external device such as a PLC (Programmable Logic Controller):

Switching the line simulation from CEE to PLC mode requires a Process Simulate
Commissioning license. Also, the vendor PLC software must be correctly installed and
configured on the PC.

• OPC Data Access (OPC DA) — for any PLC that supports this standard, including Siemens PLCs

• OPC Unified Architecture (OPC UA) — for any PLC that supports this standard, including
Siemens PLCs

• Emulation:
o PLCSIM (classic) — for older Siemens PLCs such as the 300 series

o PLCSIM Advanced — only for the 1500 series Siemens PLCs

o SIMIT — only Siemens PLCs

• Simulation Unit (previously known as Simba Box)

Later in this training, you learn about these methods.

C-6 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

Business process to config.

Business process to begin

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-7


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

Activities
In the Virtual commissioning basics section, do the following activities:
• Setup Process Simulate data for VC

C-8 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

TIA Portal basics


Purpose

In this lesson, you learn about adding devices to TIA Portal and a basic program..

Objectives

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


• Add devices (hardware) to TIA portal.

• Create a basic block for a program that can be connected to Process Simulate.

Use TIA Portal


TIA Portal more than just the sum of its parts: The individual components of the complete software
package are closely linked. As a result, the TIA Portal offers a variety of functions that link automation
and digitalization in a way that is both efficient and, most importantly, manageable.
The scope of TIA Portal is very large and has a lot of training dedicated to its mastery. However,
this is out of scope for this course. In this portion of the training, you learn about adding a basic
test device and a basic test program to TIA Portal. This can be used when testing the connection
between PLCSIM and Process Simulate.

TIA Portal, PLCSIM standard, and PLCSIM Advanced are separately licensed from
Process Simulate. Process Simulate licensing comes from the Siemens PLM Software
division of Siemens AG, while TIA Portal, PLCSIM standard, and PLCSIM Advanced are
licensed by the Digital Factory division of Siemens AG.

Activities
In the TIA Portal basics section, do the following activities:
• Configure TIA Portal

• Test TIA Portal

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-9


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

VC with OPC DA
Purpose
In this lesson, you learn about connecting Process Simulate for virtual commissioning using OPC DA.

Objectives
After you complete this lesson, you should be able to understand:
• OPC DA

• OPC DA simulation prerequisites

• Process Simulate OPC DA client setup

• Process Simulate as an OPC DA client

OPC DA (OPC classic)


OPC classic, first released in 1996, is a standard based on Microsoft’s Object Linking and Embedding
(OLE) environment which uses COM/DCOM for data exchange. OLE for Process Control (OPC)
defines standard objects, methods, and properties for meeting 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/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 as a means to access various types of
data between host system computers and general purpose Windows applications other than the
operation and monitoring functions. For more information, see the OPC Foundation website
(opcfoundation.org).
The OPC interface consists of several types of servers which provide various kinds of data between
the control host system and general purpose interfaces for accessing these servers. Examples
include the following server types:
• OPC Data Access (OPC DA)

• OPC Alarms & Events (OPC AE)

• OPC Historical Data Access (OPC HDA)

In Process Simulate, only the OPC Data Access server, which reads (collects) and writes (sets) the
current values of process data using item IDs (variable names) as data identifiers is used.

C-10 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

OPC DA simulation prerequisites


The vendor-provided OPC server must be correctly installed on your computer. Normally, a test client
is used to verify that the server is working correctly.
After installing an OPC server, the PC must be rebooted in order to make it work.
When Process Simulate is installed on a 64-bit operating system, the OPC Core Components (x64)
must be installed, otherwise Process Simulate and the OPC server will not correct. This must be
done regardless if the OPC server is running in native 64-bit mode or in 32-bit mode or a remote
32-bit environment.
When correctly installed you see the following process in the Task Manager window:

Configure your OPC server

1. Open the vendor specific OPC server configuration tool.

2. Set up a new connection including the IP address of the OPC server.

Open the logic in the automation software

1. Start your automation software.

2. In the automation 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 automation software.

Process Simulate OPC DA client setup


In order to change the simulation mode from internal event based to an external connection mode the
user has to change it in the Options dialog box.
Select the settings related to OPC DA:

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-11


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

1. In Process Simulate, choose File → Options .

2. In the Options dialog box, click the PLC tab.


The Options dialog box provides general configuration parameters for Process Simulate
commissioning.

3. Select PLC and External Connection.

C-12 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

4. Click Connection Settings.


The External Connections dialog box opens and allows you to either add a new connection
or reuse (import) an existing one.

5. Click Add and select OPC DA.

The Add OPC Data Access Connection dialog box is shown.

6. In the Add OPC Data Access Connection dialog, provide a unique Name to the OPC connection
(remember multiple external connections are possible).
This is the how the PLC connection is referenced within Process Simulate.

7. For OPC server, click Browse to navigate to the relevant server.

The OPC server, can be localhost, an IP address, or another computer on the network.

The OPC Browser is shown.

8. In the OPC Browser dialog box, double-click a server in the left pane to select it.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-13


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

The dialog box content varies according to the different OPC servers installed on your computer.
For example:

In the right pane the corresponding available alias-connections appear.

9. (Optional) Select an alias-connection (for example, S7 connection_1) and drill through the levels
until you reach the signal level and select one.

An Item Header is a fixed textual prefix which is added to the name of any signal
sent or read from the specific connection.

The entire corresponding dialog is now filled with the needed data.

10. Due to some different interpretations of OPC 2.05a an additional “.1” appears in the OPC server
field. – delete this suffix..

C-14 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

11. (Optional) Specify whether to read\write signal according to their full name or their address
(address is only valid for Siemens OPC servers).

When working with Siemens, the option of using the IEC address is also possible. This
can be done by selecting Map Signals By Address.

12. Click OK.


The External Connections dialog displays the new connection.

Process Simulate is now ready to run as an OPC client.

13. Check the validity of the connection by clicking Validate.

Successful validation ensures basic connectivity. However, it does not ensure successful data
exchange, which depends on matching signal names\addresses.

14. Click OK.

15. In the External Connections dialog box, click OK.

16. In the Options dialog box, click OK.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-15


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

Additional OPC DA notes


Since OPC DA uses DCOM/COM for communication, stations running the OPC DA server and
OPC client (Process Simulate) must:
• Be in the same domain

• Have the same user logged in

• Have the same password

The OPC client (Process Simulate) must have the OPC Core Components Redistributable (x64)
installed which can be downloaded from the OPC Foundation website.

Process Simulate is a x64 bit application. To avoid problems browsing for OPC DA servers
in Process Simulate, either uninstall or disable the x86 Core Components which may
require a reinstall of the x64 core components.

Process Simulate as an OPC DA client


The following illustration shows an architectural/functional view of the Process Simulate
commissioning (PSC) – OPC DA communication:

C-16 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

When running in OPC mode, 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 variable names (for example, signals in PSC). It is your responsibility to verify
that the variable definitions in the OPC server and in Process Simulate match.
Reading or writing mismatched variables from/to an OPC server is considered a critical error in
Process Simulate and causes the simulation to stop immediately and issue an error message.

In the next lessons (Signal mapping) you use different tools to mapping signals between the two
environments to avoid these errors.

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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-17


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

If using a Siemens PLC, you can alternately match signals based on its address.

Should Process Simulate try to read or write variables that do not exist 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 VC with OPC DA section, do the following activities:
• Example configuration of an OPC DA server

• Example usage of automation software

• Use a OPC DA connection

C-18 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

VC with PLCSIM classic


Purpose
In this lesson, you learn about connecting Process Simulate for virtual commissioning using PLCSIM
classic.

Objectives
After you complete this lesson, you should be able to understand:
• PLCSIM

• PLCSIM classic pros and cons

• Set up a PLCSIM classic connection

PLCSIM
PLCSIM is a PLC Emulator from Siemens Industrial Automation.
It is widely used to emulate actual PLC code behavior for various purposes such as PLC code
debugging or as in our case – virtual commissioning.
A number of versions of PLCSIM exist:
• PLCSIM Classic (version 5+), used for emulating S7-300/400 PLCs, on top of Simatic Step
7 or TIA Portal.

• PLCSIM Standard (version 11+), used for emulating S7-1200/1500 PLCs on top of TIA Portal.

This training was tested with S7-PLCSIM version 15 and TIA Portal version 15.

• PLCSIM Advanced (version 1+), used for emulating S7-1500 PLCs on top of TIA Portal.

This training was tested with S7-PLCSIM Advanced version 2.0 and TIA Portal
version 15.

As with OPC DA, the goal of the PLCSIM connection is to exchange information, for example
signals, over a communication protocol to verify both systems (simulation and PLC emulation) are
working correctly.

PLCSIM classic pros and cons


Emulators are often easier to use than direct communication with hardware since they allow a
"software only" environment (also referred to as "Software in the Loop", or "SIL") as opposed to an
environment with hardware such as a PLC (also referred to as "Hardware in the Loop" or "HIL").
The likely cons of an emulator are that it is not a real time system and is thus affected by other
processes running on the host machine (for example other Windows processes might interfere or
delay the emulated controller’s behavior), and they are usually not identical to the actual device

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-19


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

being emulated. As mentioned before, the goal of virtual commissioning is to build a digital twin as
close as possible to the physical model.

Set up a PLCSIM classic connection


By following these steps, you change the simulation mode from internal event-based to PLCSIM
(classic) mode.

1. In Process Simulate, choose File → Options .

2. In the Options dialog box, click the PLC tab.


The Options dialog provides general configuration parameters for Process Simulate
commissioning.

3. Select PLC, Emulation, and PLCSIM.

C-20 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

4. Click OK.

5. In the Signal Viewer, signals which should be sent to or received to/from PLCSIM must be
marked by selecting the PLC Connection check box for the signal.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-21


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

Sometimes the interface between PLCSIM and Process Simulate can stop working.
To restart it, switch Process Simulate back to CEE mode, play simulation for a short
duration, reset the simulation, and switch back to PLCSIM mode.

Activities
In the VC with PLCSIM classic section, do the following activities:
• Device control with PLCSIM classic

C-22 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

VC with PLCSIM Advanced


Purpose
In this lesson, you learn about connecting Process Simulate for virtual commissioning using PLCSIM
Advanced.

Objectives
After you complete this lesson, you should be able to understand:
• PLCSIM Advanced

• PLCSIM Advanced pros and cons

• Set up a PLCSIM Advanced connection

PLCSIM Advanced
PLCSIM Advanced is an advanced PLC emulator from Siemens Industrial Automation designed to
emulate S7-1500 series PLCs, first released on top of TIA Portal version 14.0 (2016).

PLCSIM Advanced pros and cons


Unlike PLCSIM classic, the virtual PLC created by PLCSIM Advanced is in essence identical to an
actual 1500 PLC. This brings the emulator closer to the physical world and allows a more accurate
digital representation of it for virtual commissioning. It also means that workflows which include an
emulated PLC are almost no different than workflows which include a physical PLC, again bringing
virtual commissioning closer to actual commissioning processes.
Lastly, it also includes an API which allows 3rd party software to connect to it using a more stable
approach. That is how Process Simulate is integrated with it.
Additional key features for Process Simulate commissioning users include the ability to run multiple
instances of PLCs on a single host, and the ability to run instances on a remote host through simple
TCP/IP communication.
However, PLCSIM Advanced can only emulate S7-1500 PLCs.

Set up a PLCSIM Advanced connection


By following these steps, you change the simulation mode from internal event-based to PLCSIM
Advanced mode.

In Process Simulate, PLCSIM Advanced is considered an external connection.

1. In Process Simulate, choose File → Options .

2. In the Options dialog box, click the PLC tab.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-23


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

The Options dialog provides general configuration parameters for Process Simulate
commissioning.

3. Select PLC and External Connection.

4. Click Connection Settings.

C-24 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

The External Connections dialog box opens and allows you to add a new connection or to re-use
(import) an existing one.

5. In the External Connections dialog box, click add Add and select PLCSIM Advanced.
The Add PLCSIM Advanced Connection dialog box opens.

6. As described in the activity, setup the connection, and click OK.


The connection can be either Local (run on the local host with direct access) or Remote (runs
on another machine through TCP/IP communication). For remote instances a host name and
port must also be entered. PLCSIM Advanced includes functionality to make sure a port is
open to communication on a remote machine.
A single PLCSIM Advanced instance can be only be assigned to a single connection, so once an
instance is assigned to a connection, it disappears from the list of available active instances.

PLCSIM Advanced connection offers another option: Time synchronization. In this mode the
simulation clocks of Process Simulate and PLCSIM Advanced are kept in sync to each other (Process
Simulate being the master), allowing tighter and more realistic simulation.

Activities
In the VC with PLCSIM section, do the following activities:
• Device control with PLCSIM Advanced

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-25


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

VC with OPC UA
Purpose
In this lesson, you learn about connecting Process Simulate for virtual commissioning using OPC UA.

Objectives
After you complete this lesson, you should be able understand:
• OPC UA

• Process Simulate OPC UA client setup

• Process Simulate as an OPC UA client

OPC UA
The OPC UA (Unified Architecture), first released in 2008, is an industrial machine-to-machine
communication protocol for interoperability by the OPC foundation. It is the successor to the OPC
classic platform (including OPC DA).

It has new capabilities such as platform independence (OPC classic is COM based, meaning
Windows based), security, and comprehensive information modeling while maintaining support
of COM OPC classic specifications.
The goal of OPC UA is to further standardize the communication between various devices and
system and allow for easier, reliable, and secure data flow.
OPC UA accomplishes the original design specs of OPC Classic and enhances it further by allowing
additional capabilities such as Discovery, Address Space, Subscriptions, Events and more.

OPC and Process Simulate


• Both OPC classic and OPC UA are a client-server based architecture.

C-26 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

• Process Simulate supports both OPC Data Access (DA) and OPC Unified Architecture (UA) by
acting as a thin OPC client, able to send and receive data from any OPC server.

• It is recommended to test OPC connectivity with a rich client prior to setting up the Process
Simulate connection.

Network configurations: Local client server


• Both the OPC server and OPC client (Process Simulate) are installed on a a single machine
and communicate via the OPC specification.

• The OPC server communicates to the external network via a dedicated interface (vendor specific).

Here is a Siemens OPC example:

In this example, the automation software is TIA Portal and the OPC server is PLCSIM Advanced.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-27


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

Network configurations: Remote client server


• OPC server and OPC client (Process Simulate) are installed on different machines and
communicate via the OPC specification.

• The OPC server communicates to the external network via a dedicated interface (vendor specific).

Here is a Siemens OPC example:

In this example, the automation software is TIA Portal and the OPC server is PLCSIM Advanced.

Network configurations: Siemens 1500 series


This additional configuration is possible using a Siemens 1500 series PLC with firmware version 2.0
or higher. The other configurations could also be used with a 1500 series.
• Siemens S7-1500 series CPUs are capable of running their own OPC UA server.

• The OPC client (Process Simulate) is installed on the simulation machine and can communicate
directly to the PLC via the OPC specification.

• The PLC (OPC server) communicates to the automation network via Profinet.

C-28 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

Process Simulate OPC UA client setup


By following these steps, you change the simulation mode from internal event-based to PLCSIM
Advanced mode.

In Process Simulate, OPC UA is considered an external connection.

To browsing for server while creating a OPC UA connection, you must run Process
Simulate as an administrator. Also the firewall must be turned off or tunneled.

1. In Process Simulate, choose File → Options .

2. In the Options dialog box, click the PLC tab.


The Options dialog provides general configuration parameters for Process Simulate
commissioning.

3. Select PLC and External Connection.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-29


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

4. Click Connection Settings.

C-30 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

The External Connections dialog box opens and allows you to add a new connection or to re-use
(import) an existing one.

5. In the External Connections dialog box, click add Add and select OPC UA.
The Add OPC Unified Architecture Connection dialog box opens

6. In the Add OPC Unified Architecture Connection dialog box, enter a Name.
The name is how this connection is referenced in Process Simulate. This is because multiple
connections are possible.

7. Click Expand Dialog .

8. Click OK to the error message.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-31


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

You always get an error, since the local computer does not have any connections on its IP
address. They are on a specific IP address on the computer.

9. Browse or type a Host Name (enter a computer name or IP address), as well as a port, to
discover an available an endpoint.

You can also define the relevant server either by typing in a full Server Endpoint URL,
such as opc.tcp://<HOST NAME>:<PORT NUMBER>, and the NameSpace Index.

10. Click Load OPC Server Content

C-32 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

11. Expand into the Objects folder and select the PLC such as PLC_3.

Once objects are shown in the panel section, you select the folder of the desired PLC hardware
to get the NameSpace Index and insert it into the appropriate field in the connection.

12. (Optional) Specify an Item Header.


An Item Header is a fixed textual prefix which is added to the name of any signal sent or read
from the specific connection.

13. Click OK.


The new connection is shown in the External Connections dialog box.

Process Simulate communication with OPC UA is not secure.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-33


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

Process Simulate as an OPC UA client


The following illustration shows an architectural/functional view of the Process Simulate
Commissioning (PSC) – OPC UA communication:

When running in External Connection mode with an active OPC UA connection Process Simulate
acts as an OPC UA client. This means that in order to exchange values with the OPC UA server
the same identifiers must exist. These identifiers are given as variable names (i.e. Signals in
PSC). It is the user’s responsibility to verify that the variable definitions in the OPC UA server and
in Process Simulate match.
Reading or writing mismatching variables from/to an OPC UA server is considered a critical error
in Process Simulate. Mismatching signals are ignored during simulation (no values will actually
be exchanged).

Process Simulate identifies signals in the OPC UA server by their Node ID which is comprised of 3
things which make any node in the OPC UA server unique:

• NameSpace Index - defined in the OPC UA connection itself.

• Identifier Type - Process Simulate only supports String Identifier Types and hence signal
exchange is based on Signal Name. Nodes of other types ( for example Numeric) are not
exchanged. Note that this refers to the Type of the node, not to be confused with the type
of the value for example.

• Identifier - must match the signal name in PS. Some OPC UA servers have naming rules to
create Identifiers from PLC data. For example the Siemens Simatic Net OPC UA server adds
a constant prefix (for example „S7-1500_ET200.<PLC NAME>“) to any identifier, while other
servers can have different implementation. As mentioned before, it is up to the user to make sure
signal in PS are properly mapped to the signals in the external system (OPC UA server).

C-34 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

In the next lessons (Signal mapping) you learn the different tools for mapping signals between the
two environments to avoid such errors.

Activities
In the VC with OPC UA section, do the following activities:
• Device control with OPC UA

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-35


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

VC with Simulation Unit


Purpose
In this lesson, you learn about connecting Process Simulate for virtual commissioning using
Simulation Unit.

Objectives
After you complete this lesson, you should be able to understand:
• Simulation Unit

• Process Simulate Simulation Unit connection

• Process Simulate Simulation Unit connection setup

Simulation Unit
SIMULATION UNIT (formerly SIMBA BOX) is a hardware interface that enables real-time simulation
of slave devices so that master devices, for example PLCs, see no difference between the simulated
network and a real network. This allows virtual commissioning to move another step closer to the
physical world, allows for better validation of the digital twin model, and smoother commissioning.

Other key features of Simulation Unit are its support of safety scenarios, an open API for simulation
software to utilize, and the ability to use a single system for testing of many different systems even
before their actually assembly. The PN version of the Simulation Unit also allows for a combination of
real and simulated devices running at the same time ("Hybrid").

Set up a Simulation Unit connection


Process Simulate has built in functionality to exchange information with Simulation Unit through its
dedicated software (also titled Simulation Unit).
An example for one possible system architecture of such a simulation system can be seen below.
The high-level workflow for using Simulation Unit with Process Simulate is as follows:

C-36 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

1. Export the hardware configuration from a TIA Portal/Step 7 project.

2. Import the hardware configuration into the Simulation Unit (software) project.

3. Load the project into the Simulation Unit (hardware).

4. Connect Process Simulate to the Simulation Unit box in order to monitor and exchange signals.
See details steps in the next section.

Process Simulate SU connection setup


By following these steps, you change the simulation mode from internal event-based to PLCSIM
Advanced mode.

In Process Simulate, Simulation Unit is considered an external connection.

1. In Process Simulate, choose File → Options .

2. In the Options dialog box, click the PLC tab.


The Options dialog provides general configuration parameters for Process Simulate
commissioning.

3. Select PLC and External Connection.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-37


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

4. Click Connection Settings.

C-38 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

The External Connections dialog box opens and allows you to add a new connection or to re-use
(import) an existing one.

5. In the External Connections dialog box, click add Add and select Simulation Unit.
The Add Simulation Unit Connection dialog box opens.

In this dialog ox, it is possible to give a specific name to the Simulation Unit connection (remember
multiple external connections are possible) and change the Hardware index as required.

6. Enter the connection information and click OK.

7. In addition, Process Simulate must reference the Simulation Unit software’s project. In the
External Connections dialog box, click Settings

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-39


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

8. In the Settings dialog box, browse or enter the Project Path.

Specify the path to the SU project (.spf).

9. Click OK.

10. Click Validate.

11. Click OK.

The Simulation Unit connection exchanges signals using signal addresses and signals have
to be mapped accordingly.

Connection type comparison table


Prerequisites
Communication
Connection PLC Type I/O Safety Hardware
Protocol
Symbol DCOM
OLE and configuration,
OPC DA Any Address X X
(Siemens DCOM OPC Core
only) Components
OPC UA Any Symbol ? X TCP/IP N/A
Profinet
PLCSIM
S7-300/400 Address X X + Local
classic
machine
PLCSIM Profinet + API Win Pcap
S7-1500 Address V X
Advanced + TCP/IP
Simulation
Address
S7-300/400/1200/1500 V V ?
Unit

C-40 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

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.

Business process

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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-41


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

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. A Smart component signal mapping tool

7. 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.

Creating and connecting signals to logic blocks

You use the Connection Mapping command, on the Control tab of the ribbon, 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 creates an output
signal and Exit creates an input signal.

C-42 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

• 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.

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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-43


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

Following a standard for naming signals

To perform automatic logic block connection mapping and signal creation

1. From the ribbon, choose Control tab→Mapping group→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.

You can view the signals in the Signal Viewer.

Important and connecting robot signals to regular signals

1. Select a robot.

1. From the ribbon, choose Control tab→Robot group→Robot Signals .

1. From the Robot Signals dialog box, click Import Signals .

2. 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)

C-44 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

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
select 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.

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.
Description
Required/Optional
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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-45


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

Description
Required/Optional
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:
• 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:

C-46 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

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.

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 ,type 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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-47


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

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.

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.

C-48 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

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.

• 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 do not 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. 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.

3. From the ribbon, choose Control tab→Operations and Signals group→Rename by Resource
.

The related signals now match what is found in the OPC.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-49


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

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.

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 .

C-50 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

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.
1. In the External Mapping dialog box, select a signal from the imported S7 Symbol List.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-51


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

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:
• Switch TIA Portal files and connection

• Signal mapping

• Simatic Step 7 mapping

C-52 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

Non-sim and flow operations and modules in PLC mode


Purpose

In this lesson, you learn about non-sim and flow operations win PLC mode. You also learn about the
what to do with modules in PLC 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

Business process

The problem and additional conditions

The Problem

The workflow for switching from CEE mode to PLC mode involves some additional complexity
concerning the process flow and specifically the material flow.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-53


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

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 PLC mode, all the actions such as robotic operations and clamp smart components, are started
using PLC signals via the PLC. 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 PLC 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 PLC 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.

Another point of interest is the fact that now the synchronization of the processes running in the
PLC and in the Process Simulate simulation is no longer guaranteed. Each system might have
its own “virtual clock” (except when using PLCSIM Advanced with Time Sync mode where clocks
are kept in sync).

Material flow evaluation differences between CEE and PLC modes


CEE:
1. In CEE mode, operations are executed when their start condition is evaluated to be TRUE. This
condition is composed out of the transition conditions of the directly preceding operations (using
AND / OR for simultaneous or alternatively preceding operations).

2. Material Flow is executed according to the definitions in the Material Flow Viewer.

External Connection/Emulation:
1. A dedicated “start” signal is created for each operation.

2. As long as this start signal is evaluated to true, the operation is executed.

3. The entire material flow is executed according to the definitions in the Material Flow Viewer.

4. The most affected part of simulation is usually material flow (since it is mostly executed through
transitions).

C-54 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

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. The goal here is the impose the correct material flow behavior without changing
the PLC code.

• Either convert all modules to logic blocks or replace its logic with logic in the PLC program.

This lesson describes how to do these tasks.

Commands to create start signals


The following commands, located on the Operation Signals group on the Control tab of the ribbon,
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 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.

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 .

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-55


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

The Operation Start Condition command is located on the Control tab of the ribbon.

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. From the ribbon, choose Control tab→Debug group→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


• From the ribbon, choose Control tab→Operations and Signals group→Create All Flow Start
Signals .

_start signals are created for all flow operations.

To create non-sim start signals


1. In the Sequence Editor or Object Tree, select the desired non-sim operations.

2. From the ribbon, choose Control tab→Operations and Signals group→Create Non-Sim Start
Signal .

C-56 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

A _start signal is created for the selected nons-sim operation.

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:
• Create a module in a program running in the automation software (for example a program in
TIA Portal)

• Create a logic block exit signal

There are two ways to implement a trigger logic block:


o You can create a generic logic block prototype and then create instances of it
for each transition.

o You can create a custom logic block for each study that contains an entry for
each transition.

• Force a signal value on the Simulation Panel

Generic 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.

Generic 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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-57


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

• 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 )

• Exit
o start_op (Boolean) = SR ( start_RE op_end ) — specify the generated _start signal.

Example custom trigger logic block for a study

Here is the material flow for this example

C-58 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

Here the Material Flow logic block example used in training. The assumption with this logic block is
that you do not want to modify the program in the automation software and want to CEE and PLC
mode simulation in Process Simulate to work the same.
• Entry
o End Cycle (Boolean)

o Parts Generated (Boolean)

o Parts Assembled (Boolean)

• Parameter
o Generate Parts (Boolean) = NOT "First Run" OR "End Cycle"

o First Run (Boolean) = true

• Exit
o Generate Parts Start (Boolean) = RE( "Generate Parts")

o Process Parts Start (Boolean) = RE( "Parts Generated")

o Assemble Parts Start (Boolean) = RE( "Parts Assembled")

o Remove Assembly Start (Boolean) = RE( "End Cycle")

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, choose Control tab→Debug group→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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-59


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

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, flow operations, and modules in PLC mode section, do the following activities:
• Method 1

• Method 2:

• Replace the modules with logic blocks

• Run a PLC mode simulation

C-60 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

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.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-61


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

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 gets 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.

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 runs 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 .

C-62 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

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, does pass it to Rob2Op.

5. Rob2Op is 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.

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 does not find it (as Rob1Op hasn't run yet and therefore hasn't produced the part yet) therefore
it starts running without it.

3. Rob2 starts "waiting" (as specified before, using OLP synchronization methods),

4. The OPC server sends the value TRUE for the signal Rob1Op. Rob1Op starts

5. Rob1Op produces the part, operate on it, and then when it finishs handling it,

6. Rob2Op is released from its "waiting mode" and start operating on the part, but the part
appearance is not assigned to the operation as this assignment is currently done before the

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-63


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

operation starts to run. In weld operation case, it results 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:

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.

C-64 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

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

• 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
o start_req (Boolean) — specify the first start condition signal.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-65


Appendix
Appendix C: C: Virtual
Virtual commissioning
commissioning

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.

C-66 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Virtual commissioning

Summary
Subjects learned in this topic:
• Introduction to virtual commissioning concepts.

• How to setup automation software (TIA Portal, PLCSIM, and PLCSIM Advanced).

• How to simulate in PLC mode using a PLCSIM, a PLCSIM Advanced, or a OPC UA connection.

• How to map between the automation software and Process Simulate environment.

• How to setup non-sim operations and modules for the PLC mode simulation.

• How to put it all together for virtual commissioning.

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics C-67


Index

A Conveyor and skid introduction . . . . . . . 3-12


Add control points to a conveyor . . . . . . 3-16 Conveyor and skid overview . . . . . . . . 3-11
Additional logic block functions . . . . . . . 4-14 Conveyor basics . . . . . . . . . . . . . . . . 4-27
Additional OPC DA notes . . . . . . . . . . C-16 Conveyor control points . . . . . . . . . . . . 3-16
Algebraic modeling . . . . . . . . . . . . . . . . 4-9 Conveyors and skids overview . . . . . . . 3-11
Automatic smart component creation . . . . 5-5 Copy LB logic basics . . . . . . . . . . . . . 4-21
Automatically creating actions and sensors Create and edit logic block basics . . . . . A-13
from poses . . . . . . . . . . . . . . . . . . . 4-20 Create proximity sensor . . . . . . . . . . . 5-12
Creating a logic resource (logic block) . . . 4-4
Creating a new input signal . . . . . . . . . . B-2
B
Creating a program from several paths . . 6-18
Background information . . . . . . . . . . . . 5-2 Creating and using modules . . . . . . . . . . 5-7
Basic definition of conveyor behavior . . . 3-21 Creating line simulation studies . . . . . . . 5-3
Basic Excel report usage . . . . . . . . . . . 6-34 Creating various Excel reports . . . . . . . 6-34
Basic Excel reports . . . . . . . . . . . . . . . 6-34 Custom conveyor example (optional) . . . 4-27
Basic logic block functions . . . . . . . . . . 4-12 Cycle time reporting . . . . . . . . . . . . . . 6-35
Basic OLP commands . . . . . . . . . . . 1-8, 6-5
Basic robot macros . . . . . . . . . . . . . . . 6-12 D
Basic use case . . . . . . . . . . . . . . . . . B-11
Basics of robot macros . . . . . . . . . . . . 6-12 Default signals and robot programs . . . . 6-15
Beginning of putting it all together . . . . . . 5-2 Define a resource as a conceptual skid . . 3-23
Business process . . 1-3, 1-10, 1-17, 2-2, 2-5, Delete logic from resource . . . . . . . . . . . 4-5
2-9, 3-2, 3-11, 3-30, 4-7, 4-22, 5-3, 5-5, 5-7, Do I do this . . . . . . . . . . . . . . . . . . . . 6-22
5-12, 5-14, 6-15, 7-2, 7-5, C-7, C-41, C-53 Drive conveyor . . . . . . . . . . . . . . . . . . 3-25
Business process overview . . . . . . . . . . 1-2 Dump unit basics . . . . . . . . . . . . . . . . A-10
Dump unit example . . . . . . . . . . . . . . . A-10
C
E
Calling paths from main programs . . . . . 6-22
CNC controller logic block example . . . . 4-18 Editing conceptual conveyors . . . .. . . . 3-22
Commands to create start signals . . . . . C-55 Entering free text OLP commands . . . . 6-24
Complex logic statements . . . . . . . . . . 4-16 Evaluating system behavior . . . . .. . . . . C-3
Conceptual conveyor basics . . . . . . . . 3-13 Event-based basics . . . . . . . . . .. . . . . 2-3
Conceptual conveyor definition . . . . . . . 3-14 Event-based study basics . . . . . .. . . . . 2-4
Conceptual skid usage . . . . . . . . . . . . 3-24
Connecting mapping report . . . . . . . . . 4-25 F
Connection and Synchronization
Fixture and robot 1 putting it all together . . 7-2
Charts . . . . . . . . . . . . . . . . . . . . . . . . B-4
Following a standard for naming
Connection mapping (optional) . . . . . . . 4-23
signals . . . . . . . . . . . . . . . . . . . . . . C-44
Connection mapping format . . . . . . . . . 4-23
Connection type comparison table . . . . C-40
Continued overview of station G
sequence . . . . . . . . . . . . . . . . . . . . . 7-7 gal12d . . . . . . . . . . . . . . . . . . . . . . . C-28

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics Index-1


Index
Index

Gate Control Basics . . . . . . . . . . . . . . . A-2 M


General logic block definitions . . . . . . . . 4-3
Manual part generation . . . . . . . . . . . . 5-15
Grip and release robot macros . . . . . . . . B-9
Merge stations into a line . . . . . . . . . . . B-11
Merge studies details . . . . . . . . . . . . . B-11
H Modules versus logic blocks . . . . . . . . . . 4-2
More event-based examples (optional) . . B-1
Handshaking mechanism for program
More functions details . . . . . . . . . . . . . 4-14
execution . . . . . . . . . . . . . . . . . . . . 6-19
More Logic Block Functions (Press
Example) . . . . . . . . . . . . . . . . . . . . . 4-14
I More on working with studies . . . . . . . . . 2-4
More robot macros . . . . . . . . . . . . . . . . B-9
Ignoring logic in OLP commands . . . . . 6-27
Importing and exporting modules . . . . . 5-11
Importing robot signals . . . . . . . . . . . . 6-10 N
Interference zone basics . . . . . . . . . . . A-12 Naming rules . . . . . . . . . . . . . . . . . . . 1-15
Intermediate robotics (CEE) course Network configurations: Local client
overview . . . . . . . . . . . . . . . . . . . ... 13 server . . . . . . . . . . . . . . . . . . . . . . . C-27
Internal rules for automatic part Network configurations: Remote client
generation . . . . . . . . . . . . . . . . . . . . 5-15 server . . . . . . . . . . . . . . . . . . . . . . . C-28
Introduction . . . . . . . . . . . . . . . . . . . . C-61 New non-sim operations for logic . . . . . 5-19
Introduction to event-based robotics . . . . 6-2 Non-sim operations . . . . . . . . . . . . . . . 2-5
Introduction to event-based robotics . . . . 1-5 Non-sim, flow operations, and modules in PLC
Introduction to event-based simulation . . . 1-1 mode . . . . . . . . . . . . . . . . . . . . . . . C-53
Introduction to logic blocks . . . . . . . . . . . 4-2 Notes on grip and release . . . . . . . . . . . B-7
Introduction to signal mapping . . . . . . . C-41
Introduction to signals . . . . . . . . . . . . . 1-15
Introduction to VC . . . . . . . . . . . . . . . . C-2 O
OLP command conditions . . . . . . . . . . 6-24
J OPC and Process Simulate . . . . . . . . . C-26
OPC DA (OPC classic) . . . . . . . . . . . . C-10
Joint acceleration controlled . . . . . . . . . A-17 OPC DA simulation prerequisites . . . . . C-11
Joint velocity controlled . . . . . . . . . . . . A-16 OPC to Process Simulate Excel mapping
tool . . . . . . . . . . . . . . . . . . . . . . . . . C-44
L OPC UA . . . . . . . . . . . . . . . . . . . . . . C-26
Operation run bar basics . . . . . . . . . . . . A-8
Legacy linear and angular conceptual conveyor Operation run bar example . . . . . . . . . . A-8
definition . . . . . . . . . . . . . . . . . . . . . 3-19 Operator gate control example . . . . . . . . A-2
Light stack example (optional) . . . . . . . 4-22 Optional lessons on smart components,
Logic basics . . . . . . . . . . . . . . . . . . . . 4-9 conveyors, and more . . . . . . . . . . . . . . A-1
Logic block algebraic behavior . . . . . . . . 4-9 Other signal functions (not covered in this
Logic block and smart component course) . . . . . . . . . . . . . . . . . . . . . . 6-20
basics . . . . . . . . . . . . . . . . . . . . . . . 1-24 Other smart component topics . . . . . . . A-15
Logic block and smart component Other ways to create and edit logic
usage . . . . . . . . . . . . . . . . . . . . . . . 1-24 blocks . . . . . . . . . . . . . . . . . . . . . . . A-13
Logic block basics . . . . . . . . . . . . . . . . 4-2 Overview of robot signals . . . . . . . . 1-5, 6-2
Logic block for a basic interference Overview of the station sequence . . . . . . 7-3
zone . . . . . . . . . . . . . . . . . . . . . . . . . 6-7
Logic block usage . . . . . . . . . . . . . . . A-13
P
Logic block value expressions . . . . . . . . 4-4
Logic blocks and smart components . . . . 4-1 Parameters and constants . . . . . . . . . . 4-10

Index-2 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


Index

Part appearance and material flow Quick tips to part appearance and material flow
basics . . . . . . . . . . . . . . . . . . . . . . . 2-12 problems . . . . . . . . . . . . . . . . . . . . . 2-18
Part appearances and material flow . . . . 2-1
Part Handling OLP Commands . . . . . . . 6-22 R
Part scheduler basics . . . . . . . . . . . . . . A-6
Part scheduler example . . . . . . . . . . . . . A-6 Rename signals using resource
Perform connection mapping . . . . . . . . 4-24 names . . . . . . . . . . . . . . . . . . . . . . C-49
Photoelectric sensors (light sensors) . . . . 3-4 Renaming signals by resource . . . . . . . C-49
Pick and place basics . . . . . . . . . . . . . . B-6 Rising edge and falling edge functions . . 4-12
Pick and place operations and macros . . . B-6 Robot / device communication . . . . . . . . B-6
PLC basics . . . . . . . . . . . . . . . . . . . . A-21 Robot 2 and conveyor putting it all
PLC example . . . . . . . . . . . . . . . . . . . A-21 together . . . . . . . . . . . . . . . . . . . . . . 7-5
PLC to Process Simulate mapping . . . . C-41 Robot controller basics . . . . . . . . . . . . . A-3
PLCSIM . . . . . . . . . . . . . . . . . . . . . . C-19 Robot controller example . . . . . . . . . . . . A-3
PLCSIM Advanced . . . . . . . . . . . . . . . C-23 Robot interference zone example . . . . . A-12
PLCSIM Advanced pros and cons . . . . . C-23 Robot programs . . . . . . . . . . . . . . . . . 6-15
PLCSIM classic pros and cons . . . . . . . C-19 Robot signal basics . . . . . . . . . . . . . . . B-2
Pose signals on robots . . . . . . . . . . . . 6-17 Robot signal connection and sync . . . . . . B-4
Practical applications of signals . . . . . . 1-16 Robot Viewer . . . . . . . . . . . . . . . . . . . 6-32
Process Simulate as an OPC client . . . . C-17 Robotic event-based simulation . . . . . . . 6-1
Process Simulate as an OPC DA Robotics: Inter location handling . . . . . . 6-17
client . . . . . . . . . . . . . . . . . . . . . . . . C-16
Process Simulate as an OPC UA S
client . . . . . . . . . . . . . . . . . . . . . . . . C-34
Process Simulate OPC DA client Safety mat basics . . . . . . . . . . . . . . . . . 4-7
setup . . . . . . . . . . . . . . . . . . . . . . . C-11 Safety mat example . . . . . . . . . . . . . . . 4-7
Process Simulate OPC UA client Seeing part appearances . . . . . . . . . . . 5-14
setup . . . . . . . . . . . . . . . . . . . . . . . C-29 Sending signals between multiple
Process Simulate SU connection objects . . . . . . . . . . . . . . . . . . . . . . . B-2
setup . . . . . . . . . . . . . . . . . . . . . . . C-37 Sensor introduction . . . . . . . . . . . . . . . . 3-2
Program Flow OLP Commands . . . . . . 6-23 Sensors and conveyors . . . . . . . . . . . . . 3-1
Programming languages used for Set up a PLCSIM Advanced
PLCs . . . . . . . . . . . . . . . . . . . . . . . . C-4 connection . . . . . . . . . . . . . . . . . . . . C-23
Property list . . . . . . . . . . . . . . . . . . . . 3-31 Set up a PLCSIM classic connection . . . C-20
Property projector . . . . . . . . . . . . . . . . 3-32 Set up a Simulation Unit connection . . . C-36
Property projectors . . . . . . . . . . . . . . . 3-30 Setup a basic robotic zone . . . . . . . . . . . 6-7
Property projectors basics . . . . . . . . . . 3-31 Setup robot path segment
Property sensors . . . . . . . . . . . . . . . . 3-34 communication . . . . . . . . . . . . . . . . . 6-30
Proximity sensors . . . . . . . . . . . . . . . . . 3-8 Signal basics . . . . . . . . . . . . . . . . . . . 1-15
Putting it all together . . . . . . . . . . . . . . . 5-1 Signal graph basics . . . . . . . . . . . . . . 6-32
Putting it all together continued . . . . . . . . 7-1 Signal graphs in the Robot Viewer . . . . 6-32
Signal mapping warnings and errors . . . C-48
Q Signal monitoring . . . . . . . . . . . . . . . . 4-10
Signal Viewer . . . . . . . . . . . . . . . . . . 1-17
Quick tips . . . . . . . . . . . . . . . . . . . . . 6-38 Signals for a basic interference zone . . . . 6-7
Quick tips for logic block simulations . . . 4-29 Signals Viewer basics . . . . . . . . . . . . . 1-17
Quick tips for robot signals and Signals Viewer usage . . . . . . . . . . . . . 1-18
macros . . . . . . . . . . . . . . . . . . . . . . 6-38 Simulating and triggering events . . . . . . 1-10
Quick tips to debug a conveyor or sensor Simulation Panel basics . . . . . . . . . . . 1-11
simulation . . . . . . . . . . . . . . . . . . . . 3-36 Simulation Panel usage . . . . . . . . . . . . 1-12

MT45215-S-141 Process Simulate Standalone (eMS) Intermediate Robotics Index-3


Index
Index

Simulation Unit . . . . . . . . . . . . . . . . . C-36 V


Smart component commands . . . . . . . . 4-19
VC connection methods . . . . . . . . . . . . C-6
Smart components . . . . . . . . . . . . . . . 4-19
VC with OPC DA . . . . . . . . . . . . . . . . C-10
Smart components overview . . . . . . . . 4-19
VC with OPC UA . . . . . . . . . . . . . . . . C-26
Smart componentusage . . . . . . . . . . . 4-20
VC with PLCSIM Advanced . . . . . . . . . C-23
Spreadsheet format for robot signals . . . . 6-9
VC with PLCSIM classic . . . . . . . . . . . C-19
Synchronization OLP commands . . . . . . 6-8
VC with Simulation Unit . . . . . . . . . . . . C-36
Viewing and create start signals . . . . . . C-55
T Viewing logic blocks and smart
Target speed frequency converters . . . . A-15 components . . . . . . . . . . . . . . . . . . . 1-24
Teach Pendant OLP Command Basics . . 1-7, Viewing object attributes in the Object
6-4 Tree . . . . . . . . . . . . . . . . . . . . . . . . 6-38
The CEE material flow and evaluation Virtual commissioning / connecting to a
algorithm . . . . . . . . . . . . . . . . . . . . . C-62 PLC . . . . . . . . . . . . . . . . . . . . . . . . . C-1
The direct Step 7 mapping tool . . . . . . . C-50 Virtual commissioning - Putting it all
The problem and additional conditions . . C-53 together . . . . . . . . . . . . . . . . . . . . . C-61
The signal exchange via PLC/CEE: . . . . . 1-5 Virtual commissioning basics . . . . . . . . . C-2
The signal exchange via PLC/CEE: . . . . . 6-2 Virtual commissioning benefits . . . . . . . . C-3
The stages of cell design . . . . . . . . . . . . C-2
TIA Portal basics . . . . . . . . . . . . . . . . . C-9 W
Tip dresser basics . . . . . . . . . . . . . . . . A-5
Tip dresser example . . . . . . . . . . . . . . . A-5 Ways to setup path segment
Tools to help follow a standard for naming communication . . . . . . . . . . . . . . . . . 6-30
signals . . . . . . . . . . . . . . . . . . . . . . C-42 Weld controller basics . . . . . . . . . . . . . A-19
Weld Controller Example . . . . . . . . . . . A-19
U What is path segment communication . . 6-30
Working in event-based studies . . . . . . . 2-2
Use TIA Portal . . . . . . . . . . . . . . . . . . . C-9 Working with a conveyor and conveyable
Using a logic block to trigger “virtual” parts . . . . . . . . . . . . . . . . . . . . . . . . 3-28
operations . . . . . . . . . . . . . . . . . . . . C-57 Working with part appearances . . . . . . . 2-9
Using a trigger logic block . . . . . . . . . . C-59 Working with part appearances
Using robot program conditions . . . . . . 6-24 (again) . . . . . . . . . . . . . . . . . . . . . . 5-14
Using the direct Step 7 mapping tool . . . C-50
Using the OPC to Process Simulate Excel
mapping tool . . . . . . . . . . . . . . . . . . C-47

Index-4 Process Simulate Standalone (eMS) Intermediate Robotics MT45215-S-141


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 Part Appearances and Material Flow

Day 2 Morning
Lesson 3 Sensors and Conveyors
Afternoon
Lesson 4 Logic Blocks and Smart Components

Day 3 Morning
Lesson 5 Put It all Together
Afternoon
Lesson 6 Robotic Event-Based Simulation

Day 4 Morning
Lesson 7 Put It all Together Continued
Afternoon
Appendix (optional
Optionally, discuss topics from the appendix
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 you perform various activities in class.

User number User Id Password


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Instructor user ID and number
This user ID and number is reserved for use by instructors:

User number User Id Password


10
Course evaluation
Siemens Industry Software

Headquarters
Europe
Granite Park One
Stephenson House
5800 Granite Parkway
Sir William Siemens Square
Suite 600
Frimley, Camberley
Plano, TX 75024
Surrey, GU16 8QD
USA
+44 (0) 1276 413200
+1 972 987 3000

Asia-Pacific
Americas
Suites 4301-4302, 43/F
Granite Park One
AIA Kowloon Tower, Landmark East
5800 Granite Parkway
100 How Ming Street
Suite 600
Kwun Tong, Kowloon
Plano, TX 75024
Hong Kong
USA
+852 2230 3308
+1 314 264 8499

About Siemens PLM Software

© 2019 Siemens Product Lifecycle Management


Siemens PLM Software, a business unit of the Siemens
Software Inc. Siemens and the Siemens logo are
Industry Automation Division, is a leading global provider
registered trademarks of Siemens AG. D-Cubed,
of product lifecycle management (PLM) software and
Femap, Geolus, GO PLM, I-deas, Insight, JT, NX,
services with 7 million licensed seats and 71,000 customers
Parasolid, Solid Edge, Teamcenter, Tecnomatix and
worldwide. Headquartered in Plano, Texas, Siemens
Velocity Series are trademarks or registered trademarks
PLM Software works collaboratively with companies
of Siemens Product Lifecycle Management Software
to deliver open solutions that help them turn more
Inc. or its subsidiaries in the United States and in other
ideas into successful products. For more information
countries. All other trademarks, registered trademarks
on Siemens PLM Software products and services, visit
or service marks belong to their respective holders.
www.siemens.com/plm.

You might also like