|
SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании |
|
Опции темы | Поиск в этой теме |
17.11.2017, 16:26 | #1 |
Senior Member
Регистрация: Apr 2008
Сообщения: 204
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
С++ скрипты по простому
Подскажите есть ли в планах использования в лоджике кусков кода написанных на СИ или чем то подобном
насколько это сложно для дилетанта (пишу на с#) Насколько я понимаю СМарт ведь тоже своего рода компилятор |
17.11.2017, 16:31 | #2 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: С++ скрипты по простому
Посмотрите сюда. Но сразу скажу, что то, о чём вы говорите - не нужно почти во всех случаях применения программируемых контроллеров.
Смарт - он не тот компилятор, о котором вы думаете. Он преобразует всё то, что вы в нём редактируете - в фбд блоки. То же самое можно самостоятельно на фбд сделать, и даже больше. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
17.11.2017, 16:49 | #3 |
Senior Member
Регистрация: Apr 2008
Сообщения: 204
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: С++ скрипты по простому
я туда посмотрел там по моему программа которая ставится на тот же девайс что и фбд программа отсылает данные в порт того же компа на котором стоит данные которые потом получает фбд программа
как то через полено это а возможно ли получить доступ к входам выходам через библиотеки лоджика? |
17.11.2017, 16:54 | #4 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: С++ скрипты по простому
Ну а как сделать не через полено? Вам надо извлечь входные данные (для вашей подпрограммы) из лоджика, обработать их и передать обратно в лоджик. Т.е. полюбому туда-сюда надо протаскивать. Модбас на локалхосте подходит для этой задачи. Ещё можно шмемами, но для этого нужен тулчейн.
Получается, лоджик записывает в буфер модбаса, ваш код читает этот буфер, обрабатывает, снова возвращает в буфер модбаса, затем лоджик получает от туда. Лоджик итак получает доступ к входам выходам. Если вы про возможность управлять входами/выходами из своих приложений - то это только без лоджика. Нужно будет написать свой драйвер и всё такое. Я знаю о людях, которые это делали, потому что им было очень надо (очень нетипичная задача). Хочу подчеркнуть: в подавляющем большинстве применений контроллеров - это всё не нужно. Хватает лоджика. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
17.11.2017, 16:59 | #5 |
Senior Member
Регистрация: Apr 2008
Сообщения: 204
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: С++ скрипты по простому
А не подскажите примерное время передачи скажем 50-70 параметров
туда обратно тормозить сильно буде программы? хотелось бы уложится в 100 мс учитывать надо что будет и мс и мр -ы шт 6 не меньше |
17.11.2017, 17:02 | #6 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: С++ скрипты по простому
Я не измерял. Но это же передача модбас и оно вне лоджика. Так что эти данные будут передаваться асинхронно. Т.е. нельзя сказать, что в определённый момент времени определённые данные точно передались или нет.
А что вы хотите реализовать таким образом? __________________ В сегнетиксе не работаю с самого начала 2019 года. |
17.11.2017, 17:04 | #7 |
Senior Member
Регистрация: Apr 2008
Сообщения: 204
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: С++ скрипты по простому
определенного рода кас кадный регулятор
со сложным взаимодействием с упраляемыми устройствами в фбд слишком сложно выходит ) |
17.11.2017, 17:08 | #8 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 085
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: С++ скрипты по простому
Цитата:
50-70 параметров это максимум 280 байт. Нет, тормозить не будет. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
17.11.2017, 17:11 | #9 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: С++ скрипты по простому
Такие вещи выходят на фбд точно так же как на плюсах. Главное - сразу продумать структуру, чтобы лишнего не городить и не лепить кучу костылей и велосипедов. Я почти точно уверен, что это можно на фбд реализовать, и при этом достаточно элегантным решением. Которыми, кстати, полнится конструкторский проект по вентиляции. Из разговора с Арсением я узнал, что пока он делал конструктор вентиляции - ему ни разу не захотелось ничего написать на с++, потому что не надо.
Вам стоит оценить трудозатраты и риски. Ведь кто знает, что изменится в дальнейшем, будет ли работать ваша программа и всё остальное. Очень рекомендую вам, всё-таки не использовать вставки на с++ в основном алгоритме программы. По моему мнению - польза линукса и с++ в контроллерах заключается в возможности написания собственного протокола обмена данными по интерфейсам, или возможности архивирования данных, бэкапов всяких. Плюс огромное непаханное поле интернет-взаимодействий, которое открывается с установкой, например, nodejs на контроллер. Но никак не в теле основной программы... Либо тогда полностью выпиливать лоджик и писать всё на С. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
21.11.2017, 22:32 | #10 | |
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Ответ: С++ скрипты по простому
Цитата:
Наоборот, это получается масштабируемо и проще в отладке. Т.к. с такой схемой вы можете отладить свою программу на обычном компьютере, а потом просто ее перенести на контроллер, перекомпилировав под него. За счет некоторого снижения эффективности передачи вы заметно выигрываете в простоте и скорости разработки, что во многих случаях важнее. А если без необходимости пытаться экономить байты, микросекунды и т.п., то от этого будет только вред. |
|