我需要帮助自动从Allen-Bradley PLC将数据导入Microsoft Excel

时间:2017-07-23 17:32:46

标签: excel plc

每次发生"事件时,我都需要帮助从Allen-Bradley PLC自动将数据导入Microsoft Excel。发生。例如,每次打开蒸汽阀的警报时,我都需要记录问题的日期,时间和持续时间。我可以编写PLC代码来收集信息。但是,我不确定如何从PLC获取信息到Microsoft Excel。 非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

最好和最简单的方法是使用AdvancedHMI和EPPlus。 它们非常易于使用。

  '***************************************
            '* Open the existing Excel file
            '***************************************
            Using ExcelPackage As New OfficeOpenXml.ExcelPackage(New System.IO.FileInfo(".\HistoricalData.xlsx"))
                '***************************************
                '* Search for the first blank Excel row
                '***************************************
                Dim FirstBlankRow As Integer = 1
                While ExcelPackage.Workbook.Worksheets(1).Cells(FirstBlankRow, 1).Value IsNot Nothing
                    FirstBlankRow += 1
                End While

                '**************************************
                '* Show om the form the row to use
                '**************************************
                StatusLabel.Text = "Status: Blank Row found at " & FirstBlankRow

                '***********************************************************************
                '* Read the first tag within the UDT, then store in the Excel Worksheet
                '***********************************************************************
                Dim StartTime As String = EthernetIPforCLXCom1.Read("FillRecords[0].StartTime")
                ExcelPackage.Workbook.Worksheets(1).Cells(FirstBlankRow, 1).Value = StartTime

                '***********************************************************************
                '* Read the second tag within the UDT, then store in the Excel Worksheet
                '***********************************************************************
                Dim EndTime As String = EthernetIPforCLXCom1.Read("FillRecords[0].EndTime")
                ExcelPackage.Workbook.Worksheets(1).Cells(FirstBlankRow, 1).Value = EndTime


                '**********************************
                '* Save the Excel file changes
                '**********************************
                StatusLabel.Text = "Status: Saving Excel File on " & Now
                ExcelPackage.Save()

答案 1 :(得分:0)

有很多不同的方法可以解决这个问题。罗克韦尔专门为此用途销售软件。它主要取决于数据的规模(金额/频率)和您请求数据的PLC数量。

如果它只是一个较小的应用程序,您可以使用RSLinx Classic的许可版本(大约一个)来设置Excel的DDE链接。这将是你最直接的方式。在AutomationBlog上的Shawn一步一步很好。

https://theautomationblog.com/getting-allen-bradley-plc-and-pac-data-into-excel-using-rslinx/

如果您有使用VisualBasic的经验,可以使用AdvancedHMI。它是免费的,可以从PLC中获取数据,但是您必须编写代码来填充Excel工作表或将数据放入SQL数据库。

http://www.advancedhmi.com/

否则请联系您当地的罗克韦尔代表,让他们确定哪种方式最合适。