26.07.2017, 16:42 | #1 |
Новичок
Регистрация: Jul 2017
Сообщения: 11
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Свободное программирование
Здравствуйте.
Интересует опыт превращения контроллера SMH4 в полноценный планшетный компьютер. Стоит задача организовать панель оператора, с использованием языка программирования C++(Qt), нам нужно будет написать интерфейс, при помощи которого оператор сможет обмениваться информацией с сервером и использовать сканер штрих кодов. В руководствах описаны способы дополнения SMLogix функциями на с++, но для нашей компании наиболее эффективным решением будет самостоятельная разработка интерфейса без изучения среды SMLogix. В какую сторону копать? PS. Как, в случае установки чистого Debian, можно будет получать данные по протоколу Modbus с энергомонитора? И возможно ли все это в принципе? |
26.07.2017, 16:44 | #2 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 115
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Свободное программирование
Давайте пойдём от обратного. Чистый Debian поддерживает протокол Modbus?
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
26.07.2017, 16:56 | #3 |
Новичок
Регистрация: Jul 2017
Сообщения: 11
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Свободное программирование
|
26.07.2017, 17:00 | #4 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 115
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Свободное программирование
Вы определитесь наконец, вам нужен "чистый" Debian или всё же "грязный", который сидит в контроллере и работает со всем его железом и протоколами.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
26.07.2017, 17:06 | #5 |
Новичок
Регистрация: Jul 2017
Сообщения: 11
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Свободное программирование
Если есть возможность отключить весь "лишний" функционал и дать нашей программе монопольное управление интерфейсом, то сойдет и "грязный". Дайте пожалуйста инструкцию по реализации такого плана. Или скажите почему это невозможно. Я же не спорить пришел, а чтобы научиться и понять.
|
26.07.2017, 17:10 | #6 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Свободное программирование
Моё личное мнение - у вас есть 3 пути.
1: Принять лоджик как он есть, делать бОльшую часть проекта в нём, а на си согласовать только протокол обмена со сканером штрих-кода и обмен данными с сервером. Оптимальный, я считаю, путь. Минимум изменений корневой системы. 2: Полностью отказаться от лоджика. Здесь вас поджидают серьёзные сложности в виде заморочек с экранными библиотеками, драйверами устройств ввода и портов. Нужен квалифицированный программист линукс, а по хорошему - несколько. По сути, они должны будут создать программу, работающую с экраном и периферией контроллера. 3: Самый сложный путь "джедая". Вы полностью создаёте свою сборку ОС с преферансомъ и куртизанками. Хоть даже с х-сервером. Для этого требуется профессиональная команда разработчиков. Я бы действовал по первой схеме, так как это наименее "кровопролитный" путь. Не нужно изучать тонкости вывода на экран и ввода, можно предоставить это лоджику. И уж если вы задаётесь вопросом программирование на С++, вас точно не должно смущать "изучение" smlogix, так как это совсем просто, по сравнению с плюсами... __________________ В сегнетиксе не работаю с самого начала 2019 года. |
26.07.2017, 17:21 | #7 | |
Новичок
Регистрация: Jul 2017
Сообщения: 11
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Свободное программирование
Цитата:
|
|
26.07.2017, 17:27 | #8 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Свободное программирование
Я знаю, что либо ваш программист недостаточно компетентный, либо вы с ним ещё не разговаривали.
Если программист умеет С++ -у него не возникнет вопросов про библиотеки. Плюсы уметь мало, ещё нужны хотя бы минимальные познания Linux. Вся работа с библиотеками идёт аналогично компьютеру. Ну или, скорее, raspberry pi. Для любого программиста, умеющего в си, разобраться в лоджике - ну пару часов времени. Уж точно быстрее, чем найти библиотеки sdl и прочие необходимые вещи для создания своего интерфейса. Конкретно у меня никаких библиотек нет. Все свои эксперименты я делал сам, принципиально не обращаясь к разработчикам, т.к. это было бы не честно. Один из них мы даже опубликовали сюда. Можете посмотреть, неплохой такой "хэлоуворлд" на Си+Лоджик. Проект для trim5, но в smh4 всё то же самое. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
26.07.2017, 17:30 | #9 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 115
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Свободное программирование
Вы готовы взять на себя функции, выполняемые системным меню контроллера?
Если нет, то поднимать вопрос о монопольном доступе как минимум рано. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
26.07.2017, 17:39 | #10 | |
Новичок
Регистрация: Jul 2017
Сообщения: 11
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Свободное программирование
Цитата:
1) Загружается система. 2) Загружается ПО производителя. 3) Вызывается наше ПО (ПО производителя в фоне), мы можем обмениваться данными с железом используя стандартные функции ПО производителя, а на экран выводится RDP или интерфейс разработанной нами программы. В противном случае мы можем делать интерфейс только в рамках системы SMLogix что связывает нам руки в применении нестандартных визуальных эффектов. Есть ошибка в этом подходе? |
|
26.07.2017, 17:58 | #11 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Свободное программирование
По 3 пункту есть замечания. Например ПО производителя, которое обменивается данными с устройствами - это ядро smlogix. если вы его не используете - вы не получаете никаких данных. Вам придётся компилировать свою программу с соответствующими библиотеками.
Если вы можете вот так вот сразу подключить RDP на системе без х-сервера - это сразу должно гарантировать достаточный уровень ваших возможностей, чтобы вообще не вести этот разговор. Какого рода нестандартные визуальные эффекты вас интересуют? Через SMLogix можно сделать почти всё. Например, посмотрите, что здесь лежит. Там и скриншоты и видео. Всё через SMLogix сделано стандартными средствами разработки. Поддержаны жесты по экрану и так далее. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
26.07.2017, 18:06 | #12 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 115
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Свободное программирование
Цитата:
Поддерживаю Gromov, что вам не стоит выходить на пределы лоджика в интерфейсе. Вы делаете очень много допущений в словах, которые говорят о крайне малом опыте в работе с промустройствами. Вероятность получения устройства-"кирпича" очень велика. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
26.07.2017, 18:34 | #13 | |
Новичок
Регистрация: Jul 2017
Сообщения: 11
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Свободное программирование
Цитата:
Найти программистов не проблема, если знать какие вопросы нужно решать. Я не программист, я менеджер. Мне нужно понять реализуема ли задача на вашем железе и какое время и средства потребуются для ее воплощения. 256 Мб оперативки и 4 Гб флеш памяти с процом на 1 Ггц использовать чтобы крутить 2д графику на вентиляторик - это кощунство какое-то. Нужно потоковое видео, интерактивные графики и т.п. Почему вся автоматика должна быть как будто она из 1990 года? Последний раз редактировалось Windo, 26.07.2017 в 18:55 |
|
26.07.2017, 18:52 | #14 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 115
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Свободное программирование
Цитата:
Т.к. вы их не понимаете, то вы по объективным причинам не сможете оценить время и средства для достижения задачи. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
26.07.2017, 18:54 | #15 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Свободное программирование
Линукс на базе ядра Debian. Без х-сервера. Графический ускоритель имеется даже.
Не знаю, пробовал ли кто-то из наших разработчиков запускать иксы на триме, но мне кажется, что не пробовали. Иксы сожрут много оперативной памяти, которой там и так не очень много. Пакеты устанавливаются как и везде на линуксе. Компиляция там и всё такое. Где лежит пример - я уже показал. Там наглядно показано, как всё ставится. Ну и про то, что мы не говорим вам о проблемах - это вы зря. В сообщениях выше изложено уже не мало основных сложностей, которые возникнут. Это и системное меню, и драйвера на устройства ввода/вывода, и остальные вещи. На линуксе всё можно сделать. Если только знать как. Собственно говоря, всё и упирается в то, насколько ваши специалисты квалифицированы. Вот что они могут сделать на линуксе - то они смогут сделать и на контроллере. А рекомендация наша про смлоджик - она не потому что "мы так хотим" или "нам лень объяснять/заморачиватся". Просто так легче с любой точки зрения. Ну и дешевле, в конце концов. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
26.07.2017, 19:03 | #16 | |
Новичок
Регистрация: Jul 2017
Сообщения: 11
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Свободное программирование
Цитата:
Драйвера у Вас имеются как у разработчиков? |
|
26.07.2017, 19:17 | #17 |
Новичок
Регистрация: Jul 2017
Сообщения: 11
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Свободное программирование
Ваш контроллер обладает несколькими +:
Линукс как предустановленная система. Наличие сенсорного интерфейса. Наличие кнопок. Интерфейсы ethernet, rs485, rs232. Демократичная цена. Российский производитель. Других решений на рынке с таким комплексом параметров просто нет, а уж тем более Российских. Но важно наличие драйверов для возможности нам создать продукт на основе Вашего. |
27.07.2017, 11:17 | #18 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 115
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Свободное программирование
Я не могу ответить на этот вопрос понятным для вас образом. Хотя бы потому, что в линуксе нет драйверов, аналогичных виндовс-машинам.
В линуксе эту работу выполняет пара "модуль+драйвер". То, что вы просите, называется в линуксе "модулем" и сам по себе модуль вам не пригодится, т.к. "драйвер", использующий и консолидирующий эти модули, называется "ядро SMLogix". Я вам уже раза 3 или 4 писал: ваша задача реализуема, но не теми способами, какие вы перед собой видите. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
27.07.2017, 14:06 | #19 | |
Новичок
Регистрация: Jul 2017
Сообщения: 11
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Свободное программирование
Цитата:
|
|
27.07.2017, 14:45 | #20 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 115
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Свободное программирование
Цитата:
Слов "Получить данные по модбасу и вывести на интерфейс" маловато для анализа. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
27.07.2017, 15:03 | #21 | |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили:
21 раз(а) в 21 сообщениях
|
Ответ: Свободное программирование
Цитата:
Опять же программисты, незнакомые с АСУТП очень часто негативно относятся к FBD по причине того что что им просто лень вникать во что-то новое. Один такой мне как-то раз сказал что ему лень возится с вашими непонятными контроллерами, я лучше за это время 50 шаблонов на PHP наделаю и денег нормально заработаю. PS еще добавлю... такие программисты (как мне попался) часто бьют себя в грудь мол да я да на С да на линуксе!!! да я такие сборки линукса делал с 3D меню еще в далеком 2001 году когда никому такое и не снилось! А потом когда сталкиваются с ПЛК говорят что им проще шаблоны лепить чем курить маны и разбираться в непонятном контроллере. PPS рекомендую Вам также путь смлоджика с симбиозом на С++ по минимуму. |
|
27.07.2017, 15:29 | #22 |
Новичок
Регистрация: Jul 2017
Сообщения: 11
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Свободное программирование
Функционал:
1) авторизация пользователя в системе с помощью радио метки или сканера штрих кода. 2) загрузка списков из базы данных с через определенные интервалы времени. 3) работа пользователя со списком из п. 2, выбор определенных строк, подтверждение действия и отправка этого факта в базу данных. 4) сбор данных с регистратора электрических параметров Овен МЭ110-220.3М (интерфейс RS485), хранение 1 сутки, выгрузка данных на сервер. 5) создание экранов с инструкциями для оператора, которые можно обновлять через ethernet. 6) автоматизация п.3 с использованием сканера штрих кода со сопроводительных документов. |
27.07.2017, 15:42 | #23 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 115
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Свободное программирование
Цитата:
1) Интерфейс? Протокол? Оба варианты или один из них? 2) Способ? Интерфейс? Тип БД? 3) Просто выбор из списка с отправкой номера выбранной строки? 4) Интерфейс RS485. Протокол? 5) Интерфейс? Протокол? Критерии сравнения данных со сканера и данных из БД? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
27.07.2017, 16:04 | #24 | |
Новичок
Регистрация: Jul 2017
Сообщения: 11
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Свободное программирование
Цитата:
2) Стандартный SQL запрос к базе данных PostgresSQL, по интерфейсу TCP-IP (ethernet + VPN). 3) Выбор из списка и отправка номера выбранного элемента в соответствии с БД + метка времени. 4) ОВЕН или ModBus-RTU или ModBus-ASCII или DCON. любой, который поддерживает контроллер. 5) аналогично п.1, критерий - полное совпадение номера. |
|
27.07.2017, 18:54 | #25 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Свободное программирование
Задайте вопрос вашему программисту, сможет ли он сделать всё это на raspberry pi3. если он уверенно скажет, что да - вероятно, он справится и с smh4, так как архитектура у них родственная (arm). Существенные различия в работе с графикой. Тач скрин и интерфейсные порты представлены в самом обычном, для линукса, виде. К входам/выходам доступа не будет без smlogix.
Есть такая тема. Относительно поддержки ПО - всё применимо к этому объяснению. Об условиях индивидуального взаимодействия всегда можно поговорить с менеджерами отдела продаж. __________________ В сегнетиксе не работаю с самого начала 2019 года. |