ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • PLC 통신 사양 (PROTOCOL)-2
    IT/IOT 2024. 11. 4. 05:09
    728x90
    반응형

    7. Read Command

     1, DRS Command 

    DRS Command는 연속되는 D Register값을 Read할 수 있는 Command, Frame상에서는 Read하고자 하는 개수와 시작 D Register의 번호를 설정한.

    ]. PV(Pointing Value) SV(Setting Value) Read (소수점 = 1)

        PV : D0001 (NPV)    SV : D0002 (NSV)

         # 주소는 PX-SERIES DATA RESISTER MAPPING( 5)을 참조

       송신 = STX01DRS,02,0001CRLF

             헤더 : [STX]

             세그먼트 1 : CONST Type “01DRS,”

             세그먼트 2 : CONST Type “02,0001”

             테일 : [CR][LF]

     

        수신 = STX01DRS,OK,04D2,0929CRLF

                  헤더 : [STX]

                  세그먼트 1 : CONST Type “01DRS, OK,”

                    세그먼트 2 : ARRAY Type 2 Byte “M000”

                    세그먼트 3 : CONST Type “,”

                    세그먼트 4 : ARRAY Type 2 Byte “M001”

                    테일 : [CR][LF]

     

        # 여기서 읽을 D Register의 개수가 2개 이므로 0001, 0002번호에 저장되어 있는 값을 읽어 옴.

    2, DRR Command

      DRR CommandD RegisterRead 하기 위한 Command, Frame상에는  Read 개수와 읽고자 하는 각각의 D Register의 번호를 설정한다.

    ]. Range High & Low Read (RANGE 소수점 = 0, SCALE 소수점 = 1)

       Range High : D0612 (RH)

       Range Low : D0613 (RL)

     

    #사용 기기에 따라 Range & Scale값은 달라질 수 있음. 

      송신 =  “STX01DRR,02,0612,0613CRLF”

             헤더 : [STX]

             세그먼트 1 : CONST Type “01DRR,02,”

             세그먼트 2 : CONST Type “0612,0613”

             테일 : [CR][LF]

     

      수신 =  “STX01DRR,OK,055A,FF38CRLF”

                 헤더 : [STX]

                 세그먼트 1 : CONST Type “01DRR, OK,”

                 세그먼트 2 : ARRAY Type 2 Byte “M000”

                 세그먼트 3 : CONST Type “,”

                 세그먼트 4 : ARRAY Type 2 Byte “M001”

                 테일 : [CR][LF]

    3, IRS Command

      IRS Command는 연속된 I Register  값을 Read 할 수 있는 Command, Frame 상에서는 Read 하고자 하는 개수와 시작 I Register의 번호를 설정한다.

      ]. Alarm 상태 Read

         Alarm 1 : I0097 (ALM 1)

         Alarm 2 : I0098 (ALM 2)

         Alarm 3 : I0099 (ALM 3)

     

         송신 =          “STX01IRS,03,0097CRLF”

             헤더 : [STX]

             세그먼트 1 : CONST Type “01IRS,”

             세그먼트 2 : CONST Type “03,0097”

             테일 : [CR][LF]

     

        수신 = “STX01IRS,OK,1,0,1CRLF”

              헤더 : [STX]

              세그먼트 1 : CONST Type “01IRS, OK,”

               세그먼트 2 : ARRAY Type 1 Byte “M000”

               세그먼트 3 : CONST Type “,”

               세그먼트 4 : ARRAY Type 1 Byte “M001”

               세그먼트 5 : CONST Type “,”

               세그먼트 6 : ARRAY Type 1 Byte “M002”

               테일 : [CR][LF]

     

    # 여기서 읽을 I Register의 개수가 3개이므로 0097부터 연속해서 0098, 0099를 읽는다.

    4, IRR Command

      IRR Command는 임의의 I RegisterRead하기 위한 Command, Frame  상에는 Read 개수와 읽고자 하는 각각의 I Register의 번호를 설정한다.

    ]. Auto/Man & Program Run 상태 Read

       Auto/Man : I0065 (Auto : 0 / Man : 1)

       Program Run : I0074 (PROG (0 : Reset 상태, 1 : Run 상태))

       송신 =   STX01IRR,02,0065,0074CRLF

            헤더 : [STX]

            세그먼트 1 : CONST Type “01IRR,02,”

            세그먼트 2 : CONST Type “0065,0074”

             테일 : [CR][LF]

    수신 =    STX01IRR,OK,0,1CRLF

         헤더 : [STX]

         세그먼트 1 : CONST Type “01IRR, OK,”

         세그먼트 2 : ARRAY Type 1 Byte “M000”

         세그먼트 3 : CONST Type “,”

         세그먼트 4 : ARRAY Type 1 Byte “M001”

         테일 : [CR][LF]

    7. Write Command

     1, DWS Command

      DWS Command는 연속된Register 값을 Write 할 수 있는 Command, Frame상에는 Write 하고자 하는 개수와 시작 D Register의 번호, Write Data를 설정한다

     

    ]. SV번호 & SV1, 2, 3 Write (SV 번호 소수점 = 0, 1, 2, 3 소수점 = 1)

       SV번호 : D0300 (SVNO) = 1 à 0001

     

     # Setting Value Number 1, 2, 3 중에서 1번으로 선택

     

       SV1 : D0301 = 100.0 à 1000 à 03E8

       SV2 : D0302 = 200.0 à 2000 à 07D0

       SV3 : D0303 = 300.0 à 3000 à 0BB8

     

      송신 =    “STX01DWS,04,0300,0001,03E8,07D0,0BB8CRLF”

            헤더 : [STX]

           세그먼트 1 : CONST Type “01DWS,04,”

          세그먼트 2 : CONST Type “0300,0001,”

         세그먼트 3 : CONST Type “03E8,07D0”

         세그먼트 4 : CONST Type “,0BB8”

         테일 : [CR][LF]

    수신 =     “STX01DWS,OKCRLF”

         헤더 : [STX]

         세그먼트 1 : CONST Type “01DWS, OK”

         테일 : [CR][LF]

    2, DWR Command

        DWR Command는 임의의 D RegisterWrite 하기 위한 Command,  Frame상에는 Write 개수와 각각의 D Register의 번호, Write Data를 설정  한다.

    ]. 운전 모드 전환, 운전 상태 전환, Fuzzy 기능 On      운전 모드 : D0100 = 1 (OPMD : LOCAL = 0, PROGRAM = 1,

    REMOTE = 2)      운전 상태 : D0101 = 1 (PROG : RESET = 0; PROGRAM RUN = 1)    Fuzzy 기능 : D0103 = 1 (FUZY : Off = 0, On = 1)

     송신 = “STX01DWR,03,0100,0001,0101,0001,0103,0001CRLF”

        헤더 : [STX]

        세그먼트 1 : CONST Type “01DWR,03,”

        세그먼트 2 : CONST Type “0100,0001,”

        세그먼트 3 : CONST Type “0101,0001,”

        세그먼트 4 : CONST Type “0103,0001”

        테일 : [CR][LF]

     수신 = “STX01DWR,OKCRLF”

        헤더 : [STX]

        세그먼트 1 : CONST Type “01DWR, OK”

        테일 : [CR][LF]

    3, IWS Command

      IWS Command는 연속된 I Register 값을 Write 할 수 있는 Command, Frame 상에는 Write 하고자 하는 개수와 시작 I Register의 번호, Write Data를 설정한다.

      # , I RegisterWriteCommon Area(I256 ~ I328)만 가능하다.

    ]. I Register Address 0300에서 4BitOn

       송신 =              “STX01IWS,04,0300,1,1,1,1CRLF”

           헤더 : [STX]

          세그먼트 1 : CONST Type “01IWS,”

          세그먼트 2 : CONST Type “04,0300,”

         세그먼트 3 : CONST Type “1,1,1,1”

        테일 : [CR][LF]

     수신 = “STX01IWS,OKCRLF”

       헤더 : [STX]

       세그먼트 1 : CONST Type “01IWS, OK”

       테일 : [CR][LF]

     

         # I Register 확인

         송신 = STX01IRS,04,0300CRLF

        수신 = STX01IRS,OK,1,1,1,1CRLF

    4, IWR Command

      IWR Command는 임의의 I RegisterWrite하기 위한 Command, Frame 상에는 Write하고자 하는 개수와 각각의 I Register의 번호를 설정한다.

      # , I RegisterWriteCommon Area만 가능하다.

    ]. I Register I300, I302, I304, I308 4개의 BitOn

    송신 = “STX01IWR,04,0300,1,0302,1,0304,1,0308,1CRLF

        헤더 : [STX]

        세그먼트 1 : CONST Type “01IWR,04,”

        세그먼트 2 : CONST Type “0300,1,”

        세그먼트 3 : CONST Type “0302,1,”

        세그먼트 4 : CONST Type “0304,1,”

        세그먼트 5 : CONST Type “0308,1”

        테일 : [CR][LF]

     수신 = “STX01IWR,OKCRLF”

          헤더 : [STX]

          세그먼트 1 : CONST Type “01IWR, OK”

          테일 : [CR][LF]

     

         # I Register 확인 

         송신 = STX01IRR,04,0300,0302,0304,0308CRLF

        수신 = STX01IRR,OK,1,1,1,1CRLF

    8. Monitoring Command

       1, DMS Command

       DMS CommandMonitoring  하고자 하는 D Register를 등록시키는 Command로, Frame에는 Monitoring 하고자 하는 개수와 각각의 D Register의 번호를 설정한다.CommandMonitoring 등록을 위한 것이며, DMC Command를 사용하여 등록된 D Register의 값을 Read한다.

    ]. PV & SV 등록

       PV : D0001 (NPV)

       SV : D0002 (NSV)

     # 주소는 PX-SERIES DATA RESISTER MAPPING(표 5)을 참조

     송신 = STX01DMS,02,0001,0002CRLF

         헤더 : [STX]

        세그먼트 1 : CONST Type “01DMS,02,”

        세그먼트 2 : CONST Type “0001,0002”

        테일 : [CR][LF]

    수신 = STX01DMS,OKCRLF

         헤더 : [STX]

         세그먼트 1 : CONST Type “01DMS, OK”

         테일 : [CR][LF]

    2, DMC Command

      DMC CommandDMS Command, Monitoring 하고자 하는 D Register등록시키는 Command에 의해 등록된 D Register의 내용을 Read하기 위Command이다.

    ]. 등록된 Monitoring 내용 Call (PV & SV 소수점 = 1)

     

    송신 =    “STX01DMCCRLF”

        헤더 : [STX]

        세그먼트 1 : CONST Type “01DMC”

        테일 : [CR][LF]

     수신 =     “STX01DMC,OK,03E8,0384CRLF”

         헤더 : [STX]

         세그먼트 1 : CONST Type “01DMC, OK,”

         세그먼트 2 : ARRAY Type 2 Byte “M000”

         세그먼트 3 : CONST Type “,”

         세그먼트 4 : ARRAY Type 2 Byte “M001”

         테일 : [CR][LF]

       PV = 03E8 à 1000 à 100.0

       SV = 0384 à 900 à 90.0

       송신 = STX01DMCCRLF

       수신 = STX01DMC,OK,03E9,0385CRLF

         PV = 03E9 à 1001 à 100.1

        SV = 0385 à 901 à 90.1

     # DMS Command 의해 등록된 D Register D0001, D0002 송신을 통해 얻은 처음 수신 값은 PV = 100.0, SV = 90.0이었는데, 다시 송신을 통해 얻은 수신 값은 PV = 100.1, SV = 90.1이다 위의 예제와 같이 일련의 송신을 통하여 DMS Command 의해 등록된 D Register 값을 계속 Monitoring 있다.

     

    3, IMS Command

      IMS CommandMonitoring 하고자 하는 I Register를 등록시키는  Command로, Frame 상에 Monitoring 하고자 하는 개수와 각각의 I Register의 번호를 설정한다. CommandMonitor 등록을 위한 것이며,  IMC  Command를 사용하여 등록된 I Register의 값을 Read한다.

     

    ]. Alarm 1, 2, 3 등록

       Alarm 1 : I0097 (ALM 1)

       Alarm 2 : I0098 (ALM 2)

       Alarm 3 : I0099 (ALM 3)

     

     송신 = STX01IMS,03,0097,0098,0099CRLF

         헤더 : [STX]

         세그먼트 1 : CONST Type “01IMS,”

         세그먼트 2 : CONST Type “03,0097,”

        세그먼트 2 : CONST Type “0098,0099”

       테일 : [CR][LF]

    수신 =      STX01IMS,OKCRLF

         헤더 : [STX]

         세그먼트 1 : CONST Type “01IMS, OK”

         테일 : [CR][LF]

    4, IMC Command

      IMC CommandIMS Command로 등록된 I Register의 내용을 Read하기  위한 Command

     ]. 등록된 Monitoring 내용 Call (Alarm 1, 2, 3)  

    송신 = STX01IMCCRLF

         헤더 : [STX]

        세그먼트 1 : CONST Type “01IMC”

        테일 : [CR][LF]

     

     수신 = STX01IMC,OK,1,1,1CRLF

         헤더 : [STX]

         세그먼트 1 : CONST Type “01IMC, OK,”

         세그먼트 2 : ARRAY Type 1 Byte “M000”

         세그먼트 3 : CONST Type “,”

         세그먼트 4 : ARRAY Type 1 Byte “M001”

         세그먼트 5 : CONST Type “,”

         세그먼트 6 : ARRAY Type 1 Byte “M002”

         테일 : [CR][LF]

       Alarm 1 = 1 (On)

       Alarm 2 = 1 (On)

       Alarm 3 = 1 (On)

     송신 = STX01IMCCRLF

     수신 = STX01IMC,OK,0,1,0CRLF

       Alarm 1 = 0 (Off)

       Alarm 2 = 1 (On)

       Alarm 3 = 0 (Off)

     

      # Monitoring Command에 의하여 등록된 내용은 전원 Off시 소멸되므로 차후 전원 On시에 재 등록 하여야 한다.

    9. Register 구성

     Register D (D Register)I (I RELAY MAP)로 구성되며, D Register 16진수 4자리 수 0000 ~ FFFF로 구성되어 각종 파라메터의 현재 값을 표현한다. I RELAY MAP은 온도조절계기의 상태정보를 갖고 있으며 01Bit 정보 (Off / On) 표현한다.

     # D Register의 구성

    728x90

    'IT > IOT' 카테고리의 다른 글

    가볍게 배우는 IOT-통신 장비 매뉴얼  (0) 2024.11.05
    가볍게 배우는 IOT-통신규약(PROTOCOL)  (0) 2024.11.05
    PLC 통신 사양 (PROTOCOL)-1  (2) 2024.11.04
    Modbus Protocol  (1) 2024.11.03
    LS일렉트릭 XBM-DN32H2 - 5  (8) 2024.10.28
Designed by Tistory.