国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

你的 PLC 會說 JSON 嗎?

2022-04-11 15:03 作者:star-elink  | 我要投稿

大多數(shù)人都使用網(wǎng)絡(luò)瀏覽器來瀏覽互聯(lián)網(wǎng)。他們熟悉在瀏覽器地址欄中輸入網(wǎng)站名稱,有時會以“http://”(或“https://”表示安全站點(diǎn))開頭。網(wǎng)站地址正式成為統(tǒng)一資源定位器 (URL),它指向特定的域和網(wǎng)頁。HTTP 協(xié)議定義了應(yīng)用程序如何通過萬維網(wǎng) (www) 進(jìn)行通信。具體來說,HTTP 描述了如何格式化、傳輸和處理消息。

當(dāng)用戶在瀏覽器中鍵入 URL 時,會向目標(biāo) Web 服務(wù)器生成 HTTP 請求,并使用相應(yīng)的 HTTP 響應(yīng)來填充瀏覽器顯示。HTTP 請求和響應(yīng)都是輕量級的文本文件,易于軟件創(chuàng)建和解析。

PLC 可以以類似的方式與互聯(lián)網(wǎng)交互,但有一些關(guān)鍵區(qū)別。

API 在行動

雖然許多網(wǎng)站提供各種 API 定義,但 PLC 社區(qū)可能對那些提供對自動化機(jī)器、設(shè)備和系統(tǒng)有用的硬數(shù)據(jù)的網(wǎng)站最感興趣。要獲取此類信息,PLC 需要出站 Internet 訪問權(quán)限,以便連接到所需的網(wǎng)站。

通過搜索“網(wǎng)站 API”和類似術(shù)語在互聯(lián)網(wǎng)上進(jìn)行的研究將識別各種網(wǎng)站及其提供的 API。一些 API 提供免費(fèi)訪問,或者每天至少提供有限數(shù)量的免費(fèi)連接。其他網(wǎng)站,通常具有更有價值的信息,可能需要注冊并收取使用費(fèi)或訂閱費(fèi)。

程序員在開始第一個將 PLC 與 Internet 網(wǎng)站連接的項(xiàng)目時應(yīng)該有一些可用的軟件工具,包括開源 Wireshark 數(shù)據(jù)包監(jiān)控軟件和 JSON 感知文本編輯器。

編輯搜圖圖 2:顏色突出顯示的 JSON 示例顯示了信息的分層性質(zhì),其中包含可供軟件解析的人類可讀數(shù)據(jù)。

解包 JSON

對網(wǎng)站 API 的 HTTP 請求將返回 JSON 格式的響應(yīng),這在原始格式中不易被人類閱讀(圖 1)。但是,JSON 具有定義明確的層和嵌套系統(tǒng),并且這些信息對象可以使用兼容的文本編輯器輕松查看(圖 2)。

圖 1:典型的 JSON 數(shù)據(jù)負(fù)載需要進(jìn)行一些解析才能提取所需的數(shù)據(jù)。

用戶想要的信息通常嵌套在 JSON 文件的深處,必須逐步解析才能檢索到。在圖 2 示例中,44 華氏度的溫度位于第 3 層,位于第 2 層“Imperial”和第 1 層“Temperature”之下。

AutomationDirect BRX PLC 包含四個關(guān)鍵功能,使與互聯(lián)網(wǎng)網(wǎng)站的通信成為可能:

  • 在工廠網(wǎng)絡(luò)上配置的以太網(wǎng)端口,具有允許 PLC 連接到互聯(lián)網(wǎng)的適當(dāng)權(quán)限

  • 能夠配置為傳輸控制協(xié)議 (TCP) 客戶端,因此 PLC 可以打開邏輯通道來發(fā)起 HTTP 指令

  • HTTP 命令指令,因此可以將請求字符串發(fā)送到目標(biāo) URL 的 API

  • 一條 JSON 解析指令,以便處理響應(yīng)數(shù)據(jù)負(fù)載

編輯搜圖

PLC 詢問“明天的溫度是多少?”

使用 PLC 獲取 Internet 數(shù)據(jù)的最常見實(shí)例可能是當(dāng) PLC 聯(lián)系天氣網(wǎng)站以確定第二天的預(yù)測當(dāng)?shù)販囟葧r。當(dāng)前的局部溫度也可以通過這種方式或通過連接到 PLC 的室外溫度傳感器獲得。

