0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 20
|
||||||
1 | ||||||
Использование классов в modbus TCP16.10.2019, 08:40. Показов 5364. Ответов 14
Метки нет (Все метки)
Вообщем, необходимо было написать для одного человека модбас, что в принципе я и сделал. Поставили замечание, что мой код является процедурным и так не правильно делать, сказали сделать классы (как я понял переделать что имеется, а еще много повторов), и в дальнейшем объяснять ничего не стали. Можете помочь, что от меня хотят? (С примерами)
0
|
16.10.2019, 08:40 | |
Ответы с готовыми решениями:
14
Проблемы с подключенияем по Modbus TCP Как работать с modbus tcp? Modbus TCP/IP MODBUS TCP SLAVE |
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 20
|
|
16.10.2019, 09:05 [ТС] | 3 |
То что написано снизу (код), не совсем правильно написано, так понимаю процедурный код, нужно по принципам ооп переделать. Про создание классов сам пока не въехал.
0
|
544 / 352 / 119
Регистрация: 17.08.2014
Сообщений: 1,335
|
||||||||||||||||
16.10.2019, 09:25 | 5 | |||||||||||||||
Artur9961,
это
причем
0
|
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 20
|
|
16.10.2019, 09:47 [ТС] | 6 |
Да похожи, необходимо их по отдельно в классы забить? смысл в этом... len не везде используется только первый элемент, в последних двух структурах 2 и 3 используется, изначально там вообще использовались константы, но опять же пытался сделать по красивее. Щас будет диковатый вопрос, class Program, а это не тот класс который от меня хотели?)
0
|
1514 / 905 / 328
Регистрация: 17.05.2015
Сообщений: 3,417
|
|
16.10.2019, 11:07 | 7 |
Artur9961, читайте что такое ооп. Нет, это не он.
0
|
544 / 352 / 119
Регистрация: 17.08.2014
Сообщений: 1,335
|
|
16.10.2019, 12:45 | 8 |
Artur9961, Структура или класс в простом примере это упорядоченное описание объекта. Создайте в вашем примере животное кота и жирафа, Да даже на свой код посмотрите в нем почти в каждой строке Ctrl+C -> Ctrl+V
0
|
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 20
|
|
16.10.2019, 16:08 [ТС] | 9 |
Andreyip, Не могли бы, что то вроде конструктора написать? в стиле что в начале должно быть, где метод и тд тп, просто у меня пока в голове, что зачем то мне нужно взять разбивать все структуры на классы...(нет класс животных мне не думаю что нужен)
0
|
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 20
|
|||||||||||
29.10.2019, 07:38 [ТС] | 10 | ||||||||||
Перепилил код, примерно так, все ровно не то, сказано что это получился "набор функций, а не класс", сказано было создай класс модбас...
0
|
544 / 352 / 119
Регистрация: 17.08.2014
Сообщений: 1,335
|
||||||||||||||||||||||||||
29.10.2019, 08:26 | 11 | |||||||||||||||||||||||||
Artur9961, Фуфуфу на это вам скажут.
давайте так: разберемся с этим
описываем
описываем дальше
Можно вообще создать все остальные классы куда запилить хидер в виде поля. а метод GetBytes() сделать универсальным под нужную структуру. думаю по аналогии сообразите. Добавлено через 5 минут Не по теме: Artur9961, я бы мог вам описать все что нужно но мне немного лень))
0
|
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 20
|
||||||||||||||||
29.10.2019, 08:49 [ТС] | 12 | |||||||||||||||
Andreyip , Спасибо, еще не много вопросов стало)
Правильнее дальше так...структуры...или методы(не уверен как это называется) или создавать по аналогии отдельные классы? как правильнее?
В таком стиле? и нужно так понимаю продумать закрытие после отправки пакета...оту реально нелепо выглядит
0
|
544 / 352 / 119
Регистрация: 17.08.2014
Сообщений: 1,335
|
|||||||||||
29.10.2019, 10:09 | 13 | ||||||||||
Artur9961, я немного косякнул, копирования надо делать так
Artur9961, немного подождите, сейчас сделаю примерную реализацию дальше вы сами справитесь. Добавлено через 50 минут Artur9961, пока сделал так, но так как много мне неизвестно много непонятно
далее. Мне непонятно какие данные изменяемые а какие постоянные, вот допустим номер юнита, это постоянное значение или нет?
0
|
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 20
|
||||||
29.10.2019, 11:12 [ТС] | 14 | |||||
Andreyip , да постоянная =1(если про unit)
все они...статичные...константы...
0
|
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 20
|
||||||
31.10.2019, 09:21 [ТС] | 15 | |||||
Andreyip Как то так, правильно? классы дополнил нужными переменными(слегка не красиво, но пока так). Есть возможность tcpclient как нибудь тоже в класс превратить? или только так в метод. "Сборку сообщений" для отправки сам не понял как сделал, чисто на интуиции, GetByte<T>(T basetcp) что это за T? что это значит? и как сделать чтобы, к определенному сообщению(к примеру ReadCoilStatus , ForceMultipleCoil) можно было обращаться через switch или как то иначе?
0
|
31.10.2019, 09:21 | |
31.10.2019, 09:21 | |
Помогаю со студенческими работами здесь
15
МК vs WinCC через Modbus TCP Qt Modbus ответ сервера по TCP MODBUS-TCP обмен данными Мигаем лампочками ModBus TCP Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |