STEP7 Improvement requests.

JesperMP

Lifetime Supporting Member + Moderator
Join Date
Feb 2003
Location
ᚴᚬᛒᛅᚾᚼᚬᚠᚾ
Posts
16,306
If you know of a problem with Siemens STEP7 or one of the option packages, or you have an idea for a general improvement, then post it here in this thread.
I shall collect the inputs from all posters, and assemble a list with all suggested improvements.
Posters (of new original points) will be accredited.
Anonymous input will be accepted.
You can also PM suggestions to me, and you may choose to stay anonymous if you want to.

Here is a link to the list of improvements.
I will update it on a weekly basis.

Deadline is March 1.

I shall post a poll to determine which improvements users finds the most relevant.
This will in the end result in a letter to Siemens with the all the suggested improvements, ranked after "relevance".
Members that are willing to be named in the letter are more than welcome. You dont have to post suggestions to be named, but you should aggree in the greater part with the list of required improvements. The more people named in the list, the more weight it will carry.

Notice:
In this thread you should post about STEP7, PLCSIM, Graph, SCL, HiGraph or SFC.
You should not post about safety related option packages.
 
as has been pointed out before, the ability to use arrays in STL without P# pointers, i.e. using variables to point to position in array.
 
PeterW said:
as has been pointed out before, the ability to use arrays in STL without P# pointers, i.e. using variables to point to position in array.

I second this, although I won't hold my breath waiting for it - if they added this to STL the sales of the SCL add-on package would plummet....
 
I will put it in the list.
But I doubt that they will listen to you. More so because it would have to be a function supported by the CPU, not just a function in STEP7. This because STL is what the CPU executes, instruction for instruction.
Maybe some kind of 'macro' then ? But then Siemens will say that you have SCL for that like krk allready argues.
 
I remember in the mid 90s once when I had a chance to meet a couple of Siemens developers rather high up in the food chain. We were talking and I happened to mention that it would have been great all of these years to have had a one-shot instruction in S5. They responded in their typical stoic German manner, “We discussed this, and we have decided you do not need it”. Gee, thanks. But I guess they changed their minds when Step 7 came around.

Anyway, you know what I want more than anything in the world? A better STL editor. Right now it’s pretty basic. I can enter text line for line, and add a few comments with //. But that’s it.


This is what I would like to see added:
  • Have the option of setting the color of unsaved changes. Once in a while, it would be nice to quickly review changes before I do a save and download. If they were highlighted in red, it would be a breeze, and would alert me to accidental changes.
  • Have the option of highlighting text. If I am writing some test code, it would be nice to be able to quickly identify it by scrolling through the block. Or, if I made some changes and sent them out to a service guy, I could tell him to open up FC40 and find all changes highlighted in yellow.
  • An “Auto Complete” option would be cool, especially for those of us that program symbolically. If I’m using some nested variables where the first 40 characters are always the same, it would be nice for these to automatically show up when I started typing so I only had to add the last part. I can speed things up with a cut and paste, but auto complete would be better.
  • Add some more features to the cross reference list. Right now it’s limited to absolute addresses. But it would be cool to be able to search for constants or local variables or even specific instructions. Right now I can export the program to PDF and create an index that way, but it wouldn’t be a stretch to add it to Simatic Manager as well.
 
How about true Windows GUI style programming, with drag and drop editting. And the size of a rung in LAD dynamically adjusts to the window size
 
2 Things come direct in my mind :

1) Viewing the level of nesting in STL. In Step 5 this was allready possible!

2) Blok comment/uncomment as in visual basic : select a range of code and then put it as comment or uncomment it.

BTW: nice topic
 
In the LAD editor, I would like to customize the instructions in the toolbar. The default instructions are: Normally Open Contact, Normally Closed Contact, Coil, Empty Box, Open Branch, Close Branch, and Connection. I would like to add a few buttons for instructions I frequently use.
toolbar.JPG
 
flukie said:
2 Things come direct in my mind :

2) Blok comment/uncomment as in visual basic : select a range of code and then put it as comment or uncomment it.

YES! I had forgotten about that one. It sure beats adding "//" to 40 lines of code, or cutting and pasting it to the network header temporarily.
 
Imi'ike said:
In the LAD editor, I would like to customize the instructions in the toolbar. The default instructions are: Normally Open Contact, Normally Closed Contact, Coil, Empty Box, Open Branch, Close Branch, and Connection. I would like to add a few buttons for instructions I frequently use.
toolbar.JPG

Why? It is faster to hit the same key 3 or four times than to take your hand off the keyboard. Grab the mouse and more it to a button. I would use a all purpose contract/coil key. It should be able to tell from the position whether the spot is for a contract or coil. When in the contact position the C key would cycle between NO, NC, OSR, OSF. When in the coil position it would chose between output on, output off, set and reset. Then all you hunt and peckers out there wouldn't need to move their left hand at all or take the right pointer finger off the C key. I would also make it so you can chose the key of your choice. I would also add basic cursor movement keys for left, right, up, down. In addition to the cursor keys to the right, I would pick the VI cursor commands ( H,J,K,L) or maybe the old word star commands (E,S,D,X) but then the left hand must do to much. Boxes would be 'B' of course.
Why reinvent the wheel. One should be able to edit without taking their hand off the key board. I get upset with my guys when I must do so for our products.

Why take up valuable screen space with three rows of buttons?
How long would it take to remember the contact/coil key.

There are RTF text edit controls. Some are free. We are evaluating some now. We actually have one in our product but we haven't made it available to the user yet. We're still test. The point is that these editors are cheap or free on the internet. This would allow for much better editing than simple line edits. Wordpad has simple RTF. I would also add the block select and multi line in and out dent. The SCL editor was pretty good. I had no complaints.
 
