SlideShare ist ein Scribd-Unternehmen logo
1 von 80
2011 Automation Summit Orlando, FLNavigating the world of automation
Page 2 Top Ten Programming Mistakes Made by People New to S7 2011 Automation Summit Title: Top Ten Programming Mistakes Made by People New to S7 Track:#56 Topic:  Learn about some of the common problems experienced by people learning S7.     Presenter: Tim Jager Company: DMC
Top Ten Programming Mistakes Made by People New to S7 Page 3
Company Profile Based In Chicago… …but work Globally  DMC has the highest number of S7 certified engineers Since 1996 30 Employees
Our customers
Areas of Expertise Manufacturing and Automation Intelligence Test and Measurement Custom Software Engineering & Embedded Systems Microsoft SharePoint Consulting Services
Relevant Siemens Projects Dulles Airport Transit Tunnel Ventilation System ,[object Object]
S7 400H Redundant PLC
4000 I/O Points,[object Object]
Standardized code base
Deployment at multiple facilities
Mixing/batching control
Recipe management
Web-based reporting system,[object Object]
WinCC Flex HMI’s
Standardized code base
User Configurable
JIT - Lean Manufacturing
Deployment at multiple facilities ,[object Object]
Mission Critical Logic,[object Object]
Top 10 S7 Mistakes #1 Page 12 Simple Hardware mistakes
Common Hardware Mistakes Page 13 My PLC Doesn’t Work???
Common Hardware Mistakes Page 14 My PLC Doesn’t Work??? It needs a memory card
Common Hardware Mistakes Page 15 My PLC Doesn’t Work??? It needs a memory card It’s in STOP Mode
Common Hardware Mistakes Page 16 I wonder what’s on the MMC Card?
Common Hardware Mistakes Page 17 I wonder what’s on the MMC Card?
Common Hardware Mistakes Page 18 I wonder what’s on the MMC Card?
Common Hardware Mistakes Page 19
Common Hardware Mistakes Page 20 This is not an RS232 Serial Port!!!
Top 10 S7 Mistakes #2 Page 21 Using Absolute Address Priority instead of Symbolic
Set your Address Priority to Symbolic You Just took the Red pill…. You are on your way down the rabbit hole that leads down the path of true object oriented PLC Programming. Page 22
A Typical Data Block DB1 “dbGlobals” Page 23
A Typical Data Block DB1 “dbGlobals” Page 24 Symbol Name:  “dbGlobals”.bStart Address:  DB1.DBX0.0
A Typical Rung Of Ladder Page 25
A Typical Rung Of Ladder Page 26 Address Logic Symbolic Logic
A Typical Rung Of Ladder Page 27 Address Logic Symbolic Logic
What happens if we change the Data Block? Page 28
Absolute vs. Symbolic Priority Page 29 In Symbolic Mode the intended logic is maintained The address logic has changed from 0.1 to 0.2  The symbolic logic is maintained
Absolute vs. Symbolic Priority Page 30 In Absolute Mode the intended logic is NOT maintained! The Address logic is maintained  But the Symbolic logic is totally wrong!
Absolute vs. Symbolic Priority Page 31 You don’t have to know where the server lives or it’s IP address. You just need the symbolic name to send an email. So start forgetting about addresses and start thinking about symbolic names.   VS. Absolute Address 2222N. Elston Ave Chicago, IL 60614 Symbolic Address tim.jager@dmcinfo.com
Top 10 S7 Mistakes #3 Page 32 I/O Mapping
…I'm gonnaProgram… like it's 1999 Page 33 Input / Output Mapping
Traditional Input / Output Mapping Page 34 1. At the beginning of the scan, Each physical input gets mapped to an internal variable… Physical Input Internal Variable
Traditional Input / Output Mapping Page 35 1. At the beginning of the scan, Each physical input gets mapped to an internal variable… 2. Now run all of the logic (which references only internal bits)… Internal Variable Internal Variable
Traditional Input / Output Mapping Page 36 1. At the beginning of the scan, Each physical input gets mapped to an internal variable… 2. Now run all of the logic (which references only internal bits)… 3. …At the end of the scan,  internal “output” bits get mapped to physical outputs Internal Variable Physical Output
Page 37 S7 I/O Mapping – Just use the Symbol Table Make sure you are in Symbolic Priority Mode
Top 10 S7 Mistakes #4 Page 38 Improper Use of Bit Memory AKA: Mbits
MBits M0.0  – M0.7 M1.0  – M1.7 M2.0  – M2.7 M2.0  – M2.7 Page 39
MBits MBytes M0.0  – M0.7 MB0 M1.0  – M1.7 MB1 M2.0  – M2.7 MB2 MB3 M2.0  – M2.7 Page 40
MBits MBytes MWords M0.0  – M0.7 MB0 MW0 M1.0  – M1.7 MB1 M2.0  – M2.7 MB2 MW1 MB3 M2.0  – M2.7 Page 41
MBits MBytes MWords MDoubleWords M0.0  – M0.7 MB0 MW0 M1.0  – M1.7 MB1 MD0 M2.0  – M2.7 MB2 MW1 MB3 M2.0  – M2.7 Page 42
When is it OK to use M Bits? ,[object Object]
Quick prototyping / demonstrations
When you absolutely have to!Page 43
When is it OK to use M Bits? Page 44 ,[object Object],M-Bits * As long as you promise to put in a permanent fix when the heat is off.
When is it OK to use M Bits? Page 45 If you use MBits, make sure they are NOT IN USE already.
When is it OK to use M Bits? ..and make sure to add symbol names in the symbol table. Page 46
When is it OK to use M Bits? Or suffer the consequences…… Page 47
When is it OK to use M Bits? ,[object Object],Page 48
Top 10 S7 Mistakes #5 Page 49 Not using or Improperly using the Clock Byte
What is the Clock Byte? Page 50 Each bit of the clock memory byte is assigned a frequency.
Symbol Table Entry For Clock Byte Page 51 Reserve these so nobody uses Memory overlapping the Clock Byte
Clock Byte Page 52 The bits within the Clock byte can change at any time during the scan.
Clock Byte – Synchronous Global Page 53 UDT1 “udtClockByte”
Clock Byte – Synchronous Global Page 54 DB1 “dbGlobals”
Clock Byte – Synchronous Global Page 55 DB1 “dbGlobals”
Clock Byte – Synchronous Global Page 56 DB1 “dbGlobals”
Clock Byte – Synchronous Global Page 57 MB0 dbGlobals.ClockByte
Page 58 What Happens If……  “Always_False” Mapped to M0.0 “Always_True” Mapped to M0.1
Page 59 What Happens If……  “Always_False” Mapped to M0.0 “Always_True” Mapped to M0.1 Clock Byte  Mapped to MB0
Overlapping Mbits are BAD! Page 60
Top 10 S7 Mistakes #6 Page 61 Using Uninitialized Temp Memory
What is Temp Memory? Page 62
Improper Use of Temp Memory Page 63
Improper Use of Temp Memory Page 64 Don’t read from a TEMP unless you have written to it first!
Top 10 S7 Mistakes #7 Page 65 Not Using Timed Interrupts.
OB1 vs. OB30..38 Page 66 OB1  Runs as fast as it can. OB30…OB38  Run at specific time intervals.
Timed Interrupts OB30..OB38 Page 67 PID Control Data Sampling
Top 10 S7 Mistakes #8 Page 68 Not using reusable function blocks
What is a Function Block  ,[object Object]

