著工業(yè)的發(fā)展,PLC聯(lián)網(wǎng)進行遠程監(jiān)控、遠程運維的需求越來越多,通常是通過PLC的通信口外接一個聯(lián)網(wǎng)模塊來實現(xiàn)。很多企業(yè)自動化產(chǎn)品與非標自動化產(chǎn)品安裝現(xiàn)場地處偏僻,沒有網(wǎng)絡怎么辦?隨著本地通信控制的局限性,遠程控制聯(lián)網(wǎng)通信,采用有線和無線的方式慢慢的進入主流。以太網(wǎng)口通信和無線網(wǎng)絡通信慢慢的在PLC遠程控制取代了原有的本地串口或總線方式控制。
如何選擇聯(lián)網(wǎng)模塊進行plc遠程監(jiān)控呢?
假如:一臺或多臺設備分布在不同的地區(qū)或國外,如果要對其PLC、HMI等自控產(chǎn)品進行遠程控制、調(diào)試和維護?設備廠商或系統(tǒng)服務商如何操作?如何實現(xiàn)減少人力出差成本,就能有效對遠在千里之外的現(xiàn)場進步管控?如何能夠?qū)崿F(xiàn)PLC異地程序上下載?
這個問題困擾了很多工控人,對于不想出差的他們來說, 如果有一種快速經(jīng)濟的方式實現(xiàn)程序遠程下載到異地的PLC里, 不但節(jié)省人力物力, 還可以讓工作變得輕松。下面介紹一種經(jīng)濟實惠的PLC遠程模塊-華辰智通HiNET 工業(yè)智能網(wǎng)關,實現(xiàn)工業(yè)物聯(lián)網(wǎng)保障。 只需三個步驟就可以實現(xiàn)PLC程序異地下載。
一、西門子PLC遠程編程及程序上下載系統(tǒng)結(jié)構
HiNet工業(yè)智能網(wǎng)關支持所有主流PLC,以西門子200 SMART為例。200 SMART PLC為設備控制核心,HiNet智能網(wǎng)關為數(shù)據(jù)遠程采集終端,通過4G、5G、wifi及以太網(wǎng)等通信方式通過VPN over P2P的專用安全通道直接將PLC的程序及運行參數(shù)采集至PC、LED顯示屏等監(jiān)控終端。
依靠監(jiān)控終端的step7、WINCC等編程或上位機軟件實現(xiàn)對遠程PLC的遠程編程、在線監(jiān)控、在線仿真、數(shù)據(jù)遠程采集、設備遠程控制等功能。
二、硬件需求 1、PC 編程器 2、網(wǎng)線或4G網(wǎng)卡或無線路由器 3、HiNet工業(yè)智能網(wǎng)關 三、軟件需求 1、Hinode設備管理客戶端 2、編程軟件
四、設備連接說明
1、與串口PLC連接方式
如果是串口PLC,如三菱FX的RS422口、臺達ES2 PLC的RS232等可通過專用配置電纜,一端接入PLC的編程口,另一端接入HiNet網(wǎng)關的COM口;
2、與網(wǎng)口PLC連接方式
如果是網(wǎng)口PLC,則可通過普通網(wǎng)線,一端接入PLC的網(wǎng)絡口,另一端接入HiNet網(wǎng)關的LAN口;
3、與電腦連接對HiNet進行配置
如果需要對網(wǎng)關進行配置時,則可通過普通網(wǎng)線,一端接入電腦,一端接入HiNet網(wǎng)關的LAN口。 五、如何采集西門子PLC的數(shù)據(jù)的流程:
第一步:工業(yè)智能網(wǎng)關正常聯(lián)網(wǎng),網(wǎng)關和PLC硬件連接網(wǎng)關連接WIFI上網(wǎng),西門子200 smart plc連接網(wǎng)關LAN口通信
華辰智通工業(yè)智能網(wǎng)關
第二步:進工業(yè)網(wǎng)關后臺,配置網(wǎng)關
1、安裝驅(qū)動包(南向驅(qū)動)
點擊“軟件中心-驅(qū)動包管理”,點擊【刷新列表】-【可用軟件包】,根據(jù)PLC安裝相應的驅(qū)動包,西門子200 smart plc選擇 siemens_s7_tcp_rw_driver最新版,點擊【安裝】。
注意:or為只讀,rw表示可讀可寫,需要遠程控制變量則選擇rw的驅(qū)動包
2、安裝傳輸包(北向驅(qū)動)
點擊“軟件中心-傳輸包管理”,點擊【可用軟件包】,選擇思普云傳輸包super_json_tcp_cloud最新版,點擊【安裝】。
3、設置采集通道
點擊“工控數(shù)據(jù)-通道管理”,勾選通道開關,設備驅(qū)動選擇西門子驅(qū)動包super_json_tcp_cloud,數(shù)據(jù)中心選擇思普云(手動輸入無效)。如需遠程控制變量寫入,則勾選控制開關,設置遠程控制密碼。設置完成點擊【保存&應用】。
注意:遠程控制密碼必須為8位數(shù)
4、修改網(wǎng)關LAN口IP
點擊【通訊設置】-【LAN設置 】,修改IPV4地址,網(wǎng)關IP需要與PLC IP在同網(wǎng)段,點擊【保存應用】。電腦需添加與網(wǎng)關同網(wǎng)段IP,返回網(wǎng)關后臺—【重啟網(wǎng)關】。
第三步:配置思普云
瀏覽器輸入iot.idosp.net打開思普云登錄界面,輸入思普云賬號密碼點擊【登錄。】
1、添加產(chǎn)品
點擊產(chǎn)品設備-產(chǎn)品管理,點擊【新增】,紅框為必填項,
產(chǎn)品名稱、產(chǎn)品類別PLC品牌、PLC系列、協(xié)議名稱觸發(fā)模式采集周期(ms)普通模式采集周期(ms)存儲模式采集周期(ms)自定義根據(jù)PLC選擇打開實時數(shù)據(jù)界面時按觸摸模式采集周期采集數(shù)據(jù),設置1000ms表示1秒采集一次。目的是為節(jié)省流量只要網(wǎng)關聯(lián)網(wǎng)成功,并與PLC正常連接。實時數(shù)據(jù)就會按普通模式采集周期一直采集在普通模式的基礎上加了存儲功能,需要歷史數(shù)據(jù)或需要設置報警參數(shù),則必須開啟存儲模式采集周期
配置點表
選擇產(chǎn)品點擊【點表配置】,點擊【新增】,點表根據(jù)PLC程序里的變量配置,
變量名、單位寄存器類型、地址、數(shù)據(jù)類型變比、偏移觸發(fā)模式、普通模式、存儲模式讀寫權限自定義根據(jù)變量配置對采集上來的數(shù)據(jù)進行乘法和加法計算,
例如,采集的原始數(shù)據(jù)為3,變比設置為10,偏移設置為2,那么平臺上實時數(shù)據(jù)顯示的最終值等于3*10+2=32設置了哪一種采集模式周期,哪一種模式就選采集,
例如,觸發(fā)模式采集周期設置1000ms,則觸摸模式選采集需要遠程控制變量則選“讀寫”
2、添加設備
點擊產(chǎn)品設備-設備管理,點擊【新增】,填寫設備名稱、設備所屬客戶、設備負責人、負責人手機號,產(chǎn)品名稱選擇剛才添加的產(chǎn)品,點擊【確定】。
3、設備綁定工業(yè)智能網(wǎng)關
點擊【綁定網(wǎng)關】,選擇與PLC連接的工業(yè)智能網(wǎng)關,如不知道網(wǎng)關的思普云ID,可進網(wǎng)關后臺查看。
注意:設備IP填PLC的IP,且PLC的IP要與工業(yè)智能網(wǎng)關LAN口IP在同網(wǎng)段,此處網(wǎng)關LAN口IP為192.168.9.99,PLC的IP為192.168.9.12,都是9網(wǎng)段,則不需要修改網(wǎng)關LAN口IP。
如需修改可在網(wǎng)關后臺點擊“通訊設置-LAN設置”,修改IPv4地址。
4、強制同步點表
綁定網(wǎng)關后,網(wǎng)關會自動同步點表并重啟網(wǎng)關,立即點擊強制同步點表會提示“設備不在線”,待網(wǎng)關自動重啟完再【強制同步點表】。
5、查看實時數(shù)據(jù)
點擊網(wǎng)頁右上角大數(shù)據(jù)中心圖標進思普云大數(shù)據(jù)中心查看實時數(shù)據(jù),點擊“實時監(jiān)控-實時數(shù)據(jù)”查看數(shù)據(jù)。
點擊“歷史數(shù)據(jù)”——“數(shù)據(jù)展示”,查看歷史記錄
點擊“遠程控制”,“0表示開啟,1表示關閉”
其他相關文章:
西門子200smart數(shù)據(jù)網(wǎng)關采集數(shù)據(jù)流程:http://www.hignton.com/article/366.html
西門子300采集數(shù)據(jù)流程:http://www.hignton.com/article/373.html
工業(yè)數(shù)據(jù)網(wǎng)關如何采集西門子1200 PLC的數(shù)據(jù):http://www.hignton.com/article/552.html
工業(yè)智能網(wǎng)關采集西門子200 smart pcl數(shù)據(jù)教程:http://www.hignton.com/article/553.html
得之前在公眾號提過曾經(jīng)在 T 公司做 Java 爬蟲,有讀者對爬蟲的實現(xiàn)很感興趣。在 Java 應用中讀取遠程 URL 內(nèi)容是一個比較常見的需求,可以使用 Apache 旗下的開源項目 Httpclient 來實現(xiàn)。
Httpclient 基于 Java 語言,實現(xiàn)了 HTTP 1.0 和 HTTP 1.1 協(xié)議。實現(xiàn)了 GET、POST、PUT、DELETE、HEAD、OPTIONS、TRACE 等全部方法。支持使用代理建立連接。支持設置最大連接數(shù),同時支持設置每個主機的最大連接數(shù),發(fā)現(xiàn)并關閉過期的連接。能夠自動處理 cookie,支持用 KeepAlive 來保持持久連接。
使用 Httpclient 很簡單,在如下的示例代碼中,分為以下幾個步驟:
CloseableHttpClient httpclient=HttpClients.createDefault();
HttpGet httpGet=new HttpGet("http://www.baidu.com");
CloseableHttpResponse response=httpclient.execute(httpGet);
try {
System.out.println(response.getStatusLine());
HttpEntity entity=response.getEntity();
System.out.println(EntityUtils.toString(entity));
} finally {
response.close();
}
發(fā)送 get 請求,需要創(chuàng)建 HttpGet 請求。發(fā)送 post 請求,需要創(chuàng)建 HttpPost 請求。如果是帶參數(shù)的請求,可以直接拼接在 URL 中,也可以使用 URIBuilder 創(chuàng)建對象然后通過 addParameter 或 setParameter 方法添加 。如果需要設置請求 header,可以調(diào)用 addHeader 或 setHeader 方法設置 header。
對于 post 請求,可以調(diào)用 setEntity 方法設置請求的數(shù)據(jù)。如 post.setEntity(new StringEntity(body, "utf-8"))。支持提交多種數(shù)據(jù):
調(diào)用 HttpClient 的 execute 方法發(fā)送請求,返回的是一個 HttpResponse 對象。通過該對象可以獲取返回的所有數(shù)據(jù):
設置請求參數(shù)
HttpClient 支持設置 RequestConfig 來配置請求默認參數(shù)。一般使用 RequestConfig.Builder 來構建 RequestConfig。Builder 支持進行如下設置:
RequestConfig 構建后,需要調(diào)用 HttpClient setDefaultRequestConfig 方法設置到客戶端中。
使用代理
通過 RequestConfig.setProxy 可以設置請求的代理,在爬蟲等場景非常實用。代理的對象類型是 HttpHost,一般設置代理的 ip 和端口。如果代理有密碼,可以使用 CredentialsProvider 配置用戶名和密碼自動完成認證。
CredentialsProvider credsProvider=new BasicCredentialsProvider();
//使用密碼的代理端口
credsProvider.setCredentials(new AuthScope(null,port),
//用戶名和密碼
new UsernamePasswordCredentials(username,password)
);
httpClientBuilder.setDefaultCredentialsProvider(credsProvider);
支持 HTTPS 協(xié)議
請求 HTTPS 需要在 HttpClient 中設置 ssl 協(xié)議。主要分為以下幾個步驟:
如果請求報錯 HTTPS 證書問題,可以設置忽略證書。設置系統(tǒng)變量 System.setProperty("jsse.enableSNIExtension", "false"); 即可。
// 需要通過以下代碼聲明對https連接支持
SSLContext sslcontext=SSLContexts.custom()
.loadTrustMaterial(null, new TrustSelfSignedStrategy())
.build();
// SSL 連接工廠
SSLConnectionSocketFactory sslsf=new SSLConnectionSocketFactory(sslcontext, NoopHostnameVerifier.INSTANCE);
Registry<ConnectionSocketFactory> socketFactoryRegistry=RegistryBuilder
.<ConnectionSocketFactory> create()
.register("http",PlainConnectionSocketFactory.getSocketFactory())
.register("https", sslsf).build();
// 初始化連接管理器
PoolingHttpClientConnectionManager poolConnManager=new PoolingHttpClientConnectionManager(socketFactoryRegistry);
client=HttpClients.custom()
.setConnectionManager(poolConnManager)
.build();
推薦閱讀
30 個 Spring 常用注解與差異總結(jié)
又到黃金季節(jié),該跳槽嗎?怎么跳?
分布式事務 6 個技術方案
15 個 MyBatis 技巧,趕緊收藏吧!
你的工資被倒掛了嗎
function getMeta(varA, varB) { if (typeof varB !=='undefined') { alert(varA + ' width ' + varB + ' height'); } else { var img=new Image(); img.src=varA; img.onload=function() { getMeta(this.width, this.height); } }}getMeta("http://snook.ca/files/mootools_83_snookca.png");
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。