30.05.2017, 09:07 | #1 |
Новичок
Регистрация: Aug 2015
Сообщения: 29
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Програмирование на С
Ножно ли написать программу на С или без Fbd не обойтись?
|
30.05.2017, 09:17 | #2 |
Senior Member
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили:
3 раз(а) в 3 сообщениях
|
Ответ: Програмирование на С
|
30.05.2017, 09:33 | #3 |
Новичок
Регистрация: Aug 2015
Сообщения: 29
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Програмирование на С
Пока все, что нашёл это работа с переменными для FBD. Работы с периферией не нашёл, API тоже.
|
30.05.2017, 10:10 | #4 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Програмирование на С
Так вы для какого контроллера ищете? 2Gi?
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
30.05.2017, 10:45 | #5 |
Новичок
Регистрация: Aug 2015
Сообщения: 29
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Програмирование на С
Есть 2Gi, но могу и другой приобрести.
|
30.05.2017, 10:54 | #6 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Програмирование на С
Смотря какой функционал вам нужен. Из кода на си можно легко получить доступ к портам и даже дисплею. Вопрос только в том, умеете ли вы это делать. Если вы этого не умеете - руководства вроде "быстрый старт" вам не помогут. Если же вы знаете линукс и программирование в нём - то никакие руководства вам уже не нужны.
Что же касается аппаратных входов/выходов - к ним тоже есть доступ из линукса, и если управление ими через лоджик вас не устраивает - то по запросу могут быть предоставлены данные о соответствии выводов процессора аппаратным входам/выходам контроллера. И я не уверен, но вроде при этом гарантия слетает. Поэтому, если так хочется, я рекомендую вам просто использовать лоджик, а какой-либо хитрый алгоритм управления можно на си реализовать, но управления io всё равно оставить лоджику. Так точно ничего не сгорит. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
30.05.2017, 12:03 | #7 |
Новичок
Регистрация: Aug 2015
Сообщения: 29
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Програмирование на С
Ну дак мне и нужно API. Си я умею.
Если есть возможность получить доступ к микросхеме, вообще хорошо. |
30.05.2017, 12:08 | #8 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Програмирование на С
Нет никакого API, это же не вебсервер. Есть линукс с его принятыми алгоритмами работы с системами и философия "всё есть текстовый файл". Если для вас это не является ответом на вопрос - значит вам следует изучать программирование в linux, всякие там понятия вроде fifo и так далее.
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
30.05.2017, 12:36 | #9 |
Новичок
Регистрация: Aug 2015
Сообщения: 29
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Програмирование на С
Если мне нужно какой либо из портов поставить в единицу, то как они обозначаются на си?
Ps насчёт API вы сильно заблуждаетесь. |
30.05.2017, 13:01 | #10 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Програмирование на С
Чтобы писать в порт - надо отключить лоджик от порта. Писать через fifo соответствующего порта, читать там же. Что есть - лежит в /dev. Лучше использовать соответствующие библиотеки. Но даже там доступ есть не ко всему.
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
30.05.2017, 13:06 | #11 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 098
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Програмирование на С
Цитата:
Последовательные порты нужно предварительно отключить в лоджике (чтобы лоджик их не занимал). __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
30.05.2017, 13:54 | #12 | |
Новичок
Регистрация: Aug 2015
Сообщения: 29
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Програмирование на С
Цитата:
Ps без Fbd не обойтись( |
|
30.05.2017, 14:01 | #13 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Програмирование на С
А вы озвучьте вашу задачу. Быть может, на fbd сделать не только легче, но и быстрее...
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
30.05.2017, 14:07 | #14 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 098
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Програмирование на С
Цитата:
Причины: 1) Разруливание, выполняемое лоджиком 2) Зависимость от квалификации программиста 3) Трудоёмкость техподдержки Поэтому на Си можно писать только подпрограммки. Примеры и механизм взаимодействия с лоджиком есть и он описан. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
30.05.2017, 14:13 | #15 |
Новичок
Регистрация: Aug 2015
Сообщения: 29
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Програмирование на С
|
30.05.2017, 15:11 | #16 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Програмирование на С
У меня вначале тоже так было. Несколько живых проектов и критика исходников позволили преодолеть этот момент.
Не вижу никакой задачи, которая бы буквально "2 строчки си в день fbd" выливалась. Со временем набираются макросы и всё становится сильно легче. Кроме того, большинство задач управления уже разрулено на фбд, остаётся только посмотреть как, и сделать по-своему,ну или переделать чужое. На это форум годится просто замечательно. Считаю, что в контексте 2Gi есть смысл использовать сишный код только в нестандартных случаях. Например - подключение к контроллеру прибора не modbus, работа с внешними флешками, работа с собственным веб-сервером и т.д.. Задачи же общепромышленного назначения решаются в фбд. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
01.06.2017, 07:46 | #17 |
Senior Member
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили:
3 раз(а) в 3 сообщениях
|
Ответ: Програмирование на С
|