Управление преобразователем Sinamics через механизм PKW

Приводная техника / Преобразователи частоты / Приводы постоянного тока / Двигатели и мотор-редукторы
Khakimullin
Дилетант
Сообщения: 23
Зарегистрирован: 25 сен 2015, 15:15

Управление преобразователем Sinamics через механизм PKW

Сообщение Khakimullin »

CHANt писал(а):Да, для 1500 такое спокойно в SCL, а вот с 1200 пока никак.
Тоже вот не могу понять, в чем проблема загнать всю линейку PLC в одинаковые рамки ТИА Портал, чувство остается, что все сырое)))
Здравствуйте!
Можно пример?

Аватара пользователя
CHANt
Профессионал
Сообщения: 565
Зарегистрирован: 13 окт 2012, 15:24

Re: Косвенная адресация в TIA портале

Сообщение CHANt »

Пример чего?

Khakimullin
Дилетант
Сообщения: 23
Зарегистрирован: 25 сен 2015, 15:15

Re: Косвенная адресация в TIA портале

Сообщение Khakimullin »

CHANt писал(а):Пример чего?
Пример того, как реализовать адресацию в SCL, если конкретнее, то мне нужно адресация с CU320-2 PN (S120) и CPU1500, адрес в S120 (DB2280.DBD4096) нужно изменять из CPU.
Спасибо

Аватара пользователя
CHANt
Профессионал
Сообщения: 565
Зарегистрирован: 13 окт 2012, 15:24

Re: Косвенная адресация в TIA портале

Сообщение CHANt »

Подробней по обмену с Синамиксом и PLC. Что делаем, чего пытаемся достичь, используя обмен по Профинету?
Что за адресация - DB2280.DBD4096? В синамиксе такой DB точно нет. Там вообще нет DB. Да и для контроллера DB с таким большим номером допустима? И надо ли... Описывайте, думаю тут вообще косвенная адресация не нужна, если идет речь об асинхронном обмене...

Khakimullin
Дилетант
Сообщения: 23
Зарегистрирован: 25 сен 2015, 15:15

Re: Косвенная адресация в TIA портале

Сообщение Khakimullin »

CHANt писал(а):Подробней по обмену с Синамиксом и PLC. Что делаем, чего пытаемся достичь, используя обмен по Профинету?
Что за адресация - DB2280.DBD4096? В синамиксе такой DB точно нет. Там вообще нет DB. Да и для контроллера DB с таким большим номером допустима? И надо ли... Описывайте, думаю тут вообще косвенная адресация не нужна, если идет речь об асинхронном обмене...
Мне необходимо параметры ПИД регулятора p2280 и р2285 изменять из ЦПУ, в HMI панеле адрес именно такой DB2280.DBD4096 и DB2285.DBD4096 и всё работает, но мне нужно изменять именно из ЦПУ, да и не обязательно SCL
Спасибо

Khakimullin
Дилетант
Сообщения: 23
Зарегистрирован: 25 сен 2015, 15:15

Re: Косвенная адресация в TIA портале

Сообщение Khakimullin »

Khakimullin писал(а):
CHANt писал(а):Что за адресация - DB2280.DBD4096? В синамиксе такой DB точно нет. Там вообще нет DB. Да и для контроллера DB с таким большим номером допустима?
https://cache.industry.siemens.com/dl/f ... _final.pdf

Аватара пользователя
CHANt
Профессионал
Сообщения: 565
Зарегистрирован: 13 окт 2012, 15:24

Re: Косвенная адресация в TIA портале

Сообщение CHANt »

1) Как вариант - если пример работает, то причина Вашего не успеха может быть в том, что Р2280 и Р2285 нельзя изменять на ходу, только при остановленном приводе. Так в документации написано для G120, как для S120 я не уверен. С панели на ходу перестраивает?
2) А как в контроллере Вы составляете запрос в Синамиксу? Т.е. там должен быть раздел где число из панели поступает в адрес DB2285.DBD4096, а Вам нужно отключить это в панели и подать свое число вместо начального.

