Excel og PLC
Jeg har en kode her, som jeg har fundet, men den skal rettes lidt i. Når man starter den, henter den noget data i en plc og lægger værdien ind i et felt, som hedder A1 og opdaterer værdien hele tiden. Jeg kunne godt tænke mig, at hver gang der kommer en ny værdi fra plc'en så skal den ind i et nyt felt, f.eks a1, a2, a3, osv. Og så kunne jeg godt tænke mig, at der kommer tidspunkt ud fra værdien, dvs. når der kommer data i a1, så kommer der tidspunkt i b1 osv. Koden ser sådan ud lige nu:'
' Excel VBA Example Code: Read single data element using OPC
'
Dim OPCServer1 As OPCServer 'Create references to OPC Server
Dim WithEvents OPCGroup1 As OPCGroup 'and Group objects
Private Sub CommandButton1_Click()
If OPCServer1 Is Nothing Then
'When OPC server doesn't exist ...
Set OPCServer1 = New OPCServer
'Create instance of OPC Server
OPCServer1.Connect "RSLinx OPC Server"
'Connect to an OPC Server
Set OPCGroup1 = OPCServer1.OPCGroups.Add("MyOPCData")
'Create an OPC group in the OPC Server
OPCGroup1.OPCItems.AddItem "[SLC]S:42", 1
'Add an Item to OPC Group & assign ClientHandle
' OPCGroup1.OPCItems.AddItem "[Topic]Item", ClientHandle
OPCGroup1.IsSubscribed = True
'Receive data whenever it changes
End If
End Sub
Private Sub CommandButton2_Click()
On Error Resume Next
'Ignore errors if OPC group or server doesn't exist
Set OPCGroup1 = Nothing
'Remove Group
OPCServer1.Disconnect
'Disconnect from server
Set OPCServer1 = Nothing
'Remove Server
End Sub
Private Sub OPCGroup1_DataChange(ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date)
[A1] = ItemValues(1)
'Assign data value to spreadsheet cell
' For x = 1 To NumItems
'Another method for handling more than one item
' Select Case ClientHandles(x)
'based on the ClientHandle assigned in AddItem method
' Case 1 '
' [A1] = ItemValues(x)
'-Do this when ClientHandle = 1
' Case 2 '
'
'-Do this when ClientHandle = 2
' Case 3 '
'
'-Do this when ClientHandle = 3
' End Select '
' Next x '
End Sub
MVH
Claus larsen
