본문 바로가기
  • IT & Factory Automation
Factory Automation

Modbus TCP 무료 시뮬레이터 - Annas64 (Free ModbusTCP simulator)

by EasyMotion 2023. 2. 28.
반응형

안녕하세요. IT & 자동화 유용한 정보를 하나하나 쉽게 알려드리는 이지원 입니다. 

 

산업용 필드버스 중에서 Modbus는 가장 범용적인 통신 프로토콜 입니다. 대부분의 산업용 장치가 Modbus 통신을 기본적으로 탑재하고 있습니다.

근래에는 시리얼 통신 대신 이더넷 기반인 Modbus TCP를 많이 사용합니다.

이 Modbus TCP 통신을 테스트하려면 장치 2대를 연결해야 하는데, 시뮬레이터를 이용하면 장치 1대만 있어도 통신 테스트가 가능합니다. 

이번 시간에는 Modbus TCP 시뮬레이터를 소개하겠습니다. 

 

 

제가 사용하는 소프트웨어는 'Ananas64' 라는 소프트웨어 입니다.

이 소프트웨어로는 Modbus TCP Master (Client), Slave (Server) 둘 다 설정을 할 수 있습니다.

오래 전에 인터넷에서 구한 소프트웨어 인데, 현재는 링크를 찾을 수가 없습니다. 

Ananas 개발자(?)

그래서 다운로드 받을 수 있도록 파일을 업로드 해놓았습니다. 

Ananas64.zip
1.24MB

 

다운로드 받은 파일의 압축을 풀면, 설치파일이 나옵니다. 실행하면 바로 프로그램이 시작됩니다. 

 

 

 

1. 내컴퓨터 인터넷 IP 설정

시뮬레이터를 실행하기에 앞서, 내 컴퓨터의 IP를 설정해줍니다. 

윈도우 검색메뉴에 "이더넷"을 검색하면, [이더넷 설정] 이 나옵니다. 

 

 

 

① [어답터 옵션 설정] 을 클릭합니다.

② [이더넷] 을 더블클릭합니다.

③ [인터넷 프로토콜 버전 4 (TCP/IPv4)] 를 더블클릭합니다. 

④ "다음 IP주소 사용"을 체크하고 IP주소를 변경합니다. 연결할 기기와 처음 마지막 자리만 다르게 설정합니다. 

(예: 연결할 기기 IP주소가 "192.168.10.1" 이면, 내 컴퓨터 IP는 마지막 자리가 "1"이 아닌 주소 "192.168.10.82" 로 설정) 

 

 

 

2. Modbus TCP Slave (Server) 설정

내 컴퓨터의 IP주소 설정을 한 다음, 시뮬레이터를 실행하면 화면 상단에 내 컴퓨터의 IP주소가 나타납니다. 

Ananas는 별다른 설정이 없어도 프로그램이 시작되자마자 Modbus TCP Server (Slave) 로 동작합니다. 

 

Modbus TCP가 정상적으로 연결되면, 화면 중간 "Connected IP: " 에 내 컴퓨터와 연결된 기기의 IP주소가 나옵니다. 

제가 가지고 있는 장치를 Modbus TCP Master (Client) 로 설정하였고, 이 기기의 IP주소가 "192.168.10.1" 입니다. 

연결이 되면 "Enabled" 라고 표시되며 아래에 패킷이 실시간으로 변화합니다.

 

 

 

 

시뮬레이터 화면 좌측의 "Registers" 에는 통신으로 주고 받는 데이터가 표시됩니다.

Modbus TCP Master (Client) 장치에서 보낸 10개의 데이터가 시뮬레이터 화면 들어오고 있습니다.

 

 

 

 

이번에는 시뮬레이터에 값을 입력해 보았습니다. 

그러자 Modbus TCP Master (Client) 장치에 해당 값들이 나타났습니다. 

 

이렇게 Modbus TCP Slave (Server) 설정은 아주 간단합니다. 내컴퓨터의 IP주소만 설정해주면 바로 Modbus TCP Slave (Server) 로 동작하기 때문입니다. 

 

 

 

3. Modbus TCP Master (Client) 설정

시뮬레이터(내 컴퓨터)를 Modbus TCP Master (Client)로 설정하는 과정은 조금 더 복잡합니다. 

① [Show] 버튼을 클릭합니다.

② Client 설정 창이 나옵니다. [Connect] 버튼을 클릭합니다.

③ Server 연결에 대한 창이 나옵니다. 연결할 장치의 IP주소를 입력합니다.  

④ [OK]를 눌러 설정을 완료합니다. 

 

 

 

 

Modbus TCP Slave (Server) 장치와 연결이 되면, 이와 같이 연결된 장치의 IP주소가 나타납니다. 

이제 데이터를 주고 받아 보겠습니다.

 

 

 

 

화면 상단의 [Modbus] 탭을 클릭하면 메뉴가 나타나는데, 가장 아래에 있는 [Register Scanner] 를 클릭합니다. 

 

 

 

 

① 새로 나타난 "Register Scanner" 창에서 [Connect] 버튼을 클릭합니다.

② 또 다른 작은 창이 나타납니다. 여기에도 연결할 장치(Modbus TCP Server)의 IP주소를 입력합니다.

③ [OK]를 클릭하여 설정을 완료합니다.

 

 

 

 

그 다음에는 주고 받을 데이터 범위를 설정합니다. "From" 에 데이터 시작 번지를, "To" 에 데이터 끝 번지를 입력합니다.

"Timeout" 은 통신 두절에 대한 모니터링 시간인데, 기본 값이 "100ms"로 너무 짧게 되어있기 때문에 조금 늘려줍니다.

값을 Register 영역에 복사하기 위해서는 "Copy value to register" 를 체크해줍니다. 

[Start] 를 클릭하면 연결된 장치와 데이터를 주고받습니다. 

Modbus TCP Slave (Server)에서 보낸 데이터 값들이 나타납니다. 

 

 

 

시뮬레이터에서 데이터를 전송하려면 설정을 조금 더 해야합니다. 

① [Modbus/TCP Client] 창에서 "Read Input/Holding register" 항목의 빈 칸을 더블클릭합니다. 

② '읽기 데이터 영역' 을 설정합니다. 

[Modbus/TCP Client] 창에서 "Write Holding register" 항목의 빈 칸을 더블클릭합니다. 

④ '쓰기 데이터 영역' 을 설정합니다.

 

 

 

 

이제 초기 화면으로 돌아와서 "Registers" 칸에 데이터를 입력합니다. 

다시 "Register Scanner" 창에 [Start] 버튼을 클릭하면, 연결된 장치로 데이터가 전송됩니다.

 

 

 

4. 사용 후기

Ananas 시뮬레이터는 Modbus TCP Slave (Server) 로 사용하기에는 매우 간편합니다만, Master (Client) 로 설정하는 과정이 조금 복잡해 보입니다. (Modbus TCP 통신의 원리를 알면 그렇게 복잡한 것은 아닙니다.)

그래도 이 소프트웨어의 장점은 무료라는 점과 Master(Client), Slave(Server) 두 기능을 모두 제공한다는 점입니다.

제가 검색해본 다른 소프트웨어는 무료로 사용하는 기간이 정해져있거나, 하나의 기능만 제공하기 때문에 양쪽을 다 테스트 하기 위해서는 이 소프트웨어가 적합합니다. 

 

다음 시간에도 유용한 소프트웨어를 소개하겠습니다. 감사합니다.

반응형

댓글