Skip to content

BadaProject/share

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

실행 방법

  • 노트북에서 PX4와 같은 역할을 하는 에뮬레이션을 구현하여 PLC와 정상적으로 통신되는지 여부를 확인할 수 있는 프로그램

다운받기

  • 녹색의 'Code' 버튼을 누르면 'Download Zip' 버튼이 생성되며 이 버튼을 누르면 소스코드 전체를 다운받을 수 있다.
  • 다운받은 후 원하는 위치에 압축을 푼다.

연결하기

  • 노트북을 PLC가 연결된 네트워크에 이더넷 케이블로 연결하기
  • IP 주소 확인하기
    • PLC의 IP 주소 확인하여 기록하기
    • 노트북의 IP 주소 확인하여 기록하기

PX4Emul.py에서 설정하기

  • PLC IP 주소, port 수정
def __init__(self, plc_ip='127.0.0.1', plc_port=2005, px4_listen_port=2006):
        self.px4_listen_port = px4_listen_port
        self.plc_ip = plc_ip
        self.plc_port = plc_port
        self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        self.plc_packet = PLCPacket()
        self.isWriteCommand = False
  • plc_ip와 plc_port를 수정하기
  • px4_listen_port를 현재 2006 으로 설정하였으며 필요에 따라 변경한다

동작 설명

  • PX4Emul은 PLC와 UDP 통신을 수행한다.
  • PX4는 0.5초마다 Write 및 Read_Request를 명령을 전송한다.

실행하기

  • 윈도우에서 명령 프롬포트 열기
  • 명령 프롬포트 내에서 다운받은 src 디렉토리로 이동
  • 명령 프롬포트 내에서 아래와 같이 명령 실행
> python PX4Emul.py

PLC에서 확인

  • PX4 -> PLC로 전송하는 Write 명령이 제대로 실행되는지 확인한다. (전송되는 각 필드의 값은 아래와 같다.)
engine_thrust = 1
clutch = 2
steering_angle = 3
trim_angle = 4
engine_ignition = 5
bow_thruster_power = 6
bow_thruster_rev = 7
  • PX4 -> PLC로 전송하는 Read Request 명령이 제대로 실행되는지 확인한다.
    • PLC 디버거로 Reqd Request가 제대로 들어오는지 확인한다.
  • PX4 -> PLC로 Reqad Request를 수신하면 이에 따라 PLC -> PX4로 해당 주소의 값을 제대로 전송하는지 확인한다.
    • PX4에서 수신한 값은 화면에 출력된다.

example

git clone https://id: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@github.com/badaproject/repo_name.git

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks