每次发生"事件时,我都需要帮助从Allen-Bradley PLC自动将数据导入Microsoft Excel。发生。例如,每次打开蒸汽阀的警报时,我都需要记录问题的日期,时间和持续时间。我可以编写PLC代码来收集信息。但是,我不确定如何从PLC获取信息到Microsoft Excel。 非常感谢任何帮助!
答案 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数据库。
否则请联系您当地的罗克韦尔代表,让他们确定哪种方式最合适。