Мазмуну:
- 1 -кадам: Киришүү
- 2 -кадам: Чыныгы Башкарманы сүрөттөө:
- 3 -кадам: Программанын кандай ырааттуулугу? SFC жана мамлекеттик диаграмма
- 4 -кадам: Arduino IDE 1.6.X менен программалоо
- 5 -кадам: YAKINDU менен программалоо
- 6 -кадам: Аны AdvancedHMI менен көзөмөлдөңүз
- 7 -кадам: Аны Unigo Evolution менен көзөмөлдөңүз
- 8 -кадам: Жыйынтык
Video: Arduino PLC 32 I/O+Мамлекеттик машина+SCADA же HMI: 8 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Ардуино менен өнөр жай системасын программалоонун, башкаруунун жана көзөмөлдөөнүн көптөгөн жолдору.
1 -кадам: Киришүү
Бул көрсөтмөдө мен төмөнкүлөр менен алектенем:
Ардуинону программалоонун 2 ыкмасы, анын ичинде баскычтар, өчүргүчтөр жана диоддор бар
1- SM китепканасын колдонуу менен arduino 1.6.x IDE менен биринчи ыкма (Мамлекеттик машина)
2-Экинчи ыкма Yakindu, мамлекеттик диграмм редакторунун долбоору, тутулуу чөйрөсү менен түзүлгөн: сиз мамлекеттик машинаңызды тартасыз жана ал Arduino тактасына өткөрүп берүү үчүн кодду түзөт.
Менен бирге
SCADA же виртуалдык HMI иштеп жаткан машинаны көзөмөлдөөнүн 2 жолу:
1- Android 4.4 астында: Unigo Evolution, эч кандай коду жок бекер колдонмо, экранда жана modbus TCPге жайгаштырылат
2-Windows 8де: Visual Studio 2013ке муктаж болгон AdvancedHMI бекер проекти, эч кандай коду жана экранда жана модбус TCPге жайгаштыруу үчүн
Ошентип, сиз функционалдык тизмектериңизди SFC менен тартасыз (автоматташтырууда: Тизилиштүү функциялар диаграммасы), сиз аны мамлекеттик диаграммага которосуз (абдан жакын), аны программалайсыз (Yakindu же Arduino SM lib), андан кийин аны SCADA (Unigo) менен көзөмөлдөйсүз. Android же AdvancedHMI Windows).
2 -кадам: Чыныгы Башкарманы сүрөттөө:
Схема:
Мен Arduino UNO тактасын колдондум, клонду эмес, анткени Якинду эч кандай программаны эч кандай UNO жана Mega тактасына жөнөтө албайт.
Менде MCP23S17 сыяктуу 2 SPI экспантери бар 32 санариптик I/O болушу мүмкүн (2x16 I/O) жана дагы 2 аналогдук 12 бит чыгышы (чыныгы аналоги PWM чыпкаланбаган) MCP4921 сыяктуу 2 SPI DAC менен.
Мен Ethernet калканчын тарткан жокмун, бирок бул сиздин системаңызды көзөмөлдөө үчүн керек: андыктан 4, 10, 11, 12 жана 13 -пиндер башка эч нерсеге колдонулбашы керек жана RX TX үчүн 0 жана 1 -пин ачык болушу керек.
Чыныгы такта сүрөттөрү:
8 баскычтар керек:
- 4 кол режими үчүн: ар бир жарык үчүн бирден
- 1 шашылыш токтотуу үчүн: эгер түртүлсө, сиз кадимки режимдесиз, бошотуу: өзгөчө кырдаал
- 1 автоматтык режим үчүн, ар бир леддин ырааттуу жарыгын күйгүзүп жана өчүрөт, эгерде бошотуу: кол режими, ар бир ледди эч кандай ырааты жок башкаруу үчүн
- Автоматтык режимде RUN үчүн 1
- Автоматтык режимде STOP үчүн 1
4 сиз каалаган нерсени симуляциялоого алып келди (реле, клапан …)
Мен программаларда колдонгон ар бир баскычтардын жана леддердин атын берем.
3 -кадам: Программанын кандай ырааттуулугу? SFC жана мамлекеттик диаграмма
Мен система эмне кылышы керек экенин сүрөттөө үчүн абдан жөнөкөй SFC жасадым.
3 SFC керек:
- SFCsecu өзгөчө кырдаал режимин улантуу же өчүрүү үчүн, башкаларды ишке киргизүүчү башкы SFC
- SFCsecu тарабынан ишке киргизилген SFC автоматтык көрсөтмөсү, сиз автоматтык режимге же кол режимине жете аласыз
- Эгер кимдир бирөө DCY (RUN) же FCY (STOP) басса, SFC чуркоо токтотуу, сканерлөө жана жаттоо
Бул SFC псевдо-көп баскычтуу түрдө иштейт.
Анан мен аларды мамлекеттик диаграммага котором:
- башка 2 кулду иштетүүчү башкы машина (Өзгөчө кырдаал)
- DCY жана FCY сканерлөө жана жаттоо кулу
- автоматтык же кол режимине өтүү үчүн кул
Дагы бир нерсе: сиз DCYди басканда, аналогдук чыгууну виртуалдык тример менен скадада башкара аласыз, эгер FCY бассаңыз аналогдук чыгуулар 0Вге түшөт.
Мамлекеттик диаграмма сизге arduino программалоого жардам берет.
4 -кадам: Arduino IDE 1.6. X менен программалоо
Мен сизге мурунку схемаларды которуу үчүн код берем. Мага дагы 3 либнал керек болчу, мен дагы сизге берем.
Ошондой эле, сиз кайсы казыктарды колдонуп жатканыңызды түшүнүү үчүн дарек столуна муктаж болосуз жана modbus тиешелүү даректерди каттайт.
5 -кадам: YAKINDU менен программалоо
Алгач долбоордун 2.9 акысыз версиясын (профи эмес) жүктөп алыңыз:
www.itemis.com/en/yakindu/state-machine/
Андан кийин берилген үйрөткүчтү ээрчиңиз: программаны акыркы жолу жүктөгөнүмө салыштырмалуу кээ бир өзгөртүүлөр бар, "xxxconnector.cpp" файлынын ар кайсы бөлүктөрүнүн аталыштары үчүн.
Сүрөттөр: мамлекеттик машинанын чиймеси, долбоордогу папканын көрүнүшү жана анын импорттолгон китепканалары arduino, "xxxconnector.cpp" көрүнүшү өткөөлдөрдүн/штаттардын жана реалдуу кириштер/чыгуулардын ортосунда байланыш түзүү. башкармалыктын же SCADAнын.
Мен сизге долбоорду берем, сиз жөн гана автоматтык түрдө түзүлгөн жумушчу мейкиндигиңизге импорттоого туура келет.
Ошондой эле камсыздалган: Якиндуга импорттоо үчүн керектүү libs жана үйрөткүчтө сүрөттөлгөн айрым өзгөрүүлөр.
6 -кадам: Аны AdvancedHMI менен көзөмөлдөңүз
Биринчи Visual Studio Express 2013 же андан көп жүктөп алуу:
www.microsoft.com/fr-fr/download/details.a…
Андан кийин AdvancedHMI долбоорун жүктөп алыңыз:
sourceforge.net/projects/advancedhmi/?SetF…
Мен сизге тартылган SCADAнын сүрөттөрүн берем (тиешелүү модбустун регистрлери менен) жана эч кандай коду жок, программаланган, долбоор өзгөртүлгөн жана кыска окуу куралы.
7 -кадам: Аны Unigo Evolution менен көзөмөлдөңүз
Сизге Android 4.4 (Kit kat) жана 7 дюймдук экраны бар андроид девид керек.
Мен сизге тартылган SCADAнын сүрөттөрүн берем (жана тиешелүү модбустар даректерди каттайт) жана Unigo колдонуу үчүн кыскача үйрөткүч, эч кандай коддун кереги жок, өнөр жай чырактарынын сүрөттөрүн камтыган папка жана UniGOPictures папкасына орнотулган. SD тарабынан колдонмо жана долбоор.
8 -кадам: Жыйынтык
Программалоонун 2 башка жолун жана көзөмөлдөөнүн 2 башка жолун бириктирүү чоң иш болчу. Ар бир көндүмгө көнүү кыйын. Бирок азыр ал иштейт жана түшүнүктүү болгондон кийин, сиз азыр татаал системаларды башкара аласыз.
Дүйнөлүк көптөгөн окуу куралдарына, Арчи (AdvancedHMI), RenéB2 (Якинду) жана Микаэль Андерсонго (Unigo Evolution) жана arduino китепканаларын иштеп чыгуучуларга чоң рахмат, мындай "технологиялык чабуул" долбоорун ишке ашырууга.
Sans eux j'aurais peut être souffert d'un sentiment d'incomplétude infinie pour l'éternité. J'exagère un peu.
Бактылуу насаатчылар.