- 노트북에서 PX4와 같은 역할을 하는 에뮬레이션을 구현하여 PLC와 정상적으로 통신되는지 여부를 확인할 수 있는 프로그램
- 노트북을 PLC가 연결된 네트워크에 이더넷 케이블로 연결하기
- IP 주소 확인하기
- PLC의 IP 주소 확인하여 기록하기
- 노트북의 IP 주소 확인하여 기록하기
- 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- 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에서 수신한 값은 화면에 출력된다.
git clone https://id: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@github.com/badaproject/repo_name.git