Управление на асинхронен двигател посредством G120 и S7-1200 на фирма Siemens

Статията е свързана със един проблем който разреших по време на дипломното ми проектиране. Той се появи когато проектирах частта свързана със вентилация, и по-конкретно управление на вентилатора. Под управление се разбира старт-стоп и продължителност на вентилиране. След като успях да “разреша проблема” реших, че може би разяснение в една кратка статия би спестила главоболия и време на колеги които също като мен са в началото на своята работа със продуктите на Siemens, и програмирането на PLC като цяло.
Като за начало да уточня със какво точно работя. Това е софтуера на фирма Siemens – TIA Portal 13(Totally Integrated Automation). Той е удобен за работа, и съчетава в себе си функционалности свързани не само със програмирането на PLC-то, но и със интеграцията между устройствата, определяне методите на комуникация, йерархичната структура на системата както и много други неща. Инвертор G120c PN 4.7, както и контролер S7-1200.  

Като за начало ще присъединим инвертора към системата,а това става по следния начин:1.От менюто “Hardware catalog” избираме модела инвертор с който разполагаме(за целите на проекта: SINAMICS G120c PN 4.7). Чрез drag and drop го добавяме в “Devices and networks”.2.Свързваме контролера и инвертора. Избираме Profinet комуникация за текущия проект.3.Кликва се с десен бутон на създадената връзка и от контекстното меню се избира „Assign device“.Когато връзката между устройствата е установена, трябва да ъплоуднем конфигурацията на PLC-то.

Фиг.1 Конфигурирана връзка между S7-1200 и G120c
За да се уверим, че комуникацията работи коректно, от главното меню на TIA портал избираме “Device and Networks”, където ни е предоставена опция за “Flash” на което и да е от периферните устройства. След това трябва да добавим така наречената стандартна телеграма. Тя се използва за циклична комуникация между контролера и инвертора. В случая зa най-подходяща е избрана “Standard Telegram 1, PZD-2/2”. Тя е подходяща по редица причини. 

                Фиг 2. Структура на Standard Telegram 1, PZD-2/2               

ПараметърОписание
STWControl Word
ZSWStatus Word
NSOLL_ASpeed setpoint 16 bit
NIST_ASpeed actual value 16 bit

Таблица 1. Описание на Standard Telegram 1, PZD-2/2
Както се вижда на фиг.2 тази телеграмa има сравнително проста структура. Имаме по една 16 битова дума, съответно контролна и статусна с които можем да манипулираме, и съответно следим състоянието на инвертора. Също така имаме по една 16 битова дума за заданието по скорост, и сътоветно такава с която да четем реалната скорост.

Телегратама се избира по следния начин:1.В “Device view” , избираме от „Hardware catalog“ -> „Submodules“ сътоветно Standard Telegram 1, PZD-2/2.2. Чрез drag and drop я поставяме в “Device overview”.

Фиг.3 Добавяне на станратната телеграма към проекта.
След като всичко по настроиките е готово, следва да се напише програмата която ще управлява двигателя. Ще използваме езика за програмиране Ladder. Освен стандартните ключове, ще използваме и няколко функционални блока. Те са ни нужни за да можем да пишем или съответно четем информацията за инвертора. За писане се използват DPWR_DAT и съответно Move. За четене DPRD_DAT. 

Фиг. 4 Старт на трансфера посредством избраната телеграма
Използваме блока DPWR_DAT за да определим първо коя ще ни е контроната дума(STW). Също така със тази функция задаваме канала по който ще бъдат прехвърляни думите, а именно телеграмата „Standard Telegram 1, PZD-2/2“. 
Точно в обратната посока работи DPWR_DAT. Тя служи за четене на дума от инверотора към PLC-то.Трансфера на думата трябва да следва логиката заложена в Таблица 2.За пишем и презаписваме нужните ни стойности във думата с която ще работим, ползваме библиотечната функция “Move”. Първо се подава дума в която 0 бит да бъде със стойност 0. След това се подава същата дума със стойност на нулевия бит 1. Това поставя инвертора в режим “Ready”, тоест имаме направена идентификация и при стойност 1, на бит ноомер 3, двигателя ще се развърти. 

Таблица 2. Структора на контролната дума по битове
В конкретния случай първата контролна дума която ще бъде записана е „047E“. След това следвайки логиката, пишем новата дума която е „047F”. В Таблица 3, са показани думите във бинарен формат, където ясно се виждат кои са активираните битове при двете думи. В случая става дума само за пускане и спиране на двигателя, но това е една много малка част от възможностите на инвертора.

HexadecimalBinary
047E0000 0100 0111 1110
047F0000 0100 0111 1111

Таблица 3. Контролните думи в HEX и BIN формат
Освен да пуснем двигателя, трябва и да зададем скорост на въртене. Нея ще я зададем, като подадем на следващата поредна дума скороста която искаме.

Фиг5. Програмна реализация за Start-Stop алгоритъм

Това е решението което аз успях да реализирам. Готов съм да отговря на всякакви въпроси, както и да прочета критика. Всяка градивна дискусия би била полезна за всички четящи темата.

3 thoughts on “Управление на асинхронен двигател посредством G120 и S7-1200 на фирма Siemens

  1. Cheers for the brilliant content contained throughout your site, what follows is a small test for your blog viewers. Who actually proclaimed the following quote? . . . .Speak softly and carry a big stick; you will go far.

  2. Your web site came up in my research and I’m taken by what you have written on this topic. I am presently extending my enquiry and thus cannot contribute further, nonetheless, I’ve bookmarked your internet access page and will be returning to keep up with any next updates. Just Now love it and gives thank you for tolerating my remark.

Leave a Reply

Your email address will not be published. Required fields are marked *