기본 구성 – DataPlatform
소개¶
이 장에서는 TCU로부터 수신된 다운샘플링 및 로깅된 CAN 데이터를 올바르게 해석, 디코딩 및 표시하기 위해 Proemion DataPlatform을(를) 어떻게 구성해야 하는지 설명합니다.
Signal Catalog에서 신호를 정의하고, PDC를 사용하여 바이너리 데이터 파싱을 구성하며, 해당 구성을 머신에 할당하여 DataPortal에서 로깅된 CAN 데이터를 확인하는 방법을 학습하게 됩니다.
DataPlatform 컨피규레이션¶
CAN 버스로 메시지를 전송한 후 DataPortal 에서 데이터를 보기 위해서는, 먼저 DataPlatform 이 TCU에서 이진 데이터를 수신하면서 프로세싱 절차를 완수해야 합니다.
이를 설정하려면, 먼저 Signal Catalog(신호 카탈로그)에 신호를 추가하고, PDC에서 Parsing Definition(파싱 정의)를 설정해야 합니다.
Note
Proemion 은 현재 PDC 기능을 Signal Catalog로 전환하는 작업을 진행 중이지만, 현재로서는 TCU 이진 데이터 해석에 대한 정의가 다소 분산되어 있습니다.
신호 카탈로그¶
Signal Catalog를 오픈합니다.
https://dataportal.proemion.com > Settings > Machine Data Management > Signal Catalog

Create signal을 눌러서 DataPlatform 에 신규 신호를 추가합니다.

Declaration 페이지에서 Metric Type=Standard와 Signal Key=value.common.engine.fuel.level를 설정합니다.
Data 페이지에서 Decimal Places=0, Min Value=0, Max Value=100를 설정하고, Logical Type=Measurement는 변경하지 않고 둡니다.
Label 페이지에서 언어는 영어, Signal Label=Fuel Level로 설정하고, Create를 눌러 신호를 생성 하세요.
PDC¶
Note
PDC 파일에서 가능한 기능은 점차 Signal Catalog로 전환 중입니다. 전환이 완료될 때까지, DataPlatform 컨피규레이션은 신호 카탈로그와 PDC 사이에 나뉘어져 있습니다.
여기서는, 필요한 PDC를 준비하여 놓았으니 아래 링크에서 다운받고, DataPlatform 에 업로드 합니다.
Cyclic_Input_Downsampling_and_Logging.pdc
하지만, 업로드하기 전에 작동 방식을 이해하는데 중요한 몇 가지 요소를 살펴보겠습니다.
PDC 식별자¶
각 PDC는 DataPlatform 에서 uuid 및 customerVersion 속성을 통해 고유하게 식별됩니다. PDC Name과 Description은 단지 사용자가 원하는 것을 더 쉽게 찾기 위해 필요합니다.
uuid는 동일하게 유지되어야 하는 반면, customerVersion은 새로운 PDC가 개정될 때마다 증가해야 합니다.
Note
Name 및 Description 속성은 uuid가 변경되지 않는 한, 버전 간에는 변경할 수 있습니다.
<!-- uuid4 and semver versioning -->
<DataConfig uuid="47037538-d99c-4d94-ae8b-fc89e33acb4c" customerVersion="0.1.0" ... >
<!-- PDC Name -->
<Name xsi:type="MessageDefinition">
<Label lang="en" value="Proemion Global Telematics Configuration Guide"/>
</Name>
<!-- PDC Description -->
<Description xsi:type="MessageDefinition">
<Label lang="en" value="Downsampled Signal Logging"/>
</Description>
...
파싱 정의¶
Signal Catalog로 돌아가서 Signal Key를 확인하여 주세요. 이것이 신호와 PDC 사이의 링크입니다.
Parsing Definition(파싱 정의)는 DataPlatform 이 이진 데이터를 어떻게 읽고 신호에 지정해야 하는지 알려줍니다.
Note
값 정의는 이제 DataPlatform 의 Signal Catalog로 완전히 이전되었습니다.
편의를 위해 DOD에서 설정할 관련 신호 요소는 다음과 같습니다.
| ELEMENT | VALUE |
|---|---|
| ACRONYM | fuel_level |
| INTERFACE | CAN1 |
| FORMAT | STANDARD_11_BIT |
| CAN ID | 0x200 |
| START BIT | 0 |
| BIT-LENGTH | 8 |
| DATA TYPE | UNSIGNED_INT |
| SCALING | None |
| OFFSET | None |
...
<ValueDefinitions>
<ValueDefinition key="value.common.engine.fuel.level" managedByDataPlatform="true"/>
</ValueDefinitions>
<ParsingDefinition>
<!-- INTERFACE: src="CAN" channel="1" -->
<BinaryStreamDefinition src="CAN" channel="1">
<!-- CAN ID: canId="0x200" -->
<!-- FORMAT: canIdLength="11" -->
<CanMessage canId="0x200" canIdLength="11" mask="0x7FF" protocolStyle="GENERIC">
<Values>
<!-- START BIT: startPos="0" -->
<!-- BIT-LENGTH: length="8" -->
<!-- BYTE ORDER: endianness="LITTLE" -->
<!-- DATA TYPE: signed="false" -->
<IntValue startPos="0" length="8" endianness="LITTLE" signed="false" continueOnLastPostion="false">
<!-- signal catalog reference -->
<valueDefinition ref="value.common.engine.fuel.level"/>
</IntValue>
</Values>
</CanMessage>
</BinaryStreamDefinition>
</ParsingDefinition>
...
PDC 업로드하기¶
PDC management로 갑니다.
Settings > Machine Data Management > PDCs

Upload PDC를 클릭하고 파일을 업로드 하면 PDC의 유효성이 검증됩니다. 그 다음, 최종적으로 Upload를 클릭하면 업로드된 화일이 저장됩니다.


장비에 PDC 지정하기¶
PDC는 이제 DataPlatform 에서 사용할 수 있지만, 장비와 PDC 사이에는 연결성이 없습니다. 벤치 테스트 워크플로우를 따라 장비 (여기서는 PCAN-USB)에 직접 PDC를 지정해 보겠습니다.
Machines > 조회하고자 하는 장비를 클릭하세요 > MANAGE MACHINE > Properties > PDC > Name > Version > UPDATE
Info
실제 작업 중이라면 PDC를 다수의 장비에 한꺼번에 지정하고 싶을 것입니다. 이 작업은 일반적으로 특정 모델의 모든 장비에 지정하는 방식으로 수행됩니다. 이제 첫 번째 테스트 데이터를 전송할 준비가 되었습니다.
CAN 데이터 전송하기¶
PCAN-View를 사용하여 몇 가지 데이터를 전송해 보려합니다. 일단 fuel_level을 100%로 설정하여 봅니다.


자유롭게 다양한 값을 전송해 보되, 다운샘플링 주기는 1분이므로 DataPortal 에서 값을 확인하려면 최소 1분 간격으로 값을 변경해야 한다는 점을 기억하세요.
속성으로 데이터 전송하기¶
일반적으로 약 1분 후에는 DataPortal 에서 일부 데이터를 확인할 수 있어야 하지만, 아직 장비 페이지에 아무것도 나타나지 않고 있습니다.
이는 CANlink® mobile이 데이터를 DataPlatform 으로 전송하기 전에 데이터를 패킹(data packing)하는 방식 때문인데, 아직 최적화되지 않았기 때문입니다.
DataPlatform 으로 데이터를 전송하는 로직의 세부 사항은 향 후 챕터에서 설명될 예정입니다.
지금은 단순히 Logging - Send File Command의 Parameter value를 1로 설정한 후, Write to device 버튼을 눌러 CANlink® mobile이 모든 대기 중인 데이터를 즉시 강제 전송 시키도록 합니다.

Info
전송 대기 중인 데이터는 로그 파일에 저장되므로, Send File Command 이라고 이름이 붙습니다.
장비 데이터 보기¶
DataPortal 의 장비 페이지에 Fuel Level은 100%로 표시되어야 합니다.

Note
TCU가 데이터를 전송한 후 DataPlatform 에서 장비 데이터가 보여지기까지 몇 초가 걸립니다. 이 처리 지연 시간은 DataPlatform Status 모니터링 페이지에서 추적할 수 있습니다.
장비 페이지가 로딩되면, 가장 최근 데이터에 대한 요청이 DataPlatform 으로 전송되고, 수신된 응답에 대한 데이터가 장비 페이지에 올라옵니다.
장비 페이지에서 데이터를 보는 동안, DataPortal 은 가장 최근 데이터에 대한 추가 요청을 자동으로 수행하지 않습니다.
DataPortal 이 주기적으로 가장 최근 장비 데이터를 요청하도록 지시하려면, 새로 고침 기능을 활성화해야 합니다.

트러블슈팅¶
예상대로 작동하지 않는 경우:
- PCAN-View에서 올바른 테스트 Tx 데이터가 설정되었는지 확인하세요.
- Cyclic_Input_Downsampling_and_Logging.dod에서 DOD를 교차 확인하세요.