Khakimullin
Дилетант
Сообщения: 23
Зарегистрирован: 25 сен 2015, 15:15

Re: Косвенная адресация в TIA портале

Сообщение Khakimullin »

CHANt писал(а):1) Как вариант - если пример работает, то причина Вашего не успеха может быть в том, что Р2280 и Р2285 нельзя изменять на ходу, только при остановленном приводе. Так в документации написано для G120, как для S120 я не уверен. С панели на ходу перестраивает?
p2280 Technologieregler Proportionalverstärkung / Tec_reg Kp
Änderbar: U, T Berechnet: - Zugriffsstufe: 2
Datentyp: FloatingPoint32 Dynamischer Index: - Funktionsplan: 7958
P-Gruppe: Technologie Einheitengruppe: - Einheitenwahl: -
Nicht bei Motortyp: - Normierung: - Expertenliste: 1

Да мне бы хотя бы прочитать этот параметр из s120, а потом уже думать как записать)))
CHANt писал(а):2) А как в контроллере Вы составляете запрос в Синамиксу? Т.е. там должен быть раздел где число из панели поступает в адрес DB2285.DBD4096, а Вам нужно отключить это в панели и подать свое число вместо начального.
так вот собственно я и не знаю как это делать, если смотреть по аналогии с HMI, то нужно сначала связь как то прописать, а потом и адресация подтянется, а как эту связь прописать я и не знаю. В HMI там просто, в раздел "Связь" заходишь и прописываешь, как в примерке из PDF. Через телеграммы я так понял, нельзя эти параметры менять.

Аватара пользователя
CHANt
Профессионал
Сообщения: 565
Зарегистрирован: 13 окт 2012, 15:24

Re: Косвенная адресация в TIA портале

Сообщение CHANt »

1) U, T - Вот это и означает, что изменять можно, но в силу вступает после выхода из этого состояния. Т.е. менять на ходу смысла нет. По мне так, проще до ПЧ дойти и поменять)))
2) Тож самое, конфигурируй раздел связи аналогично HMI. Далее, я так понимаю, что там где-то, в проекте панели, данные из формы, четко грузятся в структуру телеграммы. посмотри для себя, как делают. Ну и поищи на сайте глобальной поддержки, примеры организации связи по PKW, т.е. ассинхронному обмену. Там придется самому писать запрос, читать ответ, слать число и подтверждать его.

Khakimullin
Дилетант
Сообщения: 23
Зарегистрирован: 25 сен 2015, 15:15

Re: Косвенная адресация в TIA портале

Сообщение Khakimullin »

CHANt писал(а):1) U, T - Вот это и означает, что изменять можно, но в силу вступает после выхода из этого состояния. Т.е. менять на ходу смысла нет. По мне так, проще до ПЧ дойти и поменять)))
уж слишком далеко идти))))
CHANt писал(а):2) Тож самое, конфигурируй раздел связи аналогично HMI. Далее, я так понимаю, что там где-то, в проекте панели, данные из формы, четко грузятся в структуру телеграммы. посмотри для себя, как делают. Ну и поищи на сайте глобальной поддержки, примеры организации связи по PKW, т.е. ассинхронному обмену. Там придется самому писать запрос, читать ответ, слать число и подтверждать его.
так тут и проблема, аналогично HMI связь не получается сконфигурировать, а PKW только через телеграмма, а через телеграммы не предаются эти параметры)))
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя
CHANt
Профессионал
Сообщения: 565
Зарегистрирован: 13 окт 2012, 15:24

Re: Косвенная адресация в TIA портале

Сообщение CHANt »

Э, не. Давай не путать связь и работу с ПЧ. Связь в хардваре настраивай, также как и в хардваре настраивается панель с ПЧ.
А вот обмен данным PKW в PLC надо писать ручками, альтернатив нет. Да и в панели где-то макрос сидит, который и собирает телеграммы для ассинхронного обмена, т.е. пользователя "разводят" на простоту работы ))) Ищи пример по PKW у сименса, можно и по синамиксам, можно и по микромастерам и вперед. Два параметра всего))) А через PZD по синхронному обмену - да, нельзя их передать, так как требуется подтверждение на изменение.

