Professional Documents
Culture Documents
Siemens SIMATIC Step 7 Programmer
Siemens SIMATIC Step 7 Programmer
Handbook
Have no fear. We’re here to help. So we’ll look at the essentials for your
journey.
Of course the best type of training is the hands on type but if that’s not an
option then you’ll need to start digging in.
If you are just learning and can’t easily get the software then there are two
options.
1. Order the demo CD which will give you a free 30-day trial period.
Once you install the Step 7 software there will be a directory under the
SIMATIC folder called Documentation that includes the most important
manuals. Hard copies can be ordered with number 6ES7810-4CA08-8BW1.
Here’s how I would digest them.
2. Programming with STEP 7 Manual - Here’s the fuller manual for the
programming interface which is also the same as the online help
accessed by pressed the F1 key.
3. Configuring Hardware and Communication Connections STEP 7
Manual - Everything to do with the Hardware Configurator.
Training Material
There’s gold in that website if you just do a little digging! If you’re having a
tough go with the manuals then you should definitely download the training
material. There’s a lot more screen shots and even a picture of a balding
pudgy guy to point things out to you. What more could you want?
Flash Tutorials
If you’re not the manual type (and even if you are) check out the Siemens
Step 7 Flash tutorials. These are very professionally done with a nice
sounding narrator to take you through all the basics of the Step 7 software and
hardware.
What's Next?
Of all the starting places to dig for more info I find the support section the best
especially if you have a part number or key word you can search on. Clicking
on the Product Support link will bring up a tree on the left hand side that can
be expanded down to the product of your affection. Good luck and happy
hunting.
Review of Siemens SIMATIC Step 7 Lite
Programming Software
“Great taste. Less filling.â€
When one hears the words “Lite†and software you tend to think of
software that’s not really usable. Depending on your needs this may not
be the case with the Siemens STEP 7 Lite package. The four major limitations
in STEP 7 Lite verses the more advanced STEP 7 package are:
On the other hand, the current availability of a free download of the SIMATIC
Step 7 Lite software makes it awfully tempting to take a look at it. If your
only use of Siemens PLCs are an S7-300, C7 or ET200 in a stand alone
application with no special needs (CP or FM) then I could highly recommend
the Lite package. It has the same level of programming functionality as the
regular Step 7 packages plus some nifty interface enhancements to make it
easier on the eyes and on the brain. It is possible (though not easy) to convert
any software created in the STEP 7 Lite to STEP 7 and visa versa keeping in
mind the limitations of the Lite version. Since the packages bear a lot of
similarities it will also be easy for the student to transfer any learning on the
Lite package over to STEP 7.
First Impressions
For a user of the regular STEP 7 software the first thing to notice is there is no
SIMATIC Manager. That’s because the Lite version doesn’t support
multi-projects or networking. The STEP 7 Lite software opens right up to the
editor screen.
The overall aim of the Lite package was to make the interface easier for new
users. I think they’ve done that while making it friendlier for everyone
involved. The added graphics and color are a welcome addition. Another nice
friendly feature is the extended hover help on the menus and icons where
clicking on the tool tip expands it into more help text. On that note all the pop
up dialogs are clearer then its STEP 7 counterpart.
One of the major differences can be seen on the left hand side window. Pretty
much everything the programmer needs for maintaining the project is neatly
organized here. There’s even a convenient thumb tack to pin it or make it
automatically slide in and out when needed.
On the right hand side is the old familiar tree structure of commands and
blocks. It’s missing the quick little reference help window on the bottom
which has been replaced by just hovering your mouse over the command to
get a fuller title (the F1 key works just the same too). The FC and FB blocks
have been moved from here to a more logical place in the project window on
the left hand side.
The Left Side Bar – CPU Overview and Project Window
I also like the new way of creating blocks. From the pull down menu select
Insert | Block … and this nifty dialog box pops up with all the selections on it.
Even the OB selection has a nice drop down box of all the OBs available with
its symbolic name.
The greatest change of all is the overhauled hardware manager. The layout is
great and is to be expected without the need to factor in networking. Just drag
and drop your hardware on the picture and away you go. There’s even a
nice hardware comparison feature clearly showing any differences between
the offline and online setups.
The Editor
Much of the editor is like its big sister STEP 7. One noticeable part that’s
“missing in action†is the detail view that gives quick access to info,
cross reference, address info, etc. One part I like is a slight revamp of the
declaration table. Instead of the tree like structure it’s one simple table
with a column indicating its declaration. That means no having to dig through
the tree just to see all the declaration variables.
Conclusion
Other then what we’ve all ready listed there are no other major
differences. The symbol table, monitor/modify (a.k.a. VAT), and the reference
data are all very similar to STEP 7. Overall, if you can live with the
limitations, the STEP 7 Lite version is a great little package. Hopefully some
of the better implementations will find there way into the STEP 7 software.
P.S. One little caveat is that it kept crashing on my plenty beefy enough
Windows XP Home computer. Save often, arrgh!
The CP5512 card and the PC Adapter can communicate on either an MPI or
PROFIBUS port. Note that PROFIBUS is labeled as DP on the Siemens
connection ports. These cables can piggyback on existing connectors. Be
aware that the PC Adapter draws its power to work from the connection port
so check the power LED for proper operation. The CP5512 card draws its
power from the computer.
For Ethernet (TCP/IP) use a standard Ethernet cable from the computer to
a CPU with an Ethernet port, a CP 343/443 module or a network switch all
ready attached to the PLC network.
Checking Communications
With the programming cable plugged in, you can check for proper operation
by clicking on the Accessible Nodes icon.
If communications are successful, you'll see a window pop up similar to the
one below. If so, then close the Accessible Nodes window and proceed to the
download or upload section.
This indicates that the cable is not in the right computer port or the cable is not
plugged in properly.
In order to start communication to the PLC you will need to match the "PG
Interface" setting with the programming cable and protocol. To do this, select
the menu Options > Set PG/PC Interface.
The following dialog box will open up displaying all the different interfaces
(i.e. communication drivers).
Each cable has its own interface. For Ethernet select the TCP/IP interface for
your computers network card. Be careful not to select your wireless Ethernet
connection.
To get it working quickly it is best to select the interface with the Auto
designation. This will discover working settings and use them automatically.
For the PC Adapter click on the Properties button and make sure the Station
Parameters Address is a unique network address. It should not conflict with
existing PLC and slave devices on the network. Also, check under the Local
Connection tab and make sure connection selection matches the port the cable
is connected into.
Once the proper interface is selected and the properties are set then click OK
and use the Accessible Nodes window to check for successful
communications. It should work. If not double-check the connection and
cable. With the CP5512 and PC Adapter cables, you should use the MPI port,
as this is the default connection for Siemens.
Downloading
First, in order to enable the download menu commands, you must select
the Block folder in the project's station you wish to download.
Partial downloads are used in existing projects where only one or more blocks
will be downloaded. To perform this type of download select the block(s) you
wish to download and then select the PLC > Download menu item or the
download button .
Holding down the Ctrl key or the Shift key allows more then one block to be
selected at a time. Be careful though as the order of download will occur in
the order that the blocks were selected. This may mean that an error will occur
if a block is called before it is downloaded.
The CPU will need to be in Stop mode before downloading the System Data
Block (SDB) as this is equivalent to a hardware configuration download. This
is usually not necessary in a PLC that has all ready had its hardware
configured. If you do download the system data, the following messages will
prompt you through the transitions.
If the CPU is in Run mode then you will be prompted to Stop the CPU. The
software will do the Run to Stop transition when you click OK.
After downloading the SDB you will be prompted to Run the CPU again.
Clicking Yes will automatically put the CPU back into run mode.
Full Download
To download all the blocks at once make sure you are in the Block folder and
select the Edit > Select All menu item. Click on the Download icon . You
will be prompted to overwrite any existing blocks and if you want to load the
system data (see above).
The following dialog box will pop up prompting you about the deletion of all
the blocks and project data in the PLC. Click Yes to perform the operation.
Uploading
There are two methods for uploading. The first is when you have the original
project and you want to preserve the symbols and comments. The second
method, when you don't have the original project, will upload everything from
the CPU but will have no associated documentation (i.e. symbols and
comments).
With the existing project open, select the View > Online menu item.
This is the same as the Online button on the icon bar.
This will open up another window called the Online Partner. It shows the
existing blocks inside the CPU. The Online version is indicated by the
highlighted title bar.
There is a connection between these two versions so that uploading from the
online partner makes sure to preserve all the symbols and comments. Be
careful. After uploading, make sure to close the online partner and do all work
from the offline version.
To upload individual blocks, select them in the Online view and choose
the PLC > Upload to PG menu item. For a full upload, select the Block folder
and do the same.
Upload without an Existing Project
Follow these steps when you do not have the original project but wish to
upload the program for backup purposes. With an existing project open or a
new blank project select the PLC > Upload Station to PG… menu selection.
In the next screen, fill in the slot the CPU is in (this is always 2 for S7-300)
and the node address of the communication port on the CPU. In the case
below we are talking to a CPU over MPI with node address 10.
After clicking OK, the whole contents of the PLC including all blocks and
hardware configuration will be uploaded into a new station in the project.
STEP 7
STEP 7 Lite STEP 7
Professional
Configuring
Documentation function
Included Included - S7-DOCPRO option
for standard-compliant
documentation of the S7 project
Multi-language
Yes Yes
documentation of projects
Programming
As Step 7
+ S7-Graph
LAD/FBD/STL
(sequencer)/S7
Languages LAD/FBD/STL and STL
-SCL (textual
sources
high-level
language)
Structured/symbolic
Yes/Yes Yes/Yes
programming
Check/establish program
Yes/Yes Yes/Yes
consistency
Standard libraries/user
Yes/No Yes/Yes
libraries
Online functions
Optional packages
S7-Graph, S7-
Optional programming SCL, S7- S7-HiGraph,
None
languages HiGraph, CFC
CFC
S7-Teleservice,
S7-DOCPRO,
S7-PLCSIM,
Options for simulation, S7-Pdiag
S7-PLCSIM, S7- S7-Teleservice,
documentation, diagnostics (S7-PLCSIM is
Teleservice S7-DOCPRO,
and remote maintenance all ready
S7-Pdiag
included in
package)
Sound familiar? Have you suddenly found changes that have been made in
the PLC but not in the offline program? Nobody knows what happened.
How to solve this problem? Let’s first of all review some basic terminology.
After that is a step by step best practice when editing programs. Finally, we’ll
highlight the pitfalls and the indicators that tell you whether you are offline or
online. This procedure applies to SIMATIC Step 7 version 5.4.
Terminology
Offline program – The program that is stored on the hard disk of the
computer. This will contain the documentation. It’s very important to keep a
pristine copy of the offline program as the associated documentation is not
stored in the PLC.
Download – The act of taking the offline program on the computer and
downloading it into the PLC.
Upload – Taking the program in the PLC and bringing it up to the computer.
Doing this without having the associated offline program open will cause a
loss of documentation.
Save – Stores the open block onto the hard drive. It’s important to realize that
an edited block can be downloaded to the PLC without saving it offline. Note
that this only saves the opened block and not any others that are concurrently
open.
These may seem like simple terms but it’s important to understand how
they’re used in the Siemens environment.
Here are some other terms that may come up.
Nodes – Refers to any programmable device (in our case a PLC) in the
network which will have its own unique address.
Best Practice
The best practice is to make sure you are working from an offline file. There
really isn’t any reason to be working on the program inside the PLC. Of
course, this assumes that you have a good working copy to begin with. The
“golden” copy of the program should live somewhere on a network server or
have a dedicated place on one computer or laptop. I’ve even heard of some
companies using USB memory sticks to store the latest and greatest which is
great but an original copy should still live on a computer that is backed up.
1. Open the offline file from the File pull down menu and select Open
or use the Open Project icon on the toolbar. In the dialog box
select the project under the User Project tab. Click OK. You may
have to select Browse to find it in the directory structure. Note if the
Manager was closed with a project open then it will open back up to
that project automatically.
2. Expand the project tree down to the program files and select the
Blocks folder. Good practice dictates that all blocks should be opened
from here.
1. Save the block to the hard disk by clicking the Save icon
(or menu item File | Save)
3. Note that downloading from here only sends that one block to
the PLC. It does not download the entire program.
That’s it. Following these simple steps will save a lot of headaches.
So where do some people get lost? Here are some common mistakes and their
warning signs. If you get any of these dialog boxes then you should really
back out and start over because you’re on the road to losing your
documentation.
These dialog boxes are telling you that it cannot find the documentation for
the local parameters and symbols. More then likely it will also not show any
network comments or titles.
The Display Accessible Nodes selection under the PLC menu is a handy
way to see what is connected to the network but it should never be used to
open blocks. Opening blocks from here uploads it straight from the PLC and
produces the warnings dialog boxes shown above.
Pitfall #2 – Viewing Online from SIMATIC manager
The proper way to view a block online is to open the block and select the
Establish Connection to Configured CPU icon . Just make sure what you
are viewing has been downloaded to the PLC.
Pitfall #3 – Opening the Online Partner
Conclusion
(1) Siemens dialog boxes have an option that says, “Do not display this
message again.” This is handy for some annoying pop ups but it is really not
a good idea to turn off important ones like warnings for overwriting blocks.
These warnings are especially crucial if you are working on real machinery. If
more then one person is using the software then you can reset these messages
to display again by going to the SIMATIC Manager and select the menu
Options | Customize. Click the General tab and press the Activate button. If
it’s grayed out then all messages are set to display.
S7 Library Functions
I couldn't find a complete listing of all the function blocks in the standard
Siemens S7 Libraries so I made one myself. It helps me get a better overview
of what is available. The complete listing is also available as an Excel
spreadsheet so you can sort or adjust to your needs.
Communication Blocks
S5TIME NOTES
S5TIME Format
Binary
Time base
Code
10 ms 00
100 ms 01
1s 10
10 s 11
Introduction
The most common form of addressing used in the Siemens S7 PLCs is direct
and symbolic. When a direct addressed is referenced by an instruction there is
no question as to the location in memory. The following are examples of
direct addressing:
Counters: C23
Memory
Format Example Storage
The memory area identifiers T, C, DB, DI, FB and FC use a word (16-bit)
pointer location in integer format. Two examples are as follows:
Note that math can be done on the POINTER data type using the double math
instructions (e.g. P#2.0 + P#5.0 = P#7.0).
+D
Besides the regular accumulators, there are two 32-bit address registers (AR1,
AR2) for storing pointers used in register indirect addressing methods. A
series of different load and transfer type instructions can be used to work with
AR1. A similar set is available for AR2.
STL Description
Addition can be directly accomplished on AR1 and AR2 with the following:
STL Description
Adds the contents of ACCU1 to AR1 and stores the result back
+AR1
into AR1
Adds the pointer constant to AR1 and stores the result back into
+AR1 P#100.0
AR1
The area-internal register indirect addressing method uses one of the address
registers plus a pointer to determine the address the instruction is to reference.
The format is:
This next example shows area-crossing methods using a word and double
word format.
Exercise #1
1. Comment the lines of STL below to describe what this network does:
A I 0.0
JC M001
L P#M10.0
JU M002
M001: L P#Q0.0
M002: LAR1
A I 0.1
= [AR1, P#0.1]
Exercise #2 (Advanced)
1. Create a DB with an array of 10 real numbers. Populate the array with
random values.
2. Create a function that will return the max number in the array and its
position. Use the indirect addressing method of your choice.
Each bit in the Status Word has a specific function to keep track of bit logic
(RLO, STA), math (OV, OS), comparison operations (CC0, CC1) and whether
the logic should continue, be nested or start new (/FC, OR, BR). Only the
first 9 of the 16 bits are used.
Bit Positions
8 7 6 5 4 3 2 1 0
Each instruction may do the following to each bit in the status word.
- No read or write
* Read
0 Reset to "0"
1 Set to "1"
The status word can be seen by displaying the STATUS column while
monitoring in STL view. The RLO (bit 1) and the STA (bit 2) are also
displayed in the RLO and STA column.
If the /FC bit is a 0 then the instruction is considered to be the first instruction
being processed. If the /FC is a 1 then the instruction being scanned will use
the logic from the previous instruction. Certain instructions like =, S and R
will set the /FC bit to 0 thus starting new logic after it. Other instructions
like A or O will set the /FC bit to 1 signalling to combine the logic with the
next instruction.
The RLO bit stores the running logic state of the currently processing
instructions. Certain bit logic and comparison instruction will turn the RLO
to a 1 when the condition is TRUE and write a 0 when the condition is
FALSE. Other instructions read the RLO (=, S, R) to determine how they
are to execute.
The STA bit reflects the state of the current Boolean address.
If you are used to ladder logic and struggling to understand the purpose of the
RLO and STA it may help to visualize a rung like below. The STA is used to
keep track of the state of the addresses. The RLO is used to keep track of
the state of the rung.
The equivalent STL is shown below.
1. At the start the First Check bit (/FC) is zero so an And instruction will
logically mirror the Status bit (STA) over to the Result of Logic
Operation (RLO). In this case the address I0.0 is 1 so the STA is one
and the result of the logic (RLO) will be 1. The A instruction writes a
1 to /FC.
2. On the second line, the /FC bit is now 1 indicating that this line needs
to use the RLO from the previous line. The address I1.1 is on so the
STA = 1. The RLO from the last line is 1 and this is ‘anded’
with the current STA with a result of 1 in the current RLO.
3. The same thing happens on the second line but this time 1 and 0 makes
the current RLO = 0.
4. The fourth is the Assign instruction which takes the RLO and writes it
out to the corresponding address. In this case the final RLO = 0 so
the output will be off. If M0.0 was 1 then the “And†operation
will evaluate to true making the RLO = 1 which will then turn on the
output Q1.0.
OR (bit 3)
In the event of an overflow (OV bit 5) the OS bit will store the value even
after the OV bit has been reset. The following commands reset the OS bit:
JOS (Jump if OS=1), block call instructions, block end instructions.
The OV bit is set by a math instruction with floating point numbers after a
fault has occurred (overflow, illegal operation, comparison unordered). The
OV bit is reset when the fault is eliminated.
The Condition Code bits provide results for comparison and math instructions.
Comparison Instructions
CC 1 CC 0 Meaning
0 0 ACCU 2 = ACCU 1
CC 1 CC 0 Meaning
0 0 Result = 0
0 1 Result < 0
1 0 Result > 0
CC 1 CC 0 Meaning
CC 1 CC 0 Meaning
0 0 Gradual underflow
CC 1 CC 0 Meaning
CC 1 CC 0 Meaning
0 0 Result = 0
1 0 Result <> 0
These cheat sheets provide a quick reference guide for all the instructions and
formatting. They are two pages long but if you can print on the front and back
then they make for a nice one sheet reference.
The TCP/IP method of communication to the S7-300 and S7-400 PLC's via
TCP/IP communication module uses the S7WIN, S7WINSP, S7NT, or
S7NTSP protocol.
Software requirements
Windows XP + SP1
Hardware requirements
The hardware modules occupy the following slots in the Siemens PLC:
Example configuration
3. Select the English language option, then click Next. Click Next again.
6. If you already have SIMATIC NET software installed, this will be the
drive selected by default. Clear the Run automatic
authorization option, and then click next. The Setup: Configuration
screen appears.
This step involves using the Commissioning Wizard to configure the software
you installed in the previous step.
When your system restarts after the software has been installed, your system's
hardware configuration is scanned. The Commissioning Wizard appears
automatically. (You can also access the Commissioning Wizard
at Start/Simatic/SIMATIC NET/Settings/Commissioning Wizard.)
The number of steps required depends on the number of PC Ethernet cards (or
modules) detected in your PC. The more modules you operate in the
computer, the more steps are required.
1. Click Next.
Note: The index of the network card can be set with the NCM PC
Configuration (hardware configuration). The station index defaults to 5
if you use the Commissioning Wizard.
Note: The name of the application is the VFD name. This comes later in
the IFIX Project Editor under Communication | Ports in the Special
options text box.
The next step to configure the project using the PC Station Wizard.
3. Define a new Project name; this example uses IFIXS7. Specify where
the copy of the local PC station settings resides, and then click Next.
4. Select the Edit network and connection configuration option, and then
click Finish. NetPro automatically starts, displaying the network
configuration.
5. Click the Application box in the PC station, and then choose Insert |
New Connection. The Insert New Connection dialog box appears.
6. Choose the Unspecified item in the tree. From the Type menu in
the Connection area, choose S7 connection. Then click Apply, and
then click OK.
8. In the Address Details dialog box, enter the card location of the CPU
that the SIMATIC S7 communicates with. Here the card location is 2.
Click OK.
Note: Some power supplies might occupy 2 slots. If so, the card
location of the CPU is one higher at 3.
9. In the NetPro window the new S7-Connection_1 connection appears.
Choose Network | Save and Compile. The Save and Compile dialog
box appears.
10.Select the Compile and check everything option, and then click OK.
11. After completing the save and compile operation, a message appears in
the NetPro window. This indicates the warnings and errors present in
the configuration. If warnings occur here, then this is to be handled as
information only. But if errors occur, the project configuration cannot
be loaded. To view errors, choose View |Outputs.
13.To confirm the overwrite of configuration data and to proceed with the
download, click Yes.
Note: You can choose any name for the Access point, but it cannot
contain spaces and be longer than 32 characters.
3. In the New access point dialog box, enter your access point name (this
example uses IFIXS7). Select the hardware component that will be
associated with this access point (TCP/IP -> ASUSTeK/Broadcom
440x in the example).
Note: The access point name is used later in IFIXSCADA in the Project
Editor under Communication | Boards in the Special Options text
box. The access point name is case-sensitive.
After creating the access point the Configuration Console should look
like this:
The IFIX S7 driver needs three names (settings) from the SIMATIC NET
software
configuration. The following points are needed:
3. In the wizard:
The next step in the process is to set the access point of the application.
2. In the Special Opt text box, enter the access point of the application.
This example uses IFIXS7.
2. In the Special Opt text box enter the VFD Name. In this case VFD1.
2. In the Address field enter the name of the connection to the PLC. This
example uses S7-Connection_1.
Variable declaration
o Type: INT
o Address: DB190,0
Solution
3. Check the station name in the Station Configuration Editor. This must
match with the name in SIMATIC NCM PC Manager. You can change
the station name in the Station Configuration Editor by clicking Station
Name.