Показано с 1 по 1 из 1

Тема: ТРМ 101 v03 через owen_io и VB6: Размер поля данных не соответствует ожидаемому

  1. #1

    По умолчанию ТРМ 101 v03 через owen_io и VB6: Размер поля данных не соответствует ожидаемому

    Здравствуйте!
    Пытаюсь достучаться до ТРМ-101 из VB6.

    Код модуля:
    Код:
    Option Explicit
    
    ' Определения для последовательных портов COMxx=(xx-1)
    Enum ePorts
        COM_1 = 0
        COM_2 = 1
        COM_3 = 2
        COM_4 = 3
        COM_5 = 4
        COM_6 = 5
        COM_7 = 6
        COM_8 = 7
    End Enum
    
    ' Определения скорости
    Enum eRates
      ' Добавлено для приборов на АС2
      er300 = -3
      er600 = -2
      er1200 = -1
      ' Добавлено для приборов на АС2
      
      er2400 = 0
      er4800 = 1
      er9600 = 2
      er14400 = 3
      er19200 = 4
      er28800 = 5
      er38800 = 6
      er57600 = 7
      er115200 = 8
    End Enum
    
    Enum eParity
      parity_NONE = 0
      parity_EVEN = 1
      parity_ODD = 2
    End Enum
    
    Enum eDataBits
      databits_7 = 0
      databits_8 = 1
    End Enum
    
    Enum eStopBits
      stopbit_1 = 0
      stopbit_2 = 2
    End Enum
    
    Enum eConverterType
      RS485CONV_MANUAL = 0
      RS485CONV_AUTO = 1
      RS485CONV_MANUAL_DTR = 2
    End Enum
    
    ' Выбор модели
    Public Declare Function SetApiMode Lib "owen_io" (ByVal n As Long) As Long
    
    Public Declare Function OpenPort Lib "owen_io" _
    (ByVal n As ePorts, _
    ByVal speed As eRates, _
    ByVal parity As eParity, _
    ByVal databits As eDataBits, _
    ByVal bitstop As eStopBits, _
    ByVal vid As eConverterType) As Long
    
    ...
    
    '×òåíèå 3-õ áàéòîâîãî ïëàâàþùåãî
    Public Declare Function ReadFloat24 Lib "owen_io" _
    (ByVal adr As Long, _
      ByVal adr_type As Long, _
      ByVal cmd As String, _
      res As Single, _
      ByVal Index As Integer) _
     As Long
    
    ...
    
    Public Function getFloat24(ByVal adr As Long, _
      ByVal adr_type As Long, _
      ByVal cmd As String, _
      ByVal Index As Integer) As Single
    Dim val As Single
    Dim ret As Long
    checkReturn ReadFloat24(adr, adr_type, cmd, val, Index)
    getFloat24 = val
    End Function
    
    Function checkReturn(ret As Long)
    If ret < 0 Then
      Dim errstr As String
      errstr = Space$(300)
      LastErrToStr errstr
      errstr = Left$(errstr, InStr(errstr, Chr(0)) - 1)
      Err.Raise 12345, , "Error: " + errstr
    End If
    End Function
    Стучусь через окно immediate:
    Код:
    checkreturn openport(COM_3,er9600,parity_NONE,databits_8,stopbit_1,RS485CONV_AUTO)
    ? getFloat24(16,0,"Pv",-1)
    Выдаёт ошибку "Размер поля данных не соответствует ожидаемому". Пробовал менять индекс, результат аналогичен. Пробовал строки "PV ", "Pv ", "PV", "Pv", "AL-d". Результат аналогичен. Пробовал RS485CONV_MANUAL, аналогично. Если меняю адрес, ошибка меняется на что-то типа "нет ответа". Если меняю строку на что-то невнятное, говорит что-то вроде "параметр не найден".

    С конфигуратором связывается.

    ТРМ-101 с прошивкой v03.0023. Файл конфигурации попробую прикрепить... http://www.owen.ru/forum/attachment....1&d=1490979053
    Подключён через конвертер USB-RS232 мастеркит и АС-3М

    Помогите пожалуйста!
    Вложения Вложения
    • Тип файла: zip config.zip (562 байт, Просмотров: 2)
    Последний раз редактировалось DeepSOIC; 19.04.2017 в 15:58. Причина: исправил кракозябры; уточнил АС-3М

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 23.04.2014, 18:58
  2. Опрос СИ-30 через библиотеку owen_io.dll
    от MCBK в разделе Эксплуатация
    Ответов: 0
    Последнее сообщение: 05.09.2013, 16:25
  3. Проблема в предаче данных через RS-232
    от DrKillJoy в разделе Помощь Разработчикам
    Ответов: 1
    Последнее сообщение: 01.04.2011, 15:04
  4. Что значит ошибка "Размер поля данных не соответствует ожидаемому"
    от Сергей_Тула в разделе Помощь Разработчикам
    Ответов: 7
    Последнее сообщение: 14.02.2007, 11:38

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •