【工業樹莓派】如何使用Python對RevPi I/O進行遠程控制?Post author:Janice WeiPost published:22 1 月, 2022Post category:工業物聯網 / 產業新知 之前跟大家分享了如何使用Python從工業樹莓派的過程映像文件中讀寫數據從而達到控制輸入輸出的目的,可以使用三種方式:file函數、ioctl和revpimodio2庫。其中以第三種方式最為簡單方便。 首先讓我們先回顧一下如何調用revpimodio2庫,讀寫過程映像中的數據。 由上圖可見,只需要先對revpimodio進行實例化,然後就可以直接透過變量名對數值進行操作了。這樣一種方式確實十分方便,在可以滿足大部分情況下的需求。 但這種方式存在的問題就是,python程序必須運行在本機上,且只能對本機的IO進行操作。但有時我們往往會遇到一些情況,需要對工業樹莓派進行遠程控制,甚至多個工業樹莓派之間協同工作,互相調取過程數據。那遇到這種情況我們又該如何應對呢? 幸運的是revpimodio2庫文件不僅僅包含了上面一種操作方式,還提供一種稱為RevPiNetIO的調用方式。運行在其它機器上的python程序可以透過工業樹莓派的IP地址建立遠程連接,從而實現遠程控制。但這種方式需要工業樹莓派RevPiPyLoad的支持,RevPiPyLoad將作為RevPiNetIO的服務器,提供透過網路讀寫過程映像數據的能力。 ▋ 啟用RevPiPyLoadRevPiPyLoad已預裝載在工業樹莓派內,在正式開始之前首先需要啟用該功能。 可透過sudo service revpipyload status命令查看服務運行狀態,如出現無法連接情況,可嘗試重啟設備。▋ 更改配置文件之前有一篇文章講述瞭如何使用Python從虹科工業樹莓派的過程映像文件中讀寫數據從而達到控制輸入輸出的謎底,可以使用三種方式:file函數、ioctl和revpimodio2庫。其中以第三種方式最為簡單方便。更改以下配置文件,啟用plcslave選項:sudo nano /etc/revpipyload/revpipyload.conf Ctrl+X保存並退出。然後修改以下文件:sudo nano /etc/revpipyload/aclplcslave.conf 向最後一行添加:*.*.*.*,1,修改這個文件的作用是控制訪問權限,允許文件中所添加的IP對應的主機進行遠程控制訪問。本例中允許所有主機進行訪問控制。最後的“1”代表讀寫權限,“1”是可讀可寫。▋ 嘗試建立連接工業樹莓派已準備就緒,下面嘗試使用遠程主機建立連接。在本例中使用windows10系統的遠程主機。過程如下:3.1 安裝revpimodio2Windows電腦已安裝Python3運行環境,如未安裝,請先安裝Python。首先win+R打開“運行”,輸入“cmd”並確認,從而打開命令提示符窗口。運行以下命令:pip3 install revpimodio2安裝完成之後python程序就可以調用revpimodio2庫了。3.2 一段簡單的測試代碼在windows電腦上新建test.py文件,輸入以下代碼,並運行。 上圖中IP地址為樹莓派的IP。此段代碼的作用就是每隔1s改變數字輸出通道1的輸出狀態。本例採用的是RevPi Compact,運行效果如下所示: 至此我們已經成功透過遠程主機對工業樹莓派進行遠程控制。如未成功,請檢查前面的配置或嘗試重啟設備。3.3 更進一步下面我們嘗試一個稍微複雜的程序,做一個類似流水燈一樣的效果。新建LightSwitch.py文件,並輸入以下代碼,並運行: 運行效果如下: ▋ 嘗試建立連接雖然本例實現的程序和效果都比較簡單,但藉助這個功能,開發者可以實現很多功能。最基本的就是對工業樹莓派進行遠程控制。另外也可以透過創建多個RevPiNetIO實例,實現多個工業樹莓派系統協同工作。另外本文中使用的RevPiPyLoad的功能也不僅僅如此,它還可以作為圖形配置工具RevPiControl的server,或者透過MQTT協議將IO的數值發佈出去。 關於revpimodio2和RevPiPyLoad的更多功能,可以參考以下網址:https://revpimodio.org/en/homepage/ 【查看更多案例】 【工業樹莓派】三種訪問過程映像數據的方式一次看! 22 1 月, 2022 尚無留言 【工業級樹莓派】 Revolution Pi是一款 閱讀更多 » 【工業樹莓派】如何結合Node-Red編程實現工控功能? 21 1 月, 2022 尚無留言 【 關於工業級樹莓派 】 工業樹莓派(Revolu 閱讀更多 » 【工業樹莓派】結合Codesys實現CANopen主站 20 1 月, 2022 尚無留言 一、前言 在之前的文章裡已經介紹了如何使用工業樹莓 閱讀更多 » 【工業樹莓派】KUNBUS工業樹莓派常見問答 9 11 月, 2021 尚無留言 相信工業樹莓派對身為科技人的你們一定不陌生,然而, 閱讀更多 » 【工業樹莓派】結合Codesys實現軟PLC 8 11 月, 2021 尚無留言 【前言】 工業級樹莓派RevolutionPi是以 閱讀更多 » 【工業樹莓派】什麼是RevPi模塊的 MTBF 值? 1 11 月, 2021 尚無留言 Revolution Pi(簡稱RevPi)是基於 閱讀更多 » Tags: 工業樹莓派Read more articles Previous Post【工業樹莓派】如何結合Node-Red編程實現工控功能? Next Post【工業級樹莓派】Logi.CAD 3做軟PLC—交通號誌燈 You Might Also Like 【工業樹莓派】應用案例- 汽車行業轉型數字化製造 13 1 月, 2022 【HiveMQ 案例】結合汽車數據搭建城市山洪預警系統 26 4 月, 2022 Anybus網關主從站配置操作步驟 – EtherNet/IP Master 13 12 月, 2021