NiagaraWorkbench의 Modbus Polling Config 옵션을 이용하여 트래픽 줄이기 - Engineer of NiagaraFramework

Tridium, NiagaraFramework, SCADA, HMI, PLC, Automation, SmartFAM etc.. About controls.
나이아가라 프레임워크 QnA : neverlikekami@gmail.com

2019년 4월 12일 금요일

NiagaraWorkbench의 Modbus Polling Config 옵션을 이용하여 트래픽 줄이기

개요

How to communicate faster use the Modbus protocol

산업용 프로토콜인 모드버스를 이용하여 데이터를 얻거나 제어한다.
본 내용에서는 모드버스 프로토콜을 이용하여 통신 트래픽을 줄이기 위한 방법으로 데이터를 읽거나 쓰기위한 범위를 지정하는 방법에 대해 알아본다.

아.. 물론 Niagara Workbench 에서 말이다~


    Understanding Modbus Protocol

    Modbus Protocol 은 아래와같이 구성된다.

    UnitID | FunctionCode | StartAddress | Length | ByteCount) 

    예를들어 01 03 00 00 00 01 신호를 보낸다는것은

    01    : 01번 장비에
    03    : 03번 펑션코드(Read Multiple Registers)로
    0000 : 0번 주소부터
    0001 : 1개의 워드를 읽어오라는 뜻 입니다.

    여기서 보아야할것은 마지막의 ByteCount입니다.
    이 갯수를 200개로 한다면 한 명령으로 200개의 데이터를 모두 요청할 수 있는것입니다.


    Understanding how to engineering

    보통 통신수량이 많은 조명컨트롤을 예로 들어보겠습니다.
    조명은 통상 약 256~ 512개의 포인트를 통신하게 되어있습니다.
    또한 이 포인트들은 연속적인 주소체계를 갖습니다.


    ---------------------- 예문1 ------------------------------------

    01 01 00 00 00 01
    01 01 00 01 00 01
    01 01 00 02 00 01      패킷 256개를 장치에 매번 전송
             ...
    01 01 00 ff 00 01


    ---------------------- 예문2 ------------------------------------

    01 01 00 00 00 FF      패킷1개로 256개의 데이터 요청

    ------------------------------------------------------------------


    여러분이라면 예문1이 유리하겠습니까 예문2가 유리하겠습니까.

    서버측에서도, 클라이언트측에서도, 통신구간에서도 모든면에서 예문2가 압승입니다.

    구체적으로 몇%이득이다 라는것은 계산하지 않겠습니다. (안타깝게 저는 천재가 아닙니다...)

    하지만 조명을 켜거나 껐을때, 1분뒤에 피드백이 오느냐, 1초뒤에 피드백이 오느냐의 차이를느끼게 되실겁니다.


    How to config on Niagara Workbench

    Niagara Workbench를 사용하여 바이트카운트를 어떻게 수정하는지 알아보겠습니다.
    매우 간단합니다.

    1. 엔지니어는 사용하고자 하는 포인트를 주소에 맞게 등록합니다. (통신되는것을 확인)
    2. Modbus Poll Config 에 마우스 오른쪽버튼을 눌러 Learn optimum Device Poll Config를 누른다.

    3. Replace 에 확인을 누르면 엔지니어가등록한 포인트의 주소에 맞게 연속적인 주소에 맞추어 바이트 카운트를 수정하여 패킷을 보낼 수 있도록 설정이 등록된다.


    Caution

    위의 ModbusPollConfig를 사용할 때 유의할 사항입니다.

    연속으로 데이터를 읽기거나 쓰기위한 바이트카운트를 제대로 구현하지 않는 장비들이 종종 있습니다. 이러한 장비에서는 사용하시면 통신이 안되겠지요~?


    댓글 없음:

    댓글 쓰기

    Post list