Просмотреть полную версию : Как реализовать нестандартный протокол (решено)
SvetlanaS
09.10.2019, 18:25
Как организовать считывание информации с устройства с помощью контроллера Segnetics SMH2Gi ( нестандартный протокол RS-485).
:umnik:
Как организовать считывание информации с устройства с помощью контроллера Segnetics SMH2Gi ( нестандартный протокол RS-485).
:umnik:
Легко. Обратившись к справке.
https://dl.segnetics.com/PRODUCTS/SMH2Gi/C/
PS. А если писать в одно место и чуть подождать ответа, а не всюду и сразу и побольше - вообще хорошо будет ;)
Как организовать считывание информации с устройства с помощью контроллера Segnetics SMH2Gi ( нестандартный протокол RS-485).
:umnik:
Светлана, вам удобно будет продолжить общение здесь, а не на почте?
Легко. Обратившись к справке.
Доктор, а я после операции смогу играть на скрипке? :spasibo05
SvetlanaS
10.10.2019, 11:44
Как организовать считывание информации с устройства с помощью контроллера Segnetics SMH2Gi ( нестандартный RS-485).
:umnik:
интерфейс RS-485,по нему передаются байты без протокола 9600,8N1.
Тип такой:
24 DC 5F E2 39 2E 00 00 00 0C 00 00 00 00 00 24 28 01 8B DD 69
со скоростью 1 раз в 10сек.
Вы ищите разработчика, который сможет это сделать или хотите решить задачу своими силами?
SvetlanaS
10.10.2019, 12:50
Вы ищите разработчика, который сможет это сделать или хотите решить задачу своими силами?
Своими силами .
Своими силами .
Ответ Arsie вносит понимание, как это сделать?
Своими силами .
Типовой сценарий решения такой задачи:
Пишется программа (на C, Go или другом подходящем языке программировани) с прямым доступом к последовательному порту.
Программа получает кадр и пересылает полученные данные (в вашем примере -- 20/21 байт) в последовательно расположенные Modbus-регистры (в вашем примере -- 10/11 штук) по протоколу Modbus/TCP, которые доступны из программы на FBD.
Программа на FBD занимается конечной обработкой данных.
Иногда разумнее разместить в программе с прямым доступом к последовательному порту предварительную обработку данных и передачу в программу на FBD только требуемых значений, а не всего подряд.
Так же, может быть вариант передачи значений в программу на FBD не по Modbus/TCP, а через разделяемую память.
Для решения задачи потребуются следующие знания:
1) опыт работы с C или другим языком программирования;
2) опыт работы с операционной системой GNU/Linux, включая основы администрирования и программирования;
3) опыт работы с Modbus/TCP и просто TCP или понимание, как использовать библиотеку передачи значений через разделяемую память.
SvetlanaS
10.10.2019, 14:26
Ответ Arsie вносит понимание, как это сделать?
Можно ли организовать данный проект просто на FDB ?
А не заниматься "анонизмом" на С, только для того, чтобы получить данные .:help-01::chas:
Можно ли организовать данный проект просто на FDB ?
А не заниматься "анонизмом" на С, только для того, чтобы получить данные .:help-01::chas:
Просто на FBD нельзя. А если бы не было возможности заниматься на "C", то и вообще нельзя было бы решить задачу без дополнительных устройств.
А т.к. доступен "С", то можно решить задачу практически любой сложности, это очень мощный и универсальный инструмент и очень хорошо, что в Segnetics дали возможность его использовать.
Можно ли организовать данный проект просто на FDB ?
А не заниматься "анонизмом" на С, только для того, чтобы получить данные .:help-01::chas:
Согласен с Gel, если вы хотите использовать штатные функции, то это modbus-rtu,modbus-tcp, остальное через с
SvetlanaS
10.10.2019, 16:40
Инструмент С отличная штука, только сделано это через "****":icq_no_wo
Другими словами, для достижения простейшей задачи получения сырых данных надо заниматься тем, что мне не нужно?
Шаблон хоть дайте, пожалуйста:zombie::surrender:blush:
Инструмент С отличная штука, только сделано это через "****":icq_no_wo
Другими словами, для достижения простейшей задачи получения сырых данных надо заниматься тем, что мне не нужно?
Шаблон хоть дайте, пожалуйста:zombie::surrender:blush:
А с точки зрения рядового программиста на C, программирование на FBD -- это программирование через "****". И для простейших решений задач C, на FBD приходится извращаться.
Такой, вот, когнитивный диссонанс...
SvetlanaS
10.10.2019, 17:32
А с точки зрения рядового программиста на C, программирование на FBD -- это программирование через "****". И для простейших решений задач C, на FBD приходится извращаться.
Такой, вот, когнитивный диссонанс...
Шаблон :))))у вас есть ?:Just_Cuz_21:
Шаблон :))))у вас есть ?:Just_Cuz_21:
Так все по ссылке (https://forum.segnetics.com/showpost.php?p=50390&postcount=2) Арсения.
А что за устройство шлет само по себе данные и что это за данные Вы в курсе? Без этого можно даже не начинать...
Так все по ссылке (https://forum.segnetics.com/showpost.php?p=50390&postcount=2) Арсения.
А что за устройство шлет само по себе данные и что это за данные Вы в курсе? Без этого можно даже не начинать...
как с языка сняли)))))
Шаблон )))у вас есть ?
интерфейс RS-485,по нему передаются байты без протокола 9600,8N1.
Тип такой:
24 DC 5F E2 39 2E 00 00 00 0C 00 00 00 00 00 24 28 01 8B DD 69
со скоростью 1 раз в 10сек.
Какой протокол использует ваше устройство, как там реализован этот протокол?
wildwind1978
27.10.2021, 17:49
Уважаемые разработчики, на Matrix возможно реализовать нестандартные протоколы из Linux на Си?
Вообще выглядит очень странно. По функционалу это выходит не ПЛК, а программируемое реле.
Уважаемые разработчики, на Matrix возможно реализовать нестандартные протоколы из Linux на Си?
Можно. Тему с начала прочтите. :nono:
А ядро Лоджика вообще не занимается обменом данными по каким либо протоколам. Только через шареды.
Вообще выглядит очень странно.
Согласен, ваше сравнение выглядит очень странно, когда ответ на ваш же вопрос есть уже во втором сообщении этой темы.
wildwind1978
29.10.2021, 10:06
Я уточнял, потому как в теме значится не ПЛК Matrix, а SMH-2G(i). Вдруг в Matrix нужно что то дорабатывать. Сорри
vBulletin v3.8.7 (Russian), Copyright ©2000-2024, Jelsoft Enterprises Ltd.