BryanG
Member
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.
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.