может тогда поделитесь, почему Вас больше интересовала черепаха, чем возможность писать в плк на Си, этой возможности ни кто ведь не скрывает http://www.kipshop.ru/CoDeSys/steps/codesys_v23_ru.pdf стр.215
может тогда поделитесь, почему Вас больше интересовала черепаха, чем возможность писать в плк на Си, этой возможности ни кто ведь не скрывает http://www.kipshop.ru/CoDeSys/steps/codesys_v23_ru.pdf стр.215
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Элементы на Си точно могут сломать программу. Чистый ОЛ хотя бы гарантирует отсутствие системных ошибок или зависания. Но дать возможность для желающих самим делать подобие макроса на Си - это было бы хорошим инструментом для продвинутых и закрыло бы этот вопрос. Но доступа к ресурсам всё равно не дадут, к прерываниям например, так что это все бесперспективно.
Последний раз редактировалось Серёга Букашкин; 17.03.2017 в 13:18.
Легко. В.Ситников любезно предоставил свой инструментарий, при помощи которого я легко решил свою задачу.
Еще раз выражаю благодарность В.Ситникову за его бескорыстный труд на благо всех.
Попробуйте то же самое сделать на C, о результатах доложите.Один уже недавно пробовал, кажется до сих пор пробует.
![]()
Последний раз редактировалось Newcomer; 17.03.2017 в 13:18.
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Если бы "подобие макроса на Си" можно было сделать за неделю программирования, то ещё можно было бы обсуждать "стоит-не стоит" "взорвётся-не взорвётся".
Но сама только реализация "возможности создания макроса на Си" потребует много времени. Потом уйма времени на объяснение "продвинутым" того, как этой возможностью пользоваться. Потом уйма времени на объяснение "почему ОЛ не работает".
В общем одни расходы, а доходов никаких. Разве что мифическая фраза "возможность самим делать подобие макроса на Си".
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Владимир Ситников - запросто можно обратиться только к памяти функционального блока, в рамках которого реализована функция (макрос) на С или другом языке - иначе макрос перестает работать везде, как в ПР так и в симуляции ОЛ.
Вопрос в реализации...
Скажем есть область памяти для переменных, отвели пользователю от сих до сих, при проверке в ОЛ за диапазоном - ОШИБКА и невозможность загрузить программу в ПР.
Я ведь не говорю, о прямом программировании ПР на другом языке. Я говорю о том, же, о чем вы сами когда-то говорили, о возможности писать функции простым способом a+b-(c+d) а не квадратиками внутри макроса. ессно с большим функционалом, например расчете логарифмов, косинусов, синусов и т.д. в общем ряда готовых функций, внедренных в прошивку ПР и возможности их использовать при вызове.
В том-то и дело, что для Си тяжело сделать проверку доступа к памяти.
Сам по себе язык не предназначен для написания надёжных программ.
Он предназначен для низкоуровневых программ, а в ПР-ПЛК гораздо важнее надёжность, чем низкоуровневость, скорость и т.п.
Пример того, кто пытается прикрутить C к ПЛК действительно показателен. "до сих про пытается".
Делать в ОЛ какой-то свой (не 61131) язык дело неблагодарное.
Делать ST в ОЛ будет тяжело и долго. Посмотрите сколько делают ОЛ 1.9. Уже вышла версия? Может, там много новых возможностей? Может, там кардинально ПР дорабатывалось?
Ничего этого нет, и тут ОВЕН верен своей стабильности.
a+b-(c+d) сделать непросто, да и патриарх не позволит, в чём будет прав.
Ну, да, раз в год, может, и будет появляться один новый блок. Логарифм, косинус, корень.
А, может, и не будет, ведь макросы-то есть. Зачем в прошивку смуту вносить?