Страница 55 из 1041 ПерваяПервая ... 545535455565765105155555 ... ПоследняяПоследняя
Показано с 541 по 550 из 10404

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

  1. #541

    По умолчанию

    кину, а на счет настройки pt 100 не чего сказать не можете?

  2. #542

    По умолчанию

    доброго времени суток.
    Есть ли в CoDeSys функциональный блок для копирования массива в массив, т.е. есть массив значений за день (24 элемента) его необходимо целиком скопировать в 1-ю ячейку массива за месяц (30 элементов) ??

  3. #543

    По умолчанию

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

  4. #544

    По умолчанию

    есть массив x[1...24], который надо скопировать в массив y [1...24] поэлементно. В st можно организовать все через цикл, но может быть есть библиотечная функция, которой можно сделать данную операцию в одно действие.
    как пользоваться SysLibCpy не понятно...

  5. #545
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    SysMemCpy(ADR(y),ADR(x),24)
    Такое правильно будет работать только для однобайтовых типов. Более универсальный вариант:
    Код:
    SysMemCpy(ADR(y), ADR(x), MIN(SIZEOF(x), SIZEOF(y)))

  6. #546

    По умолчанию

    capzap, Yegor спасибо, получилось!

  7. #547
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,318

    По умолчанию

    Фигня какая-то. Если
    есть массив x[1...24], который надо скопировать в массив y [1...24]
    и Xi и Yi одного типа, то просто :
    Y := X;
    Даже если Y двухмерный - Y[...,1..24]
    Y[i]:=X;
    если разного типа,то за исключением пар типа word/int/uint, манипуляция с sysmemcpy/move кинет просто мусор в Y, а "более универсальный вариант" просто застрахует от распространения мусора за пределы области Y и обращения к области за пределами X, и, часто, от зависания прям щас. Такая страховка с мin(sizeof1,sizeof2) для данного случая - как ношпа при апендиците. Лучше уж зависание прям щас на столе, чем в полях долго колупаться, выясняя почему проект как-то не так работает, и после долгих мучений обнаружить что в Y - мусор.

  8. #548
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Y := X
    Надо учиться со школьной программы заново :-D

  9. #549

    По умолчанию

    Продалжаю марафон простых вопросов от новичков..)
    Каким образом обнулить массив. Требуется, например, обнулить массив средних значений расхода за сутки в 00:00:00 часов?
    Имеется ввиду функция, которая производит обнуление массива в одно действие.

  10. #550
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    :-\
    Код:
    SysMemSet(ADR(X), 0, SIZEOF(X))

Страница 55 из 1041 ПерваяПервая ... 545535455565765105155555 ... ПоследняяПоследняя

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

Ваши права

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