|
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 20
|
||||||
Использование классов в modbus TCP16.10.2019, 08:40. Показов 6134. Ответов 14
Метки нет (Все метки)
Вообщем, необходимо было написать для одного человека модбас, что в принципе я и сделал. Поставили замечание, что мой код является процедурным и так не правильно делать, сказали сделать классы (как я понял переделать что имеется, а еще много повторов), и в дальнейшем объяснять ничего не стали. Можете помочь, что от меня хотят? (С примерами)
0
|
||||||
| 16.10.2019, 08:40 | |
|
Ответы с готовыми решениями:
14
Проблемы с подключенияем по Modbus TCP Как работать с modbus tcp? Modbus TCP/IP |
|
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 20
|
|
| 16.10.2019, 09:05 [ТС] | |
|
То что написано снизу (код), не совсем правильно написано, так понимаю процедурный код, нужно по принципам ооп переделать. Про создание классов сам пока не въехал.
0
|
|
|
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
|
||||||||||||||||
| 16.10.2019, 09:25 | ||||||||||||||||
|
Artur9961,
это
причем
0
|
||||||||||||||||
|
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 20
|
|
| 16.10.2019, 09:47 [ТС] | |
|
Да похожи, необходимо их по отдельно в классы забить? смысл в этом... len не везде используется только первый элемент, в последних двух структурах 2 и 3 используется, изначально там вообще использовались константы, но опять же пытался сделать по красивее. Щас будет диковатый вопрос, class Program, а это не тот класс который от меня хотели?)
0
|
|
|
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
|
|
| 16.10.2019, 11:07 | |
|
Artur9961, читайте что такое ооп. Нет, это не он.
0
|
|
|
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
|
|
| 16.10.2019, 12:45 | |
|
Artur9961, Структура или класс в простом примере это упорядоченное описание объекта. Создайте в вашем примере животное кота и жирафа, Да даже на свой код посмотрите в нем почти в каждой строке Ctrl+C -> Ctrl+V
0
|
|
|
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 20
|
|
| 16.10.2019, 16:08 [ТС] | |
|
Andreyip, Не могли бы, что то вроде конструктора написать? в стиле что в начале должно быть, где метод и тд тп, просто у меня пока в голове, что зачем то мне нужно взять разбивать все структуры на классы...(нет класс животных мне не думаю что нужен)
0
|
|
|
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 20
|
|||||||||||
| 29.10.2019, 07:38 [ТС] | |||||||||||
|
Перепилил код, примерно так, все ровно не то, сказано что это получился "набор функций, а не класс", сказано было создай класс модбас...
0
|
|||||||||||
|
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
|
||||||||||||||||||||||||||
| 29.10.2019, 08:26 | ||||||||||||||||||||||||||
|
Artur9961, Фуфуфу на это вам скажут.
давайте так: разберемся с этим
описываем
описываем дальше
Можно вообще создать все остальные классы куда запилить хидер в виде поля. а метод GetBytes() сделать универсальным под нужную структуру. думаю по аналогии сообразите. Добавлено через 5 минут Не по теме: Artur9961, я бы мог вам описать все что нужно но мне немного лень))
0
|
||||||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 20
|
||||||||||||||||
| 29.10.2019, 08:49 [ТС] | ||||||||||||||||
|
Andreyip , Спасибо, еще не много вопросов стало)
Правильнее дальше так...структуры...или методы(не уверен как это называется) или создавать по аналогии отдельные классы? как правильнее?
В таком стиле? и нужно так понимаю продумать закрытие после отправки пакета...оту реально нелепо выглядит
0
|
||||||||||||||||
|
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
|
|||||||||||
| 29.10.2019, 10:09 | |||||||||||
|
Artur9961, я немного косякнул, копирования надо делать так
Artur9961, немного подождите, сейчас сделаю примерную реализацию дальше вы сами справитесь. Добавлено через 50 минут Artur9961, пока сделал так, но так как много мне неизвестно много непонятно
далее. Мне непонятно какие данные изменяемые а какие постоянные, вот допустим номер юнита, это постоянное значение или нет?
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 20
|
||||||
| 29.10.2019, 11:12 [ТС] | ||||||
|
Andreyip , да постоянная =1(если про unit)
все они...статичные...константы...
0
|
||||||
|
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 20
|
||||||
| 31.10.2019, 09:21 [ТС] | ||||||
|
Andreyip Как то так, правильно? классы дополнил нужными переменными(слегка не красиво, но пока так). Есть возможность tcpclient как нибудь тоже в класс превратить? или только так в метод. "Сборку сообщений" для отправки сам не понял как сделал, чисто на интуиции, GetByte<T>(T basetcp) что это за T? что это значит? и как сделать чтобы, к определенному сообщению(к примеру ReadCoilStatus , ForceMultipleCoil) можно было обращаться через switch или как то иначе?
0
|
||||||
| 31.10.2019, 09:21 | |
|
Помогаю со студенческими работами здесь
15
MODBUS TCP SLAVE МК vs WinCC через Modbus TCP Qt Modbus ответ сервера по TCP MODBUS-TCP обмен данными Мигаем лампочками ModBus TCP Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Если у вас не установлены Android SDK, NDK сделайте это, JDK, то сделайте это по следующей инструкции:
Установка Android SDK, NDK, JDK, CMake и т. д.
Перейдите по ссылке:. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|