MQTT協(xié)議網(wǎng)關網(wǎng)口連接西門子SMART200PLC操作說明v1.4
目錄
一. 使用流程
二. 準備工作
2.1 需要準備如下物品
2.2 LF220網(wǎng)關準備工作
2.3 PLC準備工作
2.4 電腦的準備工作
2.5 MQTT服務器準備工作
三. 阿里云IoT平臺配置步驟
3.1 創(chuàng)建產品
3.2 添加設備
3.3 配置阿里云IoT平臺物模型
3.4 獲取連接阿里云IoT平臺的參數(shù)
四. MQTT網(wǎng)關登陸平臺配置步驟
4.1 登錄
4.2 網(wǎng)關概況
4.3 MQTT連接配置
4.4 驅動管理
4.5 變量管理
五. 數(shù)據(jù)上報和寫入配置
5.1 數(shù)據(jù)上報配置設置
5.2 寫變量配置
六. 其他功能
七. 注意事項
前言:MQTT是一個基于客戶端-服務器的消息發(fā)布/訂閱傳輸協(xié)議。MQTT協(xié)議的特點是輕量、簡單、開放和易于實現(xiàn)的,同時,西門子PLC廣泛應于工業(yè)控制領域,是一款性能高、穩(wěn)定性強的PLC設備。
此文檔將介紹如何使用MQTT協(xié)議網(wǎng)關串口連接西門子200SMART PLC,將PLC的數(shù)據(jù)通過MQTT協(xié)議傳輸?shù)?/span>阿里云MQTT數(shù)據(jù)平臺,用戶可以在阿里云的MQTT臺上實時接收到200SMART PLC的數(shù)據(jù),實現(xiàn)將PLC數(shù)據(jù)上云,遠程監(jiān)控數(shù)據(jù)的功能。
一. 使用流程
流程如下,使用網(wǎng)關按照以下流程就可以實現(xiàn)將的PLC數(shù)據(jù)上傳到阿里云的MQTT服務器,實現(xiàn)數(shù)據(jù)采集。
下文將按照此流程分步進行介紹說明。
二. 準備工作
2.1 需要準備如下物品
1) 西門子200SMART PLC一臺
2) MQTT協(xié)議網(wǎng)關一臺,天線和電源適配器(以下用LF220作為實例)。
3) SIM卡一張,有流量,大卡(移動,聯(lián)通或者電信卡)。
4) 聯(lián)網(wǎng)電腦一臺(WinXP/Win7/Win8/Win10操作系統(tǒng))。
5) 能登錄阿里云的賬號(本文以新開通的賬號為例)。
6) USB轉RS232線、網(wǎng)線、電工工具、導線若干。
網(wǎng)關相關技術參數(shù)與使用說明,可參考《LF220邊緣計算網(wǎng)關使用手冊V1.1》。
保證網(wǎng)關可以正常聯(lián)網(wǎng),可通過4G卡(移動/聯(lián)通/電信流量卡,大卡)聯(lián)網(wǎng)(需接上隨網(wǎng)關附帶的天線)或通過網(wǎng)線聯(lián)網(wǎng)(需將路由器出來的網(wǎng)線接到網(wǎng)關的WAN口);
網(wǎng)關接12V或24V直流電源,上電。(注意,電源正負極不要接反)。
2.3 PLC準備工作
PLC連接電源(注意電源是24VDC還是220VAC),將PLC網(wǎng)口和LF220的LAN口用網(wǎng)線連接起來。
2.4 電腦的準備工作
電腦安裝“藍蜂MQTT網(wǎng)關配置工具壓縮包”。
進入藍蜂,點擊【資源中心】→【技術手冊】→【藍蜂MQTT網(wǎng)關配置工具壓縮包】,如圖:
※本客戶端為免安裝客戶端,下載后請使用解壓軟件進行解壓縮操作,打開解壓縮后的文件夾,雙擊“藍蜂MQTT網(wǎng)關配置工具.exe”文件,即可啟動藍蜂MQTT網(wǎng)關配置工具。
使用方式:啟動藍蜂MQTT網(wǎng)關配置工具,會開啟命令行窗口并啟動電腦內默認瀏覽器,在瀏覽器內進行配置操作,請勿關閉已打開的命令行窗口,或修改瀏覽器內地址,否則將無法正常使用配置工具。
推薦瀏覽器:Chrome瀏覽器,Edge瀏覽器,360瀏覽器。
不推薦瀏覽器:不推薦使用IE瀏覽器,火狐瀏覽器,世界之窗瀏覽器。
2.5 MQTT服務器準備工作
需要準備一臺MQTT服務器,實體服務器、云服務器(阿里云、華為云等)均可。使用云服務器,需要配置網(wǎng)關的MQTT上報腳本,必須要滿足云服務器的格式。
本文以阿里云服務器介紹。
進入阿里云IoT平臺,登錄賬號,然后點擊右上角控制臺。
進入控制臺后,選擇【產品與服務】→【物聯(lián)網(wǎng)平臺】。或直接搜索“物聯(lián)網(wǎng)平臺”。
注:第一次使用阿里云 IoT 平臺物聯(lián)網(wǎng)服務器需要先開通服務才能使用,跟隨界面提示點擊即可。
這樣就可以進入阿里云的物聯(lián)網(wǎng)平臺。“公眾實例”平臺是免費的。
三. 阿里云IoT平臺配置步驟
成功登陸阿里云IoT平臺以后,需要進行配置,按照如下步驟操作。
3.1 創(chuàng)建產品
點擊實例,可進入實例詳情,點擊【設備管理】→【產品】→【創(chuàng)建產品】,如圖。
【產品名稱】:可自定義填寫,會在“設備所屬產品”中進行展示。
【所屬品類】:本案例選擇自定義品類,自定義功能。標準品類時,可選擇與自己產品設備相近的模型,選擇后系統(tǒng)可自動為您創(chuàng)建必選功能,也可根據(jù)需要添加可選功能和自定義功能。
【節(jié)點類型】:選擇直連設備
【聯(lián)網(wǎng)方式】:蜂窩(2G/3G/4G/5G)
【數(shù)據(jù)格式】:ICA標準數(shù)據(jù)格式(Alink JSON)
【校驗類型】和【認證方式】保持默認即可。
3.2 添加設備
創(chuàng)建產品完成后,點擊確認,可進行添加設備,點擊“前往添加”。
【DeviceName】建議填寫藍蜂網(wǎng)關sn編號,可方便后續(xù)對配置文件進行導入導出操作,也可以自定義名稱。
【備注】可不寫。
完成后點擊【確認】按鈕后,可在設備列表中看到添加的設備。
點擊【查看】按鈕,可查看設備的連接參數(shù)以及其他詳細信息。
【DeviceName】和【ProductKey】需要記錄下來,在之后的配置過程中會用到。
3.3 配置阿里云IoT平臺物模型
此步驟類似于在平臺創(chuàng)建變量。只有添加了變量以后,平臺才會將這些數(shù)據(jù)進行展示。
在阿里云IoT平臺,點擊【產品】,找到我們剛剛創(chuàng)建的產品,點擊查看按鈕,如圖:
進入產品中,點擊【功能定義】→【編輯草稿】。
進入編輯草稿頁面,點擊【添加自定義功能】,可根據(jù)自己需求進行變量創(chuàng)建。
這里我們添加屬性,添加溫度,濕度和開關三個變量,如圖:
注意:數(shù)據(jù)類型需要根據(jù)設備每個屬性的實際情況進行選擇,在后面使用藍蜂MQTT網(wǎng)關配置工具配置時,需要與之進行匹配。
區(qū)別于EMCP物聯(lián)網(wǎng)云平臺,此處不需要填寫變量的地址,數(shù)據(jù)是根據(jù)“標識符”來展示的。建議在創(chuàng)建變量后將創(chuàng)建的“變量名稱”、“標識符”、“數(shù)據(jù)類型”記錄下來,如下表。在之后的藍蜂MQTT網(wǎng)關配置工具中會用到。
變量名稱 | 標識符 | 數(shù)據(jù)類型 |
溫度 | Temperature | int32(32位整形) |
濕度 | Humidity | int32(32位整形) |
開關 | Switch | Bool(開關量) |
添加完成后,列表中可看到我們添加的3個屬性,點擊左下角發(fā)布上線。
注:
1、 如果想要修改創(chuàng)建好的功能類型,點擊編輯草稿即可。
2、 如果想要創(chuàng)建新的模塊(類似于變量的分組)點擊編輯草稿→添加模塊即可。
3、 每個產品中可以有多個設備,共用所有的模塊(變量)信息。舉例:我有10臺設備在同一個產品下,默認模塊中設置了3個變量。在通訊正常時,10臺設備都會采集這3個相同的變量進行展示。
點擊【設備】,找到剛剛創(chuàng)建的設備,點擊后方的【查看】如圖
非常重要。在后面使用藍蜂MQTT網(wǎng)關配置工具配置網(wǎng)關登陸時(4.3節(jié)處)需要按照此處信息填寫。這個界面刷新后會變化,建議在配置網(wǎng)關時打開,復制粘貼即可。
至此,按照如上步驟,對于阿里云平臺的設置就完成了。
總結:
1、 關于變量:在阿里云平臺中創(chuàng)建變量完成后,必須要知道設備的“DeviceName”、“ProductKey”、“變量名稱”、“標識符”、“數(shù)據(jù)類型”。
2、 關于MQTT連接參數(shù):非常重要,此為網(wǎng)關登錄阿里云IoT平臺的參數(shù)。
4.1 登錄
MQTT網(wǎng)關支持本地串口配置和遠程無線配置兩種方式連接網(wǎng)關進行配置。
※本地串口配置方式
使用本地串口配置方式,如圖:
使用232串口進行本地配置,將網(wǎng)關的RS232口使用USB轉232線接到電腦上,填寫配置參數(shù),包括選擇通訊口,波特率,數(shù)據(jù)位,數(shù)據(jù)校驗,停止位。默認參數(shù)為115200,8,無,1。
【讀取網(wǎng)關串口參數(shù)】:如果對于串口參數(shù)并不了解,可點擊“讀取網(wǎng)關串口參數(shù)”按鈕,客戶端會主動搜索并填入已選中的串口的參數(shù)。
【記住配置】:點擊“記住配置”按鈕后,會記住當前配置,避免每次進入時需要重新配置的問題,再次進入時可直接進行連接操作。
點擊“立即連接”按鈕,可進入網(wǎng)關配置工具進行配置。
※遠程無線配置方式
當?shù)谝淮文玫皆O備時,網(wǎng)關內部默認服務器為藍蜂的MQTT服務器,使用“遠程無線配置”可直接通過藍蜂MQTT服務器對網(wǎng)關進行遠程配置,修改網(wǎng)關參數(shù)。
需填寫對應的參數(shù):
【網(wǎng)關SN碼】:網(wǎng)關SN碼必須為要連接的目標網(wǎng)關。SN碼位于網(wǎng)關機身。
【客戶端id】:電腦登錄MQTT服務器的ID,隨機生成,也可以自行填寫,最多200個字符,不能與其他設備設置的客戶端id重復。
【IP/域名】:藍蜂MQTT服務器為110.249.137.42
【端口】: 藍蜂MQTT服務器端口號為1883
其余項目不需要修改,連接成功后即可進入網(wǎng)關配置界面對網(wǎng)關設置進行修改。
注意,遠程無線配置功能對于一般實體MQTT服務器來說可以直接使用,只需要填寫好對應MQTT服務器參數(shù)即可進行遠程無線配置。針對于阿里云、騰訊云等部分有限制的MQTT服務器來講,此功能不建議使用。
4.2 網(wǎng)關概況
當連接成功后,即可進入網(wǎng)關配置頁面,在此界面中可以查看到網(wǎng)關的基本信息、資源使用情況、服務器連接狀態(tài)等,同時也可以對網(wǎng)關進行相應的配置。
關于網(wǎng)關基本信息的具體介紹,見《藍蜂MQTT網(wǎng)關配置工具使用說明》第4.1節(jié)。
注意:LF220最多支持添加2000個變量。
4.3 MQTT連接配置
MQTT配置頁面可用于填寫MQTT服務器參數(shù),具體介紹內容見《藍蜂MQTT網(wǎng)關配置工具使用說明V1.0》第4.2節(jié)。拿到網(wǎng)關需要進行MQTT連接配置,用于配置連接的MQTT服務器的參數(shù)。配置完成后,網(wǎng)關即可連接MQTT服務器。如圖,圖中所有參數(shù)均從阿里云處拿到,詳見本文第3.4節(jié):
此處所有的配置是從阿里云平臺處獲取的,復制時不要添加或刪除任何字符,否則將無法連接阿里云MQTT平臺。
填寫完成后點擊保存按鈕,需要重啟網(wǎng)關,配置才會生效。建議使用串口連接。如使用遠程連接修改的此處參數(shù),當網(wǎng)關重啟后就不能遠程修改了,只能使用串口連接。
4.4 驅動管理
驅動管理用來配置網(wǎng)關與下位機的驅動管理,支持創(chuàng)建/編輯,刪除驅動,設置通訊口配置信息等,如圖。由于是第一次配置,此處為空,需要進行添加驅動的操作。
【通訊口配置】:點擊通訊口配置下面有3個通訊端口項,【RS232】、【RS485】和【LAN】,分別對應網(wǎng)關上的3個數(shù)據(jù)通訊端口,3個通訊口可以同時和下位機進行通訊。可按照需要對相應通訊口進行配置。
我們需要使用網(wǎng)線與PLC進行通訊,所以需要配置網(wǎng)口的參數(shù)。如下圖。本案例中,PLC的IP地址為192.168.1.55。同時,建議使用手動設置IP的方式。需要填寫和PLC同一網(wǎng)段的地址,任意即可,這里填寫192.168.1.10,子網(wǎng)掩碼為255.255.255.0。
【+新增】:點擊此處創(chuàng)建驅動,可根據(jù)實際使用需求進行選擇填寫。
【驅動名稱】:自定義。不限中英文,不限標點符號,包括空格,最大支持20個字。
【品牌】、【型號】:根據(jù)需要選擇品牌型號,網(wǎng)關會根據(jù)您選擇的品牌型號的專有協(xié)議跟設備進行通訊。本案例連接西門子200SMART PLC,所以【品牌】選擇“西門子”,【型號】選擇“S7-200 SMART”。
【IP地址】:必填項,填寫PLC的IP地址。
【端口號】:西門子默認為102。
完成后點擊確定即可看到新創(chuàng)建的驅動。
4.5 變量管理
首先我們需要拿到PLC端的地址表, 此處的【寄存器類型】和【寄存器地址】需要和PLC的地址表一致。地址表見后方說明。
注意:此處的【變量標識(key)】需要和阿里云MQTT平臺中填寫的一致且區(qū)分大小寫。見3.3節(jié)表格。
注:
1、網(wǎng)關會將創(chuàng)建的所有變量上傳到阿里云IoT平臺,由IoT平臺根據(jù)標識符來判斷數(shù)據(jù)是否采集、展示。
2、MQTT網(wǎng)關配置工具支持變量的復制/導入/導出功能,使用【復制】可以快速添加變量。
具體內容介紹見《藍蜂MQTT網(wǎng)關配置工具使用說明V1.0》第4.5.2節(jié)和4.5.3節(jié)。
※變量名稱說明:
【儀表、PLC】:必填,選擇剛才創(chuàng)建的西門子smart200即可。
【變量表示(key)】:必填,自定義即可。注意不能有重復的名稱。
【寄存器類型】:必填,填寫對應西門子smart200PLC的寄存器類型。
【寄存器地址】:必填,與實際寄存器地址一致。具體可見下方地址表示例。
【數(shù)據(jù)類型】:必填,根據(jù)實際需要選擇即可。
【死區(qū)設置】:具體內容見后方“?”。
【讀寫方式】:可根據(jù)需求自行修改該寄存器的讀寫方式,默認為只讀。
【采集公式】:可根據(jù)需求自行編寫公式,需要使用英文字符。具體內容介紹見《藍蜂MQTT網(wǎng)關配置工具使用說明V1.0》第4.5.4節(jié)。
地址表示例:
由于阿里云IoT平臺是有自己獨立的數(shù)據(jù)上報格式的,我們需要在“藍蜂MQTT網(wǎng)關配置工具”中對這一部分進行編輯。
5.1.1 配置步驟
打開阿里云平臺,點擊【產品】→【查看】,如圖:
進入產品后,點擊【topic類列表】-【物模型通信topic】,即找到屬性上報主題,如圖
其中“ /sys/ gqbaihhDlTb /${deviceName}/thing/event/property/post”中的gqbaihhDlTb是IoT平臺自動生成的,需要改成自己設備的ProductKey。為3.2節(jié)中標出需要記錄的ProductKey。
主題中的通配符${deviceName}需要替換成我們這個產品中創(chuàng)建的設備的DeviceName。我們的示例在阿里云IoT平臺創(chuàng)建的設備的DeviceName為網(wǎng)關sn編號,而在藍蜂配置工具中可使用通配符${sn}代替sn編號。
因此我們的上報主題為/sys/gqbaihhDlTb/${sn}/thing/event/property/post
我們將該主題寫入數(shù)據(jù)上報配置中的上報主題中,如圖:
【上報方式】:可按需求選擇定時上報或變化上報,此文檔以定時上報為例。
※【加工腳本】如下,復制粘貼即可,一般不需要進行修改:
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<signalArray.length; i++){
var signal = signalArray[i];
json.params[signal.key] = {
time:time,
value:Number(signal.value)
}
}
return JSON.stringify(json);
}
點擊確定按鈕,配置完成,需要重啟網(wǎng)關,配置才會生效,將網(wǎng)關接入設備后,采集到的數(shù)據(jù)就可上報到阿里云IoT平臺了。
5.1.2 查看數(shù)據(jù)
當設備采集到數(shù)據(jù)并上報到阿里云IoT平臺后,我們可以在阿里云IoT平臺,點擊設備,找到我們接入的設備。
點擊查看按鈕,進入設備詳情中,點擊物模型數(shù)據(jù),便可查看到我們采集到的數(shù)據(jù),如圖:
點擊查看數(shù)據(jù)按鈕,可查看該屬性的歷史數(shù)據(jù)詳情,如圖:
5.2 寫變量配置
5.2.1 操作步驟
從阿里云IoT平臺向設備寫入數(shù)據(jù),需要在藍蜂MQTT網(wǎng)關配置工具中對寫入進行配置。
點擊【數(shù)據(jù)傳輸配置】-【寫變量配置】,我們可在寫變量配置中設置請求和響應主題,在阿里云IoT平臺打開對應設備的topic列表找到屬性設置topic,如圖:
進入產品后,點擊【topic類列表】-【物模型通信topic】,即找到屬性設置主題,如圖:
其中“/sys/ gqbaihhDlTb /${deviceName}/thing/service/property/set”中的gqbaihhDlTb是IoT平臺自動生成的,需要改成自己設備的ProductKey。為3.2節(jié)中標出需要記錄的ProductKey。
主題中的通配符${deviceName}需要替換成我們這個產品中創(chuàng)建的設備的DeviceName。
我們的示例在阿里云IoT平臺創(chuàng)建的設備的DeviceName為網(wǎng)關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 = { data:[{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)
}
點擊確定按鈕,配置完成,需要重啟網(wǎng)關,配置才會生效,將網(wǎng)關接入設備后,就可以從阿里云IoT平臺直接控制設備,進行寫入數(shù)據(jù)了。
5.2.2 向設備寫入數(shù)據(jù)
打開阿里云IoT平臺,點擊【監(jiān)控運維】→【在線調試】,選擇我們想要寫入數(shù)據(jù)的設備,如圖:
找到想要寫入數(shù)值的屬性,我們此處對溫度進行寫入數(shù)值36,如圖:
設置成功后,在阿里云IoT平臺數(shù)值查看處我們也可以看到我們寫入成功的數(shù)據(jù),如圖。
注意:
1、 點擊“獲取”時,獲取到的值是阿里云平臺最后一次成功通訊的值。即使獲取成功,也不能說明網(wǎng)關和下位機通訊正常。
2、 連接阿里云IoT平臺時建議將網(wǎng)關的“透傳設置”、“采集異常設置”、“狀態(tài)上報設置”關閉。
六. 其他功能
LF220支持PLC遠程下載、斷網(wǎng)續(xù)傳、腳本功能,(透傳功能不適用于阿里云服務器)功能介紹可查看《LF220邊緣計算網(wǎng)關用戶手冊》,或點擊對應功能頁中的“?”跳轉幫助界面進行查看。
七. 注意事項
1、LF220網(wǎng)關暫時不支持web配置頁,目前暫時不能設置交換機和路由器模式。
2、在打開藍蜂MQTT網(wǎng)關配置工具之后,請勿關閉已打開的命令行窗口,或修改瀏覽器內地址,否則將無法正常使用配置工具。
3、配置成阿里云服務器以后,再次配置網(wǎng)關時只能使用RS232轉USB本地配置,不能使用在線配置。
4、配置LF220網(wǎng)關參數(shù)時必須要和阿里云服務器中設置的一致。
5、阿里云服務器(或其他服務器)有自己固定的格式,需要編寫對應的腳本。阿里云服務器腳本按照文檔中填寫的即可,可以直接復制粘貼。
6、如果串口232是7位時,串口連接點擊升級,升級成功客戶端不會提示升級成功,但是網(wǎng)關實際會升級成功。
7、藍蜂MQTT網(wǎng)關配置工具的網(wǎng)關編碼格式為UTF-8。
8、兼容性:win7, win10, win11系統(tǒng),不支持winxp及更低版本windows系統(tǒng),不支持linux、MacOS、android和ios系統(tǒng)。
上一篇:分析電能計量與遠程抄表的應用
免責聲明
- 凡本網(wǎng)注明"來源:智能制造網(wǎng)"的所有作品,版權均屬于智能制造網(wǎng),轉載請必須注明智能制造網(wǎng),http://m.decaoba.com。違反者本網(wǎng)將追究相關法律責任。
- 企業(yè)發(fā)布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔責任,本網(wǎng)有權刪除內容并追溯責任。
- 本網(wǎng)轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉載時,必須保留本網(wǎng)注明的作品來源,并自負版權等法律責任。
- 如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網(wǎng)聯(lián)系,否則視為放棄相關權利。
2026杭州國際人形機器人與機器人技術展覽會
展會城市:杭州市展會時間:2026-05-14