Have I told you guys how much I hate programming using Step7 today?

Join Date
Apr 2002
Location
No income tax, no capital gains tax. Freedom!
Posts
8,389
I am doing some S7 programming. This is the first in 6 years.
I got the Profibus DP interface to the motion controller working.

Look at what this takes!!! If you don't know where to click you are screwed. Look at step 12. How is one supposed to guess that? Why can't I add the RMC from just one dialog box where I select the node, how many registers are used, and where they appear in the S7? NOOOOOOOOOO. You must hunt down all the menus.

RMC150 Profibus DP Configuratioin
1. Create the S7 project.
2. Click on Hardware in the project directory. This opens up HW COnfig.
3. Import the RMC150 GSD file. First download the file from here
http://www.deltamotion.com/dloads/downloads.php?category=rmc150&subcategory=Utilities
or
http://www.deltamotion.com/files/rmc150gsd.zip
4. Extract the file into a directory.
5. In the Step 7 HW Config menu go to Options->Install GSD File....
6. Browse to the directory where the GSD file was extracted to.
7. Read the Readme.TXT DELT0AC6.GSD. This file says were to copy the .gsd and .bmp file but it is better to use the STEP7 GSD installation for the Step 7. The .bmp is an icon for the RMC150 and the Step7 HW Config program will install the .bmp file too.
8. Close the GSD installation dialog box.
9. Add any other modules here.
10. Close the HW Config
11. Click on the Configure Network button on the Simatic Manager bar.
12. On the S7 Icon there are two Profibus DP connections. On the left right click or alt enter and configure the MPI connection.
13. One the right Connection do the same. I bumped the speed up to 12 MB/sec.
14. One the right under Profibus DP->Additional Field Devices->General->Motion Controller you will see the RMC150 and RMC75 too if that is also installed.
15. Click on the right Profibus DP conneciton on the S7 icon and then drag the RMC150 from the right hand selection pane to the Profibus DP network. A dialog box should open that says "PROFIBUS Interface RMC150 Motion Cont". The word controller is truncated on my computer.
16. Select the Node address. I selected 5. Don't use nodes lower than 3 as these are normally reserved for the PLC, HMIs and programming masters.
17. Hit OK and the RMC150 icon should appear connected to the network.
18. Right click on the right side of the RMC150 and then on open object. A message may be displayed about saving away info. Another image of the network should appear.
19. One the right pane where the Profibus DP->Additional Field Devices->General->Motion Controller selection is click on the RMC150. This will expand to provide more options. Choose the number of I/O registers here. I chose 32 in and out. This may be a problem for some Profibus DP masters as they may not support 32 registers in and out. In this case check with the Profibus DP master documentation to see the maximum number of CONSISTENT I/O registers supported. Data consistency is important as it makes sure all the data in the register get sent at the same time. In the S7 SFC 14 and 15 make sure the data is transfered in a consistent manner.
DO NOT ACCESS THE PERIPHERAL REGISTERS DIRECTLY!!!!
Double clicking on the register options will assign default addresses.
20. I double clicked on the I address and a "Properties DP Slave" dialog box opens. I changed my input and output address to 272 to 399. 32 32 bit registers requires 128 bytes. As noted above, not all Profibus DP master will support that many I/O bytes for one device.
21 In the HW Config station menu I clicked on save and compile.
22 Close windows and get back the the Simatic Manager.
23 Download the program to the RMC. The green light on the RMC150's Profibus DP card should now be green. SUCCESS!!!!!

This is too much just to get the green light on the Profibus DP light to turn on.

Now I must write the program. I inserted SFC13 which is the Profibus DP slave diagnostics. The function just says SFC13 and the inputs are labeled IN0 and IN1. How does one get the symbols? Do I have to enter them? I know I had symbols on my previous example but I don't remember how to get them.

One the main menu->View->Display with-> I have all the options checked and still no symbols. The documentation for SFC13 references a REQ and LADDR. I am assuming these are IN0 and IN1. Finally, there is no example.

More hate and discontent coming. It took 6 hours just to get the USB to MPI connector working. I hate being forced to waste my time in an inferior programming environment. Meanwhile I have customers waiting for answers.

