Visual Basic - programar tarjeta pci por el puerto serie

Life is soft - evento anual de software empresarial
 
Vista:

programar tarjeta pci por el puerto serie

Publicado por natalia (1 intervención) el 08/05/2012 15:27:55
Hola!
tengo una aplicación para controlar una prensa de madera, cambie la tarjeta PCI por la que me llegaba un dato de la prensa y ahora tengo problemas para recoger el dato. He metido el driver en el archivo.bas como indica el fabricante y me da el siguiente error error 429 activeX no puede crear el objeto. La tarjeta nueva es una pci-1761S y el sistema operativo que tengo es windows xp. Os pego el código del modulo. Espero que me podais echar una mano!

Sub datos()

Dim puerto As New MSCommLib.MSComm
Dim setParam As String

Dim rctablero As Recordset
Dim db As Database
Dim rc As Recordset

Set db = CurrentDb
Set rc = db.OpenRecordset("Aux Valores")
rc.MoveFirst
Dim x%

Dim ultimoCola As Integer
ultimoCola = 8

puerto.CommPort = 2 '''' ESTA ES LA PRIMERA LINEA EN LA QUE SALTA EL ERROR

puerto.InputMode = 0

setParam = "1200,N,7,2"

puerto.Settings = setParam
puerto.InputLen = 0

puerto.PortOpen = True

Dim inString As String
Dim lenCap As Integer
Dim volManta As Double
Dim densidadUltima As Double
Dim pesoTotalManta As Double
Dim control
lenCap = 0
inString = ""

Do
If lenCap < 33 Then

inString = inString & puerto.Input
lenCap = Len(inString)
Else
control = Left(inString, 2)
control = Right(control, 1)

If control = "C" Then
inString = Right(inString, 6)
inString = Left(inString, 4)

Forms![Diario Prensa].NºPesadas.value = Forms![Diario Prensa].NºPesadas.value + 1

If IsNumeric(inString) = False Then
Forms![Diario Prensa].pesoMantaUltimo.value = Forms![Diario Prensa].pesoTeorico.value
lenCap = 0
inString = Forms![Diario Prensa].puerto.Input
inString = ""

Else
Forms![Diario Prensa].pesoMantaUltimo.value = inString
End If
'''' ' If control <> "0 B" Then
''' ' Forms![Diario Prensa].pesoMantaUltimo.value = Forms![Diario Prensa].pesoTeorico.value
''' ' Else

'''' ' End If

pesoTotalManta = Forms![Diario Prensa].kilosMaderaAcumulados.value
pesoTotalManta = pesoTotalManta + CDbl(Forms![Diario Prensa].pesoMantaUltimo.value)
Forms![Diario Prensa].kilosMaderaAcumulados.value = pesoTotalManta
Forms![Diario Prensa].pesoMantaMedioAcumulado.value = pesoTotalManta / Forms![Diario Prensa].NºPesadas.value


controlPesadasBascula

lenCap = 0
inString = puerto.Input
inString = ""

If Forms![Diario Prensa].NºOrdenDePrensa.value <> "" Then

ConsultaMapa
Set rctablero = db.OpenRecordset("resumen mapa_tablero")
If rctablero.EOF = False Then

rctablero.MoveLast
Forms![Diario Prensa].densidadMantaMedia.value = rctablero!AvgDensidad
Forms![Diario Prensa].espesorMedioReal.value = rctablero!AvgEspesor
rc.MoveFirst
rc.Edit
rc!kilos = Forms![Diario Prensa].kilosMaderaAcumulados.value
rc![cola ce] = Forms![Diario Prensa].kgColaCEAcumulado.value
rc![cola ci] = Forms![Diario Prensa].kgColaCIAcumulado.value
rc![peso] = Forms![Diario Prensa].pesoMantaMedioAcumulado.value
rc!Prensadas = Forms![Diario Prensa].NºPesadas.value
rc.Update

End If
rctablero.Close


End If
End If
End If


ultimoCola = controlColas(ultimoCola)
x% = DoEvents


Loop


puerto.PortOpen = False

End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

programar tarjeta pci por el puerto serie

Publicado por Santiago (34 intervenciones) el 12/05/2012 06:48:52
Si te saca ese error es por que no esta registrada una dll o un ocx.... solo fijate que objeto es el que no puede crear lo registras y listo Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar