[SCADA] [통신] 태그를 이용하여 통신 상태를 확인하고 싶습니다.
2017.02.03

안녕하세요.

CIMON입니다.

 

CommStatus 내부함수를 이용하여 통신 상태를 확인할 수 있습니다.

다음 예제를 참조하여 주시기 바랍니다.

 

[사용 예제]

1. 데이터베이스에서 디지털 태그를 생성합니다.

2. [도구]-[스크립트]에 진입하여 다음과 같이 스크립트를 작성합니다.

Sub main()

While 1

A = CommStatus(“plc.ST”)

‘A가 0일 때 통신 상태 정상, 1일 때 통신 상태 비정상, -1일 때 통신상태 Disable
if A = 0 then

Settagval “DIG1”, 0

else

Settagval “DIG1”, 1

‘통신상태가 정상일 때 DIG1의 값이 0이고 비정상이거나 Diable상태일 때 1

end if

sleep(500)

Wend

End Sub

=======================================

아래 그림과 같이 스크립트를 등록합니다.

Commstatus 함수에 대한 설명은 다음을 참고바랍니다.

Commstatus 지정된 디바이스 또는 스테이션의 통신 상태를 출력합니다.
수치함수 연산식 표기 Commstatus (디바이스이름”)

Commstatus (“디바이스이름.스테이션이름”)

Commstatus (“”)

스크립트 표기 n = Commstatus (디바이스이름”)

n = Commstatus (“디바이스이름.스테이션이름”)

n = Commstatus (“”)

기능 지정된 디바이스 또는 스테이션의 통신 상태를 출력합니다. 디바이스 이름을 지정하지 않으면 시스템 전체적인 통신 상태를 출력합니다.
-1 통신이 비활성화된 상태입니다.
0 통신이 정상적인 상태입니다.
1 통신이 비정상적인 상태입니다.
사용 예제 디바이스 이름이 ‘PLC’일 때, 해당 디바이스의 통신 상태를 확인합니다.

연산식 입력: Commstatus (“PLC”) = n

스크립트 입력: n = Commstatus (“PLC”)

3. CimonX를 실행하여 동작을 확인합니다.

통신 상태가 정상일 경우에는 태그의 값이 0으로 나타나며, 통신 이상 발생시 태그 값이 1이 되는 것을 확인할 수 있습니다.

 

언제나 고객을 먼저 생각하는 CIMON이 되겠습니다.

감사합니다.