BTW, is the S7-313 limited in how many registers it can send in and receive over Profibus DP?
 
Peter Nachtwey said:
More hate and discontent coming. It took 6 hours just to get the USB to MPI connector working.

If you are going to be using MPI much, then drop what you're doing and order one of these right away. You'll thank me later.
 
One other thing: If you are really irritated by the Hardware Config software, then you could get one of your VB wizards to "roll your own". Open the Hardware Configuration and select Staction>Export, and you will get a text file of the configuration. If you look at it, it is evident that a wizard could create the same thing.

I'm not sure what your intended audience is, and whether your troubles were a one time thing or not, but if you are trying to come up with an installation tool that sets up your system with a Siemens PLC and you aren't sure if your customers are up to the task, then that would be an option.
 
whats the point of threads like this i have no idea!

I could easily write a thread stating 'Have I told you guys how much I hate programming using Allen Bradley today' thread, but again, what's the point.

:confused::confused::confused::confused:
 
OOOH, looks good but....

S7Guy said:
If you are going to be using MPI much,
Heaven forbid that I use the S7 much at all. My job is to design motion controllers not program PLCs. I do this only to make example programs.

Actually, I didn't mind programming it in the past but the learning curve it too high to get started. Once I have the Step7 and the S7 configured then I am on my way but for now I can't even find where I enable the symbols.

I'm not sure what your intended audience is,
People that want to use the S7 and RMC controllers. Most programmers struggle with the Profibus DP configuration so I must do a lot of Siemens support. I am obviously not that familiar with the IDE or Step7.

All I want to do, for now, is to read 32 Reals and write 32 Reals using SFC14 and SFC15.

I could easily write a thread stating 'Have I told you guys how much I hate programming using Allen Bradley today' thread, but again, what's the point.
yesterday I was getting a message saying my adapter is damaged. That was wrong. For some reason my drivers had to be installed again. I had to guess at what was wrong because there is no diagnostics like a ping that will tell me the basic connection is working.

Why I am messing with a non-standard connection in the first place? If it isn't something standard like RS-232, USB or Ethernet it is just extra hardware to go wrong and needs extra drivers. This is asking for trouble and I got it. What can the MPI do that a USB can't do better?

Why should I need to go do all these screens?
Adding the RMC
changing the node number.
Changing the number of registers
Changing the word order
Changing the address range.
Configuring the 12 MBs.

Why I should need to waste time trying to figure out exactly where on the icon I must click, double clock or right click. If you don't know the magic places to click you are screwed.

Now my symbols aren't enabled and I don't know why. I was told there is an option that allows one to type in the addresses using the symbol names but I can't find in on the menus.
That is why I asked.
 
Last edited:
I feel your pain. As to why you are posting this, I also feel the need to rant on occassion. It keeps my head from exploding!

I can't be of specific help. Siemens is my least favorite of all platforms I work with. I have one of the smart young guys write the logic, and I try to limit myself to tweaks on start-up. The documentation and software are simply too obtuse.

I believe there is a limit on how much data you can put in each block, but I have only used Profibus, not Profibus DP. I believe you can use multiple blocks to get all of the data you need, though.

We have a great Siemens tech support guy in Wisconsin at SE Automation. He used to be with TI and Siemens in Tennesse. 1-800-597-3726
Doug Hietpas. You aren't in his territory, but he may be able to get you to the right guy. If it wasn't for Doug I would never ever ever use Siemens (at least not successfully).

Incidentally, I never did get my USB adapter to work right.
 
All I want to do, for now, is to read 32 Reals and write 32 Reals using SFC14 and SFC15.

Ok, easy enough. Regarding the symbols for SFC13, I'm not sure what you did. You said you inserted it; does that mean you copied it over from the library or another project? That shouldn't matter, but you may want to try this: Delete it from your project in Simatic Manager, and then in the function type this: Call SFC13. Even though it isn't among the list of functions in your project, it will copy it from the library automatically. I just tried it and it worked fine.

As for SFC14 and 15, this is what I wouold do just to get you started:

1. Create UDTs that represent the IO that you are mapping (one for inputs and one for outputs).

2. Create a DB containing the udts.

