How to Configure Real-time Microsoft Excel READ Communication from Rockwell Controllers (DDE)

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ส.ค. 2024
  • ▶ C'mon over to realpars.com where you can learn PLC programming faster and easier than you ever thought possible!
    =============================
    ▶ Check out the full blog post over at
    realpars.com/dde
    =============================
    Do you require monitoring, controlling or testing, using real-time manufacturing or process plant data from an Excel spreadsheet?
    This data could be helpful to you as an automation professional, or your management, research and other department personnel requiring real-time data for decision making or accounting purposes.
    With this video, we will show you how to achieve this and more using Microsoft Excel and communication called Dynamic Data Exchange or DDE, a method of Microsoft windows interprocess communication so that one program can communicate with or control another program.
    In this lesson, we will be using Microsoft Excel, Rockwell Automation Studio 5000, RSLinx Classic, and Studio 5000 Logix Emulate software.
    We will be using Studio 5000 Logix Designer programming software to create a sample program with floating-point and integers arrays, timers, and other simulated process values to display in Excel spreadsheets.
    The RSLogix PLC or emulator will communicate with RSLinx Classic and in turn, RSLinx will communicate with Studio 5000 Logix Designer and Excel.
    DDE is a Windows mechanism that enables applications to communicate with each other and automates the manual copying and pasting of data via the clipboard.
    A DDE communication is known as a conversation and the application, which initiates the conversation, is the client.
    The other (responding) application is known as the server.
    Normally, the client initiates the conversation in order to get some data from the server. The client can send data to the server too, known as poking.
    To initiate a DDE conversation, a client specifies the three items:
    The Application: the name of the application it wants to talk to. Usually, this is the application’s executable filename, for example, RSLinx.
    The Topic: which is the subject of the conversation created by the user and should be something which makes sense, for example, RealParsExcel.
    The Item: Any number of different Items may be referred to identify data to be passed between the applications, for example, Excel recognizes cell references as items, Word recognizes bookmarks as items and RSLinx recognizes program tag names as items.
    We will begin with the sample PLC program. We’ve created a Studio 5000 Logix Designer program called Realpars_Excel.
    You can download this PLC program here:
    bit.ly/DDE_Logix
    We will set up the DDE configuration for Excel. You can download the Excel file here:
    bit.ly/DDE_Excel
    =============================
    Missed our most recent videos? Watch them here:
    realpars.com/fds/
    realpars.com/a...
    realpars.com/s...
    =============================
    To stay up to date with our last videos and more lessons, make sure to subscribe to this TH-cam channel:
    goo.gl/Y6DRiN
    =============================
    TWEET THIS VIDEO ctt.ac/8LV39
    =============================
    Like us on Facebook: / therealpars
    Follow us on Twitter: / realpars
    Follow us on LinkedIn / realpars
    Follow us on Instagram / realparsdotcom
    #RealPars #DDE #Automation

ความคิดเห็น • 91

  • @PLCprogrammer
    @PLCprogrammer 4 ปีที่แล้ว +4

    You guys are awesome. Always posting informative, useful, easy-to-understand videos. I am a professional engineer and I am still learning from you guys.

    • @realpars
      @realpars  4 ปีที่แล้ว

      Great to hear that! Happy learning.

  • @kruzkalz
    @kruzkalz 4 ปีที่แล้ว +8

    Thanks for this video. Please make one with Siemens S7 or TIA

    • @realpars
      @realpars  4 ปีที่แล้ว +1

      Hey!
      Thanks for your comment and your suggestion. I will pass this on to our course developers!
      Thanks for sharing and happy learning!

  • @thalescamargo1044
    @thalescamargo1044 4 ปีที่แล้ว

    Outstanding technical video which improves our skills. A massive Thank you for your knowledge sharing

    • @realpars
      @realpars  4 ปีที่แล้ว

      Thanks a lot for your kind compliment, Thales! We are always extremely happy to hear such positive feedback! If you ever have any questions, feel free to reach out to us. Happy learning!

  • @acluster3411
    @acluster3411 3 ปีที่แล้ว +1

    Great video, thank you. Is it possible to get PLC tag to a PC application where RSLinx is not installed?

  • @ooney92
    @ooney92 4 ปีที่แล้ว +7

    Hello, thanks for the guidelines. Just 2 questions:
    What are the two arrays REAL[10] and DINT[10] created for?
    Also, what are the variables L1 and C1 stands for in the Excel tab at 10:30?

    • @realpars
      @realpars  4 ปีที่แล้ว +10

      L1 = block size (number of elements to read); C1 = use one column per row to display the data. L5 would be "read 5 elements" and C5 would be "use 5 columns to display the data".
      The two arrays are not used in this example.

  • @pranavt12
    @pranavt12 4 ปีที่แล้ว +2

    This video is very helpful. Please try to make one with Siemens TIA portal.

    • @realpars
      @realpars  4 ปีที่แล้ว +1

      Thanks for your feedback!

  • @chriswenrick3865
    @chriswenrick3865 5 หลายเดือนก่อน

    Thanks for detailing this process. I have used DDE to read plc data and have created many interactive forms and checklists. Until now I have never used DDE to write to the PLC. I would like to see an example showing how to read and write to a User Data Type (UDT ). In my PLC I have a UDT named Part_To_Be_Configured. Inside the UDT I have 25 Tagnames which all are part of the configuration data for a "part tp be configured" and each of the Tagnames of various types Strings, INT, DINT, REAL are each arrays allowing up tp 300 elements. The "Item" would look something like this "part_to_be_configured.Part_Name[0]". the next UDT entry would be part_to_be_configured.Robot_01_Program[0]. I believe the process would be similar to reading and filling an array like Sample_array[25,300]. I am not certain how to handle the tagnames in the for next loops as opposed to numbers.

    • @realpars
      @realpars  5 หลายเดือนก่อน

      Hi Chris,
      Thank you sharing your experience! I will happily go ahead and shared this with our content team, hopefully they are able to create a video with the example you suggested.
      Thank you again for sharing!

  • @sum2automation
    @sum2automation 4 ปีที่แล้ว +1

    Yup, I have been doing it for year's now. Full HMI & Reporting.
    Its old tech and very in-expensive and you don't need to add any special software, lol.

    • @ganeshningaraddi1
      @ganeshningaraddi1 3 ปีที่แล้ว

      Sir,
      How to make report in excel of specific time duration?

  • @oceans1291
    @oceans1291 4 ปีที่แล้ว

    That's awesome we are very grateful and waiting for training

  • @mubarishussain3696
    @mubarishussain3696 4 ปีที่แล้ว +1

    Fantastic. Can you explain about the L1, C1 being used in the excel. Do we need to use this for specific data types or even for bool, real?

    • @realpars
      @realpars  4 ปีที่แล้ว +2

      L1 = block size (number of elements to read); C1 = use one column per row to display the data. L5 would be "read 5 elements" and C5 would be "use 5 columns to display the data".

    • @mubarishussain3696
      @mubarishussain3696 4 ปีที่แล้ว

      @@realpars Thank you. Please keep the videos coming.

  • @rohankumar5749
    @rohankumar5749 ปีที่แล้ว

    Can we use the Studio emulate as a Virtual PLC for running various process and monitoring LT and operating motors?

    • @realpars
      @realpars  ปีที่แล้ว

      Yes. Studio5000 Logix Emulate acts as a "virtual software" PLC. It does have limitations, so it may not be able to simulate everything you need to test, such as special communication interface cards or communication between multiple PLCs on different computers. Since Emulate does not support communication modules, there is no way to send a MSG between these two emulated controllers. In this case, you would need to use SoftLogix instead, which does support communication modules. (SoftLogix is also more expensive than Emulate).

  • @MarioGomez-cw8hq
    @MarioGomez-cw8hq 4 ปีที่แล้ว +1

    Wow this is great! So the data displayed in excel is just realtime? Just wondering how one would configure this to perform datalogging or if datalogging would even be worth it. Curious to know your thoughts.

    • @adamthethird4753
      @adamthethird4753 4 ปีที่แล้ว

      That isn't simple. There are entire suites of software dedicated to this.
      For short-term data storage you might be able to write a separate macro in Excel to periodically "sample" the live values and place them in a separate tab or worksheet in incremental fashion.

  • @husamshalash8789
    @husamshalash8789 3 ปีที่แล้ว

    THANKS FOR THE EFFORTS. could u explain the same application with siemens controller?

    • @realpars
      @realpars  3 ปีที่แล้ว

      Hi Husam!
      Thanks for your comment and your suggestion. I will pass this on to our course developers!
      Thanks for sharing and happy learning!

  • @srloshop
    @srloshop 4 ปีที่แล้ว

    We are developing a machine with StudioLogix 5000 and our end user would like to use excel to log the machine data in real time. Am I correct in assuming that we will use RSLinx Classic to configure the DDE before we deliver the system, and that they will only need to create their own Excel file to access the data, or do they also need RSLinx Classic to establish a connection? Thanks

  • @beyourownboss3726
    @beyourownboss3726 4 ปีที่แล้ว

    Outstanding Content I Like your video...

    • @realpars
      @realpars  4 ปีที่แล้ว

      Thank you!

  • @phuciendj1572
    @phuciendj1572 4 ปีที่แล้ว

    Great! I love it

  • @ByronGalindo
    @ByronGalindo 4 ปีที่แล้ว

    Great video, have you guys tried on connecting plc data with Google sheets instead of excel? If so please provide some information

    • @realpars
      @realpars  4 ปีที่แล้ว

      Google Sheets cannot be used in the same manner as shown in this video. There is no embedded DDE functionality, no way to attached function add-ins to add DDE functionality, and no facility for running macros if an add-in could be added. Perhaps one day it will.

  • @yakikadafi6189
    @yakikadafi6189 3 ปีที่แล้ว

    Hello Realpars I’m wondering what is the use of this procedure? Sorry I’m a beginner PLC programmer and my other question is this is only exclusive for studio 5000 software ? Or it’s also available for Siemens TIA portal?

    • @realpars
      @realpars  3 ปีที่แล้ว

      The use of Excel and DDE to read data from a PLC is typically used by engineers to gather data for analysis or troubleshooting. There are better methods for doing this now and better protocols (OPC), but this method still works, is easy to configure, and provides data that can be used in Excel charts and graphs. In order to connect Excel to a PLC using DDE, the PLC communications interface needs to support DDE. RSLinx does (Rockwell), but I do not believe Siemens supports this method. Both Siemens and Rockwell PLCs support OPC, which is the preferred way to connect a PC to a PLC for data collection and analysis.

  • @MuhammadUsman-pt6vz
    @MuhammadUsman-pt6vz 3 ปีที่แล้ว

    Thanks a lot, a very useful content. Just wandering if we can do it without the use of RSLinx. Is it possible to export data directly over Ethernet into Excel without using any software?

    • @realpars
      @realpars  3 ปีที่แล้ว +1

      There are a few PLC's that have OPC UA embedded (or via an interface card) that allow for data to be exchanged without any intermediate software application, These CPU's have an OPC server built-in, with Excel acting as a client. For Siemens S7 and Rockwell Logix CPU's you need an OPC server (like RSLinx for Rockwell or OPC Scout for Siemens) that can connect to the CPU and act as a server. This will become easier in the future, but for now, using an intermediate software application is necessary.

  • @HieuPham-ew2fj
    @HieuPham-ew2fj 4 ปีที่แล้ว

    Hi, thanks for the tutorial! I am just wondering whether wps spreadsheet would be able to do the same thing?

    • @realpars
      @realpars  4 ปีที่แล้ว

      Excel uses an add-in for DDE and OPC support. I do not believe an add-in exists for WPS Spreadsheet.

  • @MrPromerican
    @MrPromerican 4 ปีที่แล้ว

    Great content

    • @realpars
      @realpars  4 ปีที่แล้ว

      Thank you, Dennis!

  • @farzadfani4688
    @farzadfani4688 4 ปีที่แล้ว

    Hello. Your videos are great. Please also make a clip about scripting in hmi and scada systems. For example, in Siemens hmi panels and siemense scada (wincc scada). Thank you.

    • @realpars
      @realpars  4 ปีที่แล้ว

      Hey Farzad!
      Thanks for your comment and your suggestion. I will pass this on to our course developers!
      Thanks for sharing and happy learning!

  • @siddheshdeshpande6855
    @siddheshdeshpande6855 2 ปีที่แล้ว

    Great video. Can we connect the data with the VB.net forms?

    • @realpars
      @realpars  2 ปีที่แล้ว

      Yes, but with VB.NET you would likely want to use OPC instead of DDE to communicate with the PLC to gather data, although a DDE connection can be made as shown in the video by using the proper VB methods.

    • @siddheshdeshpande6855
      @siddheshdeshpande6855 2 ปีที่แล้ว

      @@realpars Thank you for the reply. Can you list any resources on this topic? Those will be very helpful.

  • @beefriends4718
    @beefriends4718 4 ปีที่แล้ว

    Hi thank for video. But can you make a video to access data from Siemens PLC ?and collecting the data into excel by internet access

    • @realpars
      @realpars  4 ปีที่แล้ว

      Hey!
      Thanks for your comment and your suggestion. I will pass this on to our course developers!
      Thanks for sharing and happy learning!

  • @nilsongutierresfilho6433
    @nilsongutierresfilho6433 3 ปีที่แล้ว

    Is it possible to import data to Excel using another RSLinx? Thanks

    • @wgastreich
      @wgastreich 3 ปีที่แล้ว

      Hello Nilson. Are you referring to RSLinx running on another server? There is only one install of RSLinx for each server. We cannot use the RSLinx Lite version by the way. Check out RSLinx Gateway, it's another license and costs a bit more. RSLinx Gateway features are: Multiple RSView32 clients accessing data through one RSLinx Gateway (remote OPC), and Remote Microsoft Office applications displaying plant floor data such as Excel.

  • @mikebleedhill372
    @mikebleedhill372 4 ปีที่แล้ว

    Looooovveeee itttt thnx sooo much.

    • @realpars
      @realpars  4 ปีที่แล้ว

      Happy learning!

  • @guweizhao3430
    @guweizhao3430 2 ปีที่แล้ว

    how can you record the displayed data in Excel or make trend charts?

    • @realpars
      @realpars  2 ปีที่แล้ว

      You would need to write a macro to read a data value and then copy the received data to another location, incrementing the row number every time a new data point is read. This would allow you to build out a list of the data received. I would also write the current time and date in a cell in an adjacent column so that you have a time reference for each data point. Once you have a data range identified for the values, creating a trend chart is done the same way as it is normally done. You can also write VB code to dynamically expand the range of the chart as new data is saved.

  • @oyatulloabduraxmonov2337
    @oyatulloabduraxmonov2337 4 ปีที่แล้ว

    Thenks for all videos could you make another video about how to connect 2d laser scanner through ethercat sisteym !

    • @realpars
      @realpars  4 ปีที่แล้ว

      Hey Oyatullo!
      Thanks for your comment and your suggestion. I will pass this on to our course developers!
      Thanks for sharing and happy learning!

    • @oyatulloabduraxmonov2337
      @oyatulloabduraxmonov2337 4 ปีที่แล้ว

      @@realpars Hi

  • @christopher8220
    @christopher8220 4 ปีที่แล้ว

    If I wanted to display the Accumulator value on an HMI panel (Say, a PanelView+1000) how would I go about doing that?

    • @realpars
      @realpars  4 ปีที่แล้ว +2

      Simply create an HMI tag that points to Timer01.ACC.

  • @georgejoshua94
    @georgejoshua94 4 ปีที่แล้ว

    Is it possible to write from Microsoft Excel to Rockwell Controllers using DDE? ie if we wanted to feed in data to simulate a plant

    • @realpars
      @realpars  4 ปีที่แล้ว

      Yes. You will a licensed version of RSLinx (not RSLinx Lite) or another DDE server like Kepware. Just as in the video that demonstrated how to read, you can also write to the CPU. You will need to create a macro to open the DDE channel and then use the DDEPoke method to write to the PLC. There are plenty of examples on the internet showing how to do this.

  • @alim25061
    @alim25061 4 ปีที่แล้ว

    Hello, can I know what software you are using in making your videos

    • @realpars
      @realpars  4 ปีที่แล้ว

      Hi Ali,
      I am not sure about this as this is done by our graphic and animation department.

  • @derina.maleek9408
    @derina.maleek9408 4 ปีที่แล้ว

    Keep going

  • @denysdenney6744
    @denysdenney6744 4 ปีที่แล้ว

    Will this work with RSLinx Classic Lite that comes with Studio 5000 or would you need the full versions

    • @realpars
      @realpars  4 ปีที่แล้ว

      No, RSLinx Classic Lite does not have the DDE interface DLL's required. You will need one of the full-featured versions.

  • @victormanuelvaldes2917
    @victormanuelvaldes2917 3 ปีที่แล้ว

    Hi! I have a problem to do this, when I try to paste de DDE link in the cell of Excel it doesn't show the "Paste link" in the Special paste window. I tried to type the formula too like you do, but it doesn't work either.
    I'm using a virtual machine VMware where i have the Rockwell programs and my Excel program is in the Local machine

    • @wgastreich
      @wgastreich 3 ปีที่แล้ว +1

      Hello Victor. DDE, provides a way of transferring data between client and server applications running on the same machine. YOu will need to install all programs on the virtual or local machine. Best of Luck, Wally

  • @maulanaaugustav
    @maulanaaugustav 3 ปีที่แล้ว

    Hallo realpars team, can you make similar tutorial with mitsubishi plc? Thx

    • @realpars
      @realpars  3 ปีที่แล้ว +1

      Hey!
      Thanks for your comment and your suggestion. I will pass this on to our course developers!
      Thanks for sharing and happy learning!

  • @christopher8220
    @christopher8220 4 ปีที่แล้ว

    MOST EXLNT vid!

    • @realpars
      @realpars  4 ปีที่แล้ว

      Thanks, Chris!

    • @christopher8220
      @christopher8220 4 ปีที่แล้ว

      @@realpars Also, if I wanted to display the Accumulator value on an HMI panel (Say, a PanelView+1000) how would I go about doing that?

  • @christopher8220
    @christopher8220 4 ปีที่แล้ว

    In the download .acd file, what is the purpose of the simulated I/O card in the Logix Emulator?

    • @realpars
      @realpars  4 ปีที่แล้ว

      The I/O SIM Card is not required for this example.

  • @dibaladodo2469
    @dibaladodo2469 4 ปีที่แล้ว

    Tnks

  • @fanaticamit
    @fanaticamit 4 ปีที่แล้ว

    Can this configuration be done using AB micrologix 1100B plc as well??

    • @realpars
      @realpars  4 ปีที่แล้ว

      Yes, but not in the same way. The Micrologix 1100 is programmed with RSLogix 500, so you will need it plus RSLogix 500 Emulate to replicate the exercise in the video. I have not tried to connect to a Micrologix 1100 with the 'free' version of the programming software (Logix Micro).

    • @fanaticamit
      @fanaticamit 4 ปีที่แล้ว

      @@realpars Thank you for your response.

  • @jakubwisniewski9861
    @jakubwisniewski9861 4 ปีที่แล้ว

    It possible to do this with S7-300 PLC?

    • @realpars
      @realpars  4 ปีที่แล้ว

      Yes. And in almost the same way. Just as you need a DDE server with the A-B PLC's (Kepware or RSLinx), you will need a DDE server for S7 (Kepware, Matrikon, etc.). Each of these DDE servers requires a license to be purchased.

  • @seshasais1173
    @seshasais1173 4 ปีที่แล้ว

    Hey hi, I have tried the exact your procedure, but i am getting error in Excel. It shows There's error in the formula. Kindly help it. thanks

    • @realpars
      @realpars  4 ปีที่แล้ว

      Hi Seshasai,
      Thanks for your comment!
      Could you specify on the error you are receiving? That way our technical team might be able to help you out more efficiently.
      Thank you!

    • @gauravdevrukhkar9246
      @gauravdevrukhkar9246 4 ปีที่แล้ว

      got same error for me

    • @gauravdevrukhkar9246
      @gauravdevrukhkar9246 4 ปีที่แล้ว

      error in Excel shows,
      1. Make sure included all required parentheses and arguments.
      2. Verify any reference to another sheet or workbook.

    • @gauravdevrukhkar9246
      @gauravdevrukhkar9246 4 ปีที่แล้ว

      RealPars , I was using Rslinx classic lite, don't think so this works on lite, as you have used Rslinx classic gateway.

  • @ArunKumar-bk9tm
    @ArunKumar-bk9tm 2 หลายเดือนก่อน

    How to read data in table from ..Mans No. Of samples like 100 samples 😊

  • @Jarito1903
    @Jarito1903 4 ปีที่แล้ว +6

    if i meet you someday i will buy you a drink, Jesuscrist you are excellent. Thnks

    • @wgastreich
      @wgastreich 3 ปีที่แล้ว

      Thank you for the offer.