Khakimullin
Дилетант
Сообщения: 23
Зарегистрирован: 25 сен 2015, 15:15

Re: Косвенная адресация в TIA портале

Сообщение Khakimullin »

CHANt писал(а):Э, не. Давай не путать связь и работу с ПЧ. Связь в хардваре настраивай, также как и в хардваре настраивается панель с ПЧ.
А вот обмен данным PKW в PLC надо писать ручками, альтернатив нет. Да и в панели где-то макрос сидит, который и собирает телеграммы для ассинхронного обмена, т.е. пользователя "разводят" на простоту работы ))) Ищи пример по PKW у сименса, можно и по синамиксам, можно и по микромастерам и вперед. Два параметра всего))) А через PZD по синхронному обмену - да, нельзя их передать, так как требуется подтверждение на изменение.
да про связь в хардваре это понятно)), а вот каким образом "пользователя "разводят" на простоту работы" вотэто интересно, посмотреть бы на этот макрос))) ладно буду дальше думать)
спасибо за советы

Аватара пользователя
CHANt
Профессионал
Сообщения: 565
Зарегистрирован: 13 окт 2012, 15:24

Re: Косвенная адресация в TIA портале

Сообщение CHANt »

Времени бы))) Давно есть желание сесть и разобраться с формированием телеграмм для асинхронного обмена в контроллере... Так что если начнешь делать, спрашивай, делись, может потом пример для будущих поколений состряпаем))) Куда положить готовую то понятно, вот остальное надо разложить по полкам)))

Аватара пользователя
CHANt
Профессионал
Сообщения: 565
Зарегистрирован: 13 окт 2012, 15:24

Re: Косвенная адресация в TIA портале

Сообщение CHANt »

Покопался в своих записях и архивах, предлагаю начать создать свою программку запроса/ответа.

Код: Выделить всё

Создаем, к примеру, DB100 со следующей структурой:
Посылаемая телеграмма:
DBW0 WORD это будет адрес параметра PKE
DBW2 WORD это будет индекс параметра IND
DBW4 WORD это будет старшее слово значения параметра PWE1
DBW6 WORD это будет младшее слово значения параметра PWE2
Принимаемая телеграмма:
DBW8 WORD это будет адрес принятого параметра PKE
DBW10 WORD это будет индекс принятого параметра IND
DBW12 WORD это будет старшее слово значения принятого параметра PWE1
DBW14 WORD это будет младшее слово значения принятого параметра PWE2

