03-18-2013 02:12 AM
I have no experienc to the 64bit activeX usage of ADS communication.
We switched from the ActiveX component aof ADS to the DLL communication by using call libary function nodes.
It is not possible to make events as on the .NET or eventually ion the ActiveX but using the polling for data with the "sumcommand" works better than the other two techniqes.
I also expect no problems (not tried up to now) when chancing from 32bit ADS.dll to the 64bit ADS.dll
This is no solution but an information
Cheers
Nottilie
05-22-2013 02:18 AM
I don't have much experience with EtherCAT and LabVIEW, but I just attended an EtherCAT workshop. They asked us to install TwinCAT on Windows 32-bit.
Version 2 doesn't work on Windows 64-bit. You will need TwinCAT 3. I think it was released this year.
05-23-2013 06:26 AM
I think here is a mix up in this thread regarding the information.
I agree TwinCAT 2.xx is not running on 64bit targets as the "realtime kernel" is not ported to x64 systems.
This does not mean that you cannot access your Target via ADS from a 64bit system.
You need the 64bit ADS communication library which is available from beckoff and also included in the TwinCATx64_2.xx engineering system.
The main limitation is that it is impossible to run the PLC task on x64 systems with TwinCAT 2.xx.
This has been introduced with TwinCAT 3.0. Currently TwinCAT 3.1 is available.
So to summarize ADS communication is possible from x64 systems either as 32bit calls with 32bit ADSdll.dll and LV32bit compiliation (we use this way extensively)
The next step will be to use LV64bit and use the 64bit ADSdll.dll to establish the ADS communication. (not tested yet but expected to work without major problems)
Cheers
08-19-2013 04:06 AM
Hi i'm starting to work with TwinCAT.
I would like to know if it is possible to read or write data using EtherCAT SDO mechanism through the Labview(ActiveX).
Thanks in advance
Andreia
07-23-2015 06:53 AM - edited 07-23-2015 06:56 AM
Hey guys,
I am using TwinCat PLC EK-1100 and i need help to read the analog data fm twincat to Labview using ActiveX
Thank You.
07-23-2015 07:55 AM - edited 07-23-2015 07:56 AM
I recommend starting with Beckhoff's examples. They provided several means of sending analog values from the Beckhoff PLC to a LabVIEW application. I recall the examples were developed in LV 7.x or 8.x, so you should not have any problems.
I found these links from beckhoff's website using search term "LabVIEW activeX"
Overview with samples below: http://infosys.beckhoff.com/english.php?content=../content/1033/tcsample_labview/html/tcadsocx_api_l...
I would start with the samples titled, "Synchron Methods:" and choose either Read By Address or Read By Name. familiarlty with the PLC environment will be important to find the appropriate Name/address. The sample will help with this understanding.
Some other considerations:
0. What version of LabVIEW?
1. What version of Beckhoff's TwinCAT PLC?
2. Do you need most recent values or a continuous waveform
Good luck!
07-23-2015 12:39 PM
Hi kenneth
First of all thank you very much for the help.
I have already tried , "Synchron Methods: Read By Address or Read By Name" for boolean varaibles and ive got the result but for integer data its showing 0 in output
Thank You.
07-23-2015 01:03 PM
Hmm, tricky. When you exchanged boolean values, you were able to toggle the boolean on the PLC side and observe the changes in your LV Sample?
As there are details to each of the components involved, it is possible that a single parameter is off and you are getting a default response as opposed to a value. For this ADS-LV interface, you have to validate three components:
1. PLC side defines the integer/float and is running
2. The ADSOCX interface function for the correct data type is called, i.e. ReadBool for boolean data, ReadIntegerReq for integer (i16) data, etc.
3. The LV side provides the correct index group, offset, length (bytes) and default data.
Note that the default value when an error occurs would be zero (0). So make sure to set an interesting value on the PLC, say 42. Also enable error handling and use the simple error handler VI. Post snippets if you need more help.