Агуулгын хүснэгт:
- Алхам 1: Танилцуулга
- Алхам 2: Жинхэнэ ТУЗ -ийн тодорхойлолт:
- Алхам 3: Ямар дарааллаар програмчлах вэ? SFC ба улсын диаграм
- Алхам 4: Arduino IDE 1.6.X програмчлах
- Алхам 5: ЯКИНДУ -тай програмчлах
- Алхам 6: Үүнийг AdvancedHMI ашиглан хянана уу
- Алхам 7: Үүнийг Unigo Evolution ашиглан хянана уу
- Алхам 8: Дүгнэлт
Видео: Arduino PLC 32 I/O+State Machine+SCADA эсвэл HMI: 8 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Аж үйлдвэрийн системийг arduino ашиглан програмчлах, хянах, хянах олон арга замууд.
Алхам 1: Танилцуулга
Энэхүү зааварчилгааны хүрээнд би дараахь зүйлийг авч үзэх болно.
Товчлуур, унтраалга, LED гэх мэт төрөл бүрийн машинд холбогдсон arduino програмчлах 2 арга
1- SM номын санг ашиглан arduino 1.6.x IDE ашиглах анхны арга (Улсын машин)
2-Нар хиртэх орчинд бүтээгдсэн улсын диграм редакторын төсөл Якиндуг ашиглах хоёр дахь арга: та өөрийн машинаа зурж, Arduino самбар руу шилжүүлэх кодыг гаргадаг.
Холбоотой
SCADA эсвэл виртуал HMI ашиглан машиныг хянах 2 арга:
1- Android 4.4-ийн доор: Unigo Evolution, үнэгүй програм бөгөөд зөвхөн код болон дэлгэц дээр байрлуулах боломжтой зүйлүүд TCP.
Windows 8-ийн доор 2: Visual Studio 2013 шаардлагатай AdvancedHMI үнэгүй төсөл, дэлгэц болон modbus TCP дээр байрлуулах код, зүйл байхгүй.
Тиймээс та функциональ дарааллаа SFC (автоматжуулалтад: Дараалсан функцын диаграм) ашиглан зурж, төлөв байдлын диаграммд орчуулж (маш ойрхон), програмчилж (Yakindu эсвэл Arduino SM lib), дараа нь SCADA (Unigo) ашиглан хянана. android эсвэл AdvancedHMI Windows).
Алхам 2: Жинхэнэ ТУЗ -ийн тодорхойлолт:
Схем:
Би Якду нь зөвхөн НҮБ болон Мега самбарт ямар ч клон руу ямар ч програм илгээх боломжгүй тул клон биш харин Arduino UNO хавтанг ашигласан.
Би MCP23S17 (2x16 I/O) гэх мэт 2 SPI өргөтгөгчтэй 32 дижитал I/O, MCP4921 шиг 2 SPI DAC -тэй өөр 2 аналог 12 бит гаралттай (PWM шүүгээгүй).
Би ethernet бамбай зураагүй, гэхдээ танд системийг хянах шаардлагатай байна: 4, 10, 11, 12, 13 -р зүүг өөр зүйлд ашиглах ёсгүй бөгөөд зөвхөн RX TX -ийн 0 ба 1 -р зүүг ашиглах нь ойлгомжтой.
Жинхэнэ самбарын зургууд:
8 товчлуур шаардлагатай:
- Гарын авлагын горимд 4: гэрэл тус бүрт нэг гэрэл
- Яаралтай зогсоох 1: хэрэв түлхвэл та хэвийн горимд байна
- 1 нь LED бүрийн дараалсан гэрлийг асаах ба унтраах автомат горимд зориулагдсан бөгөөд хэрэв гарвал: гар горим, LED бүрийг дараалалгүйгээр удирдах боломжтой.
- Автомат горимд RUN хийх 1
- 1 -ийг автомат горимд зогсоох
4 нь хүссэн зүйлээ дуурайхад хүргэсэн (буухиа, хавхлага …)
Би програмд ашигладаг товчлуурууд болон led бүрийн нэрийг өгдөг.
Алхам 3: Ямар дарааллаар програмчлах вэ? SFC ба улсын диаграм
Систем юу хийх ёстойг тайлбарлахын тулд би маш энгийн SFC хийсэн.
3 SFC хэрэгтэй:
- SFCsecu нь яаралтай тусламжийн горимыг асаах эсвэл унтраах боломжтой бөгөөд энэ нь бусдыг ажиллуулдаг мастер SFC юм
- SFCsecu -ээс гаргасан SFC авто гарын авлага, та автомат горим эсвэл гарын авлагын горимд хүрч болно
- Хэрэв хэн нэгэн DCY (RUN) эсвэл FCY (STOP) түлхсэн бол SFC гүйлтийн зогсолт, сканнердах, цээжлэх
Эдгээр SFC нь псевдо-олон оролтоор ажилладаг.
Дараа нь би тэдгээрийг муж улсын диаграмаар орчуулж байна.
- мастер машин (Онцгой байдлын үед) өөр 2 боол ажиллуулж байна
- DCY болон FCY -ийг сканнердах, цээжлэх боол
- автомат эсвэл гарын авлагын горимд хүрэх боол
Өөр нэг зүйл бол та DCY -ийг түлхэх үед аналог гаралтыг scada дээр виртуал тримерээр туршиж үзэх боломжтой, FCY -ийг дарахад аналог гаралт 0V хүртэл буурдаг.
Төлөв диаграм нь arduino програмчлахад тусална.
Алхам 4: Arduino IDE 1.6. X програмчлах
Өмнөх диаграммыг орчуулах кодыг би танд өгч байна. Надад танд өгөх 3 нэмэлт libs хэрэгтэй байсан.
Та ямар зүү ашиглаж байгааг ойлгохын тулд хаягийн хүснэгт хэрэгтэй бөгөөд модбус харгалзах хаягийг бүртгэдэг.
Алхам 5: ЯКИНДУ -тай програмчлах
Эхлээд төслийн 2.9 үнэгүй хувилбарыг (дэмжигч биш) татаж авах:
www.itemis.com/en/yakindu/state-machine/
Дараа нь өгсөн зааварчилгааг дагана уу: "Xxxconnector.cpp" файлын өөр өөр хэсгүүдийн нэрийг дуусгахын тулд програмыг хамгийн сүүлд татаж авахтай харьцуулахад зарим өөрчлөлт орсон байна.
Зураг: төрийн машины зураг, төсөл дэх хавтас болон түүний импортолсон номын сангуудын үзэл бодол, шилжилт/төлөв ба бодит оролт/гаралтын хоорондох холбоосыг бий болгох "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 өөр аргыг нэгтгэх нь асар том ажил байв. Ур чадвар бүрт дасах нь эхэндээ хэцүү байдаг. Гэхдээ одоо энэ нь ажиллаж, ойлгогдоод байвал та илүү төвөгтэй системийг удирдах боломжтой боллоо.
Дэлхийн хэмжээний олон гарын авлага, Archie (AdvancedHMI), RenéB2 (Yakindu), Mikael Andersson (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.
Аз жаргалтай сургагч багш нар.