Страница 1 из 5 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 46

Тема: Очень не хватает адресации памяти

  1. #1

    По умолчанию Очень не хватает адресации памяти

    Вопрос к инженерам-разработчикам компании:
    Можно ли выделить адресную песочницу в RAM и предоставить к ней доступ по физическим адресам для программирования ПР200?
    Внешне это может выглядеть как пара функций для каждого типа данных, а именно:
    1. Принять значение на входе и записать его по укзанному адресу;
    2. Взять значение по указанному адресу и передать на выход.

    При реализации функциий можно предусмотреть, что адрес не может быть меньше одного числа и не может быть больше другого. Фактически это определяет положение и размер сегмента RAM, отдаваемого на нужды пользователя.
    Последний раз редактировалось Базальт; 08.06.2018 в 03:03.

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

    По умолчанию

    Вы бы подробнее такие вещи описывали а то возьмут и сделают, потом будете жаловаться что не то хотели. Чем доступ к памяти отличается от обычных переменных? Чем это предложение отличается и просьбы создания глобальных переменных?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  3. #3

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Вы бы подробнее такие вещи описывали а то возьмут и сделают, потом будете жаловаться что не то хотели. Чем доступ к памяти отличается от обычных переменных? Чем это предложение отличается и просьбы создания глобальных переменных?
    Можно поподробнее как алгоритм работы со средой программирования:
    1. Создается проект и выбирается модель ПР;
    2. В свойствах проекта определяется, какой размер пользовательского сегмента RAM вы хотите иметь (от 0 до допустимого для каждой модели максимума).
    3. Пусть, к примеру, пользовательский сегмент всегда выделяется как верхний сегмент RAM. Тогда после выбора размера пользовательского сегмента в отдельном окошке Status Bar появляется минимально допустимый адрес для работы с ним. С этого момента, используя адресные функции, вы можете как угодно распоряжаться своим куском памяти.

    Основное назначение - это создание различных структур управления хронологическими данными: массивов, стеков, очередей, хэш-таблиц и т. д.
    Последний раз редактировалось Базальт; 08.06.2018 в 14:53.

  4. #4

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Вы бы подробнее такие вещи описывали а то возьмут и сделают, потом будете жаловаться что не то хотели. Чем доступ к памяти отличается от обычных переменных? Чем это предложение отличается и просьбы создания глобальных переменных?
    Это хороший запрос! Если б можно было как в ассеблере пиши-читай по адресу. В ОЛ лучше не по истинному, а условному, начинающемуся с "0". Допускаю чтобы у них не было энергонезависимости, пусть RAM . Есть целый класс функций, когда переменную удобнее вычислять из массива. Сейчас приходится производить лишние маневры для достижения аналогичного результата.
    Последний раз редактировалось Серёга Букашкин; 08.06.2018 в 16:56.

  5. #5
    Пользователь
    Регистрация
    08.04.2015
    Адрес
    Воронежская область
    Сообщений
    1,249

    По умолчанию

    Цитата Сообщение от Базальт Посмотреть сообщение
    Можно поподробнее как алгоритм работы со средой программирования:
    1. Создается проект и выбирается модель ПР;
    2. В свойствах проекта определяется, какой размер пользовательского сегмента RAM вы хотите иметь (от 0 до допустимого для каждой модели максимума).
    3. Пусть, к примеру, пользовательский сегмент всегда выделяется как верхний сегмент RAM. Тогда после выбора размера пользовательского сегмента в отдельном окошке Status Bar появляется минимально допустимый адрес для работы с ним. С этого момента, используя адресные функции, вы можете как угодно распоряжаться своим куском памяти.

    Основное назначение - это создание различных структур управления хронологическими данными: массивов, стеков, очередей, хэш-таблиц и т. д.
    Если вы не привыкли работать с OWEN Logic1.11.161 то можно работать в Codesys и писать программы для ПЛК . Но здесь что есть то и есть. Хотя можно привыкнуть .
    Я Сам перешел на ПР200 потому что цена -функционал удовлетворило руководство . Хотя пишу и на ассемблере (автоматика собственного производства) и в Codesys . Но почему то ПР200 подорожали.
    И может произойти так ПЛК63 с равняется с ценой ПР200.4.2.0 . И напрасны усилия .
    Последний раз редактировалось Алексеев; 08.06.2018 в 16:25.

  6. #6

    По умолчанию

    Цитата Сообщение от Алексеев Посмотреть сообщение
    можно работать в Codesys и писать программы для ПЛК . Но здесь что есть то и есть. Хотя можно привыкнуть.
    Прогресс ОЛ всё же существует, особенно если смотреть на базе нескольких лет он точно есть. А если не подсказывать что стоит добавить будет точно застой.

  7. #7

    По умолчанию

    Цитата Сообщение от Алексеев Посмотреть сообщение
    может произойти так ПЛК63 с равняется с ценой ПР200.4.2.0 . И напрасны усилия .
    ПЛК63 тоже подорожают.

  8. #8

    По умолчанию

    Цитата Сообщение от Базальт Посмотреть сообщение
    В свойствах проекта определяется, какой размер пользовательского сегмента RAM вы хотите иметь
    Прямой доступ к памяти противоречит надёжности ПР/ОЛ.
    Поэтому прямой доступ к RAM это точно не про ПР/ОЛ.

    Цитата Сообщение от Базальт Посмотреть сообщение
    Основное назначение - это создание различных структур управления хронологическими данными: массивов, стеков, очередей, хэш-таблиц и т. д.
    А как вы собираетесь хэш-таблицу реализовывать?
    Статичную или динамичную?

    В ОЛ же циклов ещё не изобрели (и не изобретут!), поэтому делать хэш-таблицы в ОЛ можно только от большой печали. Как вы собираетесь разрешать хэш коллизии?

    А массив, да, давно пора. Что-нибудь в духе блока "массив" и блоков "записать по индексу", "прочитать по индексу".
    На базе массива очередь, стек несложно сделать.

    Но, достоверно известно что для всего этого уже есть макросы, а разработка массивов в ОЛ лишь отвлечёт программистов от по-настоящему полезной работы, и понизит стабильность ОЛ.
    Поэтому массивов в ОЛ не будет.

  9. #9

    По умолчанию

    Цитата Сообщение от Алексеев Посмотреть сообщение
    Если вы не привыкли работать с OWEN Logic1.11.161 то можно работать в Codesys и писать программы для ПЛК . Но здесь что есть то и есть. Хотя можно привыкнуть .
    Я Сам перешел на ПР200 потому что цена -функционал удовлетворило руководство . Хотя пишу и на ассемблере (автоматика собственного производства) и в Codesys . Но почему то ПР200 подорожали.
    И может произойти так ПЛК63 с равняется с ценой ПР200.4.2.0 . И напрасны усилия .
    Вы правы, это вопрос цены. А ПР200 производит неплохое впечатление. Формально всё есть, но ничего лишнего. Вот только STM32 слишком хороший процессор для того способа программирования, который предлагает ОЛ. Адресация памяти эту проблему могла бы смягчить. А программирование напрямую с блок-схемы часто даже полезно. Хотя иметь альтернативу в виде программирования на Си для ПР200 тоже хотелось бы. Тем более, что именно так (+ на ассемблере) этот процессор во всем мире и программируется.

  10. #10

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Прямой доступ к памяти противоречит надёжности ПР/ОЛ.
    Поэтому прямой доступ к RAM это точно не про ПР/ОЛ.
    Проконтролировать адрес на этапе разбора логической схемы не сложнее, чем найти циклический переход, с чем ОЛ успешно справляется.

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    А как вы собираетесь хэш-таблицу реализовывать?
    Статичную или динамичную?
    При необходимости можно подумать о Perfect Hash на битовой логике для небольших таблиц.

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Но, достоверно известно что для всего этого уже есть макросы, а разработка массивов в ОЛ лишь отвлечёт программистов от по-настоящему полезной работы, и понизит стабильность ОЛ.
    Поэтому массивов в ОЛ не будет.
    Вам виднее ...
    Последний раз редактировалось Базальт; 08.06.2018 в 20:28.

Страница 1 из 5 123 ... ПоследняяПоследняя

Похожие темы

  1. Ответов: 32
    Последнее сообщение: 20.10.2017, 07:38
  2. Не хватает выходов
    от sanek55900 в разделе Программируемые реле
    Ответов: 32
    Последнее сообщение: 24.04.2017, 09:55
  3. Не хватает RS 232.
    от mettled в разделе Подбор Оборудования
    Ответов: 6
    Последнее сообщение: 17.01.2013, 11:43
  4. непонятные знаки при адресации ИП320
    от desperadoes в разделе Панели оператора (HMI)
    Ответов: 4
    Последнее сообщение: 25.07.2011, 12:14
  5. Система адресации
    от saniyo в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 21.01.2011, 15:45

Ваши права

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