Страница 606 из 759 ПерваяПервая ... 106506556596604605606607608616656706 ... ПоследняяПоследняя
Показано с 6,051 по 6,060 из 7583

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #6051

    По умолчанию

    Добрый день.
    Начинаю изучать CoDeSys и ПЛК160 и сразу возник вопрос.
    У ПЛК160 16 дискретных входов.
    Создал проект в CoDeSys начал переименовывать входы.
    В "Fast discrete inputs" 4 входа(на скрине пронумеровано №1), в "Discrete inputs" 2 блока, на одном (на скрине №2) написано 8 входов и там 8 переменных, во втором блоке(на скрине №3) 4 входа, но снова 8 переменных.
    plc160.JPG

    Не понял почему 4 входа, но 8 переменных. Проясните?
    И какие биты соответствуют каким входам на самом ПЛК, по номерам имею в виду?

  2. #6052

    По умолчанию

    Цитата Сообщение от DrOn55 Посмотреть сообщение
    Не понял почему 4 входа, но 8 переменных. Проясните?
    Переменных 8, потому что переменная, отвечающая за дискретные входы имеет тип BYTE (8 бит), типов менее 8 бит не существует.
    Поэтому был применен минимальный тип данных.

    Цитата Сообщение от DrOn55 Посмотреть сообщение
    И какие биты соответствуют каким входам на самом ПЛК, по номерам имею в виду?
    Значащие биты 0-3.

    Более подробно о соотнесении переменных со входами:
    Image 1.png

  3. #6053

    По умолчанию

    Осинский Алексей
    Огромное спасибо! Коротко и ясно.

  4. #6054

    По умолчанию

    Добрый день.

    Проект в CoDeSys 3.5 SP7 для СПК110. В глобальных переменных объявлено 26 RETAIN переменных INT и 26 RETAIN переменных WSTRING.
    В состав других объектов переменные не входят. При загрузке в режиме эмуляции получаю сообщение о недостатке энергонезависимой памяти. В сообщении также указано, что использовано 162 байта из доступных 124.

    С таким, относительно большим количеством RETAIN переменных сталкиваюсь впервые. Подскажите, пожалуйста, как поправить ситуацию?
    Последний раз редактировалось enyuzer; 03.10.2017 в 09:11.

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

    По умолчанию

    SIZEOF(arr2) сколько показывает? А при WSTRING(14)?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

  6. #6056

    По умолчанию

    SIZEOF(arr2) не научился пользоваться (не было проблем). При WSTRING(14) загрузка выполняетсябез ошибок.

  7. #6057

    По умолчанию

    Во вложении текст объекта "Глобальные переменные".
    Вложения Вложения

  8. #6058

    По умолчанию

    SIZEOF(arr2) сколько показывает?

    Массив не причем. Убрал его, а ситуация не изменилась совсем.
    При этом, c другими типами переменных нет вопросов.

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

    По умолчанию

    Цитата Сообщение от enyuzer Посмотреть сообщение
    SIZEOF(arr2) сколько показывает?

    Массив не причем. Убрал его, а ситуация не изменилась совсем.
    При этом, c другими типами переменных нет вопросов.
    а я разве говорил что проблема в массиве? Если Вы пишите что проблема в объеме памяти ретайнов, то внимательно присмотритесь из чего состоит Ваш ретайн, из строк с размером по умолчанию, а теперь попробуйте этим строкам задать фиксированный размер меньшего значения, чтоб хватало на самый длинный текст

    не научился пользоваться (не было проблем)
    так может сесть и поизучать основы программирования
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

  10. #6060

    По умолчанию

    Цитата Сообщение от enyuzer Посмотреть сообщение
    Добрый день.

    Проект в CoDeSys 3.5 SP7 для СПК110. В глобальных переменных объявлено 26 RETAIN переменных INT и 26 RETAIN переменных WSTRING.
    В состав других объектов переменные не входят. При загрузке в режиме эмуляции получаю сообщение о недостатке энергонезависимой памяти. В сообщении также указано, что использовано 162 байта из доступных 124.

    С таким, относительно большим количеством RETAIN переменных сталкиваюсь впервые. Подскажите, пожалуйста, как поправить ситуацию?
    WSTRING переменная по умолчанию занимает 162 байт памяти (81 символ по 2 байта на символ).
    В Вашем случае 26 переменных типа WSTRING займут 4212 байт.

    Я проверил, ошибка действительно должна выглядеть вот так:
    C0103: Out of retain memory: Variable 'm_awsTestWstrings', 4212 bytes (Largest contiguous memory gap 4064).

    Не совсем понятно, почему в Вашем случае всего 162 байта?
    Приложите, пожалуйста, проект.


    Какую задачу Вы решаете, сохраняя строки в энергонезависимой памяти?
    Опишите задачу, подумаем как еще ее можно решить.

Страница 606 из 759 ПерваяПервая ... 106506556596604605606607608616656706 ... ПоследняяПоследняя

Метки этой темы

Ваши права

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