andre.korbes
Member
Hey guys, I´m starting development of a software (in C++) to communicate a PC with a Siemens S7-300 PLC. Basically my needs are to read inputs, read/write outputs and read/write values to memory, like bytes, words and dwords. Also, it is best to be done over ethernet using TCP/IP.
I´m not experienced on PLCs, but I´ve found out a few ways to do that and have some questions I hope you cand help me.
1) Is it possible to do it with Modbus TCP/IP? If so, where can I find useful documentation besides those that modbus.org charges for?
2) I´ve found in this same forum the library Libnodave. It seems very useful, though there is a big warning on its README file that states:
THIS IS EXPERIMENTAL CODE !!!!
DON'T CONNECT TO REAL MACHINERY !!!!
IF YOU CONNECT TO PLCs, EXPECT RANDOM PLC DATA, PROGRAM INCLUDED, TO BE
**** OVERWRITTEN ****
EXPECT OUPUTS TO !!! CHANGE RANDOMLY !!!
EXPECT PLCs TO !!! STOP !!!
EXPECT PLCs TO REQIRE !!! COMPLETE ERASE PROCEDURES !!!
My question is: anyone here already worked with libnodave, and could tell me if its reliable? I mean by not working randomly, setting values, outputs, etc.?
3) Is there any other way to do it using ethernet?
Thanks a lot
André
I´m not experienced on PLCs, but I´ve found out a few ways to do that and have some questions I hope you cand help me.
1) Is it possible to do it with Modbus TCP/IP? If so, where can I find useful documentation besides those that modbus.org charges for?
2) I´ve found in this same forum the library Libnodave. It seems very useful, though there is a big warning on its README file that states:
THIS IS EXPERIMENTAL CODE !!!!
DON'T CONNECT TO REAL MACHINERY !!!!
IF YOU CONNECT TO PLCs, EXPECT RANDOM PLC DATA, PROGRAM INCLUDED, TO BE
**** OVERWRITTEN ****
EXPECT OUPUTS TO !!! CHANGE RANDOMLY !!!
EXPECT PLCs TO !!! STOP !!!
EXPECT PLCs TO REQIRE !!! COMPLETE ERASE PROCEDURES !!!
My question is: anyone here already worked with libnodave, and could tell me if its reliable? I mean by not working randomly, setting values, outputs, etc.?
3) Is there any other way to do it using ethernet?
Thanks a lot
André