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


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

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

我為您提供了轉換先前圖表的代碼。我也需要3個附加庫。
您還將需要地址表來了解用于什么引腳以及modbus寄存器對應的地址。
步驟5:使用YAKINDU編程


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

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

您需要一個Android devide與android 4.4(套件kat)和一個7英寸的屏幕。
我給你我繪制的SCADA的圖片(以及相應的modbus寄存器地址),以及使用Unigo的簡要教程(無需代碼),一個包含圖片的文件夾應用程序和項目將工業(yè)照明燈和按鈕放置在內部SD上創(chuàng)建的UniGOPictures文件夾中。
步驟8:結論
它是一個巨大的要求將2種不同的編程方式和2種不同的監(jiān)督方式放在一起。一開始很難習慣每種方式的技能。但是現在它可以工作,并且一旦被理解,您就可以控制更復雜的系統。
責任編輯:wv
-
編程
+關注
關注
90文章
3717瀏覽量
97268 -
Arduino
+關注
關注
190文章
6526瀏覽量
197110
發(fā)布評論請先 登錄
可編程邏輯控制器PLC是什么?如何實現上網通信?
如何在 NuMaker-IoT-M467 板上使用 Arduino IDE 控制 Wi-Fi 模塊?
全自動 PLC 控制系統:工業(yè) 4.0 時代的核心驅動力
PLC 自動化控制系統:功能全面 + 優(yōu)勢顯著,工業(yè)控制的優(yōu)選
工業(yè)控制操作的主要應用領域
工業(yè)控制系統的現狀與發(fā)展趨勢
如何在樹莓派上安裝并運行 Arduino 集成開發(fā)環(huán)境!
稱重控制儀表通過工業(yè)網關數據采集到MES系統中
免費分享Arduino入門+進階(全套例程+書籍)
使用MATLAB進行無監(jiān)督學習
如何使用arduino進行編程并控制和監(jiān)督工業(yè)系統
評論