For Step 7 It would be nice to have VBA macro's (or something simular) for repeative functions/software. Example:

Create at once 8 networks for 8 outputs with automatically increasing the bit number from 0 to 7.

Or to make lists like this:

L db20.dbw8
t db20.dbw10
l db20.dbw6
t db20.dbw8
etc.

For all the things you think "There has to be a better way to do this"
 
Last edited:
S7Guy said:
An “Auto Complete” option would be cool, especially for those of us that program symbolically. If I’m using some nested variables where the first 40 characters are always the same, it would be nice for these to automatically show up when I started typing so I only had to add the last part. I can speed things up with a cut and paste, but auto complete would be better.

Yes, just as in VB it would be nice to do this

with sMachineA.Motor1.status
.Error = false
.Started = true
end with
 
So what is the difference between an array and a pointer?

PeterW said:
as has been pointed out before, the ability to use arrays in STL without P# pointers, i.e. using variables to point to position in array.
In C they are just about the same thing. One can't increment the base address of an array. Arrays do get passed as pointers. One can index off of pointers just like you can index off an array.

What do you suggest?
 
So far I have noted down these additions to the list:

Tip: If you want to discuss some of the entries, then copy-paste the complete text incl. the header, then add your comment with your name in the beginning. This to be able to follow the discussion.

"Easy array indexing" in STL without pointers:
I think that what STL is after is something like this:
L DB10.DBW[DB5.DBW4]
I will put it in the list, but I doubt that it will happen. It cannot be crammed into STL in an easy manner.

LAD/STL/FBD editor color change for unsaved edits:
(S7Guy) Have the option of setting the color of unsaved changes. Once in a while, it would be nice to quickly review changes before I do a save and download. If they were highlighted in red, it would be a breeze, and would alert me to accidental changes.

LAD/STL/FBD editor mark networks with color:
(S7Guy) Have the option of highlighting text. If I am writing some test code, it would be nice to be able to quickly identify it by scrolling through the block. Or, if I made some changes and sent them out to a service guy, I could tell him to open up FC40 and find all changes highlighted in yellow.

LAD/STL/FBD editor automatic suggestion+completion when typing adresses:
(S7Guy) An “Auto Complete” option would be cool, especially for those of us that program symbolically. If I’m using some nested variables where the first 40 characters are always the same, it would be nice for these to automatically show up when I started typing so I only had to add the last part. I can speed things up with a cut and paste, but auto complete would be better.
(Comment JesperMP) There is an option "Automatic Symbol selection (for LAD/FBD)". But there is a problem with it, dont remember which, so I have turned it off. If it worked OK it ought to be easily added to STL. In WinCC Flexible it works well.

LAD/STL/FBD save even if there are unfinished edits:
(JesperMP) If there is code that will not verify, you will not be allowed to save. So you cannot go home (or drop everything becouse some urgent matter needs attention) before all the code marked with red has been cleared.

Cross reference:
(S7Guy) Add some more features to the cross reference list. Right now it’s limited to absolute addresses. But it would be cool to be able to search for constants or local variables or even specific instructions. Right now I can export the program to PDF and create an index that way, but it wouldn’t be a stretch to add it to Simatic Manager as well.

LAD/STL/FBD macros:
(Werner) For Step 7 It would be nice to have VBA macro's (or something simular) for repeative functions/software.

STL, view the nesting level when online:
(flukie) Viewing the level of nesting in STL. In Step 5 this was allready possible!

LAD/STL/FBD comment out sections of code:
(flukie) Blok comment/uncomment as in visual basic : select a range of code and then put it as comment or uncomment it.

LAD/FBD customize the instructions toolbar:
(im'ike) In the LAD editor, I would like to customize the instructions in the toolbar.

LAD/STL/FBD drag-and-drop programming:
(curlyandshemp) How about true Windows GUI style programming, with drag and drop editting.

LAD/FBD autosize font to fit screen:
(curlyandshemp) And the size of a rung in LAD dynamically adjusts to the window size
(comment JesperMP) Not sure what would be the best solution. If you have a large rung, the font could become so small that you couldnt make out the details.
 
Hardware manager

I think it would be great if you in a easy way could chose to deactivate some parts of your hardware especially components on Profibus. I usually like to put in all hardware from the beginning to se what I/O they should have and how much it occupies. But often when we are starting the commissioning not all hardware is connected and ready. Then you either have to remove it from the hardware manager or you have to deal with the red led on the PLC and the consequences of that.

In this case it would be perfect to be able to deselect the nodes from being active, but they should still be left in the hardware manager
I know that there is a way to this with the help of system SFC but that is to much work for temporarily solutions.
Regards
Johan
 

Similar Topics

Hi. The election for the STEP7 and WinCC Flexible improvement lists is getting closer. I have the following suggestion for how it shall be done...
Replies
14
Views
3,609
This is the first time I am working with Simatic Manager Step7 as I started my siemens journey with TIA which is pretty easy and do a lot of stuff...
Replies
3
Views
140
When you download a DB, the values get overwritten by what is in the "actual" column in offline DB. Does this happen at the start of the PLC...
Replies
6
Views
142
Hello Inside a FB, I´m trying to transfer a string from a DB to a IN_OUT var that was define as a UDT. The problem is that i can´t determine the...
Replies
4
Views
127
Hi all, I am trying to convert RSLogix 5000 program to Step7. I need to bit shift left my array of double integers for tracking the product on...
Replies
2
Views
519
Back
Top Bottom