Pipe Production Line Monitoring (스크립트를 활용한 난수 값 생성 활용)

Samples

Pipe Production Line Monitoring (스크립트를 활용한 난수 값 생성 활용)

X-SCADA AI를 활용하여 만든 파이프 생산 라인 모니터링 시스템을 소개합니다.

주요 라인들의 생산 설비 현황들을 한 눈에 볼 수 있도록 구성되어 있습니다.

장치가 없는 사용자들을 위해 프로젝트가 어떻게 동작하는지 보여주기 위해 태그값은 실제값이 아닌 랜덤값이 표현되도록 구현했습니다.


일반적으로 프로젝트 파일(.xix)에 장치가 연결되지 않은 경우 값을 표현할 수 없습니다.

실제 장치가 없음에도 값을 표현해야 하는 경우 X-SCADA AI의 내부 개발 언어인 자바스크립트(JavaScript)의 함수들을 사용하면 임의의 값을 표현할 수 있습니다.

이번에는 단순 프로젝트 샘플 소개가 아니라 태그 값들을 난수 값으로 표현하는 방식을 함께 소개하겠습니다.




1. X-SCADA AI Designer의 이미지(Image), 텍스트(Text) 등을 활용하여 프로젝트를 작화한다.

52fa76b0abaa8785eda5bf54e7806e03_1747122173_5865.png
 


2. 사용하고자 하는 태그(Tag)를 생성한 뒤 객체에 클릭 – 태그값 설정(Click – Tag Value), 바인딩 태그(Binding Tag) 등을 설정한다.

52fa76b0abaa8785eda5bf54e7806e03_1747122178_8283.png
 


3. 하단 [스크립트(Script)] 탭을 클릭하여 페이지 스크립트 작성창을 활성화한 뒤 스크립트를 작성한다.

· 페이지 스크립트 : 해당 페이지가 열려있는동안 작성한 스크립트가 실행됨

· 난수 값 활성화를 위한 몇 가지 함수를 활용하여 스크립트를 작성 (아래에 소개 및 설명)

52fa76b0abaa8785eda5bf54e7806e03_1747122186_7424.png
 

■ 태그 기본값 설정

기본 형태 : $XT("AAA.BBB").value = XXX;

설명 : AAA 폴더에 있는 BBB 이름을 가진 태그의 값(value)을 XXX로 설정


■ 난수 값 생성 (기본형)

기본 형태 : Math.random();

설명 : 0 이상 1 미만의 값을 무작위로 소수점 숫자 생성


■ 난수 값 생성 (최소/최대값 설정)

기본 형태 : Math.random() * (최대값 – 최소값 + 1) + 최소값;

예시 : Math.random() * (10 – 1 + 1) + 1; = Math.random() * 10 + 1;

예시 설명 : 1부터 10 미만의 무작위 소수점 숫자 생성


■ 난수 값 생성 (정수로 출력)

기본 형태 : Math.floor(Math.random());

예시 : Math.floor(Math.random() * 100) + 1;

예시 설명 : 1 이상 100 이하의 정수 생성 (Math.floor는 소수점 이하를 버리는 함수)

추가 응용 : Math.floor(버림), Math.ceil(올림), Math.round(반올림) 등


■ 함수 반복 실행

기본 형태 : setInterval(실행할 함수, 시간 간격);

예시

setInterval(xyz, 1000)


function xyz()

{

    $XT("analog_1").value = Math.floor(Math.random() * 100) + 1;

    $XT("analog_2").value = Math.floor(Math.random() * 100) + 1;

    $XT("analog_3").value = Math.floor(Math.random() * 100) + 1;

}

예시 설명 : xyz 함수를 1,000ms(밀리초) 간격으로 실행 (1,000밀리초 = 1초)




4. X-SCADA AI Viewer로 프로젝트를 실행하여 난수 값을 잘 발생시키는지 확인한다.

52fa76b0abaa8785eda5bf54e7806e03_1747122192_6913.png
 

5. X-SCADA의 기능 설정에 대해 더 자세히 알고 싶다면 첨부한 프로젝트 파일(.xix)을 다운로드 받아 실행한다.



0 Reply Comment
Title