некоторые ST операторы можно писать прям в блоках CFC к примеру [adr(x)]--[pX^] ;
а ниже пример где adr вынесен в отдельный блок
Screen Shot 2013-12-04 at 3.34.41 PM.png
некоторые ST операторы можно писать прям в блоках CFC к примеру [adr(x)]--[pX^] ;
а ниже пример где adr вынесен в отдельный блок
Screen Shot 2013-12-04 at 3.34.41 PM.png
Привет всем. Нуждаюсь в вашей помощи.
Каким образом мне в подпрограмме собрать ДИНАМИЧЕСКИ имя переменной. Например в PHP я могу слепить имя переменной из двух строк, а потом тому что получилось присвоить значение.
Например:
Я назвал физический выход контроллера как DigitalOut1
Снимок.JPG
Потом в подпрограмму я отправляю две строки. Первая -DigitalOut, вторая - 1.
В подпрограмме я склеиваю эти строки
VarSTRING := CONCAT ('DigitalOut','1');
и в переменной VarSTRING, я получил строку - DigitalOut1.
Как в данном случае, после склеивания мне задать DigitalOut1:=true; ?
Знаю что копать нужно в сторону pointer, но что то не получается....
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
там вообще все просто, из примеров: нужна конкретная задача, тогда и примеры кто нить выложит. А так по минимуму http://www.owen.ru/forum/showthread....l=1#post122956
Спасибо, но если у вас есть время, хотелось бы поговорить подробнее...)
из примера:
sPnt:=ADR(slv); - slv - мои данные. Здесь я получил адрес где мои данные лежат. (Правильно понял?)
sz := SIZEOF(sPnt^); - размер моих данных.
Попробовал. Ни чего не понял... Простите...
Снимок.PNG
Спасибо! С ADR разобрался.
Снимок.PNG
Но данным образом я обращаюсь ко всем 16ти выходам. Конечно можно выдергивать их по отдельности типо первый выход мне нужно выставить 1, второй - 2, третий - 4, и т.д...
Но это не очень удобно.
А явно к %QX0.5 мне ни как нельзя обратиться?
Вы бы задачу описали бы подробнее, может есть более простое решение.