Далее, сложности – до параметра синамикса Р2000 величина параметра записывается в PKE (DBW0) напрямую, т.е. если запрашиваешь Р0305 (305 десятичное) то число НЕХ будет W#16#131.
Если параметр синамикса Р2280, то надо отнять 2000 (>W#16#7D0) и оставшуюся величину записать по адресу PKE (DBW0), а в индексе IND (DBW2) установить 15 бит (признак что параметр выше 2000). W#16#8000
Значение DBW4 и DBW6 пока нулевые остаются
Формируем входные данные на разрабатываемую функцию, типа:
wr_Adress_1 WORD 
wr_Index_2 WORD 
wr_word_3 WORD // параметр Hi 
wr_word_4 WORD // параметр Lo 
But_INPUT BOOL //нажата кнопка на запрос на панели
Формируем выходные данные разрабатываемой функции:
rd_word_1 WORD // адрес в ответе 
rd_word_2 WORD // индекс в ответе 
rd_word_3 WORD // значение бывает слово / двойное / реал 
rd_word_4 WORD // значение 

Темповые переменные:
Wait BOOL //ждем ответа от частотника
REC_15 INT //код ошибки SFC15
SEND_14 INT// код ошибки SFC14
Пишем свою программу запроса/ответа Синамикса. Я на STL буду, нет под рукой ни степа, ни портала. Начинаем сравнивать что за номер параметра запрашиваем:
L #wr_Adress_1; //адрес параметра 
L W#16#7D0; //для адресов больше 2000 надо отнять 2000 и установить бит адресов 
>=I ; //сравниваем
JCN Tr01; // адрес <2000 то уход на метку Tr01
-I ; // если адрес >2000 = адрес -2000
T DB100.DBW0; //записываем в DB100 в слово адреса DBW0
L W#16#8000; // Устанавливаем 15 бит в индексе
T DB100.DBW2; //записываем в DB100 в слово адреса DBW2
JU End ; //выходим из сравнения
Tr01: L #wr_Adress_1
T DB100.DBW0; //записываем в DB100 в слово адреса DBW0
JU End ; //выходим из сравнения
End: L W#16#0; 
T DB100.DBW4; //записываем нуль в значение параметра старшего слова
T DB100.DBW6; //записываем нуль в значение параметра младшего слова

Начинаем передачу телеграммы:
A #But_INPUT; //если нажата кнопка запроса на панели, то
JCN End1; //Если не нажата то на метку окончания программы, иначе
//Считываем запрос PKW с помощью SFC15 "DPWR_DAT", ТИАпортале такая функция есть
CALL "DPWR_DAT"
LADDR := W#16#ххх,// адрес PKW частотника смотрим в хардваре
RECORD := P#DB100.DBX8.0 BYTE 8,// записываем 8 байт в db100 
RET_VAL:= REC_15;// код ошибки
A #Wait; //Если есть бит ожидания ответа, то 
JCN DDAT; //идем на метку повторной посылки телеграммы с запросом, иначе
S #Wait; // выставить флаг ожидания ответа 
//чтение PKW с помощью SFC14 
DDAT: CALL "DPRD_DAT" 
LADDR := W#16#ххх,// адрес PKW частотника в хардваре
RET_VAL := #SEND_14, // код ошибки 
RECORD := P#DB100.DBX0.0 BYTE 8);//8 байт пишем в db100

L DBW8; // адрес ответа 
L DBW0; //адрес запроса 
==I ; // адрес ответа должен совпадать с адресом запроса - иначе это ответ на другой запрос 
JCN End1; //ждать ответа на этот запрос 
R #Wait; // если равны значения, то сбросить флаг ожидания ответа 
End1: NOP 0; //завершили
Прости что не оформлено.
Если удастся разобраться, то получив ответ от ПЧ, проанализируй что пришло в PWE1 и PWE2. Разберись в размерностях. Потом попробуй поменять значение в ПЧ в Р2280 и снова запроси и посмотри что получишь в ответ. Затем уже можно будет заняться посылкой измененного значения.

Михайло, выдели пожалуйста в отдельную тему этот вопрос!

Khakimullin
Дилетант
Сообщения: 23
Зарегистрирован: 25 сен 2015, 15:15

Re: Косвенная адресация в TIA портале

Сообщение Khakimullin »

CHANt писал(а):Покопался в своих записях и архивах, предлагаю начать создать свою программку запроса/ответа.

Код: Выделить всё

Создаем, к примеру, DB100 со следующей структурой:
Посылаемая телеграмма:
DBW0 WORD это будет адрес параметра PKE
DBW2 WORD это будет индекс параметра IND
DBW4 WORD это будет старшее слово значения параметра PWE1
DBW6 WORD это будет младшее слово значения параметра PWE2
Принимаемая телеграмма:
DBW8 WORD это будет адрес принятого параметра PKE
DBW10 WORD это будет индекс принятого параметра IND
DBW12 WORD это будет старшее слово значения принятого параметра PWE1
DBW14 WORD это будет младшее слово значения принятого параметра PWE2

Далее, сложности – до параметра синамикса Р2000 величина параметра записывается в PKE (DBW0) напрямую, т.е. если запрашиваешь Р0305 (305 десятичное) то число НЕХ будет W#16#131.
Если параметр синамикса Р2280, то надо отнять 2000 (>W#16#7D0) и оставшуюся величину записать по адресу PKE (DBW0), а в индексе IND (DBW2) установить 15 бит (признак что параметр выше 2000). W#16#8000
Значение DBW4 и DBW6 пока нулевые остаются
Формируем входные данные на разрабатываемую функцию, типа:
wr_Adress_1 WORD 
wr_Index_2 WORD 
wr_word_3 WORD // параметр Hi 
wr_word_4 WORD // параметр Lo 
But_INPUT BOOL //нажата кнопка на запрос на панели
Формируем выходные данные разрабатываемой функции:
rd_word_1 WORD // адрес в ответе 
rd_word_2 WORD // индекс в ответе 
rd_word_3 WORD // значение бывает слово / двойное / реал 
rd_word_4 WORD // значение 

Темповые переменные:
Wait BOOL //ждем ответа от частотника
REC_15 INT //код ошибки SFC15
SEND_14 INT// код ошибки SFC14
Пишем свою программу запроса/ответа Синамикса. Я на STL буду, нет под рукой ни степа, ни портала. Начинаем сравнивать что за номер параметра запрашиваем:
L #wr_Adress_1; //адрес параметра 
L W#16#7D0; //для адресов больше 2000 надо отнять 2000 и установить бит адресов 
>=I ; //сравниваем
JCN Tr01; // адрес <2000 то уход на метку Tr01
-I ; // если адрес >2000 = адрес -2000
T DB100.DBW0; //записываем в DB100 в слово адреса DBW0
L W#16#8000; // Устанавливаем 15 бит в индексе
T DB100.DBW2; //записываем в DB100 в слово адреса DBW2
JU End ; //выходим из сравнения
Tr01: L #wr_Adress_1
T DB100.DBW0; //записываем в DB100 в слово адреса DBW0
JU End ; //выходим из сравнения
End: L W#16#0; 
T DB100.DBW4; //записываем нуль в значение параметра старшего слова
T DB100.DBW6; //записываем нуль в значение параметра младшего слова

Начинаем передачу телеграммы:
A #But_INPUT; //если нажата кнопка запроса на панели, то
JCN End1; //Если не нажата то на метку окончания программы, иначе
//Считываем запрос PKW с помощью SFC15 "DPWR_DAT", ТИАпортале такая функция есть
CALL "DPWR_DAT"
LADDR := W#16#ххх,// адрес PKW частотника смотрим в хардваре
RECORD := P#DB100.DBX8.0 BYTE 8,// записываем 8 байт в db100 
RET_VAL:= REC_15;// код ошибки
A #Wait; //Если есть бит ожидания ответа, то 
JCN DDAT; //идем на метку повторной посылки телеграммы с запросом, иначе
S #Wait; // выставить флаг ожидания ответа 
//чтение PKW с помощью SFC14 
DDAT: CALL "DPRD_DAT" 
LADDR := W#16#ххх,// адрес PKW частотника в хардваре
RET_VAL := #SEND_14, // код ошибки 
RECORD := P#DB100.DBX0.0 BYTE 8);//8 байт пишем в db100

L DBW8; // адрес ответа 
L DBW0; //адрес запроса 
==I ; // адрес ответа должен совпадать с адресом запроса - иначе это ответ на другой запрос 
JCN End1; //ждать ответа на этот запрос 
R #Wait; // если равны значения, то сбросить флаг ожидания ответа 
End1: NOP 0; //завершили
Прости что не оформлено.
Если удастся разобраться, то получив ответ от ПЧ, проанализируй что пришло в PWE1 и PWE2. Разберись в размерностях. Потом попробуй поменять значение в ПЧ в Р2280 и снова запроси и посмотри что получишь в ответ. Затем уже можно будет заняться посылкой измененного значения.

Михайло, выдели пожалуйста в отдельную тему этот вопрос!


Спасибо)) буду копать))

