Red de conocimiento informático - Problemas con los teléfonos móviles - VB realiza la comunicación entre el PLC y la computadora host

VB realiza la comunicación entre el PLC y la computadora host

Esto se puede hacer utilizando el servidor OPC, que es más conveniente. Aplicable a todo tipo de PLC.

A continuación se toma el PLC Siemens como ejemplo para describir el método de implementación:

1 Cree un nuevo proyecto OPC a través del software STEP7, agregue una estación SIMATIC 300 y una estación de PC al proyecto. , en el cual el módulo PLC CP343 está instalado en la cuarta ranura de la estación. La primera ranura de la estación de PC es OPC SERVER, la tercera ranura es IE GENERAL y luego configure la conexión de red entre el PLC y la estación de PC en NETPRO: (Nota: esta es una conexión de red recién creada en la estación de PC, y el tipo de conexión es Conexión S7)

2. Configure la estación PC de esta máquina a través del software configurador de estaciones (debe ser el mismo que el configurado en STEP7) y luego descargue tanto el PLC como la estación PC ( nota: al descargar la estación de PC, debe S7ONLINE (STEP7)---> PC interna (local)).

3. Abra OPC Scout, (Inicio>SIMATIC>SIMATICNet>OPC Scout), haga doble clic en "OPC

SimaticNet" en el "AGREGAR grupo" que aparece; nombre del grupo en el cuadro de diálogo. En este ejemplo, se denomina "OPC".

Haga clic en Aceptar para confirmar;

Haga doble clic en el grupo de conexión agregado (OPC) y aparecerá el cuadro de diálogo "OPC Navigator", que se muestra en esta ventana

Todos los protocolos de conexión. Haga doble clic en "S7", se mostrará el nombre de la conexión creada en la configuración de la estación PC NetPro (S7

conexión_1). Haga doble clic en esta conexión y aparecerá el árbol de objetos a los que se puede acceder. Los bloques DB que ya existen en el PLC también aparecerán en la CPU.

El SERVIDOR OPC completó la parte anterior de la configuración.

4. Escribí la aplicación cliente OPC usando VB.

El código principal del programa es el siguiente:

En VB, haga referencia también a siemens opc daautomation 2.0

(1) Conectar al servidor OPC

Atenuar con eventos MyOPCServer como OPCServer 'Definir la variable de objeto de servidor MyOPCServer

Dim WithEvents MyOPCGroup As OPCGroup 'Definir la variable de objeto de grupo OPC MyOPCGroup

Establecer MyOPCServer = New OPCServer

MyOPCServer.Connect " OPC . SimaticNET" 'Conectarse al servidor OPC de SIMATICNET

(2) Agregar objeto de grupo OPC

Set MyOPCGroup=MyOPCServer.OPCGroups.Add("Grupo1")

' Agregar objeto de grupo OPC

MyOPCGroup.IsSubscribed= True

'Establecer los datos del grupo en actualización en segundo plano

MyOPCGroup.IsActive = True

'Establecer el grupo en estado activo

MyOPCGroup.UpdateRate=1000

'Establecer el tiempo de actualización de datos en 1000

(3) Agregar elementos de datos

Atenuar abItemIDs() como cadena

'Identificadores de elementos

Atenuar abClientHandles() mientras

'Identificadores de cliente

Dim abServerHandles() As Long

'Controles del lado del servidor

Atenuar abErrors() As Long

Atenuar i As Long

ItemCount =3

abItemIDs(1) = " S7:S7 conexión_1IB1"

abItemIDs(2) = " S7:S7 conexión_1MB1"

abItemIDs(3) = " S7:S7 conexión_1QB1"

para i=1 a 3

abClientHandles(i) = i

'Asignar un valor al identificador del cliente

Siguiente

MyOPCGroup.OPCItems.AddItems ItemCount, abItemIDs, abClientHandles, abServerHandles, abErrors

'Operación para agregar elementos de datos

(4) Datos sincrónicos lectura Escritura

El acceso a datos OPC tiene dos tipos: modo síncrono y modo asíncrono. La lectura y escritura asincrónica de datos es compleja y debe usarse junto con eventos. Es más lenta pero más precisa que la sincronización. Leer y escribir datos sincrónicamente es simple, simplemente use el método OPCItem.

Atenuar uno como OPCItem

Atenuar índice mientras

'Índice es el número de secuencia de la etiqueta

Atenuar OneRead como cadena

Atenuar Xie como cadena

Establecer uno = MyOPCGroup.OPCItems(Index)

One.Read OPCCache

OneRead = One.Value

'Leer datos

MyOPCGroup.SyncWrite ItemCount, ServerHandles, valores, Errores

'Escribir datos sincrónicamente

MyOPCGroup.SyncRead OPCCache, ItemCount, ServerHandles , ReadValue, Errors

'Leer datos sincrónicamente

One.Write (Xie)

'Escribir datos

Si solo lees datos Puede utilizar el evento DataChange Una vez que cambien los datos a los que se accederá en el controlador, el evento se activará y los datos se leerán automáticamente en el cuadro de texto TxtValue.

Sub privado MyOPCGroup_DataChange(ByVal TransactionID mientras, ByVal NumItems mientras, ClientHandles() mientras, ItemValues() como variante, Qualities() mientras, TimeStamps() como fecha)

'Actualizar datos automáticamente

Atenuar i siempre

For i = 1 To NumItems

txtValue(ClientHandles(i)) = ItemValues(i)

'Obtener el valor del artículo

txtTime(ClientHandles(i)) = TimeStamps(i)

'Obtener la marca de tiempo del artículo

txtQuantity(ClientHandles(i))=GetQualityString(Qualities(i))

'Obtener la calidad del artículo

Siguiente i

End Sub

(5) Desconectar el servidor OPC

MyOPCServer.OPCGroups.RemoveAll

'Eliminar todos los grupos OPC y liberar recursos

Establecer MyOPCGroup = Nada

MyOPCServer.Disconnect

'Desconectar