❶ 如何實現歐姆龍PLC與上位機的乙太網通訊
樓主如果是想做上位機獲取PLC的數據,並顯示出來的話,一般是要這樣做的:
PLC側要編寫數據採集程序,比如串口的數據採集,DI或者AI的數據採集
PLC要配有網路口,並配置好IP
與PLC進行網路通信的上位機的PC要安裝歐姆龍的OPC Server,它類似歐姆龍PLC的數據中轉站,通過它和現場的PLC進行乙太網的數據通信,然後我們自己開發的第三方軟體,就是你說的上位機,再通過它來獲取數據
上位機的開發,其實就是一個OPC的客戶端,用來展示數據,它的開發需要用PLC基金會提供的OPC開發包,這個網上找一下就有了
❷ 歐姆龍PLC如何進行乙太網通信
歐姆龍PLC進行乙太網通信的方法:在CP1H/1L/1E的通訊口上直接配置一塊CP1W-CIF41乙太網通訊口適配器即可。
歐姆龍PLC能為業界領先的輸送分散控制等提供高附加值機器控制;還具有通過各種高級內裝板進行升級的能力,大程序容量和存儲器單元,以Windows環境下高效的軟體開發能力。歐姆龍PLC也能用於包裝系統,並支持 HACCP(寄生脈沖分析關鍵控制點)過程處理標准。
(2)乙太網口儀器通訊編程擴展閱讀:
歐姆龍PLC的相關要求規定:
1、歐姆龍PLC結構靈活,不受環境的限制,有電即可組建網路,同時可以靈活擴展接入埠數量,使資源保持較高的利用率,在移動性方面可與WLAN媲美。
2、歐姆龍PLC傳輸質量高、速度快、帶寬穩定。可以很平順的在線觀賞DVD影片,所提供的14Mbps帶寬可以為很多應用平台提供保證。最新的電力線標准HomePlug AV傳輸速度已經達到了200Mbps。
3、歐姆龍PLC作為利用電力線組網的一種接入技術,提供寬頻網路「最後一公里」的解決方案,廣泛適用於居民小區,酒店,辦公區,監控安防等領域。它是利用電力線作為通信載體,使得PLC具有極大的便捷性。
❸ 西門子PLC能用乙太網編程嗎怎麼用
可以用乙太網編程,電腦網口插上網線就可以連接plc,進行乙太網編程了,可以用兩種方式來實現
1)採用西門子乙太網模塊進行,參考西門子乙太網模塊使用方法這種比較貴
2)採用串口轉乙太網模塊,將串口數據轉換成乙太網的格式,在乙太網上跑,在電腦側,還原為串口數據。這種方法成本較低,可以選擇485轉乙太網模塊。
我用此方法實現了一台電腦監控16台plc,成本極其低廉,而且可靠好用
❹ 兩台施耐德twido PLC,型號都為TWDLCAE40DRF,具有乙太網口,怎樣實現兩者之間的通訊通過網線需怎樣編程
首先,你需要在主站配置好IP地址啊,掩碼啊之類的參數,然後在主站上配置宏;從站上需要把數據內容准備好就可以了,最後就是調用一下宏就可以實現乙太網通訊了,具體宏怎麼配置就要看手冊了,不明天給我留言,我是施耐德公司的~
❺ 利用C++選擇乙太網口進行通信
服務程序在創建了套介面後,在綁定埠時指定綁定到某張網卡對應的IP地址即可,如下程序:
====================================================================
#include <winsock2.h>
#include <stdio.h>
int main(void) {
//----------------------
// Initialize Winsock.
WSADATA wsaData;
int iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
if (iResult != NO_ERROR) {
printf("Error at WSAStartup()\n");
return 1;
}
//----------------------
// Create a SOCKET for listening for
// incoming connection requests.
SOCKET ListenSocket;
ListenSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (ListenSocket == INVALID_SOCKET) {
printf("Error at socket(): %ld\n", WSAGetLastError());
WSACleanup();
return 1;
}
//----------------------
// The sockaddr_in structure specifies the address family,
// IP address, and port for the socket that is being bound.
sockaddr_in service;
service.sin_family = AF_INET;
//在此修改你的服務程序想綁定到哪個網卡對應的IP地址上,則寫在下面,
//因為一個IP對應著一個網卡
service.sin_addr.s_addr = inet_addr("127.0.0.1");
//在此修改你的服務程序想綁定到哪個埠上,則寫在下面
service.sin_port = htons(27015);
if (bind( ListenSocket,
(SOCKADDR*) &service,
sizeof(service)) == SOCKET_ERROR) {
printf("bind() failed.\n");
closesocket(ListenSocket);
WSACleanup();
return 1;
}
//----------------------
// Listen for incoming connection requests.
// on the created socket
if (listen( ListenSocket, 1 ) == SOCKET_ERROR) {
printf("Error listening on socket.\n");
closesocket(ListenSocket);
WSACleanup();
return 1;
}
//----------------------
// Create a SOCKET for accepting incoming requests.
SOCKET AcceptSocket;
printf("Waiting for client to connect...\n");
//----------------------
// Accept the connection.
AcceptSocket = accept( ListenSocket, NULL, NULL );
if (AcceptSocket == INVALID_SOCKET) {
printf("accept failed: %d\n", WSAGetLastError());
closesocket(ListenSocket);
WSACleanup();
return 1;
} else
printf("Client connected.\n");
// No longer need server socket
closesocket(ListenSocket);
WSACleanup();
return 0;
}