Wanted--AB expert who has climbed Mt.Step7

J

Thread Starter

Jeffrey D. Brandt

Help me...somebody.

I can't be the first person to do this.

I'm currently beyond asking WHY Siemens does what it does. One thing's for certain, Allen Bradley's got nothing to worry about with market share, if programmers have anything to say about it.....

I'm looking for an AB LAD (whoops, ladder logic) programmer who has conquered the abbreviation happy translations of what are probably well written German technical manuals.

Over the last week, I've read over 1,000 pages of documentation, been on the support hotline for hours, and still have yet to write a rung of logic. I can't seem to get a handle on where the actual data resides, or what it looks like. Each manual (software and hardware) refers to the other, like DATA is some ugly step-daughter.

I feel like Clara Peller (American reference to Wendy's hamburger commercial): "Where's the DATA TABLE?"

If anyone has made sense of any of this, please write back. (PLEASE: No flamers or sales types...I'm done with you guys)

And, if its the best example of why IEC 1131 is "so great", it does not surprise me that no US makers of control are really pushing us to use it. Keep it overseas, TYVM.

IMHO, of course.
Jeffrey D. Brandt
[email protected]
http://users.supernet.com/jdbrandt/

"Step 7...it ain't no ICOM."
 
D

Dobrowolski, Jacek

Hi Jeffrey
You seem to be disappointed with Step 7. That's usual attitude to this software of people who aren't familiar with "Siemens point of view". I know well AB PLCs and I can say that programming them is much easier than S7. But Step 7 lets you to write a program on any S7 PLC (200, 300 or 400 series). .That's why it's so complicated. By the way there's nothing like Data Tables in Siemens PLCs (they got only I, Q, M, PI, PQ, C, T, F, LS and DB address spaces). Dimensions of them depend on PLC type and are fixed (excluding BD). BDs are user-created data files/areas and can contain data of mixed type. To any data you can get using a pointer There're some other Siemens S7 features which you can't find in AB, but if you know a little bit about microprocessors architecture you shouldn't be confused with Step 7. And one more thing - S7 is not fully compatible IEC1131 because
of the way it handles some operations. If you got some particular questions feel free to ask.

Regards,

Jacek Dobrowolski

Software Eng.
Electrical and Software Design Department
Secondary Division
International Tobacco Machinery Ltd. Poland
 
A

Armin Steinhoff

At 16:12 24.08.00 -0400, "Jeffrey D. Brandt" <[email protected]> wrote:

>Help me...somebody.
>
>I can't be the first person to do this.
>
>I'm currently beyond asking WHY Siemens does what it does.

[ clip ..]

>I feel like Clara Peller (American reference to Wendy's hamburger
>commercial): "Where's the DATA TABLE?"

Have a look for 'Hardware configuration' ...
'Symbol Editor' -> it builds your 'Data Table'.

>If anyone has made sense of any of this, please write back.
>(PLEASE: No flamers or sales types...I'm done with you guys)
>
>And, if its the best example of why IEC 1131 is "so great", it
>does not surprise me that no US makers of control are really
>pushing us to use it.

The 'documentation standard' used by Siemens
has nothing to do with the IEC1131 standard....

> Keep it overseas, TYVM.

BTW, from the European point of view ... the initial version of the IEC1131-3 standard was developed 'overseas' in America from Dr. James H. Christensen, A-B !

I hope you feel better now ;-)

Best Regards

Armin Steinhoff
 
Dear Jeffrey D. Brandt,

Here Europe,

This phrase is common knowledge. We only say "any other PLC fabricate"
(I'm currently beyond asking WHY Siemens does what it does.
> One thing's for certain, Allen Bradley's got nothing to worry
> about with market share, if programmers have anything to
say about it.....),but Siemens is only good in marketing.(tickling Managers with Golf course etc ..)

>(And, if its the best example of why IEC 1131 is "so great", it
> does not surprise me that no US makers of control are really
> pushing us to use it. Keep it overseas, TYVM.)
>
No Siemens is not compliant with the IEC 1131. It is the Siemens interpretation of it. They make things look like IEC1131 standards but it is the Siemens way of thinking.
And as i say: not the logical one. (I do not want any comment of engineers who worked with Siemens happenly. In general those are the
engineers who first started with programming Siemens PLCS and not another one)

I do not know what you want. I have worked with both PLC's (started with Phillips PLC)
In general the main rung in Siemens is called OB1. There are special OB files which are time driven or fault driven. The data is stored in DB's and datatable is called a symbol list (callled Symbols).
The rungs are called FB and can be programmed in different ways.

Met vriendelijke groeten,

Onno Moret

Imtech Projects West
Mescon
Control Systems

tel :010-4477228
fax :010-4477210


mailto:[email protected]
Bezoek onze Internetsite (klik hieronder)
http://www.mescon.imtech.nl/
Any opinions expressed in this message are not necessarily those of the
company.
 
S

Shawn Hinchy Philips Lighting

Jeff,

Even though I am a great fan of Siemens, I am usually the first to admit that they have made something more difficult than is necessary. On the other hand, I have almost never run across something that I couldn't do with it.

First things first, memory in S7 is different than you are used to. Memory consists in one of three forms: M coils, Data Blocks and local memory.

The first, M coils, are a block of memory, byte organized, that go from M0.0 to M127.7 (or higher). This memory is yours to use in whatever format you wish (bit, byte, word, double word, etc.). A bit is accessed as M0.0 or Mx.x, up to M127.7. The integer refers to the byte, and the decimal point to the bit in that byte. A byte is accessed in the form MBx. This consists of the bits Mx.0 -> Mx.7, with bit 0 being the LSB. A word is thus accessed in the form MW100 and contains M100.0 -> M101.7 (also MB100 -> MB101) since it is the same memory area read in different ways. Here, the first byte used (M100) is the most significant byte and M101 is the least significant byte. Thus, the LSB is M101.0 and the MSB is M100.7. The same goes for double words (MD100 = M100 -> M103, with M103 the LSByte). Before you blame this on Siemens, I 'think' it is an Intel processor convention.

The second type of memory is a data block. There can be up to 99 (?) data blocks, which you can do with as you choose. In each data block, you can name a variable, state its size and give it a long description. The processor then takes each data block, dynamically assigns the amount of memory necessary and stores it. For example, let's have a data block (DB1 - myDataBlock) that has the following data in it:

Symbol Size
------------ -------
Bit1 boolean
Bit2 boolean
Word1 word

The data can be accessed by the address or symbolically as follows:

Bit1 --> db1.dbx0.0 or "myDataBlock".Bit1
Bit2 --> db1.dbx0.1 or "myDataBlock".Bit2
Word1 -> db1.dbw1 or "myDataBlock".Word1

But don't fear, the address is given in the editor, and the real power is the ability to program symbolically. This may seem like a pain, but it really simplifies implementing things like recipes or data collection. Since the addresses are stored dynamically in memory, you can always add more variables to this list (or recipe, etc) and don't have to worry about leaving space between recipes, etc. when programming. It also allows you to have recipes or data sets (or structures) that now contain mixed data and easily move them around (and we're not even into user defined data types!) The power is there to work with large amounts of formatted data in an easy manner.

Lastly, local memory is memory (formatted just like M memory) that is available only to the current function. It is used in the same manner as M memory, but since it is local (or scratch pad) you don't have to worry about writing over memory used by other functions. This comes into more use when you are creating your own ladder blocks.

<breather>

Data tables no longer exist as you knew them. One of the main reasons is that you now have dynamically assigned memory. Fear not, what you are looking for is a Variable table (VATx). Here is a place that you can put in whatever address you are really interested in, kind of like a watch window in Visual Basic. You can specify an address, like a word, and how many words from that address that you want to show. The power is in the fact that you can look at the addresses you want to look at without the others getting in the way (better than split data tables). The minus is that you now have to know what you are looking for. Yes, you can enter either a fixed address or symbolic name.

I hope that helps you out a bit, if you have more questions, feel free to email me off the list.

Good luck!

Shawn Hinchy
[email protected]

ps. If you just installed the software, make sure to set the language to English, that will give you I's and Q's instead of E's and A's. (S7 Manager: Options --> Customize --> Language)
 
D

D. C. Pittendrigh

Hi All

This discussion has the potential to develop into another bandwidth buster. Frankly my opinion of the Siemens PLC's is fantastic, and I fit the persona described below, but please don't try to antagonise me by talking S__T about what I respect and then writing off my opinion and those of every one else who is an experienced Siemens user. The attitudes of some of the responders to this thread and definitely the one who started it, is quite incredulous.

Please keep personal biases for private e-mail and use the public one for the technical side which interests us all. Siemens bashing without any real cause is off topic, boring and something we have all heard before, try be constructive please.

Donald Pittendrigh
 
M

Marc Sinclair

> Help me...somebody.
> I can't be the first person to do this.

I suffered the other way round. I think it might help to understand a little about the difference between the European approach and the United states. In Europe PLC's are considered to be computers, are programmed by programmers hence the prevalence of assembly type programming and flow chart. In the US PLC's are considered to be programmable relays and are programmed by electricians, hence the prevalence ladder logic, which is after all a circuit diagram. (forgive huge generalisations but generalisations are almost always accurate ;-() For simple equipment ladder logic will suffice, for larger projects you need a strategy. Step 7 is a system which forces you to think about the job - before wiring.

Many companies build a piece of equipment and then call in the programmer to make it work, I know - I get these calls.

I can understand your frustration. perhaps you are using the wrong piece of hardware - if you need a simple AB type controller and your customer is specifying Siemens, try the s7 200 range it will do everything the slc's will do faster and cheaper and the software can be used
to write simple ladder logic programs. (It's also made in the US if that's important to you)

I would encourage you though to try and understand Step 7, although not perfect, within it lies the way forward, to programming machines of the future which will need to think for themselves, process huge amounts of raw data and make decisions based on memory - very difficult
using normally open, normally closed and coils.

Not preaching or selling, trying to help

Regards Marc Sinclair

http://www.germainesystems.co.uk
 
R

Rob Hulsebos Philips CFT

>A word is thus accessed in the form MW100 and contains M100.0 -> M101.7
>(also MB100 -> MB101) since it is the same memory area read in
>different ways. Here, the first byte used (M100) is the most
>significant byte and M101 is the least significant byte. Thus,
>the LSB is M101.0 and the MSB is M100.7. The same goes for
>double words (MD100 = M100 -> M103, with M103 the LSByte).

Right. It is very easy to use bitfields from a word. No need for masking, shifting, or'ing and and'ing.

However, I have seen many PLC-programmers assume that MB and and MD and M-whatever as *distinct* memory-areas, and they spent an awful lot of debugging time trying to find out why their
variables where being randomly changed.

A good 'IEC-61131 lint' would definitely help... but you could also buy a PLC where MB / MD / etc. are distinct memory areas.

>Before you blame this on Siemens, I 'think' it is an Intel processor convention.

Definitely not. I worked on the first PLC to have IEC-61131, and it did what Siemens does, but with an internal implementation based on 68020. It is of no importance what processor (or convention) is inside, as it is (ought to be) all hidden behind the IEC-61131 compiler.

Rob Hulsebos
 
R
>In Europe PLC's are considered to be computers, >are programmed by programmers hence the >prevalence of assembly type programming and flow >chart. In the US PLC's are considered to be >programmable relays and are programmed by >electricians, hence the prevalence ladder logic, >which is after all a circuit diagram.

Whoa. Having used both PLCs and computers to control machines, it is my opinion that PLCs are far better at it: and while I'm on the subject, I find computers offer no real real advantage to machine control. Most PLC manufacturers are producing PLCs with greatly enhanced comuunication capabilities and much memory. If you need computer-type apps to work with your system, port your data to the OS box and leave the real control to the researched and proven device for the job: the PLC. A computer has to have either external IO, plug-in IO, or ability to communicate to network-type IO. All methods are a work-around to make a finicky machine do what a controller does with ease. Even if you are a fan of distributed IO and get goose-bumps thinking about networks, the PLC still places reliable IO and control wherever it is needed, and doesn't have to worry about not having the correct .dll in a software upgrade, or blue screens.
> I would encourage you though to
> try and understand Step 7, although not
> perfect, within it lies the way forward, to
> programming machines of the future which will
> need to think for themselves, process huge
> amounts of raw data and make decisions based on > memory - very difficult using normally open,
> normally closed and coils.

Simplifying the state of RLL a bit there.
While I agree with adding Siemens to your arsenal, I don't necessarily agree that it is the future of control. Maybe it is a step in the direction, but PLCs are basically specialized computers (processor-driven) anyway, and as we need more capability, manufacturers will give it to us. I think the goal should be to make the programming more organized and easier to conceptionalize.....I don't particulaly care for the connect-the-box type programming, but as with my entire message, it is a matter of opinion.

My intent isn't to step on toes, just a step-back to try to see the big picture.

Ralph Kitts
Electrical Engineer
Day International
[email protected]
 
Did "step 5" JUST ABOUT KILLED ME ("7" was just out & unstable - I'm AB guy too.

You must first use "extra program" called something like "scom" to configure CPU memory module.

Then you must configure data blocks & all other kinds of memory. Once done, you use the addresses you created to do LADDER - but
there are very few ladder functions existing & you will have to create your own "function blocks" for things such as a file-to-file copy, ETC.
Took me about 1200 hrs to do job I fixed bid @ about 240 hrs. I looked for old floppies -didn't find anything I could send you.
 
B

Bill Kottaras

I have worked with AB's primarily SLC's. I had to learn step-7 on my own. Comparing AB to Siemens, I would use Siemens any time. Step-7 has everything that you will need for your application development. Configuration of the rack and the processor and also the I/O modules can be done through step-7 software. You do not need additional software for the hardware configuration. Processor goes on the first empty slot. Slot # 3 must be kept unused. Your first step must be OB1 which is the main organization block(kind of ladder file#2 in AB). From there you can create individual functions that will be called from the OB1. FC is a function, kind of like a subroutine. FB is a function block that you can use throughout your program to get info on something specific. DB is a data block. You can enter variables and values that you would use throughout the program VAT is a variable table that you can monitor when your program is running. Not knowing what you are trying to accomplish I cannot create a sample program for you on here. If you need anything that I can do for you,contact me [email protected]
 
Hi,

My biggest complaint with Step7 is the documentation.

I have the manual, a two inch thick mass of confusing, mind boggling trash !. Just wait until you sift through the TD 200 manual, yep
another load of un-friendly useless rubbish !.

When you do finally work out how to do whatever, you realise it is very simple, but Siemens documentation makes it oh so confusing.

At the moment I have around four weeks to complete all of the code for a large m/c. I feel very despondant and angry that this PLC should be
the most time consuming one I have ever used !.
 
R

Ronald Nijssen

For Step7 try to obtain the demo-example CD Step 7 - Step by Step It was produced in the US and is now available in all countries, I guess your local Siemens rep will give it for free There are several basic concepts you need to understand when using Step 7. I have used several programming languages and PLC editors of other brands myself but think Step7 and the S7 have some tangible benefits The TD200 is programmed with ProTool, a relative intuitive Windows programming tool While working in the US I know of the local Siemens and Distributors providing assistance for starters in Step7

Regards
Ronald
 
G
You could not have said it BETTER. I attended a ONE week course on S7 and the only thing I remember is OB1 or was it OB2......OB66 . Wasn't he in Star wars.
Europe can keep it.
 
Wow. I read several posts above, and I don't understand what the big hang up is.

I am 24yrs old, and have 2yrs experience in this field. I learned A-B in school (Milwaukee School of Engineering is largely sponsored by A-B (er, Rockwell Automation). I then acquired my current position, where we use Siemens S7-200. I took a two day course on it...and have had no problems learning to use both PLC's.

If I had my choice, Siemens is a far superior product, not only in ease of programming, but in available features and it's mechanical packaging.

Siemens' Simatic software allows you to program in STL, Ladder, and FBD logic. The ladder logic is very similary to A-B RSLogix, B3 bits are essentially M bits in Siemens. Siemens, like said above, uses memory addresses like a computer (VW for a word, VB for a byte, etc), where A-B uses an Integer table, it's fairly simple to figure out how to transfer from one manufacturer to the other in all aspects.

Maybe the hang up is in more advanced topics, like communications, where I have yet to venture beyond simple HMI and into networking, but for the basic PLC functions and some andvanced process control, a little time and reading should allow you to basically interchange the two PLC's.

Tom Reiter
Electrical Designer
 
Top