Аватара пользователя
CHANt
Профессионал
Сообщения: 565
Зарегистрирован: 13 окт 2012, 15:24

Re: Управление преобразователем Sinamics через механизм PKW

Сообщение CHANt »

Пока рано еще благодарности рассыпать)))
На самом деле, я пока только "скелет" запроса предложил. И там скорей всего масса ошибок. Так что не молчи, если есть вопросы, задавай. По крайней мере ты в живую можешь увидеть на S120, мне же по экспериментировать не на чем. Ну и ответы реальные смогу только по вечерам)))

Khakimullin
Дилетант
Сообщения: 23
Зарегистрирован: 25 сен 2015, 15:15

Re: Управление преобразователем Sinamics через механизм PKW

Сообщение Khakimullin »

CHANt писал(а):Пока рано еще благодарности рассыпать)))
На самом деле, я пока только "скелет" запроса предложил. И там скорей всего масса ошибок. Так что не молчи, если есть вопросы, задавай. По крайней мере ты в живую можешь увидеть на S120, мне же по экспериментировать не на чем. Ну и ответы реальные смогу только по вечерам)))
Так благодарности за помощь, ты единственный кто откликнулся)))
В общем так, единственный адрес частотника который не выдавал ошибок, это адрес DO Control Unit_1(SIEMENS Telegramm 390, PZD-2/2) что не подходит. И поэтому адресу ничего путного я не получил. Я думаю что DPRD_DAT и DPWR_DAT не подходящие функции для получения параметров. Проблема в том что готовой подходящей функции похоже нет.

