Author Topic: ReadUDT option for Micro800  (Read 1971 times)

therclub02

  • Newbie
  • *
  • Posts: 2
    • View Profile
ReadUDT option for Micro800
« on: March 18, 2020, 08:38:42 AM »
Hello Please help me ReadUDT option for Micro800 driver
I tried it but i think this option is currently available only for Control / Compact logix driver only

Archie

  • Administrator
  • Hero Member
  • *****
  • Posts: 5322
    • View Profile
    • AdvancedHMI
Re: ReadUDT option for Micro800
« Reply #1 on: March 18, 2020, 09:20:11 AM »
I am not sure if any as ever tried ReadUDT on a Micro800. Maybe someone else can chime in and report if they tried it.

therclub02

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: ReadUDT option for Micro800
« Reply #2 on: March 19, 2020, 03:31:45 AM »
Currently the function appears only in EthernetClx driver. Can we have the similar function Ethernetm800 driver

Archie

  • Administrator
  • Hero Member
  • *****
  • Posts: 5322
    • View Profile
    • AdvancedHMI
Re: ReadUDT option for Micro800
« Reply #3 on: March 25, 2020, 05:57:30 PM »
The Micro800 driver is actually the same as the CLX driver, but forces no route path. ReadUDT does exist in the Micro800 driver. Whether it works would depend if the hardware supports it.

mamic75

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: ReadUDT option for Micro800
« Reply #4 on: April 25, 2020, 09:46:38 AM »

I am also trying to use the ReadUDT method on a MICRO820 but it returns "MfgControl.AdvancedHMI.Drivers.Common.PLCDriverException: 'ReadRaw Error. Path Destination Unknown'"


dmroeder

  • Administrator
  • Full Member
  • *****
  • Posts: 212
    • View Profile
Re: ReadUDT option for Micro800
« Reply #5 on: April 25, 2020, 12:08:04 PM »
Path Destination Unknown is an error coming from the controller saying that a tag by the name you provided doesn't exist.  Be sure that what you are trying to read is in the global scope, local scoped tags are not accessable externally.

mamic75

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: ReadUDT option for Micro800
« Reply #6 on: April 27, 2020, 04:11:53 AM »
Path Destination Unknown is an error coming from the controller saying that a tag by the name you provided doesn't exist.  Be sure that what you are trying to read is in the global scope, local scoped tags are not accessable externally.

Hi, I checked the name of the tag well.
I bring you the code in which I tried both methods or ReadUDT and Read.

Reading the UDT tags individually works.

Instead, I have successfully tried using the ReadUDT method on the Logix platform.

Code: [Select]
For J = Buffer_IndexRead To Buffer_IndexInsert - 1

                'don't work
                'BufferRecordMicro(J) = DriverEthIPMicro.ReadUDT(Of RecordTipo)("Buffer.Dati[" & J & "]")

                If IsNothing(BufferRecordMicro(J)) Then
                    BufferRecordMicro(J) = New RecordTipo
                End If

                'Work good
                BufferRecordMicro(J).YYYYMMDD = CInt(DriverEthIPMicro.Read("Buffer.Dati[" & J & "].YYYYMMDD"))
                BufferRecordMicro(J).HHMMMSS = CInt(DriverEthIPMicro.Read("Buffer.Dati[" & J & "].HHMMMSS"))
                BufferRecordMicro(J).Pressione = CSng(DriverEthIPMicro.Read("Buffer.Dati[" & J & "].Pressione"))
                BufferRecordMicro(J).Fotometro1 = CInt(DriverEthIPMicro.Read("Buffer.Dati[" & J & "].Fotometro1"))
                BufferRecordMicro(J).Fotometro2 = CInt(DriverEthIPMicro.Read("Buffer.Dati[" & J & "].Fotometro2"))
                BufferRecordMicro(J).Flussimetro = CSng(DriverEthIPMicro.Read("Buffer.Dati[" & J & "].Flussimetro"))
                BufferRecordMicro(J).Spare = CSng(DriverEthIPMicro.Read("Buffer.Dati[" & J & "].Spare"))

                StrRecord = GetStringRecordAll(BufferRecordMicro(J))
                TextLastRecordReadMicro.Text = Format(J, "###00000") + ";" + StrRecord
                DiffRecordTot = CInt(AnlValBufferIndexInsertMicro.Value) - J - 1

                If DiffRecordTot >= 0 Then
                    LblDiffRecord_TotMicro.Text = DiffRecordTot
                Else
                    LblDiffRecord_TotMicro.Text = 0
                End If
            Next