다음을 수행해야 하는 작동하는 마이크로그리드 제어 시스템을 구축할 수 있는 단 한 번의 기회가 있었습니다.
Intel 및 ARM 프로세서에서 실행
Linux 및 Windows 플랫폼 대상
C, C++, Java, SCLA, Lua 및 LabVIEW로 작성된 애플리케이션 포함
ModBus 및 DNP3 프로토콜을 사용하는 레거시 장비와 통신
위의 모든 요구 사항을 충족하면서 실시간 제어 수행
이 게시물에서는 우리가 직면한 실제 문제와 RTI Connext
®에 포함된 도구에 대해 이야기하겠습니다.
DDS Professional은 단 며칠 만에 통합 문제를 해결하는 데 도움이 되었습니다. 대부분의 프로젝트에서 발생하는 일반적인 문제는 각 문제를 해결하기 위한 특정 RTI 도구와 함께 강조 표시됩니다. 그 과정에서 더 깊이 있는 정보를 원하는 사람들을 위한 지원 비디오 및 기사에 대한 링크를 찾을 수 있습니다. DDS 개발을 더 빠르고 쉽게 하기 위해 RTI 도구를 적용하는 방법을 배우기 위한 유용한 출발점이 되기를 바랍니다.
대형 데모
이것은 실시간으로 전력망 에지에서 장치를 제어하는 새로운 방법인 Smart Grid Interoperability Panel의 OpenFMB(Open Field Message Bus)의 첫 번째 작업 데모였습니다. DDS와 같은 IoT 기술을 적용합니다.
다음은 하드웨어 아키텍처, 운영 체제 및 언어를 보여주는 시스템 블록 다이어그램입니다.
<그림>
개별 참가자를 네트워크에 연결하면서 여러 문제에 직면했습니다. 각 문제를 해결하기 위해 사용한 도구와 과제에 대한 설명은 다음과 같습니다. 제목 목록을 스캔하고 DDS 시스템에서 이러한 문제를 디버그해야 했는지 확인한 다음 링크를 확인하여 몇 가지 새로운 팁을 배우십시오. 이때 언급된 도구 없이 문제를 진단하는 방법을 생각해 보십시오.
문제:네트워크 구성 문제
도구:RTI DDS 핑
Oak Ridge National Labs의 팀은 메인 디스플레이가 될 LabVIEW GUI를 작업하고 있었습니다. 그들의 노트북은 네트워크에 있는 어떤 클라이언트의 데이터도 볼 수 없었습니다. 우리는 그들의 컴퓨터가 같은 서브넷에 있는지 확인하기 위해 기본 사항을 확인했습니다. 항상 기본 사항을 먼저 확인하십시오! 표준 ping 유틸리티는 시스템 간의 기본 연결 가능성을 확인할 수 있지만 DDS 검색에 필요한 포트가 열려 있는지 확인하지 않습니다. rtiddsping 유틸리티는 정확히 그 작업을 수행하며 정부에서 발급한 랩톱에 설치된 방화벽이 DDS 검색 트래픽을 차단하고 있다는 사실을 몇 초 만에 알려줍니다. 기본 사항을 확인하는 방법에 대한 자세한 설명은 이 커뮤니티 게시물을 참조하세요. .
문제:내 앱이 데이터를 전송합니까?
도구:스파이, 관리 콘솔
DDS를 처음 사용하는 공급업체 사이의 일반적인 질문은 응용 프로그램이 제대로 작동하고 있는지 여부였습니다. 적절한 간격으로 데이터를 보내고 있었고 데이터가 의미가 있었습니까? 빠른 확인을 위해 RTI DDS Spy 유틸리티를 사용했습니다. Spy는 특정 유형과 주제에 대해 선택적으로 필터링할 수 있는 간단한 구독자를 제공하고 수신한 개별 샘플을 인쇄할 수 있으므로 앱에서 작성 중인 데이터를 빠르게 볼 수 있습니다. 모든 공급업체는 애플리케이션을 처음 실행한 후 DDS Spy를 온전성 검사로 사용했습니다.
때로는 동일한 주제에 대한 업데이트가 시스템의 여러 게시자로부터 올 수 있습니다. 누가 최신 업데이트를 작성했는지 확실하지 않습니까? Spy용 명령줄 스위치("-showSampleIdentity")를 사용하면 업데이트가 시작된 위치를 확인할 수 있습니다.
Spy는 기본 테스트를 위해 포함된 대상에 배포할 수 있는 콘솔 앱입니다. 작은 크기, 빠른 시작 및 단순성이 주요 장점입니다. 자세한 사용법은 여기를 참조하세요.
문제:데이터 유형 불일치
도구:관리 콘솔, 모니터
한 공급업체는 이전 테스트에서 다른 앱 중 하나의 데이터를 보고 있었지만 지금은 그렇지 않다고 보고했습니다. Admin Console은 데이터 유형 불일치, 즉 이름은 같지만 데이터 유형이 다른 두 개의 주제가 원인임을 신속하게 보여주었습니다. 이러한 유형의 불일치는 특히 구성원이 많은 큰 유형의 경우 진단하기 어려울 수 있습니다. Admin Console은 DDS의 데이터 중심성을 활용하여 시스템의 각 애플리케이션이 이해하는 데이터 유형을 검사합니다. 그런 다음 병렬 창에서 유형을 쉽게 비교할 수 있도록 단순화된 보기와 "동등한 IDL" 보기를 모두 제공합니다. 이는 모든 애플리케이션의 소스 IDL이 없는 상황에서 특히 유용합니다.
이 경우 한 공급업체가 최신 IDL에 대한 GitHub 저장소와 동기화하지 않았기 때문에 파일의 이전 버전에서 작업하고 있었습니다. 그들은 GitHub에서 최신 파일을 가져왔고, rtiddsgen은 새로운 유형별 코드를 생성했으며, 빠르게 재컴파일한 후 앱은 업데이트된 주제를 읽고 쓸 수 있었습니다.