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

Тема: Как разместить адресное пространство MODBUS в энергонезависимой области ПЛК?

  1. #1

    По умолчанию Как разместить адресное пространство MODBUS в энергонезависимой области ПЛК?

    прошу помощи..
    в разрешении вопроса размещения регистров MODBUS в энергонезависимой памяти ПЛК.
    Сейчас ПЛК не доступен, проверить не могу..

    если я объявляю регистры MODBUS в области RETAIN (на картинке переменные value_998 value_999),
    будут они сохранять свое значение или необходимо в цикле их переписывать в память RETAIN?

    Компилятор не ругается на такое объявление переменных..

    Спасибо большое.
    Изображения Изображения

  2. #2

    По умолчанию

    Тезисы:
    1. Все Slave-регистры в конфигурации ПЛК автоматичеси становятся RETAIN.
    2. Все такие вот переменные и настройки проще собрать в структуру и ОДИН раз отобразить её на память Slave в конфигурации ПЛК. Чтобы с прямыми адресами так не возиться.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  3. #3

    По умолчанию

    Цитата Сообщение от Васильев Посмотреть сообщение
    прошу помощи..
    в разрешении вопроса размещения регистров MODBUS в энергонезависимой памяти ПЛК.
    Сейчас ПЛК не доступен, проверить не могу..

    если я объявляю регистры MODBUS в области RETAIN (на картинке переменные value_998 value_999),
    будут они сохранять свое значение или необходимо в цикле их переписывать в память RETAIN?

    Компилятор не ругается на такое объявление переменных..

    Спасибо большое.
    Добавлять RETAIN при объявлении сетевых переменных с использованием прямой адресации не нужно и даже вредно, т.к. тогда не происходит присвоение начальных значений этим переменным

  4. #4

    По умолчанию

    благодарю
    по поводу второго пункта не понимаю как структуру отобразить на память Slave.
    разъясните пожалуйста. Я могу массив записывать в память slave, а как отобразить структуру?

  5. #5

    По умолчанию

    Цитата Сообщение от Васильев Посмотреть сообщение
    прошу помощи..
    в разрешении вопроса размещения регистров MODBUS в энергонезависимой памяти ПЛК.
    Сейчас ПЛК не доступен, проверить не могу..

    если я объявляю регистры MODBUS в области RETAIN (на картинке переменные value_998 value_999),
    будут они сохранять свое значение или необходимо в цикле их переписывать в память RETAIN?

    Компилятор не ругается на такое объявление переменных..

    Спасибо большое.
    Что вас всех так тянет указывать прямые адреса? Не нужно этого делать, достаточно дать имена переменным в конфигурации или или в глобальных и всё.
    Переменные в слейве (уже будут RETAIN) или в глобальных RETAIN.

  6. #6

    По умолчанию

    в конфигурации задавать - для меня не удобно..
    если придется что то поменять, то придётся очень долго делать изменения,
    а в файле переменных сделать изменения проще (для меня по крайней мере)

  7. #7

    По умолчанию

    Цитата Сообщение от Васильев Посмотреть сообщение
    благодарю
    по поводу второго пункта не понимаю как структуру отобразить на память Slave.
    разъясните пожалуйста. Я могу массив записывать в память slave, а как отобразить структуру?
    Тода делайте через структуру.
    Считаете сколько занимает места структура, если она повторяется умножаете на кол-во повторов и набиваете в слеве (Ctrl C, Ctrl V ) нужное кол-во 2Byte или 4 Byte .

  8. #8

    По умолчанию

    а как структуру скопировать в область slave?
    понятно массив присвоением...
    каждый элемент отдельно?

  9. #9

    По умолчанию

    Цитата Сообщение от Васильев Посмотреть сообщение
    а как структуру скопировать в область slave?
    понятно массив присвоением...
    каждый элемент отдельно?
    Вашу структуру просто кладёте по адресу первого регистра в набитой области в слейве, как раз тут используете 1 раз прямой адрес, всё.
    Вот тут примеры, если интересно, там обсуждений страниц на 10-15, почитайте

    https://owen.ru/forum/showthread.php?t=10555&page=987
    https://owen.ru/forum/showthread.php...&page=988#9876
    Последний раз редактировалось kondor3000; 02.11.2023 в 11:17.

  10. #10

    По умолчанию

    Цитата Сообщение от Васильев Посмотреть сообщение
    благодарю
    по поводу второго пункта не понимаю как структуру отобразить на память Slave.
    разъясните пожалуйста. Я могу массив записывать в память slave, а как отобразить структуру?
    Разъясняю скриншотами. Тезисы такие:
    1. Создаём в Slave нужное число регистров.
    2. Присваиваем переменную первому из них.
    3. Открываем Эксель и делаем таблицу из номеров регистров и их значений. Она же потом поможет программировать панель оператора и вообще в документацию пойдёт.
    4. Набиваем тип-структуру для удобства работы.
    5. Объявляем переменную-УКАЗАТЕЛЬ на этот тип.
    6. В задаче где-то в самом начале присваиваем адрес первого элемента Slave этому указателю.
    7. Дальше в коде обращаемся к указателю и через точку получаем все нужные регистры и поля.
    8. Для того, чтобы первый раз загрузить настройки по умолчанию, объявляем нашу же структуру константой с нужными значениями.
    В структуре делаем какой-нить флаг типа "SettingsOK" и, если он False - загружаем настройки по умолчанию.

    PO-Struct-1.gif PO-Struct-2.gif PO-Struct-3.gif PO-Struct-6.gif Clip.gif Clip_2.gif Clip_3.gif

    Просьба ВНИМАТЕЛЬНО изучить все скриншоты. И потом думать =)
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

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

Похожие темы

  1. Ответов: 9
    Последнее сообщение: 04.06.2019, 09:38
  2. Ответов: 9
    Последнее сообщение: 19.07.2016, 13:00
  3. адресное простраество OPM
    от lis471 в разделе OWEN Proces Manager
    Ответов: 3
    Последнее сообщение: 23.04.2014, 13:02
  4. Ответов: 4
    Последнее сообщение: 15.02.2010, 06:55

Ваши права

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