步驟1:簡介
在此指導中,我將處理:
2種方法來對與某種機器(包括按鈕,開關和LED)鏈接的arduino進行編程
1-使用SM庫(狀態機)使用arduino 1.6.x IDE的第一種方法
2-使用Yakindu(使用以下方法創建的狀態圖編輯器項目)的第二種方法蝕環境:繪制狀態機,然后它會生成代碼以傳輸到Arduino板。
與
相關的兩種方法來監控狀態機運行的SCADA或虛擬HMI:
1-在Android 4.4下:Unigo Evolution,這是一個免費的應用程序,沒有代碼,只有項目可放置在屏幕上,并且Modbus TCP
2 -在Windows 8下:一個免費項目AdvancedHMI,它需要Visual Studio 2013,無需任何代碼和項目即可放置在屏幕上和modbus TCP
因此您可以繪制f帶有SFC的功能性序列(在自動化中為:順序功能圖),將其轉換為狀態圖(非常接近),對其進行編程(Yakindu或Arduino SM lib),然后使用SCADA(Unigo android或AdvancedHMI Windows)對其進行監督)。
第2步:實板說明:
示意圖:
我使用了Arduino UNO板,而不是克隆板,因為Yakindu不能僅將UNO和Mega板發送到任何克隆程序。
我可以擁有32個數字I/O,帶有2個SPI擴展器(如MCP23S17)(2x16 I/O)和2個更多的模擬12位輸出(不經過PWM濾波的真實模擬),以及2個SPI DAC,如MCP4921。
我沒有畫出以太網屏蔽,但是您需要用它來監視系統:因此,引腳4、10、11、12和13不得用于其他任何用途,顯然引腳0和1僅用于RX TX。
真實的照片:
需要8個按鈕:
4個用于手動模式:每個燈一個led
1緊急停止:如果按下,則處于正常模式,松開:緊急
1處于自動模式,如果每個LED松開,則依次點亮和熄滅順序指示燈:手動模式,以無順序控制每個led
在自動模式下為RUN
1在自動模式下為STOP
4 led模擬您想要的任何東西(繼電器,閥門。..)
我給出程序中使用的每個按鈕和指示燈的名稱。
步驟3:編程順序? SFC和狀態圖
我制作了一個非常簡單的SFC來描述系統應該做什么。
3需要SFC:
SFCsecu進入或退出緊急模式,這是主SFC啟動其他
SFCsecu啟動的SFC自動手冊,您可以訪問
自動模式或手動模式
SFC運行停止,掃描并存儲是否有人按下DCY(RUN)或FCY(STOP)
這些SFC以偽隨機方式運行。
然后我將它們轉換為狀態圖:
一臺主計算機(緊急情況)啟動了另外兩個從屬計算機
一個用于掃描和掃描的從屬計算機記住DCY和FCY
從屬設備進入自動或手動模式
另一件事:當您按下DCY時,您可以在虛擬微調器上引導模擬輸出一個scada,當您按FCY鍵時,模擬輸出降至0V。
狀態圖可幫助您對arduino進行編程。
第4步:使用Arduino IDE 1.6編程。X
我為您提供了轉換先前圖表的代碼。我也需要3個附加庫。
您還將需要地址表來了解用于什么引腳以及modbus寄存器對應的地址。
步驟5:使用YAKINDU編程
首先在以下網址下載免費項目版本2.9(非專業版):
https://www。 itemis.com/en/yakindu/state-machine/
然后按照提供的教程進行操作:與上次下載程序相比,有一些修改,僅適用于“ xxxconnector”不同部分的名稱。 .cpp”文件完成。
圖片:狀態機的圖,項目中文件夾的視圖及其從arduino導入的庫,“ xxxconnector.cpp”視圖以建立鏈接在板或SCADA的轉換/狀態與實際輸入/輸出之間。
我給您提供您僅需導入到自動創建的工作區中的項目。
還提供:導入Yakindu所需的庫,以及在tut中描述的一些更改
步驟6:使用AdvancedHMI對其進行監督
首先在以下位置下載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對其進行監督
您需要一個Android devide與android 4.4(套件kat)和一個7英寸的屏幕。
我給你我繪制的SCADA的圖片(以及相應的modbus寄存器地址),以及使用Unigo的簡要教程(無需代碼),一個包含圖片的文件夾應用程序和項目將工業照明燈和按鈕放置在內部SD上創建的UniGOPictures文件夾中。
步驟8:結論
它是一個巨大的要求將2種不同的編程方式和2種不同的監督方式放在一起。一開始很難習慣每種方式的技能。但是現在它可以工作,并且一旦被理解,您就可以控制更復雜的系統。
責任編輯:wv
-
編程
+關注
關注
88文章
3645瀏覽量
94194 -
Arduino
+關注
關注
188文章
6478瀏覽量
188287
發布評論請先 登錄
相關推薦
如何使用Arduino實現CAN總線通信呢
工業控制系統安全性分析與對策
什么是工業控制系統?它有哪些特點?
工業控制系統的特點有哪些 工業控制系統的組成有哪些
工業物聯網與SCADA哪個更強大
PLC控制系統與繼電器控制系統的比較
可編程邏輯控制器的基本功能
可編程邏輯控制器和微控制器的區別
PLC遠端控制系統是什么?PLC遠端控制系統的組成
工業控制系統包括哪些種類?

評論