__MQTT協議網關串口連接三菱FX3UPLC操作說明 __
目錄
一. 使用流程 2
二. 準備工作 2
2.1 需要準備如下物品 2
2.2 LF220網關準備工作 3
2.3 PLC準備工作 3
2.4 電腦的準備工作 3
2.5 MQTT服務器準備工作 4
三. 阿里云IoT平臺配置步驟 5
3.1 創建產品 5
3.2 添加設備 6
3.3 配置阿里云IoT平臺物模型 7
3.4 獲取連接阿里云IoT平臺的參數 9
四. MQTT網關登陸平臺配置步驟 10
4.1 登錄 10
4.2 網關概況 12
4.3 MQTT連接配置 12
4.4 驅動管理 13
4.5 變量管理 14
五. 數據上報和寫入配置 16
5.1 數據上報配置設置 16
5.2 寫變量配置 19
六. 其他功能 22
七. 注意事項 22
前言:MQTT是一個基于客戶端-服務器的消息發布/訂閱傳輸協議。MQTT協議的特點是輕量、簡單、開放和易于實現的,同時,三菱PLC廣泛應于工業控制領域,是一款性能高、穩定性強的PLC設備。
此文檔將介紹如何使用MQTT協議網關串口連接三菱FX3U PLC,將PLC的數據通過MQTT協議傳輸到阿里云MQTT數據平臺,用戶可以在阿里云的MQTT臺上實時接收到三菱 PLC的數據,實現將PLC數據上云,遠程監控數據的功能。
[]()使用流程
流程如下,首次使用網關按照以下流程就可以實現將的PLC數據上傳到阿里云的MQTT服務器,實現數據采集。
下文將按照此流程分步進行介紹說明。
[]()準備工作
[]()需要準備如下物品
- 三菱FX3U PLC一臺
- MQTT協議網關一臺,天線和電源適配器(以下用LF220作為實例)。
- SIM卡一張,有流量,大卡(移動,聯通或者電信卡)。
- 聯網電腦一臺(WinXP/Win7/Win8/Win10操作系統)。
5) 能登錄阿里云的賬號(本文以新開通的賬號為例)。
[]()[]()[]()LF220網關準備工作
網關相關技術參數與使用說明,可參考《LF220邊緣計算網關使用手冊V1.1》。
保證網關可以正常聯網,可通過4G卡(移動/聯通/電信流量卡,大卡)聯網(需接上隨網關附帶的天線)或通過網線聯網(需將路由器出來的網線接到網關的WAN口);
網關接12V或24V直流電源,上電。(注意,電源正負極不要接反)。
[]()[]()[]()PLC準備工作
PLC連接電源(注意電源是24VDC還是220VAC),將編程電纜插上PLC的COM口,另一端連LF220的RS232或PLC的485串口連接到LF220對應的接線端子上。本案例以RS232串口為例進行講解。以國產FX3UPLC為例,接線如下圖:
接線線序:使用2 個DB9公頭,將網關2引腳接PLC的3引腳,網關3引腳接PLC的2引腳,網關的5引腳接PLC的5引腳,交叉連接。
[]()電腦的準備工作
電腦安裝“藍蜂MQTT網關配置工具壓縮包”。
進入藍蜂官網(https://www.lanfengkeji.com/),點擊【資源中心】→【技術手冊】→【藍蜂MQTT網關配置工具壓縮包】,如圖:
※本客戶端為免安裝客戶端,下載后請使用解壓軟件進行解壓縮操作,打開解壓縮后的文件夾,雙擊“藍蜂MQTT網關配置工具.exe”文件,即可啟動藍蜂MQTT網關配置工具。
__使用方式:__啟動藍蜂MQTT網關配置工具,會開啟命令行窗口并啟動電腦內默認瀏覽器,在瀏覽器內進行配置操作,請勿關閉已打開的命令行窗口,或修改瀏覽器內地址,否則將無法正常使用配置工具。
__推薦瀏覽器:__Chrome瀏覽器,Edge瀏覽器,360瀏覽器。
__不推薦瀏覽器:__不推薦使用IE瀏覽器,火狐瀏覽器,世界之窗瀏覽器。
[]()MQTT服務器準備工作
需要準備一臺MQTT服務器,實體服務器、云服務器(阿里云、華為云等)均可。使用云服務器,需要配置網關的MQTT上報腳本,必須要滿足云服務器的格式。
本文以阿里云服務器介紹。
進入阿里云IoT平臺官網(https://www.aliyun.com/),登錄賬號,然后點擊右上角控制臺。
進入控制臺后,選擇【產品與服務】→【物聯網平臺】。或直接搜索“物聯網平臺”。
注:第一次使用阿里云 IoT 平臺物聯網服務器需要先開通服務才能使用,跟隨界面提示點擊即可。
這樣就可以進入阿里云的物聯網平臺。“公眾實例”平臺是免費的。
[]()阿里云IoT平臺配置步驟
成功登陸阿里云IoT平臺以后,需要進行配置,按照如下步驟操作。
[]()創建產品
點擊實例,可進入實例詳情,點擊【設備管理】→【產品】→【創建產品】,如圖。
【產品名稱】:可自定義填寫,會在“設備所屬產品”中進行展示。
【所屬品類】:本案例選擇自定義品類,自定義功能。標準品類時,可選擇與自己產品設備相近的模型,選擇后系統可自動為您創建必選功能,也可根據需要添加可選功能和自定義功能。
【節點類型】:選擇直連設備
【聯網方式】:蜂窩(2G/3G/4G/5G)
【數據格式】:ICA標準數據格式(Alink JSON)
【校驗類型】和【認證方式】保持默認即可。
[]()添加設備
創建產品完成后,點擊確認,可進行添加設備,點擊“前往添加”。
【DeviceName】建議填寫藍蜂網關sn編號,可方便后續對配置文件進行導入導出操作,也可以自定義名稱。
【備注】可不寫。
完成后點擊【確認】按鈕后,可在設備列表中看到添加的設備。
點擊【查看】按鈕,可查看設備的連接參數以及其他詳細信息。
【DeviceName】和【ProductKey】需要記錄下來,在之后的配置過程中會用到。
[]()配置阿里云IoT平臺物模型
此步驟類似于在平臺創建變量。只有添加了變量以后,平臺才會將這些數據進行展示。
在阿里云IoT平臺,點擊【產品】,找到我們剛剛創建的產品,點擊查看按鈕,如圖:
進入產品中,點擊【功能定義】→【編輯草稿】。
進入編輯草稿頁面,點擊【添加自定義功能】,可根據自己需求進行變量創建。
這里我們添加屬性,添加溫度,濕度和開關三個變量,如圖:
注意:數據類型需要根據設備每個屬性的實際情況進行選擇,在后面使用藍蜂MQTT網關配置工具配置時,需要與之進行匹配。
區別于EMCP物聯網云平臺,此處不需要填寫變量的地址,數據是根據“標識符”來展示的。建議在創建變量后將創建的“變量名稱”、“標識符”、“數據類型”記錄下來,如下表。在之后的藍蜂MQTT網關配置工具中會用到。
變量名稱
標識符
數據類型
溫度
Temperature
int32(32位整形)
濕度
Humidity
int32(32位整形)
開關
Switch
Bool(開關量)
添加完成后,列表中可看到我們添加的3個屬性,點擊左下角發布上線。
注:
- 如果想要修改創建好的功能類型,點擊編輯草稿即可。
- 如果想要創建新的模塊(類似于變量的分組)點擊編輯草稿→添加模塊即可。
- 每個產品中可以有多個設備,共用所有的模塊(變量)信息。舉例:我有10臺設備在同一個產品下,默認模塊中設置了3個變量。在通訊正常時,10臺設備都會采集這3個相同的變量進行展示。
[]()獲取連接阿里云IoT平臺的參數
點擊【設備】,找到剛剛創建的設備,點擊后方的【查看】如圖
非常重要。在后面使用藍蜂MQTT網關配置工具配置網關登陸時(4.3節處)需要按照此處信息填寫。這個界面刷新后會變化,建議在配置網關時打開,復制粘貼即可。
至此,按照如上步驟,對于阿里云平臺的設置就完成了。
總結:
- 關于變量:在阿里云平臺中創建變量完成后,必須要知道設備的“DeviceName”、“ProductKey”、“變量名稱”、“標識符”、“數據類型”。
- 關于MQTT連接參數:非常重要,此為網關登錄阿里云IoT平臺的參數。
[]()MQTT網關登陸平臺配置步驟
[]()[]()[]()登錄
MQTT網關支持本地串口配置和遠程無線配置兩種方式連接網關進行配置。
※本地串口配置方式
使用本地串口配置方式,如圖:
使用232串口進行本地配置,將網關的RS232口使用USB轉232線接到電腦上,填寫配置參數,包括選擇通訊口,波特率,數據位,數據校驗,停止位。默認參數為115200,8,無,1。
【讀取網關串口參數】:如果對于串口參數并不了解,可點擊“讀取網關串口參數”按鈕,客戶端會主動搜索并填入已選中的串口的參數。
【記住配置】:點擊“記住配置”按鈕后,會記住當前配置,避免每次進入時需要重新配置的問題,再次進入時可直接進行連接操作。
點擊“立即連接”按鈕,可進入網關配置工具進行配置。
※遠程無線配置方式
當第一次拿到設備時,網關內部默認服務器為藍蜂的MQTT服務器,使用“遠程無線配置”可直接通過藍蜂MQTT服務器對網關進行遠程配置,修改網關參數。
需填寫對應的參數:
【網關SN碼】:網關SN碼__必須__為要連接的目標網關。SN碼位于網關機身。
【客戶端id】:電腦登錄MQTT服務器的ID,隨機生成,也可以自行填寫,最多200個字符,不能與其他設備設置的客戶端id重復。
[]()【用戶名】【密碼】: 藍蜂默認用戶名、密碼均為test
【IP/域名】:藍蜂MQTT服務器網址為110.249.137.42
【端口】: 藍蜂MQTT服務器端口號為1883
其余項目不需要修改,連接成功后即可進入網關配置界面對網關設置進行修改。
注意,遠程無線配置功能對于一般實體MQTT服務器來說可以直接使用,只需要填寫好對應MQTT服務器參數即可進行遠程無線配置。針對于阿里云、騰訊云等部分有限制的MQTT服務器來講,此功能不建議使用。
[]()[]()網關概況
當連接成功后,即可進入網關配置頁面,在此界面中可以查看到網關的基本信息、資源使用情況、服務器連接狀態等,同時也可以對網關進行相應的配置。
關于網關基本信息的具體介紹,見《藍蜂MQTT網關配置工具使用說明》第4.1節。
注意:LF220最多支持添加2000個變量。
[]()[]()[]()MQTT連接配置
MQTT配置頁面可用于填寫MQTT服務器參數,具體介紹內容見《藍蜂MQTT網關配置工具使用說明V1.0》第4.2節。首次拿到網關需要進行MQTT連接配置,用于配置連接的MQTT服務器的參數。配置完成后,網關即可連接MQTT服務器。如圖, 圖中所有參數均從阿里云處拿到,詳見本文第3.4節 :
此處所有的配置是從阿里云平臺處獲取的,復制時不要添加或刪除任何字符,否則將無法連接阿里云MQTT平臺。
填寫完成后點擊保存按鈕,需要重啟網關,配置才會生效。建議使用串口連接。如使用遠程連接修改的此處參數,當網關重啟后就不能遠程修改了,只能使用串口連接。
[]()[]()驅動管理
驅動管理用來配置網關與下位機的驅動管理,支持創建/編輯,刪除驅動,設置通訊口配置信息等,如圖。點擊右側的【驅動管理】→【通訊口配置】。由于是第一次配置,此處為空,需要先配置和下位機的通訊參數,再添加對應的驅動。
我們需要使用RS232口與PLC進行通訊,所以需要配置RS232的參數。如下圖。三菱默認的串口參數為9600、7、偶、1。
【通訊口配置】:點擊通訊口配置下面有3個通訊端口項,【RS232】、【RS485】和【LAN】,分別對應網關上的3個數據通訊端口,3個通訊口可以同時和下位機進行通訊。可按照需要對相應通訊口進行配置。
注意:由于使用的是RS232口與三菱PLC通訊,需要修改RS232的參數,此時保存參數后網關會重啟,電腦需要重新與網關進行連接。
【+新增】:點擊此處創建驅動,可根據實際使用需求進行選擇填寫。
【驅動名稱】:自定義。不限中英文,不限標點符號,包括空格,最大支持20個字。
【品牌】、【型號】:根據需要選擇品牌型號,網關會根據您選擇的品牌型號的專有協議跟設備進行通訊。本案例連接三菱FX3U PLC,所以【品牌】選擇“三菱”,【型號】選擇“FX3U”。
【設備地址】:必填項,和PLC中設置的地址一致。如果找不到從站,可以去PLC中程序中讀取。三菱協議沒有從站號,所以此處不需要修改,默認填寫1即可。
完成后點擊確定即可看到新創建的驅動。
[]()變量管理
首先我們需要拿到PLC端的地址表, 此處的【寄存器類型】和【寄存器地址】需要和PLC的地址表一致。地址表見后方說明。
注意:此處的【變量標識(key)】需要和阿里云MQTT平臺中填寫的一致且區分大小寫。見3.3節表格。
注:
1、網關會將創建的所有變量上傳到阿里云IoT平臺,由IoT平臺根據標識符來判斷數據是否采集、展示。
2、MQTT網關配置工具支持變量的復制/導入/導出功能,使用【復制】可以快速添加變量。
具體內容介紹見《藍蜂MQTT網關配置工具使用說明V1.0》第4.5.2節和4.5.3節。
※變量名稱說明:
【儀表、PLC】:必填,選擇剛才創建的三菱FX3U即可。
【變量表示(key)】:必填,自定義即可。注意不能有重復的名稱。
【寄存器類型】:必填,填寫對應三菱FX3U的寄存器類型。
【寄存器地址】:必填,地址填寫時不帶寄存區標志符,與實際寄存器地址一致。例如,X00寫0,Y10寫10,D200寫200。
【數據類型】:必填,根據實際需要選擇即可。
【死區設置】:具體內容見后方的“?”獲取幫助。
【讀寫方式】:可根據需求自行修改該寄存器的讀寫方式,默認為只讀。
【采集公式】:可根據需求自行編寫公式,需要使用英文字符。具體內容介紹見《藍蜂MQTT網關配置工具使用說明V1.0》第4.5.4節。
地址表示例:
PLC實際寄存器地址
平臺變量填寫地址
寄存器類型
X00
0
X輸入寄存器
Y10
10
Y輸出寄存器
D200
200
D數據寄存器
M20
20
M輔助寄存器
[]()數據上報和寫入配置
由于阿里云IoT平臺是有自己獨立的數據上報格式的,我們需要在“藍蜂MQTT網關配置工具”中對這一部分進行編輯。
[]()數據上報配置設置
配置步驟
打開阿里云平臺,點擊【產品】→【查看】,如圖:
進入產品后,點擊【topic類列表】-【物模型通信topic】,即找到屬性上報主題,如圖
其中“ /sys/ gqbaihhDlTb /${deviceName}/thing/event/property/post”中的gqbaihhDlTb是IoT平臺自動生成的,需要改成自己設備的ProductKey。為3.2節中標出需要記錄的ProductKey。
主題中的通配符**{deviceName}需要替換成我們這個產品中創建的設備的DeviceName。我們的示例在阿里云IoT平臺創建的設備的DeviceName為網關sn編號,而在藍蜂配置工具中可使用通配符**{sn}代替sn編號。
因此我們的上報主題為/sys/gqbaihhDlTb/${sn}/thing/event/property/post
我們將該主題寫入數據上報配置中的上報主題中,如圖:
【上報方式】:可按需求選擇定時上報或變化上報,此文檔以定時上報為例。
※【加工腳本】如下,復制粘貼即可,一般不需要進行修改:
function reportToJson(signalArray, system){
var json =\\{
id: system\\.msgId,
version:"1\\.0",
sys:\\{ ack : 0\\},
method: "thing\\.event\\.property\\.post",
params:\\{\\}
\\}
var time = new Date\\(\\)\\.getTime\\(\\);
for\\(var i=0; i
}
[]()點擊確定按鈕,配置完成,需要重啟網關,配置才會生效,將網關接入設備后,采集到的數據就可上報到阿里云IoT平臺了。
查看數據
當設備采集到數據并上報到阿里云IoT平臺后,我們可以在阿里云IoT平臺,點擊設備,找到我們接入的設備。
點擊查看按鈕,進入設備詳情中,點擊物模型數據,便可查看到我們采集到的數據,如圖:
點擊查看數據按鈕,可查看該屬性的歷史數據詳情,如圖:
[]()寫變量配置
操作步驟
從阿里云IoT平臺向設備寫入數據,需要在藍蜂MQTT網關配置工具中對寫入進行配置。
點擊【數據傳輸配置】-【寫變量配置】,我們可在寫變量配置中設置請求和響應主題,在阿里云IoT平臺打開對應設備的topic列表找到屬性設置topic,如圖:
進入產品后,點擊【topic類列表】-【物模型通信topic】,即找到屬性設置主題,如圖:
其中“/sys/ gqbaihhDlTb /${deviceName}/thing/service/property/set”中的gqbaihhDlTb是IoT平臺自動生成的,需要改成自己設備的ProductKey。為3.2節中標出需要記錄的ProductKey。
主題中的通配符${deviceName}需要替換成我們這個產品中創建的設備的DeviceName。
我們的示例在阿里云IoT平臺創建的設備的DeviceName為網關sn編號,而在藍蜂配置工具中可使用通配符${sn}代替sn編號。
因此我們的請求主題為:/sys/gqbaihhDlTb/${sn}/thing/service/property/set,
響應主題為:/sys/gqbaihhDlTb/${sn}/thing/service/property/set_reply
我們將請求主題和響應主題寫入寫變量配置中的請求和響應主題中,如圖:
※【請求解析腳本】如下,復制粘貼即可,一般不需要進行修改:
function writeReqToJson(str){
if\\(str\\!=""\\)\\{
var req = JSON\\.parse\\(str\\)
var keys = Object\\.keys\\(req\\.params\\)
var key = keys\\[0\\]
var msgId = req\\.id
var json = \\{ key: key, value:req\\.params\\[key\\]\\+"",msgId:msgId\\}
return JSON\\.stringify\\(json\\)
\\}
return \\{\\}
}
※【響應加工腳本】如下,復制粘貼即可,一般不需要進行修改:
function writeRespToJson(signal, system){
var json = \\{
"code": 200,
"data": \\{\\},
"id": system\\.msgId,
"message": "success",
"version": "1\\.0"
\\}
return JSON\\.stringify\\(json\\)
}
點擊確定按鈕,配置完成,需要重啟網關,配置才會生效,將網關接入設備后,就可以從阿里云IoT平臺直接控制設備,進行寫入數據了。
向設備寫入數據
打開阿里云IoT平臺,點擊【監控運維】→【在線調試】,選擇我們想要寫入數據的設備,如圖:
找到想要寫入數值的屬性,我們此處對溫度進行寫入數值36,如圖:
設置成功后,在[]()阿里云IoT平臺數值查看處我們也可以看到我們寫入成功的數據,如圖。
注意:
- 點擊“獲取”時,獲取到的值是阿里云平臺最后一次成功通訊的值。即使獲取成功,也不能說明網關和下位機通訊正常。
- 連接阿里云IoT平臺時建議將網關的“透傳設置”、“采集異常設置”、“狀態上報設置”關閉。
[]()其他功能
LF220支持PLC遠程下載、斷網續傳、腳本功能,(透傳功能不適用于阿里云服務器)功能介紹可查看《LF220邊緣計算網關用戶手冊》,或點擊對應功能頁中的“?”跳轉幫助界面進行查看。
[]()注意事項
1、LF220網關暫時不支持web配置頁,目前暫時不能設置交換機和路由器模式。
2、在打開藍蜂MQTT網關配置工具之后,請勿關閉已打開的命令行窗口,或修改瀏覽器內地址,否則將無法正常使用配置工具。
3、配置成阿里云服務器以后,再次配置網關時只能使用RS232轉USB本地配置,不能使用在線配置。
4、配置LF220網關參數時必須要和阿里云服務器中設置的一致。
5、阿里云服務器(或其他服務器)有自己固定的格式,需要編寫對應的腳本。阿里云服務器腳本按照文檔中填寫的即可,可以直接復制粘貼。
6、如果串口232是7位時,串口連接點擊升級,升級成功客戶端不會提示升級成功,但是網關實際會升級成功。
7、藍蜂MQTT網關配置工具的網關編碼格式為UTF-8。
8、兼容性:win7, win10, win11系統,不支持winxp及更低版本windows系統,不支持linux、MacOS、android和ios系統。
讓 設 備 與 人 更 好 溝 通
[]()藍蜂物聯網(微信公眾號)——請加關注
獲取更多資料+視頻+資訊
公司電話:0311-68025711
技術支持:400-808-6168
官方網站:www.lanfengkeji.com
審核編輯 黃宇
-
網關
+關注
關注
9文章
4585瀏覽量
51393 -
阿里云
+關注
關注
3文章
971瀏覽量
43189 -
MQTT
+關注
關注
5文章
653瀏覽量
22634
發布評論請先 登錄
相關推薦
評論