Страница 39 из 45 ПерваяПервая ... 293738394041 ... ПоследняяПоследняя
Показано с 381 по 390 из 524

Тема: Возможность программирования на более низком, чем ОЛ схемы уровне

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    capzap ОЛ вроде как написан на C#, а там как и во многих языках все математические функции уже присутствуют.
    А исходники самого ОЛ мне никто не даст, так что осталось дело за самими разработчиками, имея на руках то, что есть, сделать плагин формул для макросов при их создании.

    По мне, пусть хотя бы начнут с + - * и / с учетом типа int и float применительно к ОЛ. Если что-то начнет получаться, дать исходники плагина людям, авось и косинусы с тангенсами прикрутят.
    Тут всё не так просто.
    Функции языка, на котором написан ОЛ тут непричём.
    C# получит формулу в виде строки символов. А считаться эта формула должна функциями, заложенными в контроллер.
    Т.е., строку нужно будет "распарсить" (прочитать и перевести в последовательность команд, понятную уже софту контроллера).
    Задача не то чтобы суперсложная, но и не простая.
    А поддержку функций необходимо будет добавлять в прошивку ПР.
    То, что умеет c# - он умеет только на компьютере, но не на контроллере.

  2. #2
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,260

    По умолчанию

    pop70 наверное я вас удивлю, но программу вы РИСУЕТЕ на обычном ПК, а уж распарсить строку ему под силу и перевести макрос в понятный вид согласно последовательности математических действий, выделенных скобками и записать это в прибор думаю тоже под силу.
    А еще учитывая, что прошивку нельзя скачать из ПР нет необходимости заниматься извращением опять из "квадратиков" создавать текстовое представление.

    Было бы желание как говорится. Банально символы можно проверять на этапе ввода для простых мат функций. чекбокс предусмотреть на будущее (с проверкой/без проверки) ввода. Останется только скобки проверить, что все пары на месте. Писал уже выше, саму логику проверять не надо, это останется на совести писателя.
    А при добавлении функций в дальнейшем, проверить текст cos, tan, pi и так далее тоже не составит труда
    Последний раз редактировалось melky; 26.07.2017 в 23:43.

  3. #3

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    pop70 наверное я вас удивлю, но программу вы РИСУЕТЕ на обычном ПК, а уж распарсить строку ему под силу и перевести макрос в понятный вид согласно последовательности математических действий, выделенных скобками и записать это в прибор думаю тоже под силу.
    А теперь сравните это с тем, что вы говорили выше:
    Цитата Сообщение от melky Посмотреть сообщение
    ОЛ вроде как написан на C#, а там как и во многих языках все математические функции уже присутствуют.
    Да, "распарсить, перевести, согласно, скобками" под силу. Но одно дело "всё уже присутствует", а совсем другое, когда нужно мало того, что распарсить, так нужно ещё и ошибки показать, и в ПР-понятный вид привести, и симуляцию поддержать и так далее. Как верно заметил capzap, подобным "распарсиванием" можно заниматься "вплоть до выхода на пенсию"

    Вот вам свежий пример. Есть язык программирования Ceylon. Язык появился в 2011, и его продвигает RedHat. В 2016-ом нашли ошибку, что в этом языке неправильно распознаются float значения. Значение 1.01 обрабатывается как 1.1.
    Ага, это в 21-ом веке. И над языком работал более чем 1 программист. И всё равно такую ошибку пропустили.

    Если перенести на ПР реалии, где "распарсиванием" будет заниматься один-единственный программист, то шанс, что он не накосячит с парсингом стремится к нулю. Тут дело не только в самом программисте, как и в том, что проверять "свой" код гораздо сложнее. Что знал, то проверил, а что не знал, то и пробакланилось.


    Цитата Сообщение от melky Посмотреть сообщение
    А при добавлении функций в дальнейшем, проверить текст cos, tan, pi и так далее тоже не составит труда
    Ну, да, конечно. Пользователи все как один начнут писать "sin(tan)" или "sin*pi" или "sin(true)". Проверка правильности и выдача вразумительного сообщения об ошибке это не такая простая задача как вам кажется.

    Некая аналогия -- запрет циклов в ОЛ схемах. В 1.9 запретили, и всё равно возникают вопросы "а чего это у меня ОЛ ругается?".
    Т.е. сделать ошибку "у вас программа кривая" мало. Нужно делать вразумительные сообщения.

  4. #4

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Как верно заметил capzap, подобным "распарсиванием" можно заниматься "вплоть до выхода на пенсию"
    Не нагнетайте. Эту задачу уже множество раз решали. Есть и в сети примеры. Не боги горшки обжигают. У программиста, написавшего ОЛ, на это мозгов уж точно хватит. Было бы желание.

  5. #5

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    pop70 наверное я вас удивлю, но программу вы РИСУЕТЕ на обычном ПК, а уж распарсить строку ему под силу и перевести макрос в понятный вид согласно последовательности математических действий, выделенных скобками и записать это в прибор думаю тоже под силу.
    ПК сам ничего не делает. Делает программист.

  6. #6
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,640

    По умолчанию

    вообще я пытался добиться от мелкого, чтоб он на мое предложение не высказал позицию: моя хата с краю, пусть овен сделает, а условный Ситников добавит туда функционал, а сам скажет не вопрос, вот сделал, тестируй.
    Во вторых, предложил я задачу, чтоб осмыслить масштаб такой самостоятельной работы, потому что у каждой среды разработки есть свой FindBugs и любой текст гипотетически можно обработать не изобретая велосипед
    Только вот следующим встанет вопрос, как этому тексту эволюционировать в исполняемый код, на данный момент есть интерпретатор из графического языка в код понимаемый процессором, В.Ситников об этом много написал. И даже если формула будет банальной, простой или еще как то там, всёравно придется писать абстракцию, переводящую текст в некий п-код
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  7. #7
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,260

    По умолчанию

    Владимир Ситников и чего ? в C# тоже до сих пор есть ошибки, никто же не ноет, просто обходит их, нарвавшись.

    capzap вы таки думаете, что в ПР зашиваются картинки ? картинка всего лишь графическое отображение кода для пользователя ОЛ, а там банальные функции и их вызов.
    Еще раз, нет там графического языка внутри ОЛ, графический язык сделан для пользователей ОЛ, не более. Так называемое UI или GUI как хотите обзовите.

  8. #8
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,640

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    capzap вы таки думаете, что в ПР зашиваются картинки ? картинка всего лишь графическое отображение кода для пользователя ОЛ, а там банальные функции и их вызов.
    Еще раз, нет там графического языка внутри ОЛ, графический язык сделан для пользователей ОЛ, не более. Так называемое UI или GUI как хотите обзовите.
    Вот как раз я то думаю о противоположном, именно в ОЛ происходит интрпретация в машинные коды для ПР и именно там нужно добавлять интерпретатор для формул, раз они будут не графического типа
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  9. #9

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Владимир Ситников и чего ? в C# тоже до сих пор есть ошибки, никто же не ноет, просто обходит их, нарвавшись.
    И то, что у вас "всё просто", всего-навсего, нужно сделать парсер, компилятор, симулятор. Всего-навсего нужно обойти ошибки в C#. Всего-навсего нужно добавить операции +-/* и скобки, а потом всего-навсего нужно добавить функции, ведь найти sin вообще не составляет труда. А потом всего-навсего добавить поддержку даты, времени, знаковых чисел, битовых операций, массивов. В чём сложность-то вообще?

    Цитата Сообщение от melky Посмотреть сообщение
    Было бы желание как говорится.... А при добавлении функций в дальнейшем, проверить текст cos, tan, pi и так далее тоже не составит труда
    Так не работает. По сути, вы игнорируете все аргументы, и остаётесь при своём мнении "и так далее тоже не составит труда".

    У меня в таком случае 2 вопроса:
    1) Готовы сами сделать то, что по-вашему "не составляет труда"? Ну, парсер, валидатор, симулятор, поддержку обратной совместимости (так, чтобы в будущих версиях ОЛ старые формулы открывались и работали), понятные сообщения об ошибках. Потом, наверное, не составит труда добавить формулы и знаковые типы.
    Сколько фактического времени у вас это займёт? Неделя? Месяц? Год?

    2) Сколько денег по-вашему стоит пункт #1? Грубо говоря, если делать будете не вы, то сколько вы готовы заплатить программисту и за какой срок вы ожидаете от него реализацию?

    Возможно, у нас просто разные понимания слов "не составляет труда". Если что-то занимает год, то для меня это уже "составляет труд". А, возможно, для вас 10млн руб и 2 года работы это "не составляет труда".

  10. #10
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,260

    По умолчанию

    Для этого надо понимать полную структуру ОЛ.
    Лично для меня будет очень удивительно, если ОЛ код преобразует в графику, потом при записи в ПР графику опять преобразует в код, это тогда не программа, а какой-то горе продукт получается....

Страница 39 из 45 ПерваяПервая ... 293738394041 ... ПоследняяПоследняя

Похожие темы

  1. Ответов: 12
    Последнее сообщение: 10.04.2017, 10:33
  2. Ответов: 3
    Последнее сообщение: 07.11.2012, 11:37
  3. Ответов: 1
    Последнее сообщение: 28.04.2008, 21:21

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •