步驟1:簡(jiǎn)介
在此指導(dǎo)中,我將處理:
2種方法來(lái)對(duì)與某種機(jī)器(包括按鈕,開(kāi)關(guān)和LED)鏈接的arduino進(jìn)行編程
1-使用SM庫(kù)(狀態(tài)機(jī))使用arduino 1.6.x IDE的第一種方法
2-使用Yakindu(使用以下方法創(chuàng)建的狀態(tài)圖編輯器項(xiàng)目)的第二種方法蝕環(huán)境:繪制狀態(tài)機(jī),然后它會(huì)生成代碼以傳輸?shù)紸rduino板。
與
相關(guān)的兩種方法來(lái)監(jiān)控狀態(tài)機(jī)運(yùn)行的SCADA或虛擬HMI:
1-在Android 4.4下:Unigo Evolution,這是一個(gè)免費(fèi)的應(yīng)用程序,沒(méi)有代碼,只有項(xiàng)目可放置在屏幕上,并且Modbus TCP
2 -在Windows 8下:一個(gè)免費(fèi)項(xiàng)目AdvancedHMI,它需要Visual Studio 2013,無(wú)需任何代碼和項(xiàng)目即可放置在屏幕上和modbus TCP
因此您可以繪制f帶有SFC的功能性序列(在自動(dòng)化中為:順序功能圖),將其轉(zhuǎn)換為狀態(tài)圖(非常接近),對(duì)其進(jìn)行編程(Yakindu或Arduino SM lib),然后使用SCADA(Unigo android或AdvancedHMI Windows)對(duì)其進(jìn)行監(jiān)督)。
第2步:實(shí)板說(shuō)明:


示意圖:
我使用了Arduino UNO板,而不是克隆板,因?yàn)閅akindu不能僅將UNO和Mega板發(fā)送到任何克隆程序。
我可以擁有32個(gè)數(shù)字I/O,帶有2個(gè)SPI擴(kuò)展器(如MCP23S17)(2x16 I/O)和2個(gè)更多的模擬12位輸出(不經(jīng)過(guò)PWM濾波的真實(shí)模擬),以及2個(gè)SPI DAC,如MCP4921。
我沒(méi)有畫(huà)出以太網(wǎng)屏蔽,但是您需要用它來(lái)監(jiān)視系統(tǒng):因此,引腳4、10、11、12和13不得用于其他任何用途,顯然引腳0和1僅用于RX TX。
真實(shí)的照片:
需要8個(gè)按鈕:
4個(gè)用于手動(dòng)模式:每個(gè)燈一個(gè)led
1緊急停止:如果按下,則處于正常模式,松開(kāi):緊急
1處于自動(dòng)模式,如果每個(gè)LED松開(kāi),則依次點(diǎn)亮和熄滅順序指示燈:手動(dòng)模式,以無(wú)順序控制每個(gè)led
在自動(dòng)模式下為RUN
1在自動(dòng)模式下為STOP
4 led模擬您想要的任何東西(繼電器,閥門(mén)。..)
我給出程序中使用的每個(gè)按鈕和指示燈的名稱(chēng)。
步驟3:編程順序? SFC和狀態(tài)圖

我制作了一個(gè)非常簡(jiǎn)單的SFC來(lái)描述系統(tǒng)應(yīng)該做什么。
3需要SFC:
SFCsecu進(jìn)入或退出緊急模式,這是主SFC啟動(dòng)其他
SFCsecu啟動(dòng)的SFC自動(dòng)手冊(cè),您可以訪問(wèn)
自動(dòng)模式或手動(dòng)模式
SFC運(yùn)行停止,掃描并存儲(chǔ)是否有人按下DCY(RUN)或FCY(STOP)
這些SFC以偽隨機(jī)方式運(yùn)行。
然后我將它們轉(zhuǎn)換為狀態(tài)圖:
一臺(tái)主計(jì)算機(jī)(緊急情況)啟動(dòng)了另外兩個(gè)從屬計(jì)算機(jī)
一個(gè)用于掃描和掃描的從屬計(jì)算機(jī)記住DCY和FCY
從屬設(shè)備進(jìn)入自動(dòng)或手動(dòng)模式
另一件事:當(dāng)您按下DCY時(shí),您可以在虛擬微調(diào)器上引導(dǎo)模擬輸出一個(gè)scada,當(dāng)您按FCY鍵時(shí),模擬輸出降至0V。
狀態(tài)圖可幫助您對(duì)arduino進(jìn)行編程。
第4步:使用Arduino IDE 1.6編程。X

