- 인쇄
4-20mA 센서를 Edge IO 및 Node-RED와 연결하기
4-20mA Node-RED 플로우를 Edge IO와 함께 사용하는 방법 알아보기
이 문서에서는 2선식 4-20mA 센서를 Edge IO에 연결하고 Node-RED 라이브러리 플로우를 통해 데이터를 Tulip으로 전송하는 워크플로우를 다룹니다.
이 문서가 끝나면 Node-RED 내에서 다음과 같은 흐름을 통해 센서의 현재 데이터를 Tulip 내의 머신으로 전송할 수 있습니다.
다음 단계를 완료합니다:
- 하드웨어 설정: 에지 IO 연결
- 머신 설정: Tulip에서 머신 생성
- Node-RED 설정: Tulip 라이브러리에서 Node-RED 플로우 가져오기, 편집 및 배포하기
필요한 것은 다음과 같습니다:
- Tulip 계정에 등록된 Edge IO
- 4-20mA 전류 루프 센서: 2선식 구성, 24V 전원과 호환 가능
- 500옴 저항기
- 3.5mm 일자 드라이버
1. 하드웨어 설정 - 엣지 IO 배선하기
이 워크플로에서는 원하는 애플리케이션에 맞는 4-20mA 센서와 센서 출력 전류를 ADC의 전압으로 변환하기 위한 외부 500옴 저항기를 선택했다고 가정합니다.
다음과 같이 센서와 저항기를 엣지 IO에 배선합니다:
4-20mA 센서
- SAR ADC [+24V] 단자에 배선된 전원 단자
- SAR ADC [in] 단자에 배선된 출력 단자
- 500옴 저항기
- 한쪽 끝을 SAR ADC [in] 단자에 연결
- 한쪽 끝은 SAR ADC [gnd] 단자에 연결합니다.
또한 장치에 전원을 공급하고 이더넷 케이블을 WAN 포트에 꽂아 장치를 네트워크에 연결했는지 확인하세요.
2. 머신 설정 - Tulip에서 머신 만들기
4-20mA 센서에서 Tulip으로 데이터를 전송하려면 먼저 Tulip API를 데이터 소스로 사용하여 기기를 설정합니다. 자세한 개요는 새 머신 설정하기 섹션의 머신 속성 API 사용 방법 문서를 참조하세요.
이 예에서는 용접기 전류라는 단일 플로트 속성을 가진 용접기를 나타내는 머신을 만들었습니다.
Node-RED 흐름에 전달할 attributeId 및
machineId
값을 기록해 두는 것이 좋습니다.
현재 센서를 사용하여 기계의 상태와 같은 측면을 변경하거나 센서 출력을 기반으로 카운트를 수행하려는 경우 기계에 할당할 기계 유형을 설정할 수도 있습니다. 관심이 있는 경우 기계 유형 설정 방법을 참조하세요.
3. Node-RED 설정
4-20mA 센서에 연결된 에지 IO에서 에지 장치 포털을 엽니다. 다음 자격 증명을 사용하여 Node-RED 에디터를 시작합니다:
- 사용자 이름: admin
- 비밀번호: Edge IO 비밀번호
여기에서 자세한 정보를 참조하여 Edge IO에서 Node-RED를 시작하세요.
3a. 라이브러리 흐름 가져오기
라이브러리 플로우를 가져오려면 Tulip Node-RED 플로우 가져오기 문서의 단계를 따르세요. 가져올 플로우는 4_to_20_mA_sensor.json이며, 가져오기를 수행하면 에디터에 4-20mA 센서 애플리케이션 탭이 생성됩니다.
3b. 플로우 개요
Node-RED 플로우는 5개의 기능 노드로 구성됩니다. 흐름은 다음과 같습니다:
SAR ADC 샘플
- 목적: 초당 100샘플의 속도로 0-10V SAR ADC를 샘플링합니다.
- 평균 계산
- 목적: SAR ADC 샘플 노드에서 100개 샘플의 평균을 초당 한 번씩 가져옵니다.
- 현재 루프 센서 값으로 ADC 스케일 조정하기
- 목적: 평균 ADC 값을 실제 전류 루프 센서 값으로 스케일링합니다.
- 튤립 머신 속성으로 보내기
- 목적: 현재 루프 센서 값을 Tulip 이벤트 API로 전송하여 머신으로 보냅니다.
- 응답
- Purpose: Tulip 이벤트 API 호출의 적절한 HTTP 상태 코드를 반환합니다.
3c. 플로우 편집
이 플로우 설정을 완료하려면 앞서 설정한 기계의 attributeId 및
machineIdfields에
Send to Tulip Machine Attributenode의장치 정보가 포함되어야 합니다.
또한 현재 센서의 제조업체 사양에 따라 현재 루프 센서 값에 ADC 스케일 조정 노드 내의 속성을 편집해야 합니다.
예를 들어 센서 입력 범위가 0-100A이고 출력이 4-20mA이며 500옴 외부 저항을 사용하는 경우 다음 파라미터를 설정합니다:
- 저항 값(옴) - 500
- 최소 입력 - 0
- 최대 입력 - 100
- 최소 출력(mA) - 4
- 최대 출력(mA) - 20
3d. 플로우 배포
Node-RED 플로우가 빌드되고 필요한 매개변수가 추가되면 오른쪽 상단에서 플로우를 배포하고 4-20mA 센서 출력의 데이터를 Tulip으로 볼 수 있습니다.
Node-RED 에디터의 오른쪽에 있는 디버그 메시지 옵션을 선택하면 Tulip API의 응답과 해당 상태 코드를 볼 수 있습니다.
Node-RED 흐름의 기술적 세부 사항
아래는 4_to_20_mA_sensor.json 파일로 가져온 노드와 기본 구성 매개변수에 대한 자세한 요약입니다.
SAR ADC 샘플
목적: 초당 100샘플의 속도로 0-10V SAR ADC를 샘플링합니다.
노드 유형: 고속 아날로그
기본 속성:
아날로그 구성 -
SAR ADC: RMS @ 100Hz
- 구성할 ADC 선택 -
SAR ADC
- 활성화된 출력 -
RMS
- 버퍼 크기 -
100
- 샘플링 주파수(Hz) -
100
+ 데이터 유형 -RMS
+ 출력 모드 -연속
+ 새로 고침 빈도(초) -1
- 평균 계산
- 구성할 ADC 선택 -
목적: SAR ADC 샘플 노드에서 100개 샘플의 평균을 초당 1회 가져옵니다.
노드 유형: 기능
기본 속성:
- 함수:
1 const average = (array) => array.reduce((a, b) => a + b) / array.length; 2 msg.payload = average(msg.data); 3 return msg;
3. 현재 루프 센서 값에 맞게 ADC 스케일 조정하기
- 함수:
목적: 평균 ADC 값을 실제 전류 루프 센서 값으로 스케일링합니다.
노드 유형: 하위 흐름
기본 속성:
- 입력 속성 -
페이로드
- 저항 값(옴) -
500
- 최소 입력 -
0
- 최대 입력 -
800
- 최소 출력(mA) -
4
- 최대 출력 (mA) -
20
- 튤립 머신으로 보내기 속성
- 입력 속성 -
목적: 현재 루프 센서 값을 Tulip 이벤트 API로 전송하여 머신으로 보냅니다.
노드 유형: 머신 속성
기본 속성:
- 장치 정보 -
{"attributeId":"", "machineId":""}
- 응답
- 장치 정보 -
목적: Tulip 이벤트 API 호출의 적절한 HTTP 상태 코드를 반환합니다.
노드 유형: Debug
기본 속성:
- Output -
완전한 메시지 객체
- To -
디버그 창
- Output -
추가 자료
원하는 정보를 찾으셨나요?
community.tulip.co로 이동하여 질문을 게시하거나 다른 사람들이 비슷한 질문을 했는지 확인할 수도 있습니다!