You are not registered yet. Please click here to register!


 
 
plc storereviewsdownloads
This board is for PLC Related Q&A ONLY. Please DON'T use it for advertising, etc.
 
Try our online PLC Simulator- FREE.  Click here now to try it.

---------->>>>>Get FREE PLC Programming Tips

New Here? Please read this important info!!!


Go Back   PLCS.net - Interactive Q & A > PLCS.net - Interactive Q & A > LIVE PLC Questions And Answers

PLC training tools sale

Reply
 
Thread Tools Display Modes
Old July 24th, 2011, 01:48 PM   #1
BryanG
Member
United Kingdom

BryanG is offline
 
Join Date: Feb 2005
Location: Manchester
Posts: 1,286
AdvancedHMI - Siemens PLCs S7-200/1200/300/400 Beta drivers

I have been working to get a Siemens driver library called libnodave to work with Advanced HMI to give access to Siemens PLCs.

I have tested on Siemens S7-200(PPI) and briefly on S7-1200(Ethernet) though it should also work with S7-300 and S7-400. I can't just supply the Siemens drivers because I have had to make some 'under the hood' changes to AdvancedHMI to get things to work. The changes are because Siemens memory descriptors don't carry data type information just data length.

Tested on the S7-200:
M memory: Read and Write (bits, bytes, words, doublewords and real/float)
V/DB memory: Read and Write (bytes, words, doublewords and real/float)
Q outputs: Read and Write (bits tested, programmed for bytes, words and doublewords)
I Inputs: Read (programmed but not tested for bits, bytes, words and double words)

Connections supported by libnodave:
S7-200: PPI and ISOTCP via an Ethernet module
S7-1200: ISOTCP
S7-300 and S7-400: MPI, ISOTCP and something called MPI over IBH.

It should work with S7-500 over a programming cable but I haven't put the code in for that yet.

I have been using an ancient laptop for my testing and would be interested on feedback from other systems. I haven't done Strings yet and the system retrieves one lot of data at a time from the PLC and so is very inefficient. If the system works then maybe Archie will integrate my changes into the 'proper' version of AdvancedHMI.

Bryan



If you are happy do some testing of the current system please download the files from:
http://www.davron.co.uk/AdvancedHMI.html
The usual disclaimers apply.
Use the SiemensPLCs driver and in its properties you will find all the connections settings.
In each Control you will find extra properties for Data Type, it is a drop down list and self explanatory. The system doesn't check that you have chosen the correct data type to match the memory location. So you could put VW10/DB.DBW10 but give it a Data Type of Unsigned Byte, obviously you will get duff data if you do this.
  Reply With Quote
Old July 25th, 2011, 04:37 AM   #2
jogibear9988
Member
Germany

jogibear9988 is offline
 
Join Date: Mar 2007
Location: Gundelsheim
Posts: 11
If you want to look, I've done a high level wrapper for libnodave, wich does also a little bit of optimation. For Example when you read many tags from the same db, it combines the read request so that you need less requests.
I've also a patche Version of libnodave in my lib wich supports routing for the S7 Connections!

http://siemensplctoolboxlib.codeplex.com/
  Reply With Quote
Old July 25th, 2011, 05:34 AM   #3
BryanG
Member
United Kingdom

BryanG is offline
 
Join Date: Feb 2005
Location: Manchester
Posts: 1,286
Hi jogibear

I did find SiemensPLCToolBox but I couldn't see how to get it to work with AdvancedHMI, I am very much a beginner with Visual Studio. As 'Proof of Concept' I decided to work directly with your libnodave library. I also found your Linux based HMI but haven't had a chance to 'play' yet.
  Reply With Quote
Old July 25th, 2011, 05:55 AM   #4
jogibear9988
Member
Germany

jogibear9988 is offline
 
Join Date: Mar 2007
Location: Gundelsheim
Posts: 11
My Linux based hmi??? I've not developed a Linux based Hmi! Zottel (the author of libnodave) has a Linux based Hmi!

What were you problems with my lib?

And maybe this one is also Interesting: http://s7net.codeplex.com/
  Reply With Quote
Old July 25th, 2011, 06:23 AM   #5
BryanG
Member
United Kingdom

BryanG is offline
 
Join Date: Feb 2005
Location: Manchester
Posts: 1,286
Sorry I got confused about which one you programmed. I also found S7net but couldn't see a way in to it. There was no problem with your lib, I just found it very complex to see how I could get it to work with AdvancedHMI. When I opened your files I didn't have any idea where to start. I tried looking in the libnodave folders but as I said I am very much a beginner and my head almost exploded.
  Reply With Quote
Old August 18th, 2011, 10:46 AM   #6
JOLTRON
Lifetime Supporting Member
United States

JOLTRON is offline
 
JOLTRON's Avatar
 
Join Date: Aug 2006
Location: MI
Posts: 650
I'm just curious how the battle is going with this. I have been looking into playing around with this a little bit. I just downloaded Visual studio 2010 C# and would mainly be interested in playing around with the S7-1200's.

Have you guys been playing around with it much lately?

-Joel
  Reply With Quote
Old August 18th, 2011, 11:31 AM   #7
dmroeder
Lifetime Supporting Member
United States

