Страница 1 из 5 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 41

Тема: Библиотека ModbusRTU

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию Библиотека ModbusRTU

    Библиотека написана на языке С++ и предназначена для работы с программами, написанными на языке VB 6.0. Работоспособность библиотеки проверена на Windows7 и Windows10.
    Для работы файл библиотеки ModbusRTU.dll должен находиться в папке с исполняемым файлом!
    В состав библиотеки входят функции:
    ModRTU_CRC – Подсчёт контрольной суммы CRC16.
    openPort – Открытие COM-порта.
    closePort – Закрытие COM-порта.
    WritePort – Запись в COM-порт байтового массива.
    ReadPort – Чтение из COM-порта в байтовый массив.
    ieee754 – Преобразование 4х байт из массива во float при передаче старшим байтом вперёд.
    ieee754inv - Преобразование 4х байт из массива во float при передаче младшим байтом вперёд. Например, так сделано у прибора ПВТ110RS производства «ОВЕН»
    float32ToBuffer – Преобразование числа Single в 4 байта с записью их в массив.
    Примеры использования:
    float32ToBuffer – В папке «Проверка IEE754». Вводим число с плавающей запятой в текстовое поле и нажимаем кнопку «Start». Ниже появятся байты, в которые преобразуется введённое число с помощью функции float32ToBuffer. И число, преобразованное из байт с помощью функции ieee754.
    В папке «ТРМ138» находится исходный код программы, опрашивающей по таймеру, через каждые 10 минут поочерёдно 8 каналов прибора «ТРМ138» производства «ОВЕН».
    В обеих программах показаны декларации функций библиотеки и их вызов, а так же реакция на результат работы функций
    Вложения Вложения

  2. #2
    Пользователь
    Регистрация
    08.12.2014
    Адрес
    г.Тейково Ивановской обл.
    Сообщений
    280

    По умолчанию

    Библиотека написана на языке С++ и предназначена для работы с программами, написанными на языке VB 6.0.
    А с другими языками программирования разработанная вами библиотека может использоваться?

  3. #3

    По умолчанию

    Судя по этим объвялениям
    Код:
    Public Declare Function mytext Lib "ModbusRTU.dll" _
                    (ByRef Arr As Byte, ByRef mn As Integer) As Boolean
    Public Declare Function ModRTU_CRC Lib "ModbusRTU.dll" _
                    (ByRef Arr As Byte, ByVal n As Long) As Long
    Public Declare Function openPort Lib "ModbusRTU.dll" _
                    (ByVal NPort As String, ByVal Speed As Long, ByVal parity As Long, _
                    ByVal StopBits As Long, ByRef NPort As Long) As Boolean
    Public Declare Function closePort Lib "ModbusRTU.dll" _
                    (ByVal NPort As Long) As Long
    Public Declare Function WritePort Lib "ModbusRTU.dll" _
                    (ByVal NPort As Long, ByRef Arr As Byte, ByVal n As Long) As Long
    Public Declare Function ReadPort Lib "ModbusRTU.dll" _
                    (ByVal NPort As Long, ByRef Arr As Byte, ByVal n As Long) As Long
    Public Declare Function ieee754 Lib "ModbusRTU.dll" _
                    (ByRef Arr As Byte) As Single
    Public Declare Function ieee754inv Lib "ModbusRTU.dll" _
                    (ByRef Arr As Byte) As Single
    Public Declare Sub float32ToBuffer Lib "ModbusRTU.dll" _
                    (ByRef Arr As Byte, ByVal Num As Single)
    Тут все объявления как __stdcall сделаны
    А значит можно из любых языков использовать
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab

  4. #4
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,986

    По умолчанию

    Библиотека написана на языке С++
    есть экспорт всех функций? и если COM порты открываются другими средствами возможно использовать?

  5. #5

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    есть экспорт всех функций? и если COM порты открываются другими средствами возможно использовать?
    Поясните, пожалуйста ваши вопросы.

  6. #6
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,986

    По умолчанию

    Чтобы использовать С код в коде С# функции должны быть экспортируемые.

  7. #7

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Чтобы использовать С код в коде С# функции должны быть экспортируемые.
    Как написал Cs-Cs,
    Тут все объявления как __stdcall сделаны
    А значит можно из любых языков использовать
    Т.е. так же, как в Win32API. C# может использовать функции Win32API, или только классы Net.Framework?

  8. #8
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,986

    По умолчанию

    Не уверен, что stdcall относится к экспорту функций. Один из примеров это библиотека WiringPi. Но там экспорт только для компилятора Linux. И насколько знаю, для компилятора Windows команды отличаются.

    Посмотрите DllImport для С# и как при этом должна быть собрана бибка на С. Без этого 100 пудов не работает.

  9. #9

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Посмотрите DllImport для С# и как при этом должна быть собрана бибка на С. Без этого 100 пудов не работает.
    Я ничего не знаю о C#, поэтому, и спросил, может ли C# использовать функции Win32AРI.

  10. #10
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,986

    По умолчанию

    Может, я использовал обработку звука через DllImport.
    Вам доступны исходники Win32Api ?
    Вам не обязательно знать C#, можете просто поиском найти как в C# используются функции из dll на С и как это там надо включать, чтобы собралось как нужно.
    Могу дать ссылку на Гит, где у человека сборка библиотек под Windows и Linux, включая ARM архитектуру. Просто я сам ни в зуб ногой. .
    У него там как раз и есть разница для разных компиляторов.

    [DllImport("winmm.dll", SetLastError = true)] - не совсем Win32Api, но вроде функция оттуда
    Последний раз редактировалось melky; 24.09.2025 в 21:31.

Страница 1 из 5 123 ... ПоследняяПоследняя

Похожие темы

  1. МВ110-224.2А и ModbusRTU
    от Грек в разделе Мх110
    Ответов: 4
    Последнее сообщение: 31.08.2023, 10:19
  2. ИПП 120, ModbusRTU и Arduino
    от Дмитрий Александрович в разделе Программируемые реле
    Ответов: 8
    Последнее сообщение: 28.06.2022, 17:33
  3. ПЛК110 + ПМ 01 и ModBusRTU
    от ZilkinHvost в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 23.04.2015, 19:46
  4. МСД-200 ModbusRTU Slave
    от LexSL в разделе Эксплуатация
    Ответов: 12
    Последнее сообщение: 14.12.2013, 11:09
  5. МУ110-16Р и команда 16 ModbusRTU
    от GilmiyarovKR в разделе Эксплуатация
    Ответов: 3
    Последнее сообщение: 04.11.2012, 17:11

Ваши права

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