Weitere ähnliche Inhalte

Was ist angesagt?

TIA PORTALSitrain blocos de programação
TIA PORTALSitrain  blocos de programaçãoTIA PORTALSitrain  blocos de programação
TIA PORTALSitrain blocos de programação
Juremir Almeida
 
Modbus Data Communication Systems
Modbus Data Communication SystemsModbus Data Communication Systems
Modbus Data Communication Systems
Living Online
 

Was ist angesagt? (20)

ETAP - Arc flash analysis done Right
ETAP - Arc flash analysis done RightETAP - Arc flash analysis done Right
ETAP - Arc flash analysis done Right
 
Basics of plc programming
Basics of plc programmingBasics of plc programming
Basics of plc programming
 
G120 cu250 s2_kba1_0414_eng_en-us
G120 cu250 s2_kba1_0414_eng_en-usG120 cu250 s2_kba1_0414_eng_en-us
G120 cu250 s2_kba1_0414_eng_en-us
 
Intelligent mcc
Intelligent mccIntelligent mcc
Intelligent mcc
 
TIA PORTALSitrain blocos de programação
TIA PORTALSitrain  blocos de programaçãoTIA PORTALSitrain  blocos de programação
TIA PORTALSitrain blocos de programação
 
S7 1200 basic
S7 1200 basicS7 1200 basic
S7 1200 basic
 
02 tia portal hands on - hardware e redes v11 -v1
02 tia portal   hands on - hardware e redes v11 -v102 tia portal   hands on - hardware e redes v11 -v1
02 tia portal hands on - hardware e redes v11 -v1
 
plc scada
 plc scada plc scada
plc scada
 
06 blocos de_programação
06 blocos de_programação06 blocos de_programação
06 blocos de_programação
 
Communication Protocols
Communication ProtocolsCommunication Protocols
Communication Protocols
 
plc introduction
plc introductionplc introduction
plc introduction
 
Testing and Verification of Electronics Circuits : Introduction
Testing and Verification of Electronics Circuits : IntroductionTesting and Verification of Electronics Circuits : Introduction
Testing and Verification of Electronics Circuits : Introduction
 
S7 básico
S7 básicoS7 básico
S7 básico
 
Taking your Siemens PLC s7-1200 to industry 4.0
Taking your Siemens PLC s7-1200 to industry 4.0Taking your Siemens PLC s7-1200 to industry 4.0
Taking your Siemens PLC s7-1200 to industry 4.0
 
Modbus Data Communication Systems
Modbus Data Communication SystemsModbus Data Communication Systems
Modbus Data Communication Systems
 
PLC LADDER DIAGRAM
PLC LADDER DIAGRAMPLC LADDER DIAGRAM
PLC LADDER DIAGRAM
 
SIEMENS S7-300c.ppt
SIEMENS S7-300c.pptSIEMENS S7-300c.ppt
SIEMENS S7-300c.ppt
 
Intelligent mcc Siemens
Intelligent mcc Siemens Intelligent mcc Siemens
Intelligent mcc Siemens
 
Fc300 profibus training
Fc300 profibus trainingFc300 profibus training
Fc300 profibus training
 
Basic PLC Training .pdf
Basic PLC Training .pdfBasic PLC Training .pdf
Basic PLC Training .pdf
 

Andere mochten auch

PLC and SCADA training.
PLC and SCADA training.PLC and SCADA training.
PLC and SCADA training.
Ishank Ranjan
 
CLP S7 300 E S7 400
CLP S7 300 E S7 400 CLP S7 300 E S7 400
CLP S7 300 E S7 400
confidencial
 

Andere mochten auch (20)

Plc Siemens Training Notes
Plc Siemens Training NotesPlc Siemens Training Notes
Plc Siemens Training Notes
 
Siemens s7 300 programming
Siemens s7 300 programming Siemens s7 300 programming
Siemens s7 300 programming
 
PLC and SCADA training.
PLC and SCADA training.PLC and SCADA training.
PLC and SCADA training.
 
Simens plc training. simatic working-with-step-7
Simens  plc  training. simatic working-with-step-7Simens  plc  training. simatic working-with-step-7
Simens plc training. simatic working-with-step-7
 
INDUSTRIAL AUTOMATION USING PLC
INDUSTRIAL AUTOMATION USING PLCINDUSTRIAL AUTOMATION USING PLC
INDUSTRIAL AUTOMATION USING PLC
 
ppt on PLC
ppt on PLCppt on PLC
ppt on PLC
 
PLC Troubleshooting & Maintenance
PLC Troubleshooting & MaintenancePLC Troubleshooting & Maintenance
PLC Troubleshooting & Maintenance
 
PLC - Programmable Logic Controller
PLC - Programmable Logic ControllerPLC - Programmable Logic Controller
PLC - Programmable Logic Controller
 
