Q03UDVCPU 의 이더넷 포트를 이용해 PC와 통신을 하려고 한다.

Project > Parameter > PLC Parameter 를 더블클릭하여 Q Parameter Setting 팝업창을 연다.
Communication Data Code를 ASCII Code로 세팅한다.
Enable online change (FTP, MC Protocol)를 체크한다.
Open Setting 버튼을 클릭한다.

Built-in Ethernet Port Open Setting 팝업창이 나타난다.
- Protocol : TCP
- Open System : MC Protocol
- Host Station Port No. : 2500
설정을 하고 End 버튼을 누른다.
Q Parameter Setting 팝업창에서 End 버튼을 누른다.
GX Works2 툴바의 Write To PLC 버튼을 누른다.

Parameter를 체크하고 Execute 버튼을 눌러 설정을 PLC에 적용한다.
PLC에 파라미터 쓰기가 완료되면, PLC 전원을 껐다 다시 킨다.
GX Works2 툴바의 Device/Buffer Memory Batch Monitor 버튼을 누른다.

Device Name에 M5000을 입력하고 엔터키를 누른다.
M5000의 1번을 더블클릭 한다.

Modify Value 팝업창이 나타난다.
ON 버튼을 불르고 Close 버튼을 누른다.

M5001 메모리가 1로 세팅되었다.
Visual Studio 2022 > 콘솔 앱을 생성한다.

using System.Net;
using System.Net.Sockets;
using System.Text;
IPAddress ipAddress = IPAddress.Parse("192.168.99.233");
IPEndPoint ipEndPoint = new(ipAddress, 2500);
using Socket client = new(
ipEndPoint.AddressFamily,
SocketType.Stream,
ProtocolType.Tcp);
await client.ConnectAsync(ipEndPoint);
// Send request.
string message = "500000FF03FF000018000404010000M*0050000002";
byte[] messageBytes = Encoding.UTF8.GetBytes(message);
_ = await client.SendAsync(messageBytes, SocketFlags.None);
Console.WriteLine($"sent : \"{message}\"");
// Receive response.
var buffer = new byte[1_024];
var received = await client.ReceiveAsync(buffer, SocketFlags.None);
var response = Encoding.UTF8.GetString(buffer, 0, received);
Console.WriteLine($"received: \"{response}\"");
client.Shutdown(SocketShutdown.Both);
Program.cs 파일을 위 코드로 바꿔준다.

M5000 메모리에서 시작하여 2워드(M5000~M5031) 까지 메모리 값을 가져온다.
received의 마지막 8바이트가 메모리 값이다. (00020000 = M5001 메모리 값만 1 나머지는 0)
참고
00010000 = M5000
00020000 = M5001
00040000 = M5002
00080000 = M5003
00100000 = M5004
'IOT > PLC' 카테고리의 다른 글
[OpenPLC] Modbus 아두이노 통신 (1) | 2024.01.05 |
---|---|
[XGemPro] dotNet6.0 실행시 dll오류 (0) | 2023.12.26 |
[OpenPLC] 아두이노 우노 PLC 예제 (0) | 2023.11.17 |
[OpenPLC] OpenPLC Editor 2.01 설치, 아두이노 우노에서 테스트 (0) | 2023.11.10 |
[GX Works2] Q03UDVCPU와 이더넷 연결 (1) | 2023.10.23 |