목차

Modbus RTU Master 통신 테스트 (FC1)

본 예제는 FC1 (Read Coils) 기능을 이용하여 Slave 장치의 Coil 상태를 읽어오는 테스트입니다.

PC에서 Modbus RTU Slave 프로그램을 실행한 뒤, CUBLOC2에서 Coil 데이터를 정상적으로 읽어오는지 확인하였습니다.

테스트 내용

읽어온 Coil 상태는 Debug 창에 출력하여 확인하였습니다.

테스트 코드

'------------------------------------------------------------
' FC1 (Read Coils) 테스트
'------------------------------------------------------------
Dim Buf(9) As Integer
Dim Err As Integer
Dim KeyNow As Byte
Dim KeyOld As Byte
Opencom 0, 115200, PROTO_8N1
' 채널0, 응답 대기시간 100ms
Modbusmaster 0, 100
KeyOld = 0
Do
    KeyNow = In(4)
    ' 스위치 OFF -> ON 순간에 1회 실행
    If KeyNow = 1 And KeyOld = 0 Then
        ' FC1 실행
        ' Slave ID=1
        ' 시작주소=0
        ' 10개 Coil 읽기
        Modbusread 0, 1, 1, 0, 10, Buf()
        Err = Modbuserror()
        If Err = 0 Then
            Debug "FC1 Read OK", Cr
            Debug "C0=", Dec Buf(0), " "
            Debug "C1=", Dec Buf(1), " "
            Debug "C2=", Dec Buf(2), " "
            Debug "C3=", Dec Buf(3), " "
            Debug "C4=", Dec Buf(4), " "
            Debug "C5=", Dec Buf(5), " "
            Debug "C6=", Dec Buf(6), " "
            Debug "C7=", Dec Buf(7), " "
            Debug "C8=", Dec Buf(8), " "
            Debug "C9=", Dec Buf(9), Cr
        Else
            Debug "FC1 Error=", Dec Err, Cr
        End If
    End If
    Wait 500
    KeyOld = KeyNow
Loop

결과

FC1은 다음과 같은 용도로 사용할 수 있습니다.

← Modbus RTU 마스터로 돌아가기