Thanks for this video. I used your code to read/write SCADA values to a CompactLogix controller every minute using a timer in VBA instead of command buttons (I used the buttons to enable/disable the timer). Works great after enabling the new DDE options in Excel 365 Trust Center, Windows 10. Also, we (a Wastewater Utility) had to purchase a license for RSLinx Classic Gateway, because the free Lite version doesn't support DDE even though it allowed me to configure a topic. Anyway, I appreciate your easily understandable video. Big help!
This is fantastic, thank you Is it possible to use this DDE methodology to similarly interact with PLCs from other Microsoft programs. Access or SharePoint for example?
Great question! This would make for an interesting video course, I will go ahead and pass this on to our course developers as a topic suggestion. Many thanks for sharing and happy learning!
There is no PLC programming done in Excel. OIn the video. Visual Basic for Applications (VBA) was used in macros to open a DDE communication channel between the: PC and the PLC communication driver. RSLinx, so that data can be shared with the PLC.
What is the difference between RSLinx Classic and RSLinx Classic Gateway? They seemed to be used interchangeably in this video, even the program is named different things in the windows search box vs the program title.
Hello @lwke1296 . Thank you for your question. Here is a link to learn more about it. rockwellautomation.custhelp.com/app/answers/answer_view/a_id/545290/~/differences-between-rslinx-classic-gateway-and-rslinx-classic-oem- Happy learning from RealPars!
Thank you for your question. Yes, you can! Here is a link to Siemens TIA and other product information for your learning experience. support.industry.siemens.com/cs/document/109744173/documentation-for-simatic-controller?dti=0&lc=en-WW Happy learning!
Hi Mohsen, Thank you for your question. Yes, you can. Siemens has been doing this since 2012 or earlier. Below are two links you can explore for your learning. support.industry.siemens.com/forum/WW/en/posts/collecting-data-on-an-excel-sheet-using-dde-network/68902/?page=0&pageSize=10#top support.industry.siemens.com/cs/document/761667/dde-channel-to-excel-locally-on-a-computer?dti=0&lc=en-WW Happy learning!
You would need to write a VBA script to reference the cell location you want to populate. I would usually have a button control that when pressed, would start at a specified cell execute the method that will write the data in the cell to the PLC. Then after the write is confirmed, the script would increment the row number by one, and the write would proceed again, and so on. There are many powerful things you can do in scripting, which is the utility for automating manipulations in Excel. As a programming aid, when you record a macro, you are allowing Excel to do a lot of the programming work for you, as long as what you want to do is repetitive.
Ok, I find! It does not seem possible to directly pass a value for writing ... The only way that seems to work is to pass through a cell. Thanks for the very educational video!
@@superezbz I've been using it all week at work. Windows 10, Excel 365. It works great, same code as in this video. The only problem is we had to purchase a license for RSLinx Classsic Gateway, because all we had was the free Lite version.
@@superezbz Agreed. On the cheap. I've been doing Excel/VBA for data, graphics and charts for years, but never with live data. This opens up a whole new world for free HMI. Plus, I can write to Access for a free historian. Only thing missing is ability to serve multiple network clients with web pages. Someone smarter than me can probably figure that out with javascript, etc.
This is simply one of the best controls engineering videos i have ever watched.
That's amazing to hear!
Thanks for this video. I used your code to read/write SCADA values to a CompactLogix controller every minute using a timer in VBA instead of command buttons (I used the buttons to enable/disable the timer). Works great after enabling the new DDE options in Excel 365 Trust Center, Windows 10. Also, we (a Wastewater Utility) had to purchase a license for RSLinx Classic Gateway, because the free Lite version doesn't support DDE even though it allowed me to configure a topic. Anyway, I appreciate your easily understandable video. Big help!
Thanks a million for your support, Glenn! We appreciate that.
I have been using Visual Basic 6 for over 10 years using the OPC Server DA protocol, the Korean brand LS PLC provides the driver for free
I really like this channel, very informative and helpful. Good job!
Amazing, Halit! Thanks for your support.
Wow, so useful to integrate IT with OT
Glad to hear that, Pablo!
Quit superb, explain more about VBA.
Thanks for your support!
Thanks RealPars for everyvideos
You are very welcome!
Wow... DDE, I use that 25 years ago on a PLC5 PLC. What about OPC UA ?
skilled engineer , thank realpars
It's so clear training
Glad to hear that!
Thanks for sharing this lesson with us
You are very welcome!
This is fantastic, thank you
Is it possible to use this DDE methodology to similarly interact with PLCs from other Microsoft programs. Access or SharePoint for example?
Not all Microsoft products support DDE. Excel and Access do. SharePoint does not. DDE is being phased out in favor of other technologies, such as OPC.
Hello RealPars, can tell what kind of software do you use to make such kind of videos??
Hi Kalybai,
Thanks for your comment!
I am actually not sure about this as this is done by our graphic and animation department.
how can Excel read CLX dynamic data in a certain time intervals automatically? and write to CLX?
Great question! This would make for an interesting video course, I will go ahead and pass this on to our course developers as a topic suggestion.
Many thanks for sharing and happy learning!
Great channel. What type of programming language do you use to write to the plc in your excel file
There is no PLC programming done in Excel. OIn the video. Visual Basic for Applications (VBA) was used in macros to open a DDE communication channel between the: PC and the PLC communication driver. RSLinx, so that data can be shared with the PLC.
Very very good job! I appreciate this help.
Great to hear that!
What is the difference between RSLinx Classic and RSLinx Classic Gateway? They seemed to be used interchangeably in this video, even the program is named different things in the windows search box vs the program title.
Hello @lwke1296 . Thank you for your question. Here is a link to learn more about it.
rockwellautomation.custhelp.com/app/answers/answer_view/a_id/545290/~/differences-between-rslinx-classic-gateway-and-rslinx-classic-oem-
Happy learning from RealPars!
Is it possible to do the same thing with Tia Portal from Siemens?
Thank you for your question. Yes, you can!
Here is a link to Siemens TIA and other product information for your learning experience.
support.industry.siemens.com/cs/document/109744173/documentation-for-simatic-controller?dti=0&lc=en-WW
Happy learning!
Hi thanks.
is it possible with pcs7 too?
Hi Mohsen,
Thank you for your question. Yes, you can. Siemens has been doing this since 2012 or earlier. Below are two links you can explore for your learning.
support.industry.siemens.com/forum/WW/en/posts/collecting-data-on-an-excel-sheet-using-dde-network/68902/?page=0&pageSize=10#top
support.industry.siemens.com/cs/document/761667/dde-channel-to-excel-locally-on-a-computer?dti=0&lc=en-WW
Happy learning!
thanks for the sharing. could u make it simple for amatures like me and make videos for this important subject from the fundementals(Basics)?
If I wanted to write successive data, say down a column, for post test data analysis, what command would I use in the excel file?
You would need to write a VBA script to reference the cell location you want to populate. I would usually have a button control that when pressed, would start at a specified cell execute the method that will write the data in the cell to the PLC. Then after the write is confirmed, the script would increment the row number by one, and the write would proceed again, and so on. There are many powerful things you can do in scripting, which is the utility for automating manipulations in Excel. As a programming aid, when you record a macro, you are allowing Excel to do a lot of the programming work for you, as long as what you want to do is repetitive.
can u make more videos about allen bradley plc and RS logix software
Hi Jai!
Thanks for your comment and your suggestion. I will pass this on to our course developers!
Thanks for sharing and happy learning!
Thanks for your videos!!! Pls, make video about DNP3.
Hey!
Thanks for your comment and your suggestion. I will pass this on to our course developers!
Thanks for sharing and happy learning!
DDEPoke dont work. No error, but notin write in PLC? Cant you help me? I use Office 365 desktop application. Thank you.
Ok, I find! It does not seem possible to directly pass a value for writing ... The only way that seems to work is to pass through a cell. Thanks for the very educational video!
Glad to hear that you have been able to resolve it, Pascal! If you have any other questions along the way, please feel free to reach out.
GOOD
This is higher level than my level. 😭😭😭😭😭
I was under the impression that Windows 10 no longer supports DDE.
Microsoft fixed it recently. New security options in Trust Center for DDE.
@@glennrager3684 That's great news!
@@superezbz I've been using it all week at work. Windows 10, Excel 365. It works great, same code as in this video. The only problem is we had to purchase a license for RSLinx Classsic Gateway, because all we had was the free Lite version.
@@glennrager3684 That's definitely the biggest thing. Although I do like being able to do HMI and historian data on the cheap this way.
@@superezbz Agreed. On the cheap. I've been doing Excel/VBA for data, graphics and charts for years, but never with live data. This opens up a whole new world for free HMI. Plus, I can write to Access for a free historian. Only thing missing is ability to serve multiple network clients with web pages. Someone smarter than me can probably figure that out with javascript, etc.