3. Create the block calls. The first two parameters are obvious. For the last one, enter the address of the udt location along with the length. The pointer name will then be displayed symbolically. After you have one entered, you can copy it and just change the name for the next function.

4. If your IO length is going to vary, then I would create canned functions that are transparent to the customer. Although SFC14 and 15 require pointers, it is easy enough to determine the start addresses and length dynamically. From the customer's point of few, it could be as simple as entering a node address or something.

If you really get stuck, we could do a GoToMeeting session sometime.
 
Peter Nachtwey said:
Now my symbols aren't enabled and I don't know why. I was told there is an option that allows one to type in the addresses using the symbol names but I can't find in on the menus.
That is why I asked.

Hmmm. Have you tried toggling with control-q in the editor to switch between symbols and absolute? Also, select "View" from the menu and check the relevent display options.
 
Open your lad/fbd/stl editor - for single session you can go to VIEW -> DISPLAY WITH and then pick the options you want; so that this is permanent for ALL the blocks you open... Go to OPTIONS -> CUSTOMIZE the VIEW tab and select the same options... A few other things you can do to minimize your frustration... also in the OPTIONS -> CUSTOMIZE under the LAD/FBD turn off the type check of addresses - under the BLOCK tab select the language of choice in the US typically LAD. Back in SIMATIC MANAGER right mouse click on blocks go to OBJECT PROPERTIES go to the tab that says Address Priority - Most people prefer the bottom right option of symbols having priority over absolute addresses... Good luck!
 
Note that is is not always neccessary to use SFC14/15 to access consistent data. The 318 and 41x processors allow you to set up process image partitions which you can configure to access consistent data and thus access the I/O in your program using L IDxxx for example.
 
All those steps are actually quite simple and logical.
They are necessary because you have to use an open standard (Profibus + GSD files) to tie components from different vendors together in a very flexible way (all the different possible settings are needed for different situations).
What is off-putting is the myriad of sub-programs that STEP7 present to you. It would be nicer if there was just one dialog box with all the possible options for just the combination of selected hardware.

About the missing symbols:
Yes, S7Guy's suggestion will work.
Select STL and just write CALL SFC14.

About your 313C-2DPs ability to support 32 Doubleword registers:
When you set it up in STEP7's HW configurator, and it compiled fine with 32 registers selected, you know that it will work if the compile finishes without errors.
edit: But max 32 bytes (8 REALs) can be transferred consistently on the S7-300 platform. You may have to check if that constitutes a problem.
edit again: If it IS a problem, then see next post.
 
Last edited:
L D[AR2 said:
Note that is is not always neccessary to use SFC14/15 to access consistent data. The 318 and 41x processors allow you to set up process image partitions which you can configure to access consistent data and thus access the I/O in your program using L IDxxx for example.
Well, he has a 313, so he just has a fixed proces image of 128 input and 128 output bytes.

And I just did a test.
It appears that the HW Config will only allow to select adresses from byte 128 and forward. So he has to use SFC14 and SFC15.

edit:
A solution to the consistency problem could be to exchange the 313C with a CPU without onboard i/o.
Then set the i/o addresses for the RMC controller to start from 0/0. The data will then fit EXACTLY inside the available proces image, and will thus automatically be consistent over the entire area, and there will be no need to use SFC14/SFC15.
May I recommend a 315-2PNDP so you can program over ethernet and forgo the MPI adapter ;)
 
Last edited:

Similar Topics

Hey all, I am currently working on a depalletizer for a customer and we are doing a hoist upgrade. This is a SLC500 processor and the drives are...
Replies
6
Views
297
Luckily, it wasn't towards me. But it got me thinking. I am getting old. Correction, I am now old. I need to up my game. I'm thinking about...
Replies
10
Views
2,732
I had a project where I had spec'd a PanelView C300 (2711C-K3M) I got it working and it was functional, but I needed a few more options, and I...
Replies
37
Views
26,923
I've been in the business most of my adult life, and I think I've heard about all of them. The funny part is that when people say these things...
Replies
64
Views
17,145
Now that Kroy has closed it's factory, What are you using for shrink tube labels? Looking for the same durability as the Kroy labels had (ie. no...
Replies
3
Views
2,010
Back
Top Bottom