dmroeder is offline
 
dmroeder's Avatar
 
Join Date: Apr 2006
Location: Vancouver, WA
Posts: 2,067
This was written in VB.NET, not C#...
  Reply With Quote
Old August 18th, 2011, 04:30 PM   #8
JOLTRON
Lifetime Supporting Member
United States

JOLTRON is offline
 
JOLTRON's Avatar
 
Join Date: Aug 2006
Location: MI
Posts: 650
Now I see the Advance HMI is in VB.net. At first I was looking at the siemens toolbox, that one is done in C#.
  Reply With Quote
Old August 19th, 2011, 03:31 AM   #9
BryanG
Member
United Kingdom

BryanG is offline
 
Join Date: Feb 2005
Location: Manchester
Posts: 1,286
I am still working on the Siemens (libnodave) drivers but am very busy doing paying work. I should be back on the case in about one month. In the mean time I did brief tests with the S7-1200 and everything listed above seemed to work. You can download my test programs or set up your own and in the SiemensPLCs driver set Rack and Slot to 0, set the IP address to match the PLC. You can't download Archies version and add my drivers because I had to make changes to his code to get things to work.

Bryan
  Reply With Quote
Old July 31st, 2013, 02:55 PM   #10
Luise93
Member
Argentina

Luise93 is offline
 
Join Date: Jul 2013
Location: Rio Grande
Posts: 3
hello BryanG I have a problem with you programmed HMI Advanced, and wanted to know if I can throw a help, the problem is that he says it does not recognize the data type that sends the PLC, leave a clearer picture for you to understand, not if I'm wrong I to program the PLC or am I doing something wrong in VB.net, could you pass me some kind of help or instructions for this problem, I know this is old but appreciate your help. -
  Reply With Quote
Old August 1st, 2013, 03:19 AM   #11
BryanG
Member
United Kingdom

BryanG is offline
 
Join Date: Feb 2005
Location: Manchester
Posts: 1,286
What is the data type you are trying to read and which box did you put the name in to? Can you send a screen shot of the properties.
  Reply With Quote
Old August 1st, 2013, 07:22 AM   #12
Luise93
Member
Argentina

Luise93 is offline
 
Join Date: Jul 2013
Location: Rio Grande
Posts: 3
: Hmmm:I want to read the data record memory is VB408 to VB411,
Attached Images
File Type: bmp Dibujo.bmp (261.8 KB, 85 views)
File Type: bmp Dibujo2.bmp (191.7 KB, 38 views)
  Reply With Quote
Old August 1st, 2013, 08:48 AM   #13
BryanG
Member
United Kingdom

BryanG is offline
 
Join Date: Feb 2005
Location: Manchester
Posts: 1,286
Lets just check the PLC settings first and then the object settings:

In the PLC settings you need:
COM Port - that is the computer serial port that the PPI cable is connected to.
COM Port Baud Rate - set this to match the PPI cable.
Interface speed to match Port Baud
and for the S7-200 choose PPI S7200 for the SiemensCommType. In the attached I have selected ISOTCP because this test system is with an S7-1200.

For the object settings you need:
CommComponent
Data Type - to match your data type.
PLCaddressText (if you are using a basic label). For me it was DB4.DBD194, because again I was working with an S7-1200.

That should do the job. I have had problems with bits above M0.7 on the S7-1200, I can't remember if I tried those on the S7-200.

Bryan
Attached Images
File Type: jpg PLC settings.jpg (90.4 KB, 84 views)
File Type: jpg object settings.jpg (36.7 KB, 73 views)
  Reply With Quote
Old August 1st, 2013, 10:10 AM   #14
Luise93
Member
Argentina

Luise93 is offline
 
Join Date: Jul 2013
Location: Rio Grande
Posts: 3
Ahhhhh really thank you very much
  Reply With Quote
Old November 18th, 2013, 12:23 PM   #15
PartTimePlcProg
Member
Germany

PartTimePlcProg is offline
 
Join Date: Jul 2013
Location: Here
Posts: 31
Looks interesting!

For those who would prefer C# over VB, if this is a DLL project (have not looked into it yet), you could compile it with VB.NET 2008 express and use the DLL thus generated within a C# program, say, using C# 2008 express. That's the beauty of .NET.
If it's not a DLL project, well, someone could modify it such that it is usable as a DLL with components to be used in programs loading it.
  Reply With Quote
Reply
Jump to Live PLC Question and Answer Forum

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Topics
Thread Thread Starter Forum Replies Last Post
Time synchronisation on S7 300/400 plcs mikas_m LIVE PLC Questions And Answers 6 January 12th, 2009 07:55 AM
Beckhoff and Festo PLC comparison to Siemens S7 kemppioy LIVE PLC Questions And Answers 0 April 26th, 2008 05:12 PM
Citect Siemens S7 tag addresses ? PLCKeef LIVE PLC Questions And Answers 2 September 28th, 2007 12:46 AM
Siemens S7 300 sparky64 LIVE PLC Questions And Answers 3 May 5th, 2003 04:50 AM
very newbie question about simatic S7 PLCs HG37 LIVE PLC Questions And Answers 5 January 7th, 2003 12:36 PM


All times are GMT -5. The time now is 10:57 PM.


.