S7-1500 to PC Communications

Wino

Member
Join Date
Aug 2005
Location
House
Posts
68
Bottom line up front: Where is a good source to learn about S7 CPU to PC communications?

I found this thread, but it isn't really helping me: http://www.plctalk.net/qanda/showthread.php?t=100297

I have some engineers that I'm trying to get familiar with PLCs. I have delcared that we are a Siemens shop, so we only use Siemens S7 series CPUs (1500 and ET200 type, for our current projects). Our software is up-to-date using TIA Portal V13, WinCC Comfort/Advanced (I think; concur with rant in linked thread about Siemens' product naming structure and infinite number of versions being confusing).

What I need is something basic for my guys to be able to first communicate via Modbus TCP to some dedicated hardware - got this one covered. I then want them to learn to communicate to a PC to be able to store historical data offline, as well as importing the data into a spreadsheet for display and analysis.

Our industry is in a downturn, so I'm using this time for my engineers to bring their skills to a higher level now that we have some spare time.

Thanks for any links anyone can show me,
Don
 
Bottom line up front: Where is a good source to learn about S7 CPU to PC communications?

I found this thread, but it isn't really helping me: http://www.plctalk.net/qanda/showthread.php?t=100297

I have some engineers that I'm trying to get familiar with PLCs. I have delcared that we are a Siemens shop, so we only use Siemens S7 series CPUs (1500 and ET200 type, for our current projects). Our software is up-to-date using TIA Portal V13, WinCC Comfort/Advanced (I think; concur with rant in linked thread about Siemens' product naming structure and infinite number of versions being confusing).

What I need is something basic for my guys to be able to first communicate via Modbus TCP to some dedicated hardware - got this one covered. I then want them to learn to communicate to a PC to be able to store historical data offline, as well as importing the data into a spreadsheet for display and analysis.

Our industry is in a downturn, so I'm using this time for my engineers to bring their skills to a higher level now that we have some spare time.

Thanks for any links anyone can show me,
Don


In my mind, there is typically two ways to communicate from a PLC to a PC: Push and Pull.

Push type operation would be using messaging instructions to send data from the PLC to a PC that is listening. In the 1500, it probably makes sense to use TCP for this. Look at the TSEND_C/TRECV_C blocks. However, you still need a PC program that is listening for the data, and can do something with it. This is more work in the PLC, but is often useful when there is a large amount of structured data that needs to be sent together.

The Pull method is often easier. There is minimal work required in the PLC. Using something like an OPC server, the PC can go in and periodically grab any data from the PLC it needs to. Again, though, this requires a PC program to do something with the data, and the OPC server typically costs money.
 
Those are both great answers, and I'll look in to each method after typing this.

What I'm asking about, though, is a place my junior engineers can learn about how to use the OPC server or how to use the JAVA/.NET interface program.

Where can my guys learn either of these packages? Pretty much, whatever they learn becomes our standard.
 
Are you asking about how to actually setup the OPC server or the Java/.Net interface ?
Or are you asking how to write applications that use the OPC server or the Java/.Net interface ?
Or .. ?
 
I am asking for a tutorial, course, youtube channel, or anything along the lines that would teach how to transfer the data from the PLC to a PC. When we connect to a controller or an HMI, I know the process, and have shown them how to do that. I don't know what is required to connect to a PC, so I need a place they can learn how to do it.

I don't know if that means writing a program for the computer, just loading up an OPC server, or doing something else. I am completely ignorant on this subject, so I have no clue what to do. I am mainly looking at the ability to transfer data from the PLC to be able to keep a history in the PC, and to be able to pull the data from wherever it is stored to bring into Excel or similar to graph/display it in a more meaningful way. I don't know if I'd need to set up a database, or if the data would be written as a CSV file, or if I'd just get a string of bits I'd have to parse similar to PPO control and status words.

