Преобразование P# к DBW - как отменить?
Преобразование P# к DBW - как отменить?
Ввожу параметр функционального блока как P#DB37.DBX0.0 BYTE 2
По завершению ввода Step7 определяет что для этого адреса есть символ, и автоматом заменяет введенный мною Pointer на символ "TestDB".var_int, что мне совершенно не нужно.
Как отменить автозамену ?
По завершению ввода Step7 определяет что для этого адреса есть символ, и автоматом заменяет введенный мною Pointer на символ "TestDB".var_int, что мне совершенно не нужно.
Как отменить автозамену ?
Last edited by SNike on Fri Feb 22, 2013 6:44 am, edited 1 time in total.
Re: Преобразование P# к символу - как отменить?
Обсуждение на форуме Siemens
Last edited by SNike on Fri Feb 22, 2013 6:43 am, edited 1 time in total.
Re: Преобразование P# к символу - как отменить?
А если просто убрать символьное имя самого DB из таблицы символов?SNike wrote:Как отменить автозамену ?
Re: Преобразование P# к DBW - как отменить?
Не помогает. Как оказалось вообще приведение идет не к символу а к DBW (на форуме Siemens уже это обсудили, ссылка в предыдущем посте)
ps
тему переименовал
ps
тему переименовал
Re: Преобразование P# к DBW - как отменить?
P#DBX 0.0 BYTE 2
Re: Преобразование P# к DBW - как отменить?
не уловил мыслиsania wrote:P#DBX 0.0 BYTE 2
можно пояснить?
Re: Преобразование P# к DBW - как отменить?
1
Show
2
Show
Re: Преобразование P# к DBW - как отменить?
Ок, сейчас проверю в действии
Re: Преобразование P# к DBW - как отменить?
Так и я из спортивного интереса
Первый вариант не работает. Что интересно - FB14 ошибку не дает, но и данные не пишет.
Первый вариант не работает. Что интересно - FB14 ошибку не дает, но и данные не пишет.
Re: Преобразование P# к DBW - как отменить?
IMHO, подобное поведение STEP'a зависит от блока.
Ваш FB14 требует на входе ADDR_1 указатель, а для RD_1 - число типа INT. В соответствии с этими требованиями STEP преобразует символьное имя в разный тип, т.е. из-за стандартов ЯП Simatic происходит явная типизация данных, и от этого никуда не деться.
Ваш FB14 требует на входе ADDR_1 указатель, а для RD_1 - число типа INT. В соответствии с этими требованиями STEP преобразует символьное имя в разный тип, т.е. из-за стандартов ЯП Simatic происходит явная типизация данных, и от этого никуда не деться.
Re: Преобразование P# к DBW - как отменить?
FB14 не требует на RD_1 тип Int, там тоже AnyPointer. На счет преобразования - таблица символов тут не участвует, описал выше.
FB14 не мой - он из стандартной библиотекиRex2701 wrote:Ваш FB14
Re: Преобразование P# к DBW - как отменить?
Попробовал второй вариант - тоже не подходит. При указании в SFC20 P#DB37.DBX0.0 BYTE 2 этот AnyPointer Step7 тоже автоматом превращает в DBW0
Похоже что тут либо STL, либо в DB добавить еще переменную Int и указать P#DB37.DBX0.0 BYTE 4, что на практике я и сделал. Видно никому особо не нужно передавать только одну переменную, вот и не обращали внимания.
Похоже что тут либо STL, либо в DB добавить еще переменную Int и указать P#DB37.DBX0.0 BYTE 4, что на практике я и сделал. Видно никому особо не нужно передавать только одну переменную, вот и не обращали внимания.