Khakimullin
Дилетант
Сообщения: 23
Зарегистрирован: 25 сен 2015, 15:15

Re: Управление преобразователем Sinamics через механизм PKW

Сообщение Khakimullin »

Khakimullin писал(а):
CHANt писал(а):Пока рано еще благодарности рассыпать)))
На самом деле, я пока только "скелет" запроса предложил. И там скорей всего масса ошибок. Так что не молчи, если есть вопросы, задавай. По крайней мере ты в живую можешь увидеть на S120, мне же по экспериментировать не на чем. Ну и ответы реальные смогу только по вечерам)))
Так благодарности за помощь, ты единственный кто откликнулся)))
В общем так, единственный адрес частотника который не выдавал ошибок, это адрес DO Control Unit_1(SIEMENS Telegramm 390, PZD-2/2) что не подходит. И поэтому адресу ничего путного я не получил. Я думаю что DPRD_DAT и DPWR_DAT не подходящие функции для получения параметров. Проблема в том что готовой подходящей функции похоже нет.

https://support.industry.siemens.com/tf ... ageSize=10

Аватара пользователя
CHANt
Профессионал
Сообщения: 565
Зарегистрирован: 13 окт 2012, 15:24

Re: Управление преобразователем Sinamics через механизм PKW

Сообщение CHANt »

Ой, млин))) Я то не спросил! Ты вообще хоть раз вязал симатик с синамиксом по профибасу (профинету, разницы нет) - хотя бы по синхронному обмену? Понимание разницы 390 телеграммы и свободной есть? Это я хочу понять, с чего мне начинать объяснять)))

Khakimullin
Дилетант
Сообщения: 23
Зарегистрирован: 25 сен 2015, 15:15

Re: Управление преобразователем Sinamics через механизм PKW

Сообщение Khakimullin »

CHANt писал(а):Ой, млин))) Я то не спросил! Ты вообще хоть раз вязал симатик с синамиксом по профибасу (профинету, разницы нет) - хотя бы по синхронному обмену? Понимание разницы 390 телеграммы и свободной есть? Это я хочу понять, с чего мне начинать объяснять)))
нет, первый раз, но связь наладил между HMI, S120 и PLC так что основы известны), но далеко не всё, общей картины пока не составил, обрывки в голове лежат.... С HMI могу изменять параметр р2280.

Ответить