So, I can't answer your question, because I don't have a reference to start from. In the past, I've learned by looking at existing programs, reading manuals, and asking questions. I don't have a program, and don't know if this information is in any manual. Therefore, I'm asking where the information is. Would the method be in the OPC server documentation or is there a class somewhere (It would have to be online, as we're in the Middle East)?
 
Not a tutorial but another method - I'm using libnodave for S7-300 and Snap7 for S7-1500. You have to write a program for the PC. You call the Snap7 functions and they transmit/receive the data to the plc. Your PC program determines what to do with the data.

http://snap7.sourceforge.net/
 
Last edited:
OK, so the task is to get data from an S7-1500, into or database or a CSV file.

There are many ways to do that, buying a canned solution, using features built-in in other softwares (f.ex. logging or scripting in WinCC), developing your own software with some library, or entirely your own homegrown solution.
If you tell a little more of what you have in mind, we can help you better.
 
You shoul look into the built-in webserver if you only need stored data. In combination with logging to sd card it is very simple. Some examples are on siemens support forum, you can use that ones for s7-1200 i believe too..
 
As mentioned above, if you just want to log data to a spreadsheet with siemens s7-1200 or 1500 PLCs you could either use the built in data logging instructions in the plc which will save to csv, as far as i remember, and save to the SD card or a network drive. You can also access the data using the built in PLC web server. The other easy option is you could use WinCC runtime on a PC and log the data by creating an HMI on the PC. If I remember correctly, using the PLC instructions lets you log a lot more datapoints per time, but take some practice to set up properly.
 
I am asking for a tutorial, course, youtube channel, or anything along the lines that would teach how to transfer the data from the PLC to a PC. When we connect to a controller or an HMI, I know the process, and have shown them how to do that. I don't know what is required to connect to a PC, so I need a place they can learn how to do it.

I don't know if that means writing a program for the computer, just loading up an OPC server, or doing something else. I am completely ignorant on this subject, so I have no clue what to do. I am mainly looking at the ability to transfer data from the PLC to be able to keep a history in the PC, and to be able to pull the data from wherever it is stored to bring into Excel or similar to graph/display it in a more meaningful way. I don't know if I'd need to set up a database, or if the data would be written as a CSV file, or if I'd just get a string of bits I'd have to parse similar to PPO control and status words.

So, I can't answer your question, because I don't have a reference to start from. In the past, I've learned by looking at existing programs, reading manuals, and asking questions. I don't have a program, and don't know if this information is in any manual. Therefore, I'm asking where the information is. Would the method be in the OPC server documentation or is there a class somewhere (It would have to be online, as we're in the Middle East)?

Hey WINO,

By the way it looks you are looking for a easy way out. Well I'd suggest you look for AdvancedHMI it is easy to use and implement most of the major PLC brands.
 
Libnodave

Hi,

I've tested libnodave on a 1500 cpu recently and it worked fine...
So why are you using snap7 ?

Thanks,
Kind regards,
C

Not a tutorial but another method - I'm using libnodave for S7-300 and Snap7 for S7-1500. You have to write a program for the PC. You call the Snap7 functions and they transmit/receive the data to the plc. Your PC program determines what to do with the data.

http://snap7.sourceforge.net/
 
I've tested libnodave on a 1500 cpu recently and it worked fine...
So why are you using snap7 ?

If I had to guess, I'd say:
- Snap7 came up first in the google searches.
- Snap7's website has a lot more information upfront about what it does, how it does it and how you use it.
- Libnodave has a huge red warning that the software is beta (and has been for at least 10 years). Although the warning needs to be displayed, having it alongside little information makes it a hard choice to make.
 

Similar Topics

Hi there, I need to exchange about 100 Words of data In/Out from my CompactLogix L33ER and an S7-1500. We are connected physically via a Siemens...
Replies
5
Views
3,585
What is the industry standard protocol used between an S7-1500 and a standard Windows (c) PC? We are starting a new project, so we'd like to keep...
Replies
3
Views
1,758
Been a while since posting here. I have a system that has been dumped in my lap and looking for insight. Here are the details. PLC: Micrologix...
Replies
3
Views
1,582
Our old maple systems hmi burned up and some of the damage was right at the rs232 port, we ordered a new one preprogrammed with all the comm...
Replies
2
Views
1,295
Good day all. I have a Micro Logix 1500 (24BWA) that I can't seem to go online with the processor. According to the Rockwell Software Support page...
Replies
1
Views
3,322
Back
Top Bottom