PLC Basic
PLC BasicPLC Basic
PLC Basic
 
Basics of Automation, PLC and SCADA
Basics of Automation, PLC and SCADABasics of Automation, PLC and SCADA
Basics of Automation, PLC and SCADA
 
Tips & Tricks for Motion with S7 1500 CPU
Tips & Tricks for Motion with S7 1500 CPUTips & Tricks for Motion with S7 1500 CPU
Tips & Tricks for Motion with S7 1500 CPU
 
Improving and Scaling SCADA Systems: Is WinCC OA Right for Me?
Improving and Scaling SCADA Systems: Is WinCC OA Right for Me?Improving and Scaling SCADA Systems: Is WinCC OA Right for Me?
Improving and Scaling SCADA Systems: Is WinCC OA Right for Me?
 
DMC Siemens Automation Summit 2014 Presentation: Getting the Most Out of WinC...
DMC Siemens Automation Summit 2014 Presentation: Getting the Most Out of WinC...DMC Siemens Automation Summit 2014 Presentation: Getting the Most Out of WinC...
DMC Siemens Automation Summit 2014 Presentation: Getting the Most Out of WinC...
 
PLC data types and addressing
PLC data types and addressingPLC data types and addressing
PLC data types and addressing
 
Siemens Open Library- Summit 2016
Siemens Open Library- Summit 2016Siemens Open Library- Summit 2016
Siemens Open Library- Summit 2016
 
Introduction to plc (s7)­
Introduction to  plc (s7)­ Introduction to  plc (s7)­
Introduction to plc (s7)­
 
A d swincc11e
A d swincc11eA d swincc11e
A d swincc11e
 
CLP S7 300 E S7 400
CLP S7 300 E S7 400 CLP S7 300 E S7 400
CLP S7 300 E S7 400
 
Industrial Training on PLC SCADA HMI for fresher engineers
Industrial Training on PLC SCADA HMI for fresher engineersIndustrial Training on PLC SCADA HMI for fresher engineers
Industrial Training on PLC SCADA HMI for fresher engineers
 
Guia configuracion y funcionamiento tia portal v13
Guia configuracion y funcionamiento tia portal v13Guia configuracion y funcionamiento tia portal v13
Guia configuracion y funcionamiento tia portal v13
 

Ähnlich wie Top Ten Programming Mistakes by People New to Siemens

How We Fixed Our MongoDB Problems
How We Fixed Our MongoDB Problems How We Fixed Our MongoDB Problems
How We Fixed Our MongoDB Problems
MongoDB
 
Chapter9 network managment-3ed
Chapter9 network managment-3edChapter9 network managment-3ed
Chapter9 network managment-3ed
Khánh Ghẻ
 
Road to Enterprise Architecture for Big Data Applications: Mixing Apache Spar...
Road to Enterprise Architecture for Big Data Applications: Mixing Apache Spar...Road to Enterprise Architecture for Big Data Applications: Mixing Apache Spar...
Road to Enterprise Architecture for Big Data Applications: Mixing Apache Spar...
Databricks
 

Ähnlich wie Top Ten Programming Mistakes by People New to Siemens (20)

Circonus: Design failures - A Case Study
Circonus: Design failures - A Case StudyCirconus: Design failures - A Case Study
Circonus: Design failures - A Case Study
 
Apply best parts of microservices to serverless
Apply best parts of microservices to serverlessApply best parts of microservices to serverless
Apply best parts of microservices to serverless
 
An_Introduction_to_Microcontrollers.pptx
An_Introduction_to_Microcontrollers.pptxAn_Introduction_to_Microcontrollers.pptx
An_Introduction_to_Microcontrollers.pptx
 
[db tech showcase Tokyo 2017] A11: SQLite - The most used yet least appreciat...
[db tech showcase Tokyo 2017] A11: SQLite - The most used yet least appreciat...[db tech showcase Tokyo 2017] A11: SQLite - The most used yet least appreciat...
[db tech showcase Tokyo 2017] A11: SQLite - The most used yet least appreciat...
 
Building Your First WOW!! Symbian Application
Building Your First WOW!! Symbian ApplicationBuilding Your First WOW!! Symbian Application
Building Your First WOW!! Symbian Application
 
How We Fixed Our MongoDB Problems
How We Fixed Our MongoDB Problems How We Fixed Our MongoDB Problems
How We Fixed Our MongoDB Problems
 
microbit Microbit programming Microbit programming
microbit Microbit programming Microbit programmingmicrobit Microbit programming Microbit programming
microbit Microbit programming Microbit programming
 
Debunking serverless myths
Debunking serverless mythsDebunking serverless myths
Debunking serverless myths
 
Continuously Integrating Distributed Code at Netflix
Continuously Integrating Distributed Code at NetflixContinuously Integrating Distributed Code at Netflix
Continuously Integrating Distributed Code at Netflix
 
Homebrew Your Own Metrics - An IBM Domino Administrator's Guide to SNMP (MWLU...
Homebrew Your Own Metrics - An IBM Domino Administrator's Guide to SNMP (MWLU...Homebrew Your Own Metrics - An IBM Domino Administrator's Guide to SNMP (MWLU...
Homebrew Your Own Metrics - An IBM Domino Administrator's Guide to SNMP (MWLU...
 
[CB20] DeClang: Anti-hacking compiler by Mengyuan Wan
[CB20] DeClang: Anti-hacking compiler by Mengyuan Wan[CB20] DeClang: Anti-hacking compiler by Mengyuan Wan
[CB20] DeClang: Anti-hacking compiler by Mengyuan Wan
 
Jax London 2013
Jax London 2013Jax London 2013
Jax London 2013
 
Pitfalls of Object Oriented Programming
Pitfalls of Object Oriented ProgrammingPitfalls of Object Oriented Programming
Pitfalls of Object Oriented Programming
 
Chapter9 network managment-3ed
Chapter9 network managment-3edChapter9 network managment-3ed
Chapter9 network managment-3ed
 
Low latency microservices in java QCon New York 2016
Low latency microservices in java   QCon New York 2016Low latency microservices in java   QCon New York 2016
Low latency microservices in java QCon New York 2016
 
Introduction to AIoT & TinyML - with Arduino
Introduction to AIoT & TinyML - with ArduinoIntroduction to AIoT & TinyML - with Arduino
Introduction to AIoT & TinyML - with Arduino
 
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
 
Webinar slides: Managing MySQL Replication for High Availability
Webinar slides: Managing MySQL Replication for High AvailabilityWebinar slides: Managing MySQL Replication for High Availability
Webinar slides: Managing MySQL Replication for High Availability
 
Going Cloud - warum und wie? - 42. DNUG
Going Cloud - warum und wie? - 42. DNUGGoing Cloud - warum und wie? - 42. DNUG
Going Cloud - warum und wie? - 42. DNUG
 
Road to Enterprise Architecture for Big Data Applications: Mixing Apache Spar...
Road to Enterprise Architecture for Big Data Applications: Mixing Apache Spar...Road to Enterprise Architecture for Big Data Applications: Mixing Apache Spar...
Road to Enterprise Architecture for Big Data Applications: Mixing Apache Spar...
 

Mehr von DMC, Inc.

Mehr von DMC, Inc. (20)

NI Week 2019 Overview
NI Week 2019 OverviewNI Week 2019 Overview
NI Week 2019 Overview
 
VI package manager
VI package managerVI package manager
VI package manager
 
NI Package Manager
NI Package ManagerNI Package Manager
NI Package Manager
 
Auto Code Generation and Rapid Brewery/Distillery Automation
Auto Code Generation and Rapid Brewery/Distillery AutomationAuto Code Generation and Rapid Brewery/Distillery Automation
Auto Code Generation and Rapid Brewery/Distillery Automation
 
Multi-site WinCC 7 Development with Centralized Process Historian & Informati...
Multi-site WinCC 7 Development with Centralized Process Historian & Informati...Multi-site WinCC 7 Development with Centralized Process Historian & Informati...
Multi-site WinCC 7 Development with Centralized Process Historian & Informati...
 
Dynamic and Scalable Systems Using WinCC OA
Dynamic and Scalable Systems Using WinCC OADynamic and Scalable Systems Using WinCC OA
Dynamic and Scalable Systems Using WinCC OA
 
Flexibility and standardization using dynamic IO addressing and option handling
Flexibility and standardization using dynamic IO addressing and option handlingFlexibility and standardization using dynamic IO addressing and option handling
Flexibility and standardization using dynamic IO addressing and option handling
 
Ni week 2018 DMC presentation IoT
Ni week 2018 DMC presentation IoTNi week 2018 DMC presentation IoT
Ni week 2018 DMC presentation IoT
 
Ni week 2018_ux_lab_viewcandothat
Ni week 2018_ux_lab_viewcandothatNi week 2018_ux_lab_viewcandothat
Ni week 2018_ux_lab_viewcandothat
 
Ni week 2018 LLAMA presentation
Ni week 2018 LLAMA presentationNi week 2018 LLAMA presentation
Ni week 2018 LLAMA presentation
 
Career Development Plans as a Competitive Advantage
Career Development Plans as a Competitive AdvantageCareer Development Plans as a Competitive Advantage
Career Development Plans as a Competitive Advantage
 
10 Tips for Using SharePoint to prepare for the CSIA Audit
10 Tips for Using SharePoint to prepare for the CSIA Audit10 Tips for Using SharePoint to prepare for the CSIA Audit
10 Tips for Using SharePoint to prepare for the CSIA Audit
 
5 Tips for Using TIA Portal V14 to Decrease Safety Development Time
5 Tips for Using TIA Portal V14 to Decrease Safety Development Time 5 Tips for Using TIA Portal V14 to Decrease Safety Development Time
5 Tips for Using TIA Portal V14 to Decrease Safety Development Time
 
Pushing Data from S7-1200 to Cloud
Pushing Data from S7-1200 to CloudPushing Data from S7-1200 to Cloud
Pushing Data from S7-1200 to Cloud
 
Lightning Fast SCADA Development with Open Library for WinCC OA
Lightning Fast SCADA Development with Open Library for WinCC OA Lightning Fast SCADA Development with Open Library for WinCC OA
Lightning Fast SCADA Development with Open Library for WinCC OA
 
What is the Siemens Open Library, and How it Decreased Development Time for E...
What is the Siemens Open Library, and How it Decreased Development Time for E...What is the Siemens Open Library, and How it Decreased Development Time for E...
What is the Siemens Open Library, and How it Decreased Development Time for E...
 
Advanced Motion Control: Using the New 1500TF Processor and Siemens LAxis Lib...
Advanced Motion Control: Using the New 1500TF Processor and Siemens LAxis Lib...Advanced Motion Control: Using the New 1500TF Processor and Siemens LAxis Lib...
Advanced Motion Control: Using the New 1500TF Processor and Siemens LAxis Lib...
 
What's New in LabVIEW 2017
What's New in LabVIEW 2017What's New in LabVIEW 2017
What's New in LabVIEW 2017
 
Tools for Managing your LabVIEW Source Code
Tools for Managing your LabVIEW Source CodeTools for Managing your LabVIEW Source Code
Tools for Managing your LabVIEW Source Code
 
Real-World Case Study: For Connecting CompactRIO's to Microsoft Azure IoT
Real-World Case Study: For Connecting CompactRIO's to Microsoft Azure IoTReal-World Case Study: For Connecting CompactRIO's to Microsoft Azure IoT
Real-World Case Study: For Connecting CompactRIO's to Microsoft Azure IoT
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Kürzlich hochgeladen (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

Top Ten Programming Mistakes by People New to Siemens

  • 1. 2011 Automation Summit Orlando, FLNavigating the world of automation
  • 2. Page 2 Top Ten Programming Mistakes Made by People New to S7 2011 Automation Summit Title: Top Ten Programming Mistakes Made by People New to S7 Track:#56 Topic: Learn about some of the common problems experienced by people learning S7. Presenter: Tim Jager Company: DMC
  • 3. Top Ten Programming Mistakes Made by People New to S7 Page 3
  • 4. Company Profile Based In Chicago… …but work Globally DMC has the highest number of S7 certified engineers Since 1996 30 Employees
  • 6. Areas of Expertise Manufacturing and Automation Intelligence Test and Measurement Custom Software Engineering & Embedded Systems Microsoft SharePoint Consulting Services
  • 7.
  • 9.
  • 14.
  • 18. JIT - Lean Manufacturing
  • 19.
  • 20.
  • 21. Top 10 S7 Mistakes #1 Page 12 Simple Hardware mistakes
  • 22. Common Hardware Mistakes Page 13 My PLC Doesn’t Work???
  • 23. Common Hardware Mistakes Page 14 My PLC Doesn’t Work??? It needs a memory card
  • 24. Common Hardware Mistakes Page 15 My PLC Doesn’t Work??? It needs a memory card It’s in STOP Mode
  • 25. Common Hardware Mistakes Page 16 I wonder what’s on the MMC Card?
  • 26. Common Hardware Mistakes Page 17 I wonder what’s on the MMC Card?
  • 27. Common Hardware Mistakes Page 18 I wonder what’s on the MMC Card?
  • 29. Common Hardware Mistakes Page 20 This is not an RS232 Serial Port!!!
  • 30. Top 10 S7 Mistakes #2 Page 21 Using Absolute Address Priority instead of Symbolic
  • 31. Set your Address Priority to Symbolic You Just took the Red pill…. You are on your way down the rabbit hole that leads down the path of true object oriented PLC Programming. Page 22
  • 32. A Typical Data Block DB1 “dbGlobals” Page 23
  • 33. A Typical Data Block DB1 “dbGlobals” Page 24 Symbol Name: “dbGlobals”.bStart Address: DB1.DBX0.0
  • 34. A Typical Rung Of Ladder Page 25
  • 35. A Typical Rung Of Ladder Page 26 Address Logic Symbolic Logic
  • 36. A Typical Rung Of Ladder Page 27 Address Logic Symbolic Logic
  • 37. What happens if we change the Data Block? Page 28
  • 38. Absolute vs. Symbolic Priority Page 29 In Symbolic Mode the intended logic is maintained The address logic has changed from 0.1 to 0.2 The symbolic logic is maintained
  • 39. Absolute vs. Symbolic Priority Page 30 In Absolute Mode the intended logic is NOT maintained! The Address logic is maintained But the Symbolic logic is totally wrong!
  • 40. Absolute vs. Symbolic Priority Page 31 You don’t have to know where the server lives or it’s IP address. You just need the symbolic name to send an email. So start forgetting about addresses and start thinking about symbolic names. VS. Absolute Address 2222N. Elston Ave Chicago, IL 60614 Symbolic Address tim.jager@dmcinfo.com
  • 41. Top 10 S7 Mistakes #3 Page 32 I/O Mapping
  • 42. …I'm gonnaProgram… like it's 1999 Page 33 Input / Output Mapping
  • 43. Traditional Input / Output Mapping Page 34 1. At the beginning of the scan, Each physical input gets mapped to an internal variable… Physical Input Internal Variable
  • 44. Traditional Input / Output Mapping Page 35 1. At the beginning of the scan, Each physical input gets mapped to an internal variable… 2. Now run all of the logic (which references only internal bits)… Internal Variable Internal Variable
  • 45. Traditional Input / Output Mapping Page 36 1. At the beginning of the scan, Each physical input gets mapped to an internal variable… 2. Now run all of the logic (which references only internal bits)… 3. …At the end of the scan, internal “output” bits get mapped to physical outputs Internal Variable Physical Output
  • 46. Page 37 S7 I/O Mapping – Just use the Symbol Table Make sure you are in Symbolic Priority Mode
  • 47. Top 10 S7 Mistakes #4 Page 38 Improper Use of Bit Memory AKA: Mbits
  • 48. MBits M0.0 – M0.7 M1.0 – M1.7 M2.0 – M2.7 M2.0 – M2.7 Page 39
  • 49. MBits MBytes M0.0 – M0.7 MB0 M1.0 – M1.7 MB1 M2.0 – M2.7 MB2 MB3 M2.0 – M2.7 Page 40
  • 50. MBits MBytes MWords M0.0 – M0.7 MB0 MW0 M1.0 – M1.7 MB1 M2.0 – M2.7 MB2 MW1 MB3 M2.0 – M2.7 Page 41
  • 51. MBits MBytes MWords MDoubleWords M0.0 – M0.7 MB0 MW0 M1.0 – M1.7 MB1 MD0 M2.0 – M2.7 MB2 MW1 MB3 M2.0 – M2.7 Page 42
  • 52.
  • 53. Quick prototyping / demonstrations
  • 54. When you absolutely have to!Page 43
  • 55.
  • 56. When is it OK to use M Bits? Page 45 If you use MBits, make sure they are NOT IN USE already.
  • 57. When is it OK to use M Bits? ..and make sure to add symbol names in the symbol table. Page 46
  • 58. When is it OK to use M Bits? Or suffer the consequences…… Page 47
  • 59.
  • 60. Top 10 S7 Mistakes #5 Page 49 Not using or Improperly using the Clock Byte
  • 61. What is the Clock Byte? Page 50 Each bit of the clock memory byte is assigned a frequency.
  • 62. Symbol Table Entry For Clock Byte Page 51 Reserve these so nobody uses Memory overlapping the Clock Byte
  • 63. Clock Byte Page 52 The bits within the Clock byte can change at any time during the scan.
  • 64. Clock Byte – Synchronous Global Page 53 UDT1 “udtClockByte”
  • 65. Clock Byte – Synchronous Global Page 54 DB1 “dbGlobals”
  • 66. Clock Byte – Synchronous Global Page 55 DB1 “dbGlobals”
  • 67. Clock Byte – Synchronous Global Page 56 DB1 “dbGlobals”
  • 68. Clock Byte – Synchronous Global Page 57 MB0 dbGlobals.ClockByte
  • 69. Page 58 What Happens If…… “Always_False” Mapped to M0.0 “Always_True” Mapped to M0.1
  • 70. Page 59 What Happens If…… “Always_False” Mapped to M0.0 “Always_True” Mapped to M0.1 Clock Byte Mapped to MB0
  • 71. Overlapping Mbits are BAD! Page 60
  • 72. Top 10 S7 Mistakes #6 Page 61 Using Uninitialized Temp Memory
  • 73. What is Temp Memory? Page 62
  • 74. Improper Use of Temp Memory Page 63
  • 75. Improper Use of Temp Memory Page 64 Don’t read from a TEMP unless you have written to it first!
  • 76. Top 10 S7 Mistakes #7 Page 65 Not Using Timed Interrupts.
  • 77. OB1 vs. OB30..38 Page 66 OB1 Runs as fast as it can. OB30…OB38 Run at specific time intervals.
  • 78. Timed Interrupts OB30..OB38 Page 67 PID Control Data Sampling
  • 79. Top 10 S7 Mistakes #8 Page 68 Not using reusable function blocks
  • 80.
  • 81. Code is encapsulated in a Highly reusable form
  • 82.
  • 83. Creation of Function Block Isolate Common/Duplicate Code If the same code is used many times in your program, consider creating function blocks.
  • 84. Creation of Function Block Isolate Common/Duplicate Code Step 1. locate common code.
  • 85. Creation of Function Block Isolate Common/Duplicate Code Step 1. locate common code.
  • 86. Creation of Function Block Isolate Common/Duplicate Code Step 2. Replace duplicated code with function blocks.
  • 87. Valve FB Custom FB Examples Motor FB Pump FB Cylinder FB Robot Interface FB Barcode Scanner FB Label Printer FB Machine Vision FB
  • 88. Top 10 S7 Mistakes #9 Page 76 Inconsistent Blocks
  • 89. Check Block Consistency Page 77 Don’t forget to download the Data Block!!
  • 90. Top 10 S7 Mistakes Page 78 And last but not least……..
  • 91. Top 10 S7 Mistakes #10 Page 79 Going it Alone