我為您提供了轉(zhuǎn)換先前圖表的代碼。我也需要3個(gè)附加庫(kù)。
您還將需要地址表來(lái)了解用于什么引腳以及modbus寄存器對(duì)應(yīng)的地址。
步驟5:使用YAKINDU編程


首先在以下網(wǎng)址下載免費(fèi)項(xiàng)目版本2.9(非專(zhuān)業(yè)版):
https://www。 itemis.com/en/yakindu/state-machine/
然后按照提供的教程進(jìn)行操作:與上次下載程序相比,有一些修改,僅適用于“ xxxconnector”不同部分的名稱(chēng)。 .cpp”文件完成。
圖片:狀態(tài)機(jī)的圖,項(xiàng)目中文件夾的視圖及其從arduino導(dǎo)入的庫(kù),“ xxxconnector.cpp”視圖以建立鏈接在板或SCADA的轉(zhuǎn)換/狀態(tài)與實(shí)際輸入/輸出之間。
我給您提供您僅需導(dǎo)入到自動(dòng)創(chuàng)建的工作區(qū)中的項(xiàng)目。
還提供:導(dǎo)入Yakindu所需的庫(kù),以及在tut中描述的一些更改
步驟6:使用AdvancedHMI對(duì)其進(jìn)行監(jiān)督

首先在以下位置下載Visual Studio Express 2013或更高版本:
https://www.microsoft.com/fr-fr/download/details.a 。..
然后在以下位置下載AdvancedHMI項(xiàng)目:
https://sourceforge.net/projects/advancedhmi/?SetF 。..
我為您提供了我繪制的SCADA圖片(帶有相應(yīng)的Modbus寄存器地址),并且沒(méi)有代碼進(jìn)行編程,項(xiàng)目已修改和簡(jiǎn)短的教程。
第7步:使用Unigo Evolution對(duì)其進(jìn)行監(jiān)督

您需要一個(gè)Android devide與android 4.4(套件kat)和一個(gè)7英寸的屏幕。
我給你我繪制的SCADA的圖片(以及相應(yīng)的modbus寄存器地址),以及使用Unigo的簡(jiǎn)要教程(無(wú)需代碼),一個(gè)包含圖片的文件夾應(yīng)用程序和項(xiàng)目將工業(yè)照明燈和按鈕放置在內(nèi)部SD上創(chuàng)建的UniGOPictures文件夾中。
步驟8:結(jié)論
它是一個(gè)巨大的要求將2種不同的編程方式和2種不同的監(jiān)督方式放在一起。一開(kāi)始很難習(xí)慣每種方式的技能。但是現(xiàn)在它可以工作,并且一旦被理解,您就可以控制更復(fù)雜的系統(tǒng)。
責(zé)任編輯:wv
-
編程
+關(guān)注
關(guān)注
90文章
3725瀏覽量
97478 -
Arduino
+關(guān)注
關(guān)注
191文章
6529瀏覽量
197569
發(fā)布評(píng)論請(qǐng)先 登錄
DART CONTROLS MDP系列可編程閉環(huán)直流速度控制:技術(shù)解析與應(yīng)用指南
EdgePLC:工業(yè)邊緣控制器的發(fā)展與概述
SDRAM工業(yè)動(dòng)態(tài)隨機(jī)存儲(chǔ)器在可編程邏輯控制器(PLC)的應(yīng)用
工業(yè)控制器HMI系統(tǒng)產(chǎn)品
可編程邏輯控制器PLC是什么?如何實(shí)現(xiàn)上網(wǎng)通信?
如何在 NuMaker-IoT-M467 板上使用 Arduino IDE 控制 Wi-Fi 模塊?
全自動(dòng) PLC 控制系統(tǒng):工業(yè) 4.0 時(shí)代的核心驅(qū)動(dòng)力
PLC 自動(dòng)化控制系統(tǒng):功能全面 + 優(yōu)勢(shì)顯著,工業(yè)控制的優(yōu)選
工業(yè)控制系統(tǒng)的現(xiàn)狀與發(fā)展趨勢(shì)
如何在樹(shù)莓派上安裝并運(yùn)行 Arduino 集成開(kāi)發(fā)環(huán)境!
Arduino與LabVIEW聯(lián)合編程指南
稱(chēng)重控制儀表通過(guò)工業(yè)網(wǎng)關(guān)數(shù)據(jù)采集到MES系統(tǒng)中
免費(fèi)分享Arduino入門(mén)+進(jìn)階(全套例程+書(shū)籍)
使用MATLAB進(jìn)行無(wú)監(jiān)督學(xué)習(xí)
如何使用arduino進(jìn)行編程并控制和監(jiān)督工業(yè)系統(tǒng)
評(píng)論