0
使用Visual Studio Community 2017和AdvancedHMI創建基於PC的HMI應用程序。我有幾個運行沒有問題,所以移動到新的東西。 在每一行我有7個數組(每個數組500個實數),並且想每天捕獲這些數據並保存到Excel。 使用EPPlus和AdvancedHMI我有以下代碼。引發的異常:EPPlus.dll中的'System.IndexOutOfRangeException'
Private Sub DataSubscriber1_DataChanged(sender As Object, e As Drivers.Common.PlcComEventArgs) Handles DataSubscriber1.DataChanged
If e.ErrorId = 0 AndAlso e.Values.Count > 0 AndAlso e.Values(0) = "True" Then
Console.WriteLine("About to read the data")
Dim MyValues() As String = EthernetIPforCLXCom1.Read("VCell_1A_FES_Cycle_Average[0]", 500)
Console.WriteLine(MyValues.Length & "elements read.")
'* Transfer the values to Excel
Using ExcelPackage As New OfficeOpenXml.ExcelPackage(New System.IO.FileInfo("c:\Data.xlsx"))
For I = 0 To MyValues.Length - 1
Console.WriteLine("Element " & I & "=" & MyValues(I))
ExcelPackage.Workbook.Worksheets(1).Cells(1, I + 1).Value = MyValues(I)
Next
End Using
End If
End Sub
運行這個並觸發我的標籤值來執行數據訂戶我得到以下。
關於讀取數據
500Elements讀取。
元素0 = 87.945
拋出異常:「System.IndexOutOfRangeException」在EPPlus.dll
一切看起來像它應該工作,但我是很新的VB或任何類型的編碼是的物。我的特長'是PLC梯形邏輯。
謝謝。
嘗試寫入的測試值(而不是從數組)前行的Excel文件'*轉移值Excel'。你仍然得到超出範圍的異常?如果沒有,請停止將值寫入循環中的Excel文件,並將值寫入控制檯。那樣有用嗎? –
謝謝,當我今晚進入工作時,我會給它一個鏡頭。 – Bobby5184
我能夠將500標籤陣列寫入控制檯而沒有問題。我修改了我的循環,現在一切正常。謝謝。 – Bobby5184