Страница 28 из 38 ПерваяПервая ... 182627282930 ... ПоследняяПоследняя
Показано с 271 по 280 из 374

Тема: Бэта-версия OWEN Logic 1.9

  1. #271

    По умолчанию

    Вообще-то, это "таблица переменных" существует только в проекте на компьютере. Очень удивлюсь, если она как-то (статически) живёт в конечном коде программы контроллера. Не должна эта таблица жрать память (контроллера) сама по себе. А экономить память в проекте...
    Т.е., смотрите. При наличии в проекте "именованных цепей" в проекте наверняка есть "таблица цепей", в дополнении к "таблице пользовательских переменных". Разница - только в названии, т.к. в конечном коде не будет ни "цепей", ни "пользовательских переменных"
    Я думаю, что "переменные" в проекте ОЛ никак не являются "переменными, используемыми в контроллере". Любой "промежуточный результат" - это "переменная", не важно как она называется в проекте - "именованное соединение" или "переменная". Так что, насчёт оптимизации памяти МК, и то, и другое - абсолютно равнозначно. Если, конечно, не использовать энергонезависимые или сетевые переменные, которые, действительно, занимают физическую память в конкретной физической области.

    Кто Вам такое сказал?
    Я ж и пишу о том, что выделять память под "пользовательские переменные" просто "чохом" было бы, мягко говоря, не оптимально. Эти "переменные" внутри в "глобальном" виде нужны ровно так же, как "глобальная переменная" на каждую связь из Вашей схемы.
    "Пользовательские переменные" - это ТОЧНО ТАКАЯ ЖЕ таблица, как "таблица цепей". "Оптимизация" таблицы пользовательских переменных в общем случае никак не относится к оптимизации кода для контроллера. Эти переменные всёравно никак и нигде, кроме как в самой программе недоступны.
    Так есть такая возможность. Через "переменные". Просто, таблица "именованных цепей" совмещена с таблицей "пользовательских переменных". Названия разные, а суть одна.

    Так, похоже необходимо провести ликбез

    Существует два вида переменных, глобальные и временные. Для глобальных (которыми и являются пользовательские переменные) место в ОЗУ отводится при компиляции программы, и оно заранее занято (под них в ОЛ отводится 32 килобайта, можете посмотреть в статусной строке программы). Для временных переменных существует так называемая "куча" - какой то объём памяти в ОЗУ. Во время выполнения программы при необходимости из этой кучи берется место под временную переменную. Одна и та же временная переменная (собственно говоря адрес в ОЗУ, и размер выделенной памяти) может использоваться в программе насколько раз, в совершенно разных операциях. Это необходимо для оптимизации использования памяти. После выполнения необходимых операций эта память возвращается в "кучу". То есть значения в этих переменных не сохраняются между циклами выполнения программы (официально цикл программы называется сканом программы). Соединения могут использовать как раз временные переменные, а глобальные используются для хранения значений между циклами программы и не могут быть переиспользованы.

  2. #272

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    разочарование года какое то, тот же Ситников извинятся десять раз заставит за несоблюдение правил, стандартов, с которыми профессионально работает только он. А тут, то эксплутационники сперва я так понимаю нанимают не сертифицированных исполнителей, затем в обход технологии правят на свое усмотрение программы, то оказывается роснефть перешла на бюджетный вариант, не желает вызывать специалистов, там видимо точно карманы набивают, вместо инвестиций в производство
    Ну вообще то у нас все асушники сертифицировны (у меня 6 сертификатов от сименса), ну и доработки оборудования (разработанные нами) согласовываем с Сименсом естественно. Бывают и замечания. Исправляем. Тут деньги большие завязаны, и той же Роснефти выгоднее иметь сертифицированных асушников у себя в штате и регулярно обучать их, чем вызывать разработчиков.

  3. #273

    По умолчанию

    Цитата Сообщение от Totuin Посмотреть сообщение
    Так, похоже необходимо провести ликбез
    Для глобальных (которыми и являются пользовательские переменные)
    Вот я Вас и спрашиваю. Кто Вам такое сказал?
    Зачем "пользовательские переменные" делать "глобальными", если "время жизни" их не превышает цикла программы? (не считая "линий задержки", сетевых и энергонезависимых переменных) Так же, как значение сигнала любой "именованной цепи".
    Всё остальное вытекает из этого Вашего утверждения.
    Соединения могут использовать как раз временные переменные, а глобальные используются для хранения значений между циклами программы и не могут быть переиспользованы.
    Покажите пример "пользовательской переменной" в ОЛ, которая хранит значения между циклами. Может быть, Вы правы. Но, на сколько я вижу, они даже инициализируются (получают значение) только в цикле, и между циклами вообще не существуют.
    Отладки "в железе" нет, из цикла в цикл ничего не хранится... Нафига их делать "глобальными"?
    Изображения Изображения
    Последний раз редактировалось pop70; 23.07.2017 в 21:43.

  4. #274
    Пользователь Аватар для rovki
    Регистрация
    03.01.2010
    Адрес
    Чехов
    Сообщений
    12,125

    По умолчанию

    Цитата Сообщение от Totuin Посмотреть сообщение
    Вы когда ни будь работали в эксплуатации? Это происходит где то так: Механы просят вывести новый параметр. Киповцы ставят датчик, и подключают его. Ну а асушники допиливают программу (с предложением вызвать для этого сименсов к руководству лучше не соваться - дорого, долго, да и вообще - "а зачем Вы то здесь, асушники"). То же касается и изменения алгоритмов (под изменившиеся внешние условия например, или устаревания оборудования, замена модулей новым поколением и т.д.). И это не шарашкина контора, а Роснефть.
    Сначала начальники пилили бюджет ,заказав разработку у сименса ,потом асушники премии получают ,меняя ,доделывая ...Надо отечественных искать разработчиков ,что бы потом в течении времени вносили изменения при необходимости ...или самим делать ,если такие грамотные и сертифицированные ...
    электронщик до мозга костей и не только

  5. #275

    По умолчанию

    Цитата Сообщение от rovki Посмотреть сообщение
    Надо отечественных искать разработчиков ,что бы потом в течении времени вносили изменения при необходимости ...или самим делать ,если такие грамотные и сертифицированные ...
    Отечественных разработчиков можно искать только у отечественных производителей... А они только нефть и производят.
    Или Вы правда думаете, что отечественный разработчик на сименсах сделает быстрее, лучше и дешевле, чем сименс?

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

    По умолчанию

    Цитата Сообщение от Totuin Посмотреть сообщение
    Ну вообще то у нас все асушники сертифицировны (у меня 6 сертификатов от сименса), ну и доработки оборудования (разработанные нами) согласовываем с Сименсом естественно. Бывают и замечания. Исправляем. Тут деньги большие завязаны, и той же Роснефти выгоднее иметь сертифицированных асушников у себя в штате и регулярно обучать их, чем вызывать разработчиков.
    я вобще то имел ввиду не прохождение курсов у сименса, как работать с ихним ПО, а о технологических познаниях в своей сфере производства.
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  7. #277

    По умолчанию

    Цитата Сообщение от pop70 Посмотреть сообщение
    Вот я Вас и спрашиваю. Кто Вам такое сказал?
    Зачем "пользовательские переменные" делать "глобальными", если "время жизни" их не превышает цикла программы? (не считая "линий задержки", сетевых и энергонезависимых переменных) Так же, как значение сигнала любой "именованной цепи".
    Всё остальное вытекает из этого Вашего утверждения.
    Покажите пример "пользовательской переменной" в ОЛ, которая хранит значения между циклами. Может быть, Вы правы. Но, на сколько я вижу, они даже инициализируются (получают значение) только в цикле, и между циклами вообще не существуют.
    Отладки "в железе" нет, из цикла в цикл ничего не хранится... Нафига их делать "глобальными"?
    Вот посмотрите пример
    Овен1.PNG
    Что тут происходит? В каждом цикле программе к переменной А прибавляется 1. А теперь скажите откуда контроллер в начале нового цикла будет знать какое значение было в конце предыдущего цикла? Это глобальная переменная, состояние которой сохраняется между циклами.
    А теперь посмотрим другой пример:
    Овен 3.PNG
    Здесь в каждом цикле к переменной А прибавляется 1 а затем это значение умножается на 10 и кладётся обратно в переменную А.
    Цепь помеченная стрелочкой (промежуточное значение) может использовать временную переменную. Значение в этой цепи нам не нужно в следующем цикле, в нём оно снова пересчитается. Причём эта временная переменная после записи значения в переменную А больше не нужна и может быть использована для хранения временных значений в другом вычислении как например в рисунке ниже
    Овен4.PNG

  8. #278

    По умолчанию

    Цитата Сообщение от rovki Посмотреть сообщение
    Сначала начальники пилили бюджет ,заказав разработку у сименса ,потом асушники премии получают ,меняя ,доделывая ...Надо отечественных искать разработчиков ,что бы потом в течении времени вносили изменения при необходимости ...или самим делать ,если такие грамотные и сертифицированные ...
    А нету их. Нас собирали (10 человек) шесть лет. Но надо стремиться. Я например стараюсь привлечь молодёжь к специальности АСУ с помощью своей программы (FLProg), и даже вроде что то получается, Овен считает эту затею коммерчески невыгодной (почитайте здесь ветку про ПР-КИТ), занятия в кружках для детей очень дорогие (что удивляться, все они на конструкторах ЛОГО - а цены на них заоблачные), ну а уровень обучения в наших институтах честно говоря упал ниже плинтуса. В почёте только экономические специальности, технические так, для галочки.

  9. #279

    По умолчанию

    Цитата Сообщение от Totuin Посмотреть сообщение
    Вот посмотрите пример
    Овен1.PNG
    Что тут происходит? В каждом цикле программе к переменной А прибавляется 1. А теперь скажите откуда контроллер в начале нового цикла будет знать какое значение было в конце предыдущего цикла? Это глобальная переменная, состояние которой сохраняется между циклами.
    А теперь посмотрим другой пример:
    Овен 3.PNG
    Здесь в каждом цикле к переменной А прибавляется 1 а затем это значение умножается на 10 и кладётся обратно в переменную А.
    Цепь помеченная стрелочкой (промежуточное значение) может использовать временную переменную. Значение в этой цепи нам не нужно в следующем цикле, в нём оно снова пересчитается. Причём эта временная переменная после записи значения в переменную А больше не нужна и может быть использована для хранения временных значений в другом вычислении как например в рисунке ниже
    Овен4.PNG
    Посмотрел.
    Обратите внимание на предупреждение.
    Т.е., с распознаванием "обратных связей" проблем нет.
    А значит, нет проблем и с тем, чтобы выбрать переменные, которые требуют "глобальности", и которые её не требуют.
    И всё это во время компиляции проекта.
    Изображения Изображения

  10. #280

    По умолчанию

    Цитата Сообщение от pop70 Посмотреть сообщение
    Отечественных разработчиков можно искать только у отечественных производителей... А они только нефть и производят.
    Или Вы правда думаете, что отечественный разработчик на сименсах сделает быстрее, лучше и дешевле, чем сименс?
    Да я например так думаю. И быстрее и дешевле.. У меня в среднем сейчас проходит 2-5 проектов в месяц.(занимаюсь фрилансем на свободную вахту) Часть на сименсе, часть на шнейдере, вот и овены попадаться начали. Заказчики разные. От РЖД до частников.(естественно работаю через официальные фирмы друзей). Да и остальные ребята у нас подрабатывают. Всё равно же месяц через месяц дома сидим)). У нас получается действительно дешевле и быстрее чем через официальных разработчиков сименса.

Страница 28 из 38 ПерваяПервая ... 182627282930 ... ПоследняяПоследняя

Похожие темы

  1. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Среда программирования OWEN Logic
    Ответов: 404
    Последнее сообщение: 25.08.2020, 15:17
  2. Owen Logic версия: 1.8.4 build 108 beta
    от Руслпн в разделе Программируемые реле
    Ответов: 108
    Последнее сообщение: 29.12.2015, 08:21
  3. Версия OWEN Logic.
    от smk1635 в разделе Трёп (Курилка)
    Ответов: 5
    Последнее сообщение: 25.05.2014, 22:18
  4. ПО OWEN Logic !!!
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 3
    Последнее сообщение: 11.10.2011, 16:33
  5. OWEN Logic 1.2.0.14b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 40
    Последнее сообщение: 21.02.2011, 14:16

Ваши права

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