Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 24

Тема: Использование указателей Pointer

  1. #11

    По умолчанию

    некоторые ST операторы можно писать прям в блоках CFC к примеру [adr(x)]--[pX^] ;
    а ниже пример где adr вынесен в отдельный блок
    Screen Shot 2013-12-04 at 3.34.41 PM.png

  2. #12

    По умолчанию

    Привет всем. Нуждаюсь в вашей помощи.
    Каким образом мне в подпрограмме собрать ДИНАМИЧЕСКИ имя переменной. Например в PHP я могу слепить имя переменной из двух строк, а потом тому что получилось присвоить значение.

    Например:

    Я назвал физический выход контроллера как DigitalOut1

    Снимок.JPG

    Потом в подпрограмму я отправляю две строки. Первая -DigitalOut, вторая - 1.

    В подпрограмме я склеиваю эти строки

    VarSTRING := CONCAT ('DigitalOut','1');

    и в переменной VarSTRING, я получил строку - DigitalOut1.

    Как в данном случае, после склеивания мне задать DigitalOut1:=true; ?

    Знаю что копать нужно в сторону pointer, но что то не получается....

  3. #13
    Banned
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,664

    По умолчанию

    Цитата Сообщение от lexx905 Посмотреть сообщение
    Привет всем. Нуждаюсь в вашей помощи.
    Каким образом мне в подпрограмме собрать ДИНАМИЧЕСКИ имя переменной. Например в PHP я могу слепить имя переменной из двух строк, а потом тому что получилось присвоить значение.

    Например:

    Я назвал физический выход контроллера как DigitalOut1

    Снимок.JPG

    Потом в подпрограмму я отправляю две строки. Первая -DigitalOut, вторая - 1.

    В подпрограмме я склеиваю эти строки

    VarSTRING := CONCAT ('DigitalOut','1');

    и в переменной VarSTRING, я получил строку - DigitalOut1.

    Как в данном случае, после склеивания мне задать DigitalOut1:=true; ?

    Знаю что копать нужно в сторону pointer, но что то не получается....
    Указатели Вам не помогут

  4. #14

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Указатели Вам не помогут
    А варианты реализации вообще есть?

  5. #15
    Banned
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,664

    По умолчанию

    Цитата Сообщение от lexx905 Посмотреть сообщение
    А варианты реализации вообще есть?
    обзываете начальный адрес памяти определенным именем и далее используя указатель перемещяетесь по памяти на столько байт, сколько лежит между переменными либо структуры, либо ПОУ либо конфигурации

  6. #16

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    обзываете начальный адрес памяти определенным именем и далее используя указатель перемещяетесь по памяти на столько байт, сколько лежит между переменными либо структуры, либо ПОУ либо конфигурации
    Взорвали мозг. Где в мануалах это можно увидеть? Или примеры...
    Никогда с этим не сталкивался...

  7. #17
    Banned
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,664

    По умолчанию

    там вообще все просто, из примеров: нужна конкретная задача, тогда и примеры кто нить выложит. А так по минимуму http://www.owen.ru/forum/showthread....l=1#post122956

  8. #18

    По умолчанию

    Спасибо, но если у вас есть время, хотелось бы поговорить подробнее...)

    из примера:

    sPnt:=ADR(slv); - slv - мои данные. Здесь я получил адрес где мои данные лежат. (Правильно понял?)
    sz := SIZEOF(sPnt^); - размер моих данных.

    Попробовал. Ни чего не понял... Простите...

    Снимок.PNG

  9. #19

    По умолчанию

    Спасибо! С ADR разобрался.

    Снимок.PNG


    Но данным образом я обращаюсь ко всем 16ти выходам. Конечно можно выдергивать их по отдельности типо первый выход мне нужно выставить 1, второй - 2, третий - 4, и т.д...
    Но это не очень удобно.
    А явно к %QX0.5 мне ни как нельзя обратиться?

  10. #20
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Вы бы задачу описали бы подробнее, может есть более простое решение.

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

Похожие темы

  1. Ответов: 23
    Последнее сообщение: 22.12.2010, 23:36
  2. POINTER TO what?
    от drvlas в разделе ПЛК (среда CoDeSys V2.3)
    Ответов: 34
    Последнее сообщение: 04.12.2010, 23:46
  3. Использование АС4
    от alex_sinjawin в разделе Сетевые технологии
    Ответов: 2
    Последнее сообщение: 10.11.2009, 18:31
  4. Использование таймеров
    от alex1963 в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 21.12.2008, 16:12
  5. Получение списка/указателей на ФБ проекта
    от Аркадий в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 05.03.2008, 18:22

Ваши права

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