Показано с 1 по 10 из 27

Тема: Как записать по адресу указателя?

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,053

    По умолчанию

    Егор про тип указателя правильно сказал :
    v : тип
    pv : pointer to тип

    v:=pv^;
    pv^:=v;
    И syslibmem не нужен, и скорость таже (в отдельных случаях даже быстрее)

    Внутри структуры нет щелей
    К сожалению - есть. И struct ровняется под кварту в отличие от ФБ. И sizeof офлайн/онлайн - из-за этого могут отличаться. Но лично я тоже предпочитаю явное указание пустышек.

    не увлекайтесь SysLibMem, при частом её использовании, ПЛК "лажает"
    Ну тут бы я поспорил Лажает только при косяках пользователя. Но незачем ее неподелу трогать. И, по чесноку, у syslibmem есть (или была ) махонькая ошибка при юзании кучи. И еще бывают траблы c P : pointer to dword/real не выровненым под кварту.

    при ошибке в работе с указателями
    Причем лучше сразу попасть в недоступную память - чтоб сразу перезагрузка и разобраться. CheckPointer на стадии отладки может помочь.

    Кстати по Bitaddr можно добраться до бита - там типа сегментов в ПК. Но нужен сегмент. А битадр - это смещение этого бита в сегменте. А вот с сегментами разбираться нет желания. Причем в каждом ПОУ разные сегменты судя по всему, у i/o конфигурации тоже.

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

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Кстати по Bitaddr можно добраться до бита - там типа сегментов в ПК. Но нужен сегмент. А битадр - это смещение этого бита в сегменте. А вот с сегментами разбираться нет желания. Причем в каждом ПОУ разные сегменты судя по всему, у i/o конфигурации тоже.
    битадр даете указатель очень похожий на указатели в симатике, если прочитать еще можно по быстрому, то записать куда сложнее, чем городить целое поу, лучше пойти другими методами, вроде маски и т.д.

    по поводу SysLibMem, я вроде на веб-сервере попался, когда клеил строчки, при частом использовании результат был не тот, что записывал, экспериментировать долго не стал, перешел на CONCAT и поблема исчезла

    по поводу структур, в общем случае щелей нет, но если вставлять були между другими типами, то конечно будут и много чего можно еще придумать, чтоб появилась не стыковка

  3. #3

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    ...
    К сожалению - есть. И struct ровняется под кварту в отличие от ФБ. И sizeof офлайн/онлайн - из-за этого могут отличаться. ...
    Десять лет... и это единственное упоминание про минимальный размер структуры и про его различие для онлайн/офлайн - полдня проковырялся с этим размером

Похожие темы

  1. не записать с ИП-320 в ПЛК-110
    от DennisSV в разделе Панели оператора (HMI)
    Ответов: 9
    Последнее сообщение: 09.10.2013, 22:06
  2. Ответов: 3
    Последнее сообщение: 11.07.2012, 13:56
  3. как записать в память
    от Anton_Minsk в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 02.12.2008, 14:19
  4. Глюк при записи по адресу
    от superqwerty в разделе Трёп (Курилка)
    Ответов: 8
    Последнее сообщение: 15.09.2008, 09:07
  5. КАК записать уставку в ТРМ 138
    от незарегистрированный в разделе Помощь Разработчикам
    Ответов: 7
    Последнее сообщение: 10.05.2007, 17:51

Ваши права

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