例如,AccuWeather 網(wǎng)站在“API 參考”選項(xiàng)卡下提供了一個包含許多詳細(xì)信息的 API。用戶應(yīng)始終咨詢目標(biāo)網(wǎng)站有關(guān)注冊、創(chuàng)建應(yīng)用程序、成本和其他技術(shù)細(xì)節(jié)或限制的信息。

在這種情況下,需要一個私有用戶 API 密鑰來啟動 HTTP 通信。此用戶 API 密鑰授權(quán)通信,類似于密碼。

該 API 提供了許多獲取數(shù)據(jù)的方法。例如,如果 PLC 位于大城市,則可以在此基礎(chǔ)上一部獲得溫度。為了獲得更好的準(zhǔn)確性,用戶可以選擇緯度/經(jīng)度甚至郵政編碼來查找位置鍵,改鍵用于調(diào)用其他 API 方法。

編輯搜圖圖 3:AutomationDirect BRX PLC 中的 HTTPCMD 塊使 PLC 能夠向互聯(lián)網(wǎng)網(wǎng)站 API 發(fā)起請求以獲取數(shù)據(jù)。AutomationDirect Do-more Designer 軟件有必要的說明。

本示例使用后一種方法。首先,向目標(biāo)網(wǎng)站發(fā)出 HTTPCMD 指令,以“獲取”“郵政編碼搜索”的結(jié)果(圖 3)。

按照 API 規(guī)則,JSON 響應(yīng)將是一個包含“鍵”值的數(shù)據(jù)負(fù)載,在這種情況下,它是所需位置的查找索引。JSONPARSE 指令允許 PLC 深入研究有效負(fù)載并提取必要的密鑰(圖 4)。

編輯搜圖圖 4:使用了 AutomationDirect BRX PLC 中的這個 JSONPARSE 塊,因此 PLC 可以深入到 JSON 數(shù)據(jù)有效負(fù)載中的對象層并提取所需的信息。

一旦知道密鑰,就可以使用它來配置另一組 HTTPCMD 和 JSONPARSE 指令,然后根據(jù)溫度值的需要多次重復(fù)。

在這種情況下,為了獲取第二天的溫度預(yù)報,用戶將配置 HTTPCMD 以“獲取”“forecasts/1day”,然后使用 JSONPARSE 以度數(shù)為單位提取溫度。請注意,JSON 響應(yīng)是作為字符串變量處理的,可能需要多個連續(xù)的 JSONPARSE 指令來向下鉆取層以找到所需的數(shù)據(jù)。

雖然初始編程需要幾個步驟,但后續(xù)請求可以自動生成。

保持控制

PLC 向互聯(lián)網(wǎng)查詢有用數(shù)據(jù)的能力非常強(qiáng)大,但用戶必須為任何能夠連接互聯(lián)網(wǎng)的工業(yè)設(shè)備或網(wǎng)絡(luò)提供謹(jǐn)慎的安全性。此外,PLC 程序必須經(jīng)過穩(wěn)健安排,以便能夠承受任何類型的互聯(lián)網(wǎng)中斷。

互聯(lián)網(wǎng)提供了大量信息,其中大部分信息無法通過本地傳感器和儀器輕松獲得。通過正確的 PLC、一些規(guī)劃和一些編程,用戶可以通過讓他們的 PLC 直接從互聯(lián)網(wǎng)網(wǎng)站收集信息來增強(qiáng)他們的應(yīng)用程序。


你的 PLC 會說 JSON 嗎?的評論 (共 條)

分享到微博請遵守國家法律
瑞安市| 新竹市| 荃湾区| 桃园市| 布尔津县| 调兵山市| 布拖县| 开阳县| 边坝县| 日土县| 若羌县| 肃宁县| 安国市| 凉城县| 句容市| 沛县| 屏南县| 义马市| 册亨县| 普兰县| 晋江市| 兰西县| 盐边县| 固始县| 清远市| 宜城市| 麦盖提县| 丹凤县| 万州区| 株洲县| 额敏县| 巫山县| 滁州市| 正镶白旗| 报价| 德保县| 仁怀市| 衡阳市| 昌吉市| 漳浦县| 读书|