누리로봇 modebus 프로토콜 매뉴얼

온라인 매뉴얼 URL: https://manuals.nurirobot.info/modbus/index.html

적용대상: BCC6282R - BCC6240R - BCC6021R

1. 개요

BCC6000R Series Brushless DC Motor Driver는 RS485 기반의 Modbus RTU 통신을 지원합니다.

본 매뉴얼은 PLC, HMI, PC 및 기타 Modbus RTU Master 장치에서 BCC6000R Series를 제어하거나 운전 상태를 확인하기 위한 통신 방법을 설명합니다.

지원되는 주요 기능은 다음과 같습니다.

  • 모터 운전 / 정지

  • 정회전 / 역회전

  • 속도 지령

  • 실제 회전속도 확인

  • Pole Pair 설정 및 확인

  • Alarm Code 확인

  • 가속/감속 관련 Parameter 설정

  • Driver 상태 확인

  • 모델별 추가 Parameter 설정

세 모델 모두 Modbus RTU와 Function Code 0x03, 0x06을 사용하지만 Register Address와 통신 설정은 서로 다릅니다. 따라서 다른 모델의 Register Address를 그대로 사용해서는 안 됩니다.


2. 모델별 통신 사양

통합 매뉴얼에서 가장 먼저 아래 비교표를 넣는 것이 좋습니다.

항목

BCC6282R

BCC6240R

BCC6021R

Protocol

Modbus RTU

Modbus RTU

Modbus RTU

Physical Layer

RS485

RS485

RS485

통신 방식

2-wire

2-wire

2-wire

Connector

RJ45 / Terminal

RJ45

RJ12

기본 Baud Rate

9600 bps

115200 bps

9600 bps

Baud 변경

미지원

미지원

9600 / 14400 / 19200

Data Bit

8 bit

8 bit

8 bit

Stop Bit

1

1

1

CRC

CRC-16/Modbus

CRC-16/Modbus

CRC-16/Modbus

Read

0x03

0x03

0x03

Write Single

0x06

0x06

0x06

Slave ID 설정

DIP SW

Register

DIP SW

Broadcast

지원

지원

지원

RS485 제어 활성화

0x00B6

0x00B6

0x0019

BCC6240R은 RJ45 기반 RS485, 115200 bps, 8-bit, 1 stop bit이며 통신 주소는 통신을 통해 설정하도록 되어 있습니다. BCC6021R은 Baud Rate Register를 통해 9600/14400/19200을 선택할 수 있습니다.


3. RS485 배선

3.1 BCC6282R

BCC6282R은 RS485 통신용으로 RJ45와 Plug-in Terminal 두 종류의 인터페이스를 제공합니다.

기본 RS485 신호:

  • A

  • B

  • GND

BCC6282R RS485 배선 이미지

J5(RJ45)에는 추가로 3.3V가 존재하지만 일반적인 RS485 통신에는 A, B, GND를 사용합니다.


3.2 BCC6240R

BCC6240R은 RJ45 Connector를 사용합니다.

통신에 사용하는 신호는:

  • A

  • B

  • GND

입니다.

120 Ω 종단저항은 외부에서 연결하시기 바랍니다.


3.3 BCC6021R

BCC6021R은 RJ12 Connector를 사용합니다.

따라서 BCC6282R / BCC6240R의 RJ45 통신 케이블과 물리적으로 호환되지 않습니다.


4. Slave Address 설정

4.1 BCC6282R

BCC6282R은 DIP Switch SW1~SW3으로 Slave Address를 설정합니다.

SW3

SW2

SW1

Slave Address

0

0

0

Broadcast

0

0

1

1

0

1

0

2

0

1

1

3

1

0

0

4

1

0

1

5

1

1

0

6

1

1

1

7

SW4는 기본 제품에서 120 Ω RS485 종단저항 연결용으로 사용됩니다.


4.2 BCC6240R

BCC6240R은 Slave Address를 DIP Switch가 아닌 Register ``0x00A6`` 으로 설정합니다.

Parameter

Register

Range

Default

Slave Address

0x00A6

1~247

1


4.3 BCC6021R

BCC6021R은 DIP Switch를 사용하여 Slave Address를 선택합니다.

다만 이 제품의 DIP Switch는 다단속도 기능에서도 사용되므로, 다단속도 설정 여부에 따라 DIP Switch 기능이 달라집니다.

NOTICE
BCC6021R의 DIP Switch는 Slave Address 설정과 Multi-speed 선택에 사용될 수 있습니다. Multi-speed 기능을 사용하는 경우 DIP Switch의 기능이 일반 Slave Address Mode와 다릅니다.

5. Modbus RTU Frame

BCC6000R Series는 아래 두 Function Code를 기본적으로 사용합니다.

0x03 — Read Holding Registers

Master → Driver:

Slave ID | 03 | Start Address Hi | Start Address Lo |
Quantity Hi | Quantity Lo | CRC Lo | CRC Hi

Driver → Master:

Slave ID | 03 | Byte Count | Data... | CRC Lo | CRC Hi

0x06 — Write Single Holding Register

Master → Driver:

Slave ID | 06 | Register Hi | Register Lo |
Data Hi | Data Lo | CRC Lo | CRC Hi

정상적으로 처리되는 경우 대부분의 Write 명령은 동일 Frame을 응답합니다.

세 제품 모두 0x03과 0x06을 사용하며 CRC-16/Modbus를 적용하고 있습니다.


6. 핵심 Register 비교

기능

BCC6282R

BCC6240R

BCC6021R

운전 제어

0x0066/6A/6D

0x0066

0x0000/16/17

속도 지령

0x0056

0x0056

0x0001

실제 속도

0x005F

0x005F

0x0009

Pole Pair

0x0086(폴수)

0x0086

0x0002

Alarm Code

0x0076

0x0076

0x0012

가감속 시간

0x008A(가속)

0x0098(가감속)

0x0003 / 0x0004

Maximum Speed

0x0092

0x0092

0x000F

통신 제어 설정

0x00B6

0x00B6

0x0007 / 0x0019

Baud Rate

고정

고정

0x0006

PID P

0x000D

PID I

0x000E

Open/Closed Loop

0x0018

감속비

0x0015

설정저장

0x00BC

0x00BC

공장초기화

0x00CC

0X0113

0x0033

BCC6021R은 BCC6282R/BCC6240R과 Register 체계가 완전히 다르고, PID, Open/Closed Loop, 감속비 등의 추가 Parameter를 가지고 있습니다.


7. 모델별 통신 제어 활성화

BCC6282R

통신으로 Driver를 제어하기 전에:

Register 0x00B6 = 1

을 Write해야 합니다.

  • 0 = RS485 Control Disable

  • 1 = RS485 Control Enable

0인 경우 다른 Register를 읽을 수는 있지만 0x00B6을 제외한 다른 Write Register를 쓸 수 없습니다.


BCC6240R

BCC6240R도:

0x00B6 = 1

로 Communication Control을 Enable합니다.

중요한 점은 이 값이 저장되지 않는다는 것입니다.

따라서 전원을 다시 켜면 Communication Status가 Disable 상태로 돌아가므로, PLC 프로그램에서 초기화 시 다음 명령을 보내는 구조가 좋습니다.

Power ON
   ↓
Communication Established
   ↓
Write 0x00B6 = 1
   ↓
Set Speed
   ↓
RUN

BCC6021R

BCC6021R은 방식이 다릅니다.

Start/Stop 및 방향 제어 방법:

0x0007
  • 0 = Terminal + RS485, Terminal 우선

  • 1 = Terminal Control

  • 2 = RS485 Control

그리고 Speed Control Source는:

0x0019
  • 0 = Analog Speed Control

  • 1 = Communication Speed Setting

입니다.

따라서 완전한 Modbus 제어를 하려면 기본적으로:

0x0007 = 2
0x0019 = 1

로 설정하는 구성으로 설명하는 것이 가장 이해하기 쉽습니다.


8. 모델별 Quick Start

본 장에서는 BCC6000R Series를 Modbus RTU를 이용하여 운전하기 위한 최소 설정 절차를 설명합니다.

아래 예제는 다음 조건을 기준으로 합니다.

항목

설정값

Slave Address

1

Function Code

0x03, 0x06

목표 회전속도

1100 rpm

1100 rpm HEX

0x044C

CRC

CRC-16/Modbus

CRC 전송 순서

Low Byte → High Byte

모터를 최초로 운전할 때에는 부하를 분리하거나 안전하게 회전할 수 있는 상태에서 시험하십시오. 모터의 U/V/W 및 Hall 배선, 전원전압, Pole 설정이 실제 모터와 일치하는지 먼저 확인해야 합니다.


8.1 BCC6282R Quick Start

8.1.1 통신 설정

BCC6282R은 RS485 기반 Modbus RTU를 사용하며 기본 통신 조건은 다음과 같습니다.

항목

설정

Baud Rate

9600 bps

Data Bit

8 bit

Stop Bit

1 bit

Parity

None

Mode

Modbus RTU

Slave Address

DIP Switch SW1~SW3

Read

0x03

Write

0x06

Slave Address는 DIP Switch로 설정합니다. 본 예제에서는 Slave Address를 1로 설정한 상태를 기준으로 합니다.


8.1.2 RS485 통신 연결 확인

전원을 인가한 후 먼저 Read 명령을 사용하여 Driver와 정상적으로 통신되는지 확인합니다.

예를 들어 Feedback Speed Register 0x005F를 읽습니다.

TX : 01 03 00 5F 00 01 B4 18

정상적으로 통신되는 경우 Driver는 다음 형식으로 응답합니다.

RX : 01 03 02 XX XX CRC_L CRC_H

예에서는 다음과 같이 응답하며 0x0248 = 584 rpm입니다.

TX : 01 03 00 5F 00 01 B4 18
RX : 01 03 02 02 48 B9 12

BCC6282R은 Feedback Speed를 0x005F, Alarm Code를 0x0076에서 읽습니다.


8.1.3 RS485 Control 활성화

BCC6282R은 전원 투입 직후 기본적으로 RS485 Write Control이 비활성 상태입니다.

Modbus를 사용하여 속도, 운전상태 및 기타 Parameter를 변경하려면 먼저 다음 Register를 설정해야 합니다.

Register : 0x00B6
Value    : 1
Function : RS485 Control Enable

통신 프레임:

TX : 01 06 00 B6 00 01 A9 EC
RX : 01 06 00 B6 00 01 A9 EC

0x00B6 = 0인 경우 Holding Register를 읽을 수는 있지만 0x00B6을 제외한 다른 Write Register를 변경할 수 없습니다. 0x00B6 = 1이면 Read/Write가 허용됩니다. 이 Register는 저장되지 않으며 기본값은 0으로 정의되어 있습니다.

따라서 PLC 또는 HMI에서는 전원 투입 후 초기화 절차에서 ``0x00B6 = 1``을 전송하는 것을 권장합니다.


8.1.4 목표속도 설정

목표속도는 0x0056에 rpm 단위로 Write합니다.

1100 rpm은 16진수로:

1100(dec) = 0x044C

입니다.

Register : 0x0056
Value    : 0x044C
Speed    : 1100 rpm

통신 프레임:

TX : 01 06 00 56 04 4C 6A EF
RX : 01 06 00 56 04 4C 6A EF

RS485 Control이 비활성화된 상태에서 같은 Write를 시도하면 Exception Response 01 86 FF 02 20을 반환합니다.


8.1.5 회전방향 설정

BCC6282R에서는 회전방향을 0x006D로 제어합니다.

Forward 명령은 다음과 같습니다.

Register : 0x006D
Value    : 1
Function : Forward
TX : 01 06 00 6D 00 01 D9 D7
RX : 01 06 00 6D 00 01 D9 D7

8.1.6 Motor Enable

다음 명령을 Motor Enable로 사용합니다.

Register : 0x0066
Value    : 1
TX : 01 06 00 66 00 01 A8 15
RX : 01 06 00 66 00 01 A8 15

따라서 기본적인 운전 순서는 다음과 같습니다.

Power ON
   ↓
RS485 Communication Check
   ↓
0x00B6 = 1     RS485 Control Enable
   ↓
0x0056 = 1100  Speed Command
   ↓
0x006D = 1     Forward
   ↓
0x0066 = 1     Enable
   ↓
Motor Run

8.1.7 실제 속도 확인

운전 후 0x005F를 주기적으로 읽어 실제 Feedback Speed를 확인할 수 있습니다.

TX : 01 03 00 5F 00 01 B4 18

응답 Data가 예를 들어:

02 48

이면:

0x0248 = 584 rpm

입니다.


8.1.8 Alarm 확인

Alarm Code는 0x0076에서 읽습니다.

TX : 01 03 00 76 00 01 65 D0

정상상태 예:

RX : 01 03 02 00 00 B8 44

즉,

Alarm Code = 0

입니다.


8.1.9 BCC6282R 운전 순서 요약

Step

Register

Value

Function

1

0x005F

Read

통신 확인

2

0x00B6

1

RS485 Control Enable

3

0x0056

1100

목표속도 1100 rpm

4

0x006D

1*

Forward

5

0x0066

1*

Motor Enable

6

0x005F

Read

Feedback Speed

7

0x0076

Read

Alarm 확인


8.2 BCC6240R Quick Start

BCC6240R은 BCC6282R과 일부 Register Address가 동일하지만 Motor Control 구조가 다릅니다.

특히 BCC6240R에서는 0x0066 하나를 이용하여 Stop, Forward, Reverse 및 Brake를 제어합니다. Register Map은 0 = Stop, 1 = Forward, 2 = Reverse, 3 = Brake로 정의하고 있습니다.

8.2.1 통신 설정

항목

설정

Baud Rate

115200 bps

Data Bit

8 bit

Stop Bit

1 bit

Modbus Mode

RTU

CRC

CRC-16/Modbus

Slave Address 기본값

1

Slave Address Register

0x00A6

Read

0x03

Write

0x06

Slave Address의 기본값은 1이며 0x00A6을 통해 1~247 범위에서 변경할 수 있습니다.


8.2.2 통신 확인

Feedback Speed를 읽어 통신상태를 확인합니다.

TX : 01 03 00 5F 00 01 B4 18
RX : 01 03 02 02 48 B9 12

8.2.3 Communication Control Enable

Modbus Write Control을 사용하려면:

0x00B6 = 1

로 설정합니다.

TX : 01 06 00 B6 00 01 A9 EC
RX : 01 06 00 B6 00 01 A9 EC

0x00B6의 의미는 다음과 같습니다.

Value

Description

0

Communication Disable

1

Communication Enable

BCC6240R에서는 이 값이 저장되지 않습니다. 따라서 전원을 다시 투입할 때마다 ``0x00B6 = 1``을 다시 전송해야 합니다.


8.2.4 목표속도 설정

목표속도는 0x0056에 rpm 단위로 설정합니다.

1100 rpm:

0x0056 = 0x044C

통신 프레임:

TX : 01 06 00 56 04 4C 6A EF
RX : 01 06 00 56 04 4C 6A EF

8.2.5 정회전 운전

BCC6240R에서는 Motor Control Register 0x0066을 사용합니다.

0x0066 = 1 : Forward
TX : 01 06 00 66 00 01 A8 15
RX : 01 06 00 66 00 01 A8 15

따라서 BCC6240R의 기본 운전순서는:

Power ON
   ↓
RS485 Communication Check
   ↓
0x00B6 = 1       Communication Enable
   ↓
0x0056 = 1100    Speed = 1100 rpm
   ↓
0x0066 = 1       Forward
   ↓
Motor Run

입니다.


8.2.6 역회전

0x0066 = 2

로 설정합니다.

Value

Motor Command

0

Stop

1

Forward

2

Reverse

3

Brake

Motor가 회전 중인 상태에서 즉시 방향을 변경하면 기계계 및 Driver에 큰 부하가 발생할 수 있으므로, 실제 장비에서는 먼저 정지한 후 방향을 변경하는 운전 Sequence를 권장합니다.


8.2.7 정지

일반 정지는:

0x0066 = 0

입니다.

Slave Address 1 기준 Frame은:

TX : 01 06 00 66 00 00 69 D5

정상 처리 시 Function 0x06 특성에 따라 동일 Frame을 응답합니다.

RX : 01 06 00 66 00 00 69 D5

위 CRC 포함 Frame은 Register 정의에 따라 계산한 예입니다.


8.2.8 실제속도 및 Alarm 확인

Feedback Speed:

Register : 0x005F
Function : 0x03
TX : 01 03 00 5F 00 01 B4 18

Alarm Code:

Register : 0x0076
Function : 0x03
TX : 01 03 00 76 00 01 65 D0

BCC6240R은 별도로 0x0000부터 연속 Read가 가능한 Access Address 체계도 제공하지만 Quick Start에서는 호환성과 가독성을 위해 개별 Address 0x005F, 0x0076을 사용합니다.


8.2.9 BCC6240R 운전 순서 요약

Step

Register

Value

Function

1

0x005F

Read

통신 확인

2

0x00B6

1

Communication Enable

3

0x0056

1100

Target Speed

4

0x0066

1

Forward

5

0x005F

Read

Feedback Speed

6

0x0076

Read

Alarm 확인

7

0x0066

0

Stop

전원 재투입 시 Step 2의 ``0x00B6 = 1``을 반드시 다시 실행해야 합니다.


8.3 BCC6021R Quick Start

BCC6021R은 BCC6282R 및 BCC6240R과 제어방식이 다릅니다.

BCC6021R에서는 운전/방향의 제어권과 속도 지령 Source를 서로 다른 Register로 설정합니다.

기능

Register

Modbus 전용 설정

Start/Stop & Direction Control

0x0007

2

Speed Command Source

0x0019

1

0x0007 = 2는 Start/Stop 및 Forward/Reverse를 RS485가 제어하도록 선택하고, 0x0019 = 1은 속도 지령값을 Communication에서 받도록 선택합니다. 따라서 BCC6021R을 Modbus RTU만으로 완전히 제어하려면 두 설정을 모두 확인해야 합니다.


8.3.1 통신 설정

BCC6021R의 기본 통신 조건은 다음과 같습니다.

항목

기본 설정

Baud Rate

9600 bps

Data Bit

8 bit

Stop Bit

1 bit

Parity

None

Protocol

Modbus RTU

Slave Address

DIP Switch

Read

0x03

Write

0x06

Baud Rate는 0x0006을 통해 변경할 수 있습니다.

0x0006

Baud Rate

0

9600

1

14400

2

19200

기본값은 0, 즉 9600 bps입니다.


8.3.2 통신 확인

Feedback Speed Register 0x0009를 읽습니다.

TX : 01 03 00 09 00 01 54 08
RX : 01 03 02 03 17 F8 BA

Feedback Speed는 0x0009에서 rpm 단위로 읽으며 이 값은 Gear Reduction Ratio 설정의 영향을 받습니다.


8.3.3 모터 정지 상태 확인

0x0019 Speed Control Mode는 모터 운전 중 변경하지 않아야 합니다. 0x0019 변경 전에 모터를 정지하세요.

따라서 처음 설정할 때에는 모터가 실제로 정지되어 있는 것을 확인한 후 다음 설정을 수행하십시오.


8.3.4 속도 지령 Source를 Communication으로 설정

Register : 0x0019
Value    : 1

의미:

0 = Analog Speed Control
1 = Communication Setting

Slave Address 1 기준 명령 예:

TX : 01 06 00 19 00 01 99 CD
RX : 01 06 00 19 00 01 99 CD

0x0019 = 0인 경우 속도 지령 Source는 Analog 입력이며, On-board RV가 SV 입력보다 높은 우선순위를 가집니다. Modbus에서 0x0001에 속도값을 Write하여 운전하려면 0x0019 = 1로 설정해야 합니다.


8.3.5 Run/Stop 및 방향 제어권을 RS485로 설정

Register : 0x0007
Value    : 2

0x0007의 설정은 다음과 같습니다.

Value

Control Method

0

Terminal + RS485, Terminal 우선

1

Terminal Control

2

RS485 Communication Control

Slave Address 1 기준 명령 예:

TX : 01 06 00 07 00 02 B9 CA
RX : 01 06 00 07 00 02 B9 CA

따라서 BCC6021R의 완전한 Modbus Control 설정은:

0x0019 = 1    Speed Source = Communication
0x0007 = 2    Run/Direction Control = RS485

입니다.


8.3.6 목표속도 설정

BCC6021R의 속도지령 Register는:

0x0001

입니다.

1100 rpm을 설정하면:

0x0001 = 0x044C

통신 프레임:

TX : 01 06 00 01 04 4C DB 3F
RX : 01 06 00 01 04 4C DB 3F

8.3.7 정회전 운전

Motor Command Register는:

0x0000

입니다.

동작은 다음과 같습니다.

Value

Command

0

Forward

1

Reverse

2

Stop

3

Clear Alarm

정회전:

0x0000 = 0

Slave Address 1 기준 명령 예:

TX : 01 06 00 00 00 00 89 CA
RX : 01 06 00 00 00 00 89 CA

0x0000 = 0이 Forward라는 정의는 BCC6021R Register Map에 명시되어 있습니다.


8.3.8 역회전

0x0000 = 1
TX : 01 06 00 00 00 01 48 0A
RX : 01 06 00 00 00 01 48 0A

방향을 변경할 때에는 기계적 충격을 줄이기 위해 모터를 먼저 정지시킨 후 방향을 변경하십시오.


8.3.9 정지

모터 정지는:

0x0000 = 2

입니다.

TX : 01 06 00 00 00 02 08 0B
RX : 01 06 00 00 00 02 08 0B

정지 동작은 0x0005 Stop Mode 설정의 영향을 받습니다.

0 = Free Stop
1 = Brake Stop
2 = Deceleration Stop

8.3.10 실제속도 확인

Feedback Speed:

Register : 0x0009
TX : 01 03 00 09 00 01 54 08

이 Register의 Feedback Speed는 Gear Ratio 0x0015 설정의 영향을 받습니다.


8.3.11 Alarm 확인

Alarm Code는 0x0012에서 읽습니다.

TX : 01 03 00 12 00 01 24 0F

정상상태 예:

RX : 01 03 02 00 00 B8 44

즉:

Alarm Code = 0

Alarm을 통신으로 Clear할 경우:

0x0000 = 3

을 사용합니다.


8.3.12 BCC6021R 운전 순서 요약

최초 Modbus 전용 제어 설정

Power ON
   ↓
RS485 Communication Check
   ↓
Motor Stop 확인
   ↓
0x0019 = 1
Speed Source = Communication
   ↓
0x0007 = 2
Run/Direction = RS485
   ↓
0x0001 = 1100
Target Speed = 1100 rpm
   ↓
0x0000 = 0
Forward
   ↓
Motor Run

운전 중에는:

0x0009 → Feedback Speed Read
0x0012 → Alarm Code Read

를 주기적으로 확인할 수 있습니다.

정지할 때에는:

0x0000 = 2

를 전송합니다.


8.4 3모델 Quick Start 비교

기능

BCC6282R

BCC6240R

BCC6021R

Communication Enable

0x00B6=1

0x00B6=1

별도 B6 없음

Run/Direction Source

0x00B6 기반

0x00B6 기반

0x0007=2

Speed Source

0x00B6 기반

0x00B6 기반

0x0019=1

Speed Command

0x0056

0x0056

0x0001

Forward

0x006D=1*

0x0066=1

0x0000=0

Reverse

0x006D=0*

0x0066=2

0x0000=1

Stop

0x0066*

0x0066=0

0x0000=2

Feedback Speed

0x005F

0x005F

0x0009

Alarm Code

0x0076

0x0076

0x0012


9. Broadcast Communication

9.1 개요

Broadcast Communication은 하나의 Modbus RTU 명령을 이용하여 Broadcast Mode로 설정된 Driver에 Write 명령을 전달하기 위한 기능입니다.

BCC6000R Series에서 Broadcast Communication은 Write 명령에 사용하며, Broadcast 명령을 수신한 Driver는 명령을 실행하더라도 정상 응답 Frame을 반환하지 않습니다.

다만 Broadcast 설정 및 동작 방법은 모델별로 차이가 있으므로 반드시 해당 모델의 설명을 확인한 후 사용하십시오.

항목

BCC6282R

BCC6240R

BCC6021R

Broadcast 지원

O

O

O

Broadcast Address

0x00

0x00

0x00

Broadcast Mode 설정

DIP SW

별도 설정 설명 없음

DIP SW

Read (0x03)

사용하지 않음

사용하지 않음

사용하지 않음

Write (0x06)

O

O

O

Response

없음

없음

없음

NOTICE
Broadcast Communication은 개별 Driver의 응답을 확인할 수 없으므로 설정값 확인, Alarm 확인, Feedback Speed 확인 등의 Read 용도로 사용하지 마십시오.
Broadcast Write 후 설정 결과를 확인해야 하는 경우 각 Driver의 개별 Slave Address를 이용하여 해당 Register를 다시 Read하십시오.

9.2 BCC6282R Broadcast Communication

9.2.1 Broadcast Mode 설정

BCC6282R은 SW1~SW3 DIP Switch를 이용하여 Slave Address를 설정합니다.

DIP Switch가 다음 상태일 때 Broadcast Communication Mode가 선택됩니다.

SW3

SW2

SW1

Mode

0

0

0

Broadcast Communication

0

0

1

Slave Address 0x01

0

1

0

Slave Address 0x02

0

1

1

Slave Address 0x03

1

0

0

Slave Address 0x04

1

0

1

Slave Address 0x05

1

1

0

Slave Address 0x06

1

1

1

Slave Address 0x07


9.2.2 Broadcast Frame

BCC6282R의 Broadcast Write Frame에서는 Server Address에 0x00을 사용합니다.

기본 Frame 구조는 다음과 같습니다.

00 | 06 | Register Hi | Register Lo |
Data Hi | Data Lo | CRC Lo | CRC Hi

Broadcast Write가 정상적으로 실행되어도 Driver는 Response Frame을 반환하지 않습니다.

Master → Driver : Broadcast Write
Driver → Master : No Response

9.2.3 Pole 설정 예

Pole 관련 Register 0x0086에 2를 Write하는 Broadcast 예제입니다.

TX : 00 06 00 86 00 02 E8 33
RX : No Response

9.2.4 속도 설정 예

목표속도 1100 rpm을 설정합니다.

1100(dec) = 0x044C

Set Speed Register:

0x0056

Broadcast Frame:

TX : 00 06 00 56 04 4C 6B 3E
RX : No Response

9.2.5 RS485 Control Enable 예

BCC6282R의 Communication Control Register는 0x00B6입니다.

0x00B6 = 1

Broadcast Frame:

TX : 00 06 00 B6 00 01 A8 3D
RX : No Response

9.2.6 BCC6282R Broadcast 사용 시 주의사항

Broadcast Mode에서는 Driver가 응답을 반환하지 않으므로 Master에서는 일반 Unicast Write와 동일하게 Response를 기다려서는 안 됩니다.

다음과 같은 순서로 사용하는 것을 권장합니다.

Broadcast Write
      ↓
No Response
      ↓
필요한 대기시간 확보
      ↓
개별 Slave Address로 Read
      ↓
설정값 확인

DIP Switch를 통한 주소 운용은 실제 시스템 구성에 맞추어 적용해야 합니다.


9.3 BCC6240R Broadcast Communication

BCC6240R의 Write Function Code는 0x06 (Write Single Register)이며, 주요 제어 Register는 다음과 같습니다.

Register

기능

Value

0x0056

Set Speed

rpm

0x0066

Motor Control

0=Stop, 1=Forward, 2=Reverse, 3=Brake

0x00A6

Slave Address

1~247

0x00B6

Communication Status

0=Disable, 1=Enable

9.3.1 Broadcast Frame

본 예제에서는 Broadcast Slave Address를 0x00으로 사용합니다.

00 | 06 | Register Hi | Register Lo |
Data Hi | Data Lo | CRC Lo | CRC Hi

Broadcast 명령을 수신한 Driver는 명령을 실행하며 Master로 Response를 반환하지 않는 방식으로 사용합니다.

Master → Driver : Broadcast Write
Driver → Master : No Response

9.3.2 Communication Control Enable

여러 BCC6240R의 Modbus 제어를 동시에 활성화하는 예입니다.

Register : 0x00B6
Value    : 1
Function : Communication Enable

Broadcast Frame:

TX : 00 06 00 B6 00 01 A8 3D
RX : No Response

BCC6240R은 0x00B6=1일 때 Communication Control이 활성화되며, 이 값은 저장되지 않고 전원을 다시 인가하면 Disable 상태로 돌아갑니다.

9.3.3 목표속도 1100 rpm 설정

목표속도는 0x0056에 rpm 단위로 설정합니다.

1100(dec) = 0x044C

Broadcast Frame:

TX : 00 06 00 56 04 4C 6B 3E
RX : No Response

이 명령을 수신한 대상 Driver의 Set Speed는 1100 rpm으로 설정됩니다.

9.3.4 정회전 운전

BCC6240R은 0x0066을 Motor Control Register로 사용합니다.

0 = Stop
1 = Forward
2 = Reverse
3 = Brake

정회전 Broadcast 명령:

Register : 0x0066
Value    : 1
TX : 00 06 00 66 00 01 A9 C4
RX : No Response

이 명령을 사용하면 Broadcast를 수신하는 대상 Driver가 동시에 Forward 운전을 시작할 수 있으므로 장비가 안전한 상태인지 확인한 후 사용해야 합니다. ### 9.3.5 정지

Broadcast를 이용하여 대상 Driver를 동시에 정지하는 경우:

Register : 0x0066
Value    : 0
Function : Stop
TX : 00 06 00 66 00 00 68 04
RX : No Response

9.3.6 Broadcast 운전 예

BCC6240R 여러 대에 동일하게 1100 rpm / Forward 운전을 지령하는 경우의 예입니다.

1. Communication Enable

TX : 00 06 00 B6 00 01 A8 3D
RX : No Response

          ↓

2. Set Speed = 1100 rpm

TX : 00 06 00 56 04 4C 6B 3E
RX : No Response

          ↓

3. Forward Run

TX : 00 06 00 66 00 01 A9 C4
RX : No Response

          ↓

Motor Run

정지 시:

TX : 00 06 00 66 00 00 68 04
RX : No Response

9.3.7 Slave Address 변경 예

BCC6240R의 Slave Address는 0x00A6 Register를 통해 설정하며 유효 범위는 1~247, 기본값은 1입니다.

예를 들어 Broadcast로 Slave Address를 2로 설정한다고 가정하면:

Register : 0x00A6
Value    : 2

Broadcast Frame:

TX : 00 06 00 A6 00 02 E9 F9
RX : No Response

그러나 이 명령은 일반적으로 사용하지 않는 것을 권장합니다.

WARNING — Slave Address 설정
여러 Driver가 동일 RS485 Bus에 연결되어 있을 때 Broadcast로 0x00A6에 동일한 값을 Write하면 여러 Driver에 동일한 Slave Address가 설정될 수 있습니다. 이 경우 개별 Driver를 구분하여 통신할 수 없게 됩니다. 여러 Driver의 Address 설정에 Broadcast Mode를 사용하는 것을 권장하지 않습니다.

따라서 Slave Address는 가능한 한 각 Driver와 개별 통신하여 설정하십시오.

9.3.8 Broadcast Quick Reference

기능

Broadcast Frame

Response

Communication Enable

00 06 00 B6 00 01 A8 3D

No Response*

Speed 1100 rpm

00 06 00 56 04 4C 6B 3E

No Response*

Forward

00 06 00 66 00 01 A9 C4

No Response*

Stop

00 06 00 66 00 00 68 04

No Response*

Slave Address = 2

00 06 00 A6 00 02 E9 F9

No Response*


9.4 BCC6021R Broadcast Communication

9.4.1 Broadcast Mode 설정

BCC6021R은 DIP Switch를 사용하며, 일반 Slave Address Mode에서 DIP Switch 조합 000이 Broadcast Communication으로 정의되어 있습니다.

다만 BCC6021R의 DIP Switch는 Multi-speed 기능에서도 사용되므로 Multi-speed Mode가 활성화된 경우 DIP Switch의 의미가 달라질 수 있습니다.

NOTICE
Broadcast Communication을 사용할 때에는 현재 DIP Switch가 Slave Address 설정용으로 동작하는 상태인지 먼저 확인하십시오.

DIP Switch 표에서는 일반 주소 설정 상태에서 000을 Broadcast Communication으로 정의하고 있습니다.


9.4.2 Broadcast Frame

BCC6021R의 Broadcast Write 예제 역시 Server Address로 0x00을 사용합니다.

Frame 형식:

00 | 06 | Register Hi | Register Lo |
Data Hi | Data Lo | CRC Lo | CRC Hi

정상적으로 Broadcast Write를 수행한 경우에도 Response는 반환되지 않습니다.

RX : No Response

Pole Pair와 Set Speed에 대한 실제 Broadcast Frame을 제공합니다.


9.4.3 Pole Pair 설정 예

Pole Pair Register:

0x0002

Pole Pair를 2로 설정:

TX : 00 06 00 02 00 02 A8 1A
RX : No Response

9.4.4 목표속도 설정 예

Speed Command Register:

0x0001

1100 rpm 설정:

TX : 00 06 00 01 04 4C DA EE
RX : No Response

단, Broadcast로 속도값을 Write하는 것과 실제 모터가 그 속도지령을 사용하는 것은 별개의 조건입니다.

BCC6021R에서 Modbus Communication을 Speed Source로 사용하려면:

0x0019 = 1

이 설정이 필요합니다.

0x0019은 다음과 같이 정의됩니다.

Value

Speed Control Source

0

Analog Speed Control

1

Communication Setting

또한 Start/Stop 및 Direction까지 RS485에서 제어하려면:

0x0007 = 2

로 설정해야 합니다. 0x0019는 Speed Source, 0x0007은 Run/Stop 및 Direction의 제어권을 결정합니다.

따라서 Broadcast로 Speed Command를 사용하는 시스템에서는 Driver의 통신 제어 설정 상태도 함께 확인해야 합니다.


9.5 Broadcast 사용 시 공통 주의사항

Broadcast Communication은 여러 Driver에 동일 Parameter를 전달할 때 유용하지만, 개별 응답을 받을 수 없는 모델에서는 Master가 명령 성공 여부를 즉시 판단할 수 없습니다.

다음 사항을 주의하십시오.

  1. Broadcast는 Parameter Read 용도로 사용하지 않습니다.

  2. Broadcast Write 후 Driver의 Response를 기다리지 않습니다.

  3. 설정 결과 확인이 필요한 경우 개별 Slave Address로 Register를 Read합니다.

  4. 여러 Driver의 Slave Address를 동일 값으로 변경하는 용도로 Broadcast를 사용하지 마십시오.

  5. Pole Pair, 운전방향, 제어모드 등 Motor 동작에 영향을 미치는 Parameter를 Broadcast로 변경하기 전에는 장비가 안전한 상태인지 확인하십시오.

  6. BCC6021R의 경우 0x0019 및 0x0007 설정에 따라 Broadcast Speed/Run 명령의 실제 적용 여부가 달라질 수 있습니다.


9.6 Broadcast Quick Reference

Model

Broadcast 설정

Address

FC

Response

BCC6282R

DIP 000

0x00

0x06

없음

BCC6240R

없음

0x00

0x06

없음

BCC6021R

DIP 000*

0x00

0x06

없음

* Multi-speed 기능 사용 여부에 따라 DIP Switch 기능이 달라질 수 있습니다.

Broadcast Frame 예 비교

BCC6282R — 1100 rpm

TX : 00 06 00 56 04 4C 6B 3E
RX : No Response

BCC6021R — 1100 rpm

TX : 00 06 00 01 04 4C DA EE
RX : No Response

같은 1100 rpm 명령이라도 BCC6282R은 ``0x0056``, BCC6021R은 ``0x0001`` 을 사용하므로 다른 모델의 Broadcast Frame을 그대로 사용해서는 안 됩니다.


10. Data Format / Byte & Word Order

10.1 개요

BCC6000R Series는 Modbus RTU Holding Register를 이용하여 설정값 및 운전 상태를 송수신합니다.

하나의 Holding Register는 16 bit(2 byte) 데이터를 저장하며, Parameter에 따라 다음 형식 중 하나로 데이터를 처리합니다.

  • 16-bit Unsigned Integer

  • 16-bit Signed Integer

  • Scale Factor가 적용된 16-bit Integer

  • 32-bit IEEE-754 Floating Point

  • 여러 Register를 조합한 데이터

모델에 따라 같은 종류의 Parameter라도 데이터 형식이 다를 수 있으므로 반드시 해당 모델의 Register Map에 정의된 Data Format과 Unit을 확인해야 합니다.

예를 들어 Bus Voltage의 경우:

Model

Register

Data Format

BCC6282R

0x00C8~0x00C9

32-bit Float

BCC6240R

0x00C8

16-bit Integer × 0.1 V

BCC6021R

0x000B

16-bit Integer × 0.1 V

BCC6282R은 Bus Voltage 및 Temperature 등에 두 개의 Register를 사용하는 32-bit Floating Point 형식을 사용하지만, BCC6240R은 단일 16-bit Register와 Scale Factor를 사용합니다. BCC6021R 역시 Bus Voltage를 0.1 V 단위의 단일 Register로 정의합니다.

NOTICE
다른 BCC6000R Series 모델의 데이터 해석 방법을 그대로 적용하지 마십시오. 동일한 Parameter라도 Register 수, 데이터 형식 및 Scale Factor가 다를 수 있습니다.

10.2 16-bit Register Byte Order

BCC6000R Series의 일반적인 16-bit Register 데이터는 Modbus Frame에서 High Byte → Low Byte 순서로 전송됩니다.

예를 들어 값 1100을 Register에 Write하는 경우:

1100(dec) = 0x044C

Data Field는 다음과 같습니다.

Data Hi = 0x04
Data Lo = 0x4C

따라서 Function 0x06 Frame의 구조는:

Slave ID | 06 | Register Hi | Register Lo |
Data Hi  | Data Lo | CRC Lo | CRC Hi

입니다.

예를 들어 BCC6021R의 Speed Register 0x0001에 1100 rpm을 설정하면:

TX : 01 06 00 01 04 4C DB 3F

이며 다음과 같이 해석합니다.

Byte

Value

Description

1

01

Slave Address

2

06

Write Single Register

3

00

Register Address High

4

01

Register Address Low

5

04

Data High

6

4C

Data Low

7

DB

CRC Low

8

3F

CRC High


10.3 16-bit Unsigned Integer

대부분의 속도, Pole Pair, 시간 및 설정값은 16-bit Integer 형식으로 취급합니다.

예:

Raw Data = 0x0BB8

이면:

0x0BB8 = 3000(dec)

따라서 Unit이 rpm인 Register의 경우:

3000 rpm

으로 해석합니다.

예: BCC6240R Maximum Speed

BCC6240R의 Maximum Speed Register 0x0092의 기본값은:

0x0BB8

이며:

0x0BB8 = 3000

이므로:

Maximum Speed = 3000 rpm

입니다.


10.4 Scale Factor가 적용된 Integer

일부 Parameter는 Register의 Raw Data 자체가 실제 물리량을 의미하지 않고 일정한 Scale Factor를 적용해야 합니다.

계산식은 다음과 같습니다.

Actual Value = Raw Register Value × Scale Factor

10.4.1 BCC6240R Bus Voltage

BCC6240R Bus Voltage Register는:

Register : 0x00C8
Unit     : 0.1 V

입니다.

예를 들어 Read 값이:

0x01E0

이면:

0x01E0 = 480(dec)

따라서:

Bus Voltage
= 480 × 0.1 V
= 48.0 V

입니다.


10.4.2 BCC6240R Temperature

BCC6240R의 Driver Temperature는:

Register : 0x00D2
Format   : Signed 16-bit Integer
Unit     : 0.1 °C

로 정의되어 있습니다.

예를 들어:

Raw Data = 0x00FA

라면:

0x00FA = 250
250 × 0.1 = 25.0 °C

입니다.

음수의 경우 16-bit Signed Integer, 즉 Two’s Complement 방식으로 해석합니다.

Raw Data = 0xFF9C

0xFF9C를 Signed 16-bit로 변환하면:

-100

따라서:

Temperature
= -100 × 0.1 °C
= -10.0 °C

입니다.


10.5 Signed 16-bit Integer

Signed 16-bit Register는 다음 범위를 가집니다.

-32768 ~ +32767

최상위 Bit인 bit15가 부호를 나타냅니다.

Raw Value

Decimal

0x0000

0

0x0001

1

0x7FFF

32767

0xFFFF

-1

0xFF9C

-100

0x8000

-32768

Negative value는 Two’s Complement 방식으로 계산할 수 있습니다.

예를 들어:

Raw = 0xFF9C

이면:

Signed Value
= 0xFF9C - 0x10000
= 65436 - 65536
= -100

Scale Factor가 0.1이면:

-100 × 0.1 = -10.0

이 됩니다.

BCC6240R의 Temperature Register가 이 방식을 사용합니다.


10.6 BCC6021R Scale Factor

BCC6021R 역시 일부 Parameter에 Scale Factor를 적용합니다.

주요 항목은 다음과 같습니다.

Register

Parameter

Raw Unit

실제값 계산

0x0003

Acceleration Time

1 ms

Raw × 1 ms

0x0004

Deceleration Time

1 ms

Raw × 1 ms

0x000B

Bus Voltage

0.1 V

Raw × 0.1 V

0x000C

Driver Temperature

0.1 °C

Raw × 0.1 °C

0x0013

Stall Time

1 ms

Raw × 1 ms

0x0015

Gear Ratio

0.1

Raw × 0.1

BCC6021R Register Map은 Bus Voltage를 100 mV, Temperature를 0.1 °C, Gear Reduction Ratio를 0.1 단위로 정의합니다.

Gear Ratio 예

0x0015의 Read 값이:

Raw = 100

이라면:

Gear Ratio
= 100 × 0.1
= 10.0

입니다.

NOTE
BCC6021R의 Feedback Speed 0x0009는 Gear Reduction Ratio 0x0015 설정의 영향을 받습니다.

10.7 32-bit Floating Point — BCC6282R

BCC6282R의 일부 Parameter는 한 개의 16-bit Register가 아닌 연속된 두 개의 Holding Register를 이용하여 하나의 32-bit IEEE-754 Single Precision Floating Point 값을 표현합니다.

대표적인 Parameter는 다음과 같습니다.

Parameter

High Word

Low Word

Current Limit

0x0096

0x0097

Bus Voltage

0x00C8

0x00C9

Temperature

0x00D2

0x00D3

따라서 Word Order는 다음과 같습니다.

Lower Register Address → High Word
Higher Register Address → Low Word

즉:

Register N     = Bits 31 ~ 16
Register N + 1 = Bits 15 ~ 0

입니다.


10.8 BCC6282R Float Word Order

예를 들어 Current Limit를 읽는 경우:

Start Register : 0x0096
Quantity       : 2 Registers
TX : 01 03 00 96 00 02 24 27
RX : 01 03 04 41 9F 39 5B 8D 8A

입니다.

Data 부분만 보면:

41 9F 39 5B

입니다.

두 Register로 나누면:

0x0096 = 0x419F   High Word
0x0097 = 0x395B   Low Word

두 Word를 순서대로 결합하면:

0x419F395B

이며 이를 IEEE-754 Single Precision Float로 변환하면 약:

19.9

가 됩니다.

따라서:

Current Limit ≈ 19.9 A

로 해석합니다.


10.9 32-bit Float 조합 방법

BCC6282R에서 연속된 두 Register를 읽은 경우 다음과 같이 조합합니다.

예:

Register N     = 0x419F
Register N + 1 = 0x395B

32-bit Raw Data:

Raw32 = (Register[N] << 16) | Register[N+1]

결과:

Raw32 = 0x419F395B

이 32-bit Bit Pattern을 IEEE-754 float 형식으로 해석합니다.

개념적으로:

High Word            Low Word
┌──────────────┬──────────────┐
│    0x419F    │    0x395B    │
└──────────────┴──────────────┘
  Bits 31~16      Bits 15~0

        ↓ Combine

      0x419F395B

        ↓ IEEE-754

       ≈ 19.9

입니다.

CAUTION
PLC나 HMI에서 32-bit Float의 Word Swap 기능이 활성화되어 있으면 올바르지 않은 값이 표시될 수 있습니다. 따라서 사용하는 Master 장치에서 Word Order 설정을 확인하십시오.

10.10 Byte Order와 Word Order의 차이

Byte Order와 Word Order는 서로 다른 개념입니다.

Byte Order

각 16-bit Register 내부에서:

High Byte → Low Byte

로 전송됩니다.

예:

Register Value = 0x419F

전송:
41 9F

Word Order

32-bit 데이터가 두 Register에 저장될 때 어떤 Register가 먼저 오는지를 의미합니다.

BCC6282R 32-bit Float:

High Word → Low Word

예:

0x419F → 0x395B

따라서 전체 Data Byte 배열은:

41 9F 39 5B

입니다.

이를 정리하면:

Level

BCC6282R Float Order

Register 1

High Word

Register 2

Low Word

Register 내부

High Byte → Low Byte

전체 Byte

A B C D

즉 32-bit 값이:

0xABCD1234

이면 Register 배열은:

Register N     = 0xABCD
Register N + 1 = 0x1234

전송 Data는:

AB CD 12 34

형식입니다.


10.11 CRC Byte Order

Register Data Byte Order와 CRC Byte Order를 혼동해서는 안 됩니다.

Modbus RTU CRC-16은 Frame 끝에 2 byte로 전송되며 통신 예제에서는:

CRC Low Byte → CRC High Byte

순서를 사용합니다.

예를 들어:

01 03 00 5F 00 01

에 대한 CRC가:

0x18B4

이면 Frame에는:

B4 18

순서로 붙습니다.

따라서 최종 Frame은:

01 03 00 5F 00 01 B4 18

입니다.

이 Frame은 BCC6282R 및 BCC6240R 매뉴얼의 Feedback Speed Read 예제에서도 사용됩니다.

즉 다음 두 규칙을 구분해야 합니다.

Register Data : High Byte → Low Byte
CRC           : Low Byte  → High Byte

10.12 Byte Order Quick Reference

항목

전송 순서

Slave Address

1 Byte

Function Code

1 Byte

Register Address

High Byte → Low Byte

16-bit Register Data

High Byte → Low Byte

BCC6282R 32-bit Float Word

High Word → Low Word

각 Float Word 내부

High Byte → Low Byte

CRC-16

Low Byte → High Byte

예를 들어 0x0056 Register에 0x044C를 Write할 경우:

Register Address = 00 56
Data             = 04 4C

CRC가 0xEF6A이면:

CRC              = 6A EF

따라서:

01 06 00 56 04 4C 6A EF

가 됩니다.


10.13 모델별 Data Format Quick Reference

Parameter

BCC6282R

BCC6240R

BCC6021R

Set Speed

UInt16, rpm

UInt16, rpm

UInt16, rpm

Feedback Speed

UInt16, rpm

UInt16, rpm

UInt16, rpm*

Pole Pair

UInt16

UInt16

UInt16

Acceleration

UInt16, 100 ms

UInt16, 0.1 s

UInt16, ms

Deceleration

—

Acc/Dec 공통

UInt16, ms

Bus Voltage

Float32

UInt16 ×0.1 V

UInt16 ×0.1 V

Temperature

Float32

Int16 ×0.1 °C

0.1 °C 단위

Current Limit

Float32

Integer, A

—

Gear Ratio

—

—

UInt16 ×0.1

CRC

Lo → Hi

Lo → Hi

Lo → Hi

* BCC6021R Feedback Speed는 Gear Ratio 설정의 영향을 받습니다.


10.14 데이터 해석 예제 요약

Example 1 — 16-bit rpm

RX Data : 04 4C

Raw     : 0x044C
Decimal : 1100

Result  : 1100 rpm

Example 2 — Scale ×0.1 V

RX Data : 01 E0

Raw     : 0x01E0 = 480
Scale   : × 0.1 V

Result  : 48.0 V

Example 3 — Signed ×0.1 °C

RX Data : FF 9C

Raw Signed : -100
Scale      : × 0.1 °C

Result     : -10.0 °C

Example 4 — BCC6282R Float32

RX Data:

41 9F 39 5B

High Word = 0x419F
Low Word  = 0x395B

32-bit = 0x419F395B

IEEE-754 Float ≈ 19.9

Result = 19.9 A

11. BCC6282R Register Map

11.1 개요

BCC6282R은 Modbus RTU의 다음 Function Code를 사용하여 Holding Register를 Read/Write합니다.

기능

Function Code

Read Holding Registers

0x03

Write Single Holding Register

0x06

BCC6282R을 Modbus에서 Write 제어하려면 먼저 Communication Control Register 0x00B6을 활성화해야 합니다.

0x00B6 = 0 : RS485 Control Disable
0x00B6 = 1 : RS485 Control Enable

0x00B6 = 0인 경우 Master는 Holding Register를 Read할 수 있지만, 0x00B6을 제외한 다른 Write Register에 값을 쓸 수 없습니다. 0x00B6 = 1로 설정하면 Modbus에서 Register Read/Write가 가능합니다.

NOTICE
BCC6282R의 속도, 운전, 방향 및 기타 Parameter를 Modbus에서 제어하기 전에 0x00B6 = 1을 설정하십시오.

11.2 Data Type

본 장에서는 다음 Data Type 표기를 사용합니다.

Data Type

설명

U16

16-bit Unsigned Integer

FLOAT32

IEEE-754 32-bit Single Precision Floating Point

CMD

Command Register

일반 U16 Register는 1개의 Holding Register를 사용합니다.

1 Register = 16 bit = 2 byte

BCC6282R의 일부 측정값은 2개의 연속 Register를 사용하는 FLOAT32 형식입니다.

Lower Address     = High Word
Lower Address + 1 = Low Word

대표적으로 Current Limit, Bus Voltage 및 Temperature가 이 방식을 사용합니다.


11.3 Read Register Map

BCC6282R의 Read Holding Register는 Function Code 0x03을 사용합니다.

Address

Size

Parameter

Data Type

Unit

Description

0x0056

1

Set Speed

U16

rpm

설정 속도

0x005F

1

Feedback Speed

U16

rpm

모터 실제 Feedback Speed

0x0066

1

Enable Status

U16

0=Enable, 1=Disable

0x006A

1

Brake Status

U16

0=Brake, 1=Not Brake

0x006D

1

Rotation Direction

U16

1=Forward, 0=Reverse

0x0076

1

Alarm Code

U16

현재 Alarm Code

0x0086

1

Motor Pole Number

U16

설정된 Motor Pole Number

0x008A

1

Acceleration Time

U16

100 ms

가속시간 설정값

0x0092

1

Analog Max Speed

U16

rpm

SV 5 V 입력 시 최대속도

0x0096

2

Current Limit

FLOAT32

A

0x0096=High Word, 0x0097=Low Word

0x00B6

1

RS485 Control Status

U16

RS485 Control 상태

0x00BB

1

Program Version

U16

Driver Program Version

0x00C8

2

Bus Voltage

FLOAT32

V

0x00C8=High Word, 0x00C9=Low Word

0x00D2

2

Driver Temperature

FLOAT32

°C

0x00D2=High Word, 0x00D3=Low Word


11.3.1 Set Speed — 0x0056

Address   : 0x0056
Access    : Read
Data Type : U16
Unit      : rpm

Modbus에서 설정된 목표속도를 읽습니다.

예:

Read Value = 0x044C
            = 1100 decimal

Set Speed = 1100 rpm

11.3.2 Feedback Speed — 0x005F

Address   : 0x005F
Access    : Read
Data Type : U16
Unit      : rpm

현재 모터 Feedback Speed를 읽습니다.

통신 예:

TX : 01 03 00 5F 00 01 B4 18
RX : 01 03 02 02 48 B9 12

Data:

0x0248 = 584

따라서:

Feedback Speed = 584 rpm

입니다.


11.3.3 Enable Status — 0x0066

Address : 0x0066
Access  : Read

0 = Enable
1 = Disable

Driver의 운전 Enable 상태를 읽습니다.


11.3.4 Brake Status — 0x006A

Address : 0x006A
Access  : Read

0 = Brake
1 = Not Brake

Driver의 Brake 상태를 읽습니다.


11.3.5 Rotation Direction — 0x006D

Address : 0x006D
Access  : Read

1 = Forward
0 = Reverse

현재 Driver에 설정된 회전방향을 읽습니다.


11.3.6 Alarm Code — 0x0076

Address   : 0x0076
Access    : Read
Data Type : U16

현재 발생한 Alarm Code를 읽습니다.

주요 Alarm Code는 다음과 같습니다.

Code

Description

0

Normal / No Alarm

2

Driver Overtemperature, PCB > 85 °C

3

Overvoltage

4

Undervoltage

5

Hall Signal Error

8

Locked Rotor / Drive Circuit Abnormal

21~22

I²C Communication Physical Layer Error

23

Memory Write Error

24

Memory Read Error

30~42

Main Control Peripheral Circuit Error


11.3.7 Motor Pole Number — 0x0086

Address   : 0x0086
Access    : Read
Data Type : U16

현재 설정되어 있는 Motor Pole Number를 읽습니다.

Factory Default는:

Default = 4

입니다.


11.3.8 Acceleration Time — 0x008A

Address   : 0x008A
Access    : Read
Data Type : U16
Unit      : 100 ms
Range     : 0 ~ 150
Default   : 0

Register 단위는 100 ms입니다.

예:

0x008A = 10

10 × 100 ms = 1000 ms
             = 1.0 s

11.3.9 Analog Maximum Speed — 0x0092

Address   : 0x0092
Access    : Read
Data Type : U16
Unit      : rpm
Range     : 0 ~ 20000
Default   : 4000

이 Parameter는 SV Analog Input이 5 V일 때의 Motor Speed를 정의합니다.

예를 들어:

0x0092 = 4000 rpm

인 경우:

SV = 5 V → 4000 rpm
SV = 1 V → 약 800 rpm

으로 정의됩니다.

이 Parameter는 Analog Speed Control의 최대속도에만 영향을 주며, Modbus Client가 직접 설정하는 Speed Command 범위에는 영향을 주지 않습니다.


11.3.10 Current Limit — 0x0096~0x0097

Address   : 0x0096 ~ 0x0097
Access    : Read
Data Type : FLOAT32
Unit      : A

Word 구성:

0x0096 = High 16 bits
0x0097 = Low 16 bits

예:

0x0096 = 0x419F
0x0097 = 0x395B

결합:

0x419F395B

IEEE-754 Float로 해석하면 약:

19.9 A

입니다.

다음 응답 19.9 A

RX : 01 03 04 41 9F 39 5B 8D 8A

11.3.11 RS485 Control Status — 0x00B6

Address : 0x00B6
Access  : Read

0 = RS485 Control Disable
1 = RS485 Control Enable

0이면 Master는 Register Read만 가능하며, 0x00B6을 제외한 Write Command는 사용할 수 없습니다.

1이면 Master가 Register를 Read/Write할 수 있습니다.


11.3.12 Program Version — 0x00BB

Address   : 0x00BB
Access    : Read
Data Type : U16

Driver Firmware/Program Version 값을 읽습니다.


11.3.13 Bus Voltage — 0x00C8~0x00C9

Address   : 0x00C8 ~ 0x00C9
Access    : Read
Data Type : FLOAT32
Unit      : V

Word 구성:

0x00C8 = High Word
0x00C9 = Low Word

두 Register를 하나의 IEEE-754 FLOAT32 값으로 조합하여 실제 DC Bus Voltage를 계산합니다.


11.3.14 Driver Temperature — 0x00D2~0x00D3

Address   : 0x00D2 ~ 0x00D3
Access    : Read
Data Type : FLOAT32
Unit      : °C

Word 구성:

0x00D2 = High Word
0x00D3 = Low Word

두 Register를 FLOAT32로 조합하여 Driver Temperature를 얻습니다.


11.4 Write Register Map

BCC6282R의 Write Register는 Function Code 0x06을 사용합니다.

Address

Parameter

Data Type

Value / Range

Unit

Default

Save

0x0040

Post-back Setting

U16

0/1

0

Yes

0x0056

Set Speed

U16

0~20000

rpm

0

No

0x0066

Enable Control

U16

0/1

1

No

0x006A

Brake Control

U16

0/1

0

No

0x006D

Rotation Direction

U16

0/1

0

Yes

0x0076

Alarm Reset

CMD

0=Reset

1

No

0x0086

Motor Pole Number

U16

0~255

4

Yes

0x008A

Acceleration Time

U16

0~150

100 ms

0

Yes

0x0092

Analog Max Speed

U16

0~20000

rpm

4000

Yes

0x00B6

RS485 Control

U16

0/1

0

No

0x00BC

Save Parameters

CMD

1=Save

0x00CC

Factory Reset

CMD

1=Execute

0

No


11.5 Write Parameter Description

11.5.1 Post-back Setting — 0x0040

0x0040 = 0 : Response Enable
0x0040 = 1 : Response Disable

0이면 Function 0x06 Write Command 실행 후 Driver가 정상 Echo Response를 반환합니다.

Master → Driver
01 06 ...

Driver → Master
01 06 ...

1이면 Driver가 Write 명령은 실행하지만 Response를 반환하지 않습니다.

Master → Driver
01 06 ...

Driver → Master
No Response
NOTICE
0x0040 = 1인 경우 Master 프로그램에서 이를 Communication Timeout으로 잘못 판단하지 않도록 주의하십시오.

0x0040은 0x00BC=1을 실행하여 Memory에 저장할 수 있으며 Factory Default는 0입니다.


11.5.2 Set Speed — 0x0056

Address   : 0x0056
Data Type : U16
Unit      : rpm
Default   : 0
Save      : No

Modbus에서 Motor Target Speed를 설정합니다.

예:

1100 rpm = 0x044C

TX : 01 06 00 56 04 4C 6A EF

11.5.3 Enable Control — 0x0066

다음과 같이 정의되어 있습니다.

0 = Enable
1 = Disable

11.5.4 Brake Control — 0x006A

Read/Write Register 표:

0 = Brake
1 = Not Brake

11.5.5 Rotation Direction — 0x006D

1 = Forward
0 = Reverse

11.5.6 Alarm Reset — 0x0076

Alarm Reset Command Register입니다.

Write 0     : Reset Alarm
Write ≠ 0   : Existing value retained / No reset

Alarm Reset 후에는 0x0076을 Read하여 Alarm이 정상적으로 Clear되었는지 확인하는 것을 권장합니다.


11.5.7 Motor Pole Number — 0x0086

Range   : 0 ~ 255
Default : 4
Save    : Yes

0~255 범위를 허용하며 다른 값은 Invalid로 설명합니다.

이 값은 Motor의 실제 Pole 설정과 일치하도록 설정해야 합니다.

0x00BC=1을 실행하면 설정값을 Memory에 저장할 수 있습니다.


11.5.8 Acceleration Time — 0x008A

Range     : 0 ~ 150
Unit      : 100 ms
Default   : 0
Save      : Yes

예:

Register = 12

12 × 100 ms = 1.2 s

11.5.9 Analog Maximum Speed — 0x0092

Range   : 0 ~ 20000 rpm
Default : 4000 rpm
Save    : Yes

SV Analog Input에 대한 Maximum Speed를 설정합니다.

SV = 5 V
→ Motor Speed = 0x0092 설정값

예:

0x0092 = 3000
SV = 5 V → 약 3000 rpm

SV = 1 V → 약 600 rpm

이 Register는 Analog Speed Regulation 범위에만 영향을 주며 Modbus Speed Command 범위에는 영향을 주지 않습니다.


11.5.10 RS485 Control — 0x00B6

0 = RS485 Control Disable
1 = RS485 Control Enable
Default = 0
Save    = No

Communication Enable 예:

TX : 01 06 00 B6 00 01 A9 EC
RX : 01 06 00 B6 00 01 A9 EC

0x00B6=0인 경우:

  • Register Read 가능

  • 0x00B6 Write 가능

  • 다른 Write Register 제어 불가

0x00B6=1인 경우:

  • Register Read 가능

  • Register Write 가능

입니다.


11.5.11 Save Parameters — 0x00BC

Address : 0x00BC
Command : Write 1
Function: Save Parameters

저장 가능한 Parameter를 Memory Chip에 저장합니다.

0x00BC = 1

을 한 번 Write하면 저장 대상 Parameter가 Memory에 저장됩니다.

모든 Parameter가 저장되는 것은 아니며 저장 여부는 11.6절을 참고하십시오.


11.5.12 Factory Reset — 0x00CC

0x00CC = 1 : Restore Factory Settings
0x00CC = 0 : No operation / Reset completed

Factory Reset을 실행하면 저장되어 있는 Parameter를 포함한 관련 설정값이 Factory Default로 복원됩니다.

예를 들어 저장된 Motor Pole Number가:

0x0086 = 2

인 상태에서 Factory Reset을 수행하면 기본값:

0x0086 = 4

로 복원됩니다.


11.6 Parameter Save / Recall

BCC6282R은 Parameter별로 Nonvolatile Memory 저장 여부와 RS485 Control 상태에 따른 저장값 적용 여부가 다릅니다.

저장/호출 표를 정리하면 다음과 같습니다.

Address

Parameter

0x00BC=1 시 저장

B6=1 시 저장값 적용

B6=0 시 저장값 적용

Default

0x0040

Post-back

Yes

No

No

0

0x0056

Set Speed

No

No

No

0

0x0066

Enable

No

No

No

1

0x006A

Brake

No

No

No

0

0x006D

Direction

Yes

Yes

No

0

0x0076

Alarm Reset

No

No

No

1

0x0086

Motor Pole Number

Yes

Yes

Yes

4

0x008A

Acceleration Time

Yes

Yes

Yes

0

0x0092

Analog Maximum Speed

Yes

Yes

Yes

4000

0x00B6

RS485 Control

No

No

No

0

0x00CC

Factory Reset

No

No

No

0

의미

예를 들어:

0x0086 = 4
0x008A = 10
0x0092 = 3000
0x00BC = 1

을 실행하면 Pole Number, Acceleration Time 및 Analog Maximum Speed는 Nonvolatile Memory에 저장됩니다.

반면:

0x0056 Speed Command
0x0066 Enable
0x006A Brake
0x00B6 RS485 Control

은 0x00BC=1을 실행하더라도 저장되지 않습니다.

따라서 PLC 프로그램에서는 Power ON 시 필요한 운전 명령을 다시 설정하는 구조를 권장합니다.


11.7 BCC6282R Register Quick Reference

Address

R

W

Parameter

Type

Unit

Default

0x0040

O

Post-back Setting

U16

0

0x0056

O

O

Set Speed

U16

rpm

0

0x005F

O

Feedback Speed

U16

rpm

0x0066

O

O

Enable

U16

1

0x006A

O

O

Brake

U16

0

0x006D

O

O

Direction

U16

0

0x0076

O

O

Alarm / Reset

U16/CMD

1

0x0086

O

O

Motor Pole Number

U16

4

0x008A

O

O

Acceleration Time

U16

100 ms

0

0x0092

O

O

Analog Max Speed

U16

rpm

4000

0x0096~97

O

Current Limit

FLOAT32

A

0x00B6

O

O

RS485 Control

U16

0

0x00BB

O

Program Version

U16

0x00BC

O

Save Parameters

CMD

0x00C8~C9

O

Bus Voltage

FLOAT32

V

0x00CC

O

Factory Reset

CMD

0

0x00D2~D3

O

Driver Temperature

FLOAT32

°C


12. BCC6240R Register Map

12.1 개요

BCC6240R은 Modbus RTU를 이용하여 Driver Parameter와 운전 상태를 Read/Write할 수 있습니다.

지원 Function Code는 다음과 같습니다.

기능

Function Code

Read Holding Registers

0x03

Write Single Holding Register

0x06

BCC6240R을 Modbus 통신으로 제어하려면 먼저 Communication Status Register를 활성화해야 합니다.

0x00B6 = 0 : Communication Disable
0x00B6 = 1 : Communication Enable

0x00B6은 저장되지 않으며, 전원을 다시 인가하면 Communication Disable 상태로 복귀합니다. 따라서 PLC/HMI에서는 Power ON 초기화 시 0x00B6 = 1을 다시 Write해야 합니다.

NOTICE
BCC6240R을 Modbus에서 운전하거나 Parameter를 변경하려면 Power ON 후 0x00B6 = 1을 설정하십시오.

12.2 Data Type

본 장에서는 다음 Data Type 표기를 사용합니다.

Data Type

설명

U16

16-bit Unsigned Integer

S16

16-bit Signed Integer

U16 ×0.1

Raw Data에 0.1을 곱하여 실제값 계산

CMD

Command Register

BIT

Bit Field

BCC6240R의 Register는 기본적으로 16-bit 단위입니다.

예를 들어:

Raw Data = 0x01E0
          = 480 decimal

Bus Voltage Register의 단위가 0.1 V이므로:

480 × 0.1 V = 48.0 V

로 계산합니다.

Temperature는 Signed 16-bit 정수로 해석하며 단위는 0.1 °C입니다.


12.3 Read Address 구조

BCC6240R은 동일한 Parameter에 대해 두 종류의 Read Address를 제공합니다.

Access Address 1

0x0000 ~ 0x000E

의 연속된 Address를 사용합니다.

여러 Parameter를 한 번에 연속 Read하는 데 편리합니다.

Access Address 2

각 Parameter의 개별 주소를 사용합니다.

예:

Set Speed       : 0x0056
Feedback Speed  : 0x005F
Motor Status    : 0x0066
Alarm Code      : 0x0076

Access Address 1과 Access Address 2 중 하나를 선택하여 사용할 수 있으며, Access Address 1은 Continuous Read에 편리하다고 설명합니다.

예를 들어 다음과 같이 대응됩니다.

Parameter

Address 1

Address 2

Set Speed

0x0000

0x0056

Feedback Speed

0x0001

0x005F

Motor Status

0x0002

0x0066

Alarm Code

0x0003

0x0076

Pole Pairs

0x0004

0x0086

Under-speed Time

0x0005

0x0090

Maximum Speed

0x0006

0x0092

Phase Current Limit

0x0007

0x0096

ACC/DEC

0x0008

0x0098

Slave Address

0x0009

0x00A6

Communication Status

0x000A

0x00B6

Program Version

0x000B

0x00BB

Bus Voltage

0x000C

0x00C8

Driver Temperature

0x000D

0x00D2

Port Indication

0x000E

0x0129


12.4 Read Register Map

BCC6240R Read Register는 Function Code 0x03을 사용합니다.

Address 1

Address 2

Parameter

Type

Range

Default

Unit

0x0000

0x0056

Set Speed

U16

0 ~ Maximum Speed

0

rpm

0x0001

0x005F

Feedback Speed

U16

0~65535

0

rpm

0x0002

0x0066

Motor Status

U16

0~3

0

0x0003

0x0076

Alarm Code

U16

0~24

0

0x0004

0x0086

Pole Pairs

U16

1~65535

4

0x0005

0x0090

Under-speed Time

U16

0~65535

2

s

0x0006

0x0092

Maximum Speed Limit

U16

0~65535

3000

rpm

0x0007

0x0096

Phase Current Limit

U16

22~82

82

A

0x0008

0x0098

Acceleration / Deceleration

U16

0~150

6

0.1 s

0x0009

0x00A6

Slave Address

U16

1~247

1

0x000A

0x00B6

Communication Status

U16

0~1

0

0x000B

0x00BB

Program Version

U16

0~65535

0x000C

0x00C8

Bus Voltage

U16×0.1

0~65535

480

0.1 V

0x000D

0x00D2

Driver Temperature

S16×0.1

-32768~32767

250

0.1 °C

0x000E

0x0129

Port Indication

BIT

0~65535


12.4.1 Set Speed

Address 1 : 0x0000
Address 2 : 0x0056
Type      : U16
Unit      : rpm

통신으로 Driver에 Write된 Target Speed를 읽습니다.

예:

Read Data = 0x044C
          = 1100

Set Speed = 1100 rpm

Set Speed를 “communication이 Driver에 Write한 값”으로 설명합니다.


12.4.2 Feedback Speed

Address 1 : 0x0001
Address 2 : 0x005F
Type      : U16
Unit      : rpm

현재 Motor Feedback Speed를 읽습니다.

예:

TX : 01 03 00 5F 00 01 B4 18
RX : 01 03 02 02 48 B9 12

Data 0x0248의 십진값은 584입니다.

Feedback Speed = 584 rpm

12.4.3 Motor Status

Address 1 : 0x0002
Address 2 : 0x0066

Value

Motor Status

0

Stop

1

Forward Rotation

2

Reverse Rotation

3

Brake

BCC6240R은 BCC6282R과 달리 Run/Stop, Forward/Reverse 및 Brake를 하나의 Motor Control/Status Register 0x0066으로 관리합니다.


12.4.4 Alarm Code

Address 1 : 0x0003
Address 2 : 0x0076

현재 Alarm Code를 읽습니다.

Alarm 정의의 주요 값은 다음과 같습니다.

Code

Description

0

Normal

2

Overtemperature

3

Overvoltage

4

Low Voltage

5

Hall Alarm

8

Under-speed Protection

10

Abnormal Hall Learning

11~20

Drive Internal Abnormality

21~24

Storage Exception

BCC6240R Alarm 표는 위 값을 LED 점멸 횟수와 동일한 Alarm Code 체계로 설명합니다.


12.4.5 Pole Pairs

Address 1 : 0x0004
Address 2 : 0x0086
Default   : 4

현재 Driver에서 사용 중인 Pole Pair 값을 읽습니다.

Communication Status가 Enable인 경우:

0x00B6 = 1

통신으로 설정된 Pole Pair 값을 읽습니다.

Communication Status가 Disable인 경우:

0x00B6 = 0

SW Dial에서 설정된 Pole Pair 값이 사용되며, Read 값 역시 현재 Driver가 실제로 사용하는 값을 나타냅니다.

Motor가 운전 중일 때 Pole Pair 값을 변경하는 것을 권장하지 않습니다.


12.4.6 Under-speed Time

Address 1 : 0x0005
Address 2 : 0x0090
Type      : U16
Unit      : s
Default   : 2

Under-speed Protection이 발생하기까지의 시간을 설정/확인합니다.

0x0090 = 0

으로 설정하면 Driver는 Under-speed Alarm을 발생시키지 않습니다.

Driver 기능 설명에서는 Motor Speed가 Set Speed의 절반보다 낮은 상태가 설정 시간 동안 지속되면 Under-speed Protection이 발생한다고 설명합니다. 기본 동작 설명에서는 2초가 사용됩니다.


12.4.7 Maximum Speed Limit

Address 1 : 0x0006
Address 2 : 0x0092
Type      : U16
Unit      : rpm
Default   : 3000

Motor의 Maximum Speed Limit를 설정합니다.

실제 사용하는 Motor의 Rated Speed에 맞추는 것을 권장합니다.


12.4.8 Phase Current Limit

Address 1 : 0x0007
Address 2 : 0x0096
Type      : U16
Unit      : A
Range     : 22 ~ 82 A

Phase Current Limit는 PCL Potentiometer에 의해 설정됩니다.

Register에서 읽은 값이 Potentiometer 설정과 약간 차이가 발생하는 것은 정상입니다.

이 Parameter는 Read Only이며 Write Register 표에는 포함되어 있지 않습니다.


12.4.9 Acceleration / Deceleration

Address 1 : 0x0008
Address 2 : 0x0098
Unit      : 0.1 s
Range     : 0 ~ 150
Default   : 6

Communication Enable 상태에서는 통신으로 설정된 값을 사용합니다.

0x00B6 = 1

Communication Disable 상태에서는 ACC Potentiometer의 설정값을 사용합니다.

0x00B6 = 0

즉 Read 값은 항상 현재 Driver가 실제로 사용 중인 ACC/DEC 값을 나타냅니다.


12.4.10 Slave Address

Address 1 : 0x0009
Address 2 : 0x00A6
Range     : 1 ~ 247
Default   : 1

BCC6240R의 Modbus Slave Address를 읽습니다.

Slave Address는 DIP Switch가 아닌 Communication Register를 이용하여 변경합니다.


12.4.11 Communication Status

Address 1 : 0x000A
Address 2 : 0x00B6

0 = Communication Disable
1 = Communication Enable

Communication Status는 저장되지 않습니다.

Power OFF → ON 후:

0x00B6 = 0

으로 복귀합니다.


12.4.12 Program Version

Address 1 : 0x000B
Address 2 : 0x00BB
Type      : U16

Driver Program Version을 읽습니다.


12.4.13 Bus Voltage

Address 1 : 0x000C
Address 2 : 0x00C8
Type      : U16 × 0.1
Unit      : V

계산식:

Bus Voltage = Raw Data × 0.1 V

예:

Raw = 0x01E0
    = 480

480 × 0.1 = 48.0 V

따라서:

Bus Voltage = 48.0 V

입니다.


12.4.14 Driver Temperature

Address 1 : 0x000D
Address 2 : 0x00D2
Type      : Signed 16-bit
Unit      : 0.1 °C

계산식:

Temperature = Signed Raw Data × 0.1 °C

예:

Raw = 0xFF9C

Signed 16-bit 값은:

0xFF9C = -100

따라서:

-100 × 0.1 = -10.0 °C

입니다.


12.5 Write Register Map

BCC6240R은 Function Code 0x06을 사용하여 다음 Register를 Write합니다.

Address

Parameter

Type

Range / Command

Default

Unit

Save

0x0056

Set Speed

U16

0 ~ Maximum Speed

0

rpm

Yes

0x0066

Motor Control

U16

0~3

0

Yes

0x0086

Pole Pairs

U16

1~65535

4

Yes

0x0090

Under-speed Time

U16

0~65535

2

s

Yes

0x0092

Maximum Speed Limit

U16

0~65535

3000

rpm

Yes

0x0098

ACC/DEC

U16

0~150

6

0.1 s

Yes

0x00A6

Slave Address

U16

1~247

1

Yes

0x00B6

Communication Status

U16

0 / 1

0

No

0x00BC

Save Parameters

CMD

Write 1

0

0x0113

Factory Reset

CMD

Write 1

No

0x0116

Reset Program

CMD

Write 1

No


12.6 Write Parameter Description

12.6.1 Set Speed — 0x0056

Address : 0x0056
Unit    : rpm
Range   : 0 ~ Maximum Speed Limit
Default : 0
Save    : Yes

Motor Target Speed를 설정합니다.

200 rpm 미만의 속도 설정을 권장하지 않습니다.

예:

1100 rpm = 0x044C

TX : 01 06 00 56 04 4C 6A EF
RX : 01 06 00 56 04 4C 6A EF

12.6.2 Motor Control — 0x0066

Address : 0x0066

Value

Command

0

Stop

1

Forward

2

Reverse

3

Brake

Forward 예:

0x0066 = 1

TX : 01 06 00 66 00 01 A8 15
RX : 01 06 00 66 00 01 A8 15

정지:

0x0066 = 0

역회전:

0x0066 = 2

Brake:

0x0066 = 3
CAUTION
Motor가 고속으로 회전 중일 때 Forward와 Reverse를 직접 전환하지 마십시오. 기계적 관성과 부하를 고려하여 Stop 후 방향을 변경하는 운전 Sequence를 권장합니다.

12.6.3 Pole Pairs — 0x0086

Address : 0x0086
Range   : 1 ~ 65535
Default : 4
Save    : Yes

Motor Pole Pair를 설정합니다.

Motor 운전 중 Pole Pair 값을 변경하는 것을 권장하지 않습니다.

Communication Disable 상태에서는 Driver의 SW 설정값이 사용되며 Communication Enable 상태에서는 Communication을 통해 Write한 값이 사용됩니다.


12.6.4 Under-speed Time — 0x0090

Address : 0x0090
Unit    : s
Range   : 0 ~ 65535
Default : 2
Save    : Yes

Under-speed Protection Delay Time을 설정합니다.

특별히:

0x0090 = 0

으로 설정하면 Under-speed Alarm이 발생하지 않습니다.


12.6.5 Maximum Speed Limit — 0x0092

Address : 0x0092
Unit    : rpm
Range   : 0 ~ 65535
Default : 3000
Save    : Yes

Motor Maximum Speed를 제한합니다.

실제 Motor의 Rated Speed에 맞춰 설정하는 것을 권장합니다.

Set Speed 0x0056의 유효 범위 역시 이 Maximum Speed Limit의 영향을 받습니다.


12.6.6 Acceleration / Deceleration — 0x0098

Address : 0x0098
Unit    : 0.1 s
Range   : 0 ~ 150
Default : 6
Save    : Yes

예:

0x0098 = 10

이면:

10 × 0.1 s = 1.0 s

입니다.

Hardware setting range      : 6 ~ 150
Communication setting range : 0 ~ 150

입니다.

즉 Hardware ACC Potentiometer에서는 약 0.6~15 s, Communication에서는 0~15 s 범위를 설정할 수 있습니다. 큰 관성 부하를 빠르게 감속시키는 경우에는 이 값을 적절히 증가시키는 것을 권장합니다.


12.6.7 Slave Address — 0x00A6

Address : 0x00A6
Range   : 1 ~ 247
Default : 1
Save    : Yes

Modbus Slave Address를 변경합니다.

WARNING — Broadcast Address Change
여러 Driver가 동일 RS485 Bus에 연결된 상태에서 Broadcast를 사용하여 0x00A6에 동일한 값을 Write하면 여러 Driver의 Slave Address가 동시에 동일한 값으로 설정될 수 있습니다. 여러 Driver의 Address를 Broadcast로 동시에 설정하는 것을 권장하지 않습니다.

BCC6240R의 Broadcast 0x00 동작 및 Function 0x06 Write는 별도 Broadcast Communication 장의 실제 검증 결과를 참고하십시오.


12.6.8 Communication Status — 0x00B6

Address : 0x00B6

0 = Communication Disable
1 = Communication Enable

Default = 0
Save    = No

BCC6240R을 Modbus에서 제어하려면:

0x00B6 = 1

을 먼저 Write합니다.

예:

TX : 01 06 00 B6 00 01 A9 EC
RX : 01 06 00 B6 00 01 A9 EC

이 Parameter는 저장되지 않으므로 Power ON마다 다시 Enable해야 합니다.


12.6.9 Save Parameters — 0x00BC

Address : 0x00BC
Command : Write 1

저장 가능한 Parameter를 Driver의 Memory에 저장합니다.

0x00BC = 1

을 실행한 후에는 약 1초 동안 Driver에 다른 Communication Access를 하지 않아야 합니다.

권장 Sequence:

Parameter Write
     ↓
0x00BC = 1
     ↓
Wait ≥ 1 second
     ↓
Next Communication

12.6.10 Factory Reset — 0x0113

Address : 0x0113

0 = No Effect
1 = Factory Reset

1을 Write하면 Driver에 저장된 내용을 Factory Setting으로 복원합니다.

Factory Reset 실행 전에는 장비를 안전하게 정지시킨 후 사용하십시오.


12.6.11 Reset Program — 0x0116

Address : 0x0116

0 = No Effect
1 = Reset Program

Driver Program을 Reset합니다.

Power OFF/ON을 대신하여 Driver를 Restart할 때 사용할 수 있습니다.

TX : Reset Program Command
RX : No Response

가 정상 동작입니다.

NOTICE
0x0116 = 1 실행 후 Response가 없는 것을 Communication Error로 판단하지 마십시오.

12.7 Port Indication — 0x0129

BCC6240R은 Port 상태를 0x0129에서 읽을 수 있습니다.

Port Indication 표는 다음 Bit를 정의합니다.

Bit

Signal

bit0

HU

bit1

HV

bit2

HW

bit3

F/R

bit4

EN

bit5

BRK

bit6

SPEED

bit7

ALM

bit8

SW1

bit9

SW2

bit10~bit31

Standby

예를 들어 Lower Bit 값이:

0000 0011

이라면:

bit0 = HU = 1
bit1 = HV = 1

로 해석할 수 있습니다.

SOURCE NOTE
Read Register 표에서는 0x0129를 1개의 Register, 범위 0~65535로 정의하고 있으나 Port Indication 그림은 bit31~bit0까지 표시합니다. 동시에 bit10~bit31은 모두 Standby라고 되어 있습니다. 따라서 실제 사용에서는 bit9~bit0의 정의를 우선 사용하고, 32-bit 확장 여부는 Firmware 사양 확인 없이 임의로 정의하지 않는 것이 좋습니다.

12.8 Continuous Read Example

BCC6240R의 Access Address 1을 이용하면 여러 상태값을 한 번에 읽을 수 있습니다.

예를 들어:

Start Address = 0x0000
Quantity      = 0x0004

를 Read하면 다음 4개 Parameter가 연속으로 배치되어 있습니다.

0x0000 : Set Speed
0x0001 : Feedback Speed
0x0002 : Motor Status
0x0003 : Alarm Code

즉 PLC/HMI에서 주기적으로 다음 항목을 한 번에 취득하는 구조를 만들 수 있습니다.

Set Speed
Feedback Speed
Motor Status
Alarm Code

이것이 BCC6240R의 Access Address 1을 사용하는 가장 큰 장점입니다. Address 1을 Continuous Read에 편리한 Address 체계입니다.


12.9 BCC6240R Register Quick Reference

Address

R

W

Parameter

Type

Unit

Default

Save

0x0056

O

O

Set Speed

U16

rpm

0

Yes

0x005F

O

Feedback Speed

U16

rpm

0

0x0066

O

O

Motor Status / Control

U16

0

Yes

0x0076

O

Alarm Code

U16

0

0x0086

O

O

Pole Pairs

U16

4

Yes

0x0090

O

O

Under-speed Time

U16

s

2

Yes

0x0092

O

O

Maximum Speed

U16

rpm

3000

Yes

0x0096

O

Phase Current Limit

U16

A

82

0x0098

O

O

ACC/DEC

U16

0.1 s

6

Yes

0x00A6

O

O

Slave Address

U16

1

Yes

0x00B6

O

O

Communication Status

U16

0

No

0x00BB

O

Program Version

U16

0x00BC

O

Save Parameters

CMD

0

0x00C8

O

Bus Voltage

U16×0.1

V

48.0

0x00D2

O

Driver Temperature

S16×0.1

°C

25.0

0x0113

O

Factory Reset

CMD

No

0x0116

O

Reset Program

CMD

No

0x0129

O

Port Indication

BIT

13. BCC6021R Register Map

13.1 개요

BCC6021R은 Modbus RTU를 이용하여 Motor 운전, 속도 설정, 운전 상태 확인 및 Driver Parameter 설정을 수행할 수 있습니다.

지원 Function Code는 다음과 같습니다.

기능

Function Code

Read Holding Registers

0x03

Write Single Holding Register

0x06

BCC6021R은 BCC6282R 및 BCC6240R과 달리 별도의 0x00B6 Communication Enable Register를 사용하지 않습니다.

대신 다음 두 Register가 각각 운전 제어권과 속도 지령 Source를 결정합니다.

Register

기능

Modbus 전용 제어 시 권장값

0x0007

Start/Stop 및 Forward/Reverse Control Method

2 = RS485 Control

0x0019

Speed Control Signal Input Mode

1 = Communication Setting

따라서 BCC6021R을 Modbus RTU로 완전히 제어하려면 일반적으로 다음과 같이 설정합니다.

0x0007 = 2    // Run / Stop / Direction → RS485
0x0019 = 1    // Speed Command → Communication

0x0007에서 Terminal/RS485 제어방식을 선택하고, 0x0019에서 Analog/Communication 속도 지령 Source를 선택하도록 정의합니다.

참고

0x0007과 0x0019은 서로 다른 기능입니다. 0x0007은 운전/정지 및 방향 제어권을 결정하고, 0x0019는 속도 지령 Source를 결정합니다.

13.2 Data Type

본 장에서는 다음 Data Type 표기를 사용합니다.

Data Type

설명

U16

16-bit Unsigned Integer

U16 ×0.1

Raw Value × 0.1

CMD

Command Register

ENUM

지정된 값 중 하나를 사용하는 Mode Register

RAW16

상세 Data Type을 추가로 정의하지 않은 16-bit 값

BCC6021R Register는 기본적으로 한 Register당 16-bit 데이터를 사용합니다.

예를 들어:

0x0001 = 0x044C

이면:

0x044C = 1100 decimal

이므로 Speed Command는:

1100 rpm

입니다.

BCC6021R Bus Voltage를 100 mV, Temperature를 0.1 °C, Gear Ratio를 0.1 단위로 정의합니다.


13.3 Read Register Map

BCC6021R의 Read Holding Register는 Function Code 0x03을 사용합니다. 0x0000~0x0022 범위의 Read 항목을 다음과 같이 정의합니다.

Address

Parameter

Type

Unit / Value

Description

0x0000

Operating Status

ENUM

0~3

운전 상태

0x0001

485 Written Speed

U16

rpm

RS485로 Write된 회전속도

0x0002

Pole Pairs

U16

pair

Pole Pair 설정값

0x0003

Acceleration Time

U16

ms

가속시간

0x0004

Deceleration Time

U16

ms

감속시간

0x0005

Stop Mode

ENUM

0~2

정지방식

0x0006

Baud Rate

ENUM

0~2

통신속도 설정

0x0007

Control Method

ENUM

0~2

운전/방향 제어 Source

0x0008

Target Speed

U16

rpm

설정 Target Speed

0x0009

Feedback Speed

U16

rpm

실제 Feedback Speed

0x000A

Operating Mode

ENUM

0~1

Normal / Jog

0x000B

Bus Voltage

U16×0.1

V

DC Bus Voltage

0x000C

Driver Temperature

RAW16×0.1

°C

Driver Temperature

0x000D

PID P

U16

PID P Parameter

0x000E

PID I

U16

PID I Parameter

0x000F

Maximum Speed

U16

rpm

Maximum Speed Limit

0x0010

Reserved

--

0x0011

IO Status

RAW16

PC Debug 전용

0x0012

Alarm Code

U16

Alarm Code

0x0013

Stall Time

U16

ms

Stall Alarm Delay

0x0014

Commutation Mode

ENUM

0~1

제동/즉시 전환

0x0015

Gear Ratio

U16×0.1

Feedback Speed에 영향

0x0016

BRK Active Level

ENUM

0~1

BRK 입력 Active Level

0x0017

Default Direction

ENUM

0~1

Terminal 기본 방향

0x0018

Open/Closed Loop

ENUM

0~1

Speed Loop Mode

0x0019

Speed Input Mode

ENUM

0~1

Analog / Communication

0x001A

Output Mode

ENUM

0~1

Alarm / Speed Output

0x001B

Multi-speed 00

U16

rpm

IN1/IN2 = 00

0x001C

Multi-speed 01

U16

rpm

IN1/IN2 = 01

0x001D

Multi-speed 10

U16

rpm

IN1/IN2 = 10

0x001E

Multi-speed 11

U16

rpm

IN1/IN2 = 11

0x0022

Program Version

RAW16

Program Version


13.4 주요 Read Parameter 설명

13.4.1 Operating Status — 0x0000

Address : 0x0000
Access  : Read / Write

다음과 같이 정의되어 있습니다.

Value

Status

0

Forward Rotation

1

Reverse Rotation

2

Stopped

3

Clear Alarm

3 = Clear Alarm은 상태값이라기보다 Write Command와 동일한 표현이 사용됩니다.


13.4.2 485 Written Speed — 0x0001

Address : 0x0001
Unit    : rpm

RS485를 통해 Write한 Speed 값을 읽습니다.

1100 rpm Write 예:

TX : 01 06 00 01 04 4C DB 3F
RX : 01 06 00 01 04 4C DB 3F

입니다.


13.4.3 Pole Pairs — 0x0002

Address : 0x0002
Type    : U16
Default : 4

설정된 Motor Pole Pair 값을 읽습니다.

Write 가능한 범위는:

1 ~ 15

입니다.

Motor 운전 중에는 변경하지 않아야 합니다. Pole Pair 변경 전 Motor를 Stop하도록 명시합니다.


13.4.4 Acceleration Time — 0x0003

Address : 0x0003
Unit    : ms
Range   : 0 ~ 10000
Default : 0

Target Speed가 증가할 때 적용되는 가속시간 설정값입니다.

NOTICE
Communication으로 Acceleration Time을 설정할 경우 Motor를 먼저 정지하고, Hardware ACC/DEC Potentiometer를 반시계 방향으로 0까지 돌린 후 설정하도록 요구합니다. Hardware Potentiometer가 Communication 설정보다 높은 우선순위를 가집니다.

13.4.5 Deceleration Time — 0x0004

Address : 0x0004
Unit    : ms
Range   : 0 ~ 10000
Default : 0

Target Speed 감소 시 적용되는 감속시간입니다.

0x0003과 동일하게 Communication에서 설정하려면 Motor를 Stop하고 ACC/DEC Potentiometer를 0으로 설정해야 합니다.


13.4.6 Stop Mode — 0x0005

Address : 0x0005
Default : 0

Value

Stop Mode

0

Free Stop

1

Brake Stop

2

Deceleration Stop

0x0000 = 2 Stop Command를 실행했을 때 실제 정지 동작은 이 Parameter의 영향을 받습니다.


13.4.7 Baud Rate — 0x0006

Address : 0x0006
Default : 0

Value

Baud Rate

0

9600 bps

1

14400 bps

2

19200 bps

Factory Default를 0, 즉 9600 bps로 정의합니다.

Baud Rate를 변경한 후에는 Master의 통신속도도 동일하게 변경해야 합니다.


13.4.8 Start/Stop & Direction Control Method — 0x0007

Address : 0x0007
Default : 0

Value

Control Method

0

Terminal + RS485 모두 제어 가능, Terminal 우선

1

Terminal Control

2

RS485 Communication Control

따라서 Modbus에서 Run/Stop 및 Forward/Reverse를 전용으로 제어하려면:

0x0007 = 2

로 설정합니다.


13.4.9 Target Speed — 0x0008

Address : 0x0008
Access  : Read
Unit    : rpm

0x0008을:

Read the set target rotational speed

로 정의합니다.

주의할 점은 다음 두 항목을 별도로 정의한다는 것입니다.

0x0001 : 485에서 Write한 회전속도
0x0008 : Set Target Rotational Speed

그러나 두 값의 내부적인 차이 또는 ``0x0008``의 계산 방법은 추가 설명하지 않습니다.

또한 Write Register 표에는 0x0008이 존재하지만 Function Description이 --로 되어 있으므로 본 매뉴얼에서는 0x0008에 사용자가 Write하는 것을 권장하지 않습니다.


13.4.10 Feedback Speed — 0x0009

Address : 0x0009
Unit    : rpm

Motor Feedback Speed를 읽습니다.

통신 예:

TX : 01 03 00 09 00 01 54 08

Feedback Speed 값은 Gear Ratio ``0x0015`` 설정의 영향을 받습니다.


13.4.11 Operating Mode — 0x000A

Address : 0x000A
Default : 0

Value

Mode

0

Normal Mode

1

Jog Mode

Jog Mode에서는 Motor Speed가:

240 rpm

으로 고정됩니다.


13.4.12 Bus Voltage — 0x000B

Address : 0x000B
Unit    : 100 mV

즉 실제 전압은:

Bus Voltage = Raw Value × 0.1 V

입니다.

예:

Raw = 480

480 × 0.1 = 48.0 V

13.4.13 Driver Temperature — 0x000C

Address : 0x000C
Unit    : 0.1 °C

계산식은:

Temperature = Raw Value × 0.1 °C

입니다.

다만 현재 BCC6021R Register 표는 이 값이 Signed Integer인지 Unsigned Integer인지 명확히 정의하지 않습니다. 따라서 음수 Temperature의 Data 표현 방법은 Firmware 확인 전까지 임의로 정의하지 않는 것이 좋습니다.


13.4.14 PID P / PID I — 0x000D, 0x000E

PID P : 0x000D
PID I : 0x000E

Write 범위:

0 ~ 15

Factory Default:

PID P = 1
PID I = 10

입니다.

Motor 운전 중 PID P 및 PID I를 변경하지 않도록 명시합니다.


13.4.15 Maximum Speed — 0x000F

Address : 0x000F
Unit    : rpm
Range   : 500 ~ 65535
Default : 3000

Maximum Rotational Speed Limit를 설정합니다.

Speed Command 0x0001의 상한은 이 Maximum Speed 값의 영향을 받습니다.


13.4.16 IO Status — 0x0011

Address : 0x0011

이 Register를:

for dedicated PC debugging use only

라고 정의합니다.

따라서 일반 PLC/HMI 사용자용 제어 Register로 사용하는 것은 권장하지 않습니다.


13.4.17 Alarm Code — 0x0012

Address : 0x0012

현재 Driver Alarm Code를 읽습니다.

주요 Alarm Code는 다음과 같습니다.

Code

Description

0

Normal

2

Driver Overtemperature

3

Overvoltage

4

Undervoltage

5

Hall Signal Error

8

Motor Stall

10~25

Other Hardware Circuit Abnormality

Alarm Read 예:

TX : 01 03 00 12 00 01 24 0F
RX : 01 03 02 00 00 B8 44

위 응답에서:

Alarm Code = 0

입니다.


13.4.18 Stall Time — 0x0013

Address : 0x0013
Unit    : ms
Range   : 0 ~ 65535
Default : 5000

Motor Stall이 감지된 후 Alarm을 발생시키기까지의 Delay Time입니다.


13.4.19 Commutation Mode — 0x0014

Address : 0x0014
Default : 0

Value

Mode

0

Braking Commutation

1

Immediate Commutation


13.4.20 Gear Ratio — 0x0015

Address : 0x0015
Unit    : 0.1
Range   : 10 ~ 2000
Default : 10

계산식:

Actual Gear Ratio = Raw Value × 0.1

예:

Write Value = 100
Gear Ratio  = 10.0

입니다.

Gear Ratio 설정값이 Feedback Speed 0x0009에 영향을 줍니다.

Default 10은 실제 감속비:

1.0

을 의미합니다.


13.4.21 BRK Active Level — 0x0016

Address : 0x0016
Default : 0

Value

BRK Active Level

0

Low Level Active

1

High Level Active

Terminal BRK 입력의 유효 Level을 설정합니다.


13.4.22 Default Direction — 0x0017

Address : 0x0017
Default : 0

Terminal Control을 사용하는 경우 Motor의 Default Direction을 설정합니다.

Value

Direction

0

CW

1

CCW

변경 전에 Motor를 Stop하도록 명시합니다.


13.4.23 Open / Closed Loop — 0x0018

Address : 0x0018
Default : 0

Value

Mode

0

Speed Closed-loop

1

Speed Open-loop

BCC6021R은 BCC6000R Series 중 Open/Closed Loop를 Communication Parameter로 선택할 수 있는 모델입니다. Motor 운전 중 이 값을 변경하지 않도록 설명합니다.


13.4.24 Speed Control Signal Input Mode — 0x0019

Address : 0x0019
Default : 0

Value

Speed Source

0

Analog Speed Control

1

Communication Setting

Analog Mode에서는:

Built-in RV > SV Input

으로 RV Potentiometer가 SV Analog Input보다 높은 우선순위를 가집니다.

Modbus에서 0x0001 Speed Command로 속도를 제어하려면:

0x0019 = 1

로 설정해야 합니다.

CAUTION
0x0019 변경 전에 Motor를 Stop하도록 명시합니다.

13.4.25 Output Mode — 0x001A

Address : 0x001A
Access  : Read

Value

Output Mode

0

Alarm Output

1

Speed Output

0x001A = Read Only according to the published Modbus table

로 취급하는 것이 안전합니다.


13.4.26 Multi-speed — 0x001B~0x001E

Address

Selection

0x001B

IN1 / IN2 = 00

0x001C

IN1 / IN2 = 01

0x001D

IN1 / IN2 = 10

0x001E

IN1 / IN2 = 11

이 Register들은 Multi-segment Speed 값을 읽습니다.

Multi-speed Area에서 각 Segment의 필요한 Speed를 입력할 수 있다고 설명합니다.

다만 현재 공개된 Modbus Write Register 표에는:

0x001B
0x001C
0x001D
0x001E

에 대한 Write 명령이 정의되어 있지 않습니다.

따라서 Modbus Function ``0x06``으로 해당 주소에 임의 Write하는 방법을 본 매뉴얼에 포함하지 않습니다.

NOTE
Multi-speed 값을 Modbus에서 직접 변경할 수 있는지 여부는 Firmware 또는 Host Computer Communication Specification 추가 확인이 필요합니다.

13.5 Write Register Map

BCC6021R의 공개 Write Register 표는 다음 항목을 정의합니다.

Address

Parameter

Type

Range / Value

Default

Save

0x0000

Motor Command

CMD

0~3

0

No

0x0001

Speed Command

U16

50 ~ Maximum Speed

0

No

0x0002

Pole Pairs

U16

1~15

4

Yes

0x0003

Acceleration Time

U16

0~10000 ms

0

Yes

0x0004

Deceleration Time

U16

0~10000 ms

0

Yes

0x0005

Stop Mode

ENUM

0~2

0

Yes

0x0006

Baud Rate

ENUM

0~2

0

Yes

0x0007

Control Method

ENUM

0~2

0

Yes

0x0008

Reserved / Undefined

No

0x000A

Operating Mode

ENUM

0~1

0

Yes

0x000D

PID P

U16

0~15

1

Yes

0x000E

PID I

U16

0~15

10

Yes

0x000F

Maximum Speed

U16

500~65535 rpm

3000

Yes

0x0013

Stall Time

U16

0~65535 ms

5000

Yes

0x0014

Commutation Mode

ENUM

0~1

0

Yes

0x0015

Gear Ratio

U16×0.1

10~2000

10

Yes

0x0016

BRK Active Level

ENUM

0~1

0

Yes

0x0017

Default Direction

ENUM

0~1

0

Yes

0x0018

Open/Closed Loop

ENUM

0~1

0

Yes

0x0019

Speed Input Mode

ENUM

0~1

0

Yes

0x0033

Factory Reset

CMD

1=Execute

* Save는 해당 값을 Storage Chip에 저장할지 여부를 나타내며, BCC6282R/BCC6240R의 0x00BC와 같은 별도 Save Register가 정의되어 있지 않습니다.


13.6 Motor Command — 0x0000

BCC6021R은 Motor Run/Stop 및 Direction을 하나의 Command Register에서 제어합니다.

Address : 0x0000
Save    : No

Value

Command

0

Forward

1

Reverse

2

Stop

3

Clear Alarm

Write Register 표가 위 값을 정의합니다.

Forward

0x0000 = 0

Reverse

0x0000 = 1

통신 예:

TX : 01 06 00 00 00 01 48 0A
RX : 01 06 00 00 00 01 48 0A

Stop

0x0000 = 2

통신 예:

TX : 01 06 00 00 00 02 08 0B
RX : 01 06 00 00 00 02 08 0B

Alarm Clear

0x0000 = 3

13.7 Speed Command — 0x0001

Address : 0x0001
Unit    : rpm
Range   : 50 ~ Maximum Speed
Default : 0
Save    : No

예를 들어 1100 rpm:

1100 = 0x044C

TX : 01 06 00 01 04 4C DB 3F
RX : 01 06 00 01 04 4C DB 3F

입니다.

단, 실제 Motor Speed Source를 Communication으로 사용하려면:

0x0019 = 1

이어야 합니다.

즉:

0x0001 = 1100

만 Write한다고 해서 반드시 Motor가 1100 rpm으로 운전하는 것은 아닙니다. 0x0019 Speed Source 설정을 함께 확인해야 합니다.


13.8 Parameter 변경 조건

BCC6021R Host Computer 설명은 Motor 운전 중 다음 Parameter를 변경하지 않도록 명시합니다.

  • Pole Pairs

  • PID P

  • PID I

  • Acceleration Time

  • Deceleration Time

  • Open / Closed Loop

  • Default Direction

  • Speed Control Mode

따라서 다음 Parameter는 Stop 상태에서 변경하는 것을 원칙으로 합니다.

Register

Parameter

0x0002

Pole Pairs

0x0003

Acceleration Time

0x0004

Deceleration Time

0x000D

PID P

0x000E

PID I

0x0017

Default Direction

0x0018

Open/Closed Loop

0x0019

Speed Input Mode

권장 Sequence:

0x0000 = 2        Motor Stop
      ↓
Feedback Speed 확인
      ↓
Parameter 변경
      ↓
필요 시 설정값 Read Back
      ↓
Motor Run

13.9 Parameter Save 동작

BCC6021R은 BCC6282R/BCC6240R과 저장 구조가 다릅니다.

현재 Write Register 표에는 각 Parameter별로:

Yes / No

형태의 저장 여부가 제공됩니다.

저장되지 않는 운전값

Address

Parameter

Save

0x0000

Motor Command

No

0x0001

Speed Command

No

0x0008

Undefined

No

저장 대상으로 표시된 Parameter

Address

Parameter

0x0002

Pole Pairs

0x0003

Acceleration Time

0x0004

Deceleration Time

0x0005

Stop Mode

0x0006

Baud Rate

0x0007

Control Method

0x000A

Operating Mode

0x000D

PID P

0x000E

PID I

0x000F

Maximum Speed

0x0013

Stall Time

0x0014

Commutation Mode

0x0015

Gear Ratio

0x0016

BRK Active Level

0x0017

Default Direction

0x0018

Open/Closed Loop

0x0019

Speed Input Mode

Storage Chip에 저장되는 대상으로 표시되어 있습니다.

BCC6282R/BCC6240R의:

0x00BC = Save

방식을 BCC6021R에 적용해서는 안 됩니다.


13.10 Factory Reset — 0x0033

Address : 0x0033

Write 1 : Restore Factory Settings
Write 0 : No Operation

Factory Reset을 실행하면 Writable Parameter와 저장된 값을 Factory Default로 복원합니다.

예를 들어 Pole Pair 0x0002의 저장값이 2인 경우 Factory Reset 후 Default 4로 복원된다고 설명합니다.

Factory Reset 전에는 다음 조건을 요구합니다.

  1. Motor Stop

  2. Built-in Analog RV = 0

  3. External Analog SV = 0

WARNING
Motor가 운전 중이거나 Analog Speed Command가 입력된 상태에서 Factory Reset을 수행하지 마십시오.

13.11 BCC6021R Modbus Control 핵심 Register

실제 PLC/HMI에서 가장 많이 사용하게 될 Register는 다음과 같습니다.

Address

R

W

Parameter

주요 값

0x0000

O

O

Motor Status / Command

0=FWD, 1=REV, 2=Stop, 3=Alarm Clear

0x0001

O

O

Communication Speed

rpm

0x0007

O

O

Run/Direction Control Source

2=RS485

0x0008

O

Target Speed

rpm

0x0009

O

Feedback Speed

rpm

0x0012

O

Alarm Code

Alarm

0x0015

O

O

Gear Ratio

×0.1

0x0018

O

O

Open/Closed Loop

0=Closed, 1=Open

0x0019

O

O

Speed Source

1=Communication

완전한 Modbus 제어 설정

0x0007 = 2
0x0019 = 1

1100 rpm Forward 운전

0x0001 = 1100
0x0000 = 0

Stop

0x0000 = 2

Feedback 확인

Read 0x0009

Alarm 확인

Read 0x0012

13.12 BCC6021R Register Quick Reference

Address

R

W

Parameter

Type

Unit

Default

0x0000

O

O

Motor Status / Command

ENUM

0

0x0001

O

O

485 Speed Command

U16

rpm

0

0x0002

O

O

Pole Pairs

U16

pair

4

0x0003

O

O

Acceleration Time

U16

ms

0

0x0004

O

O

Deceleration Time

U16

ms

0

0x0005

O

O

Stop Mode

ENUM

0

0x0006

O

O

Baud Rate

ENUM

0

0x0007

O

O

Control Method

ENUM

0

0x0008

O

-**

Target Speed

U16

rpm

0x0009

O

Feedback Speed

U16

rpm

0x000A

O

O

Operating Mode

ENUM

0

0x000B

O

Bus Voltage

U16×0.1

V

0x000C

O

Temperature

RAW16×0.1

°C

0x000D

O

O

PID P

U16

1

0x000E

O

O

PID I

U16

10

0x000F

O

O

Maximum Speed

U16

rpm

3000

0x0010

O

Reserved

0x0011

O

IO Status

RAW16

0x0012

O

Alarm Code

U16

0x0013

O

O

Stall Time

U16

ms

5000

0x0014

O

O

Commutation Mode

ENUM

0

0x0015

O

O

Gear Ratio

U16×0.1

10

0x0016

O

O

BRK Active Level

ENUM

0

0x0017

O

O

Default Direction

ENUM

0

0x0018

O

O

Open/Closed Loop

ENUM

0

0x0019

O

O

Speed Input Mode

ENUM

0

0x001A

O

Output Mode

ENUM

0x001B

O

Multi-speed 00

U16

0x001C

O

Multi-speed 01

U16

0x001D

O

Multi-speed 10

U16

0x001E

O

Multi-speed 11

U16

0x0022

O

Program Version

RAW16

0x0033

O

Factory Reset

CMD

# 14. Parameter Save / Power Cycle

## 14.1 개요

BCC6000R Series는 모델에 따라 Parameter의 저장 방법과 Power Cycle 후 복원 방식이 서로 다릅니다.

일부 Register는 Write 즉시 현재 운전에만 적용되고 전원을 다시 투입하면 초기값으로 복귀합니다. 반면 일부 Parameter는 비휘발성 Memory에 저장하여 전원 OFF/ON 후에도 유지할 수 있습니다.

세 모델의 기본적인 저장 방식은 다음과 같습니다.

| 항목 | BCC6282R | BCC6240R | BCC6021R | | ———————————– | ———— | ———— | —————————- | | 별도 Save Register | 0x00BC | 0x00BC | -자동 저장 | | Save 실행값 | 1 | 1 | - | | Communication Control 저장 | No | No | 0x0007, 0x0019은 Save=Yes | | Speed Command 저장 | No | Save=Yes | No | | 설정 Parameter 저장 | Register별 상이 | Register별 상이 | Register별 Yes/No | | Power Cycle 후 Communication Control | 0x00B6=0 | 0x00B6=0 | 저장 Parameter 기준 | | Factory Reset | 0x00CC | 0x0113 | 0x0033 |

BCC6282R은 0x00BC=1을 통해 저장 가능한 Parameter를 Memory Chip에 저장하며, Register별로 저장 여부 및 0x00B6 상태에 따른 저장값 호출 여부까지 별도로 정의합니다. BCC6240R 역시 0x00BC=1 Save Parameter 명령을 제공하며, 저장 후 약 1초간 Driver 접근을 피하도록 명시합니다. BCC6021R은 공개 Register Map에 별도의 Save Register가 없으며 Write Register별로 Storage Chip 저장 여부를 Yes/No로 구분합니다.

> NOTICE > Parameter를 Register에 Write하는 것과 비휘발성 Memory에 저장하는 것은 동일한 동작이 아닐 수 있습니다. 모델별 저장 방법을 확인한 후 Power OFF를 수행하십시오.

14.2 BCC6282R Parameter Save

14.2.1 Save Command — 0x00BC

BCC6282R은 다음 Register를 사용하여 저장 가능한 Parameter를 Memory Chip에 저장합니다.

Register : 0x00BC
Value    : 1
Function : Save Parameters
0x00BC = 1
→ Save each setting parameter once

따라서 Parameter를 변경한 후 Power OFF/ON 이후에도 해당 설정을 유지해야 하는 경우 다음 순서로 사용합니다.

Parameter Write
      ↓
설정값 확인
      ↓
0x00BC = 1
      ↓
Parameter Save
      ↓
Power OFF / ON

14.2.2 저장 가능한 Parameter

각 Register에 대해 다음 세 가지를 별도로 정의합니다.

  1. 0x00BC=1 실행 시 Memory Chip에 저장되는지

  2. 0x00B6=1일 때 저장값을 Driver 설정에 호출하는지

  3. 0x00B6=0일 때 저장값을 Driver 설정에 호출하는지

표를 정리하면 다음과 같습니다.

Address

Parameter

Memory Save

B6=1 시 저장값 적용

B6=0 시 저장값 적용

Default

0x0040

Post-back Setting

Yes

No

No

0

0x0056

Set Speed

No

No

No

0

0x0066

Enable

No

No

No

1

0x006A

Brake

No

No

No

0

0x006D

Direction

Yes

Yes

No

0

0x0076

Alarm Reset

No

No

No

1

0x0086

Motor Pole Number

Yes

Yes

Yes

4

0x008A

Acceleration Time

Yes

Yes

Yes

0

0x0092

Analog Maximum Speed

Yes

Yes

Yes

4000

0x00B6

RS485 Control

No

No

No

0

0x00CC

Factory Reset

No

No

No

0


14.2.3 Power Cycle 후 RS485 Control

BCC6282R의:

0x00B6

는 저장되지 않으며 Default는 0입니다.

따라서 Power OFF/ON 후에는:

0x00B6 = 0
RS485 Control Disable

상태로 시작합니다.

Modbus에서 다시 제어하려면:

0x00B6 = 1

을 전송해야 합니다.

권장 PLC 초기화 Sequence:

Power ON
   ↓
RS485 Communication 확인
   ↓
0x00B6 = 1
   ↓
필요 Parameter Read
   ↓
Set Speed
   ↓
Run

14.2.4 저장되지 않는 운전 명령

다음 항목은 Memory에 저장되지 않습니다.

0x0056  Set Speed
0x0066  Enable
0x006A  Brake
0x0076  Alarm Reset
0x00B6  RS485 Control

따라서 Power Cycle 후 PLC/HMI는 운전 상태를 새로 설정해야 합니다.


14.2.5 Factory Reset — 0x00CC

Factory Setting으로 복원하려면:

0x00CC = 1

을 Write합니다.

예를 들어 저장된 Motor Pole Number가:

0x0086 = 2

인 경우 Factory Reset 후:

0x0086 = 4

로 복원됩니다.

복원 완료 후 Factory Reset Register 자체는 0으로 Reset됩니다.


14.3 BCC6240R Parameter Save

14.3.1 Save Command — 0x00BC

BCC6240R은 다음 명령을 사용하여 설정값을 저장합니다.

Register : 0x00BC
Value    : 1
Function : Save Parameters

0x00BC를 Save parameters로 정의합니다.

저장 Sequence:

Parameter Write
      ↓
0x00BC = 1
      ↓
Wait ≥ 1 second
      ↓
Next Communication

Save Parameter 실행 후:

약 1초 동안 저장이 수행된 후 Driver에 접근할 것

을 명시합니다.

NOTICE
0x00BC=1 실행 직후 다른 Read/Write 명령을 연속으로 전송하지 마십시오. 저장 완료를 위해 최소 약 1초의 대기시간을 확보하십시오.

14.3.2 저장 대상 Parameter

BCC6240R Write Register 표에서 Save 여부는 다음과 같이 정의됩니다.

Address

Parameter

Save

0x0056

Set Speed

Yes

0x0066

Motor Control

Yes

0x0086

Pole Pairs

Yes

0x0090

Under-speed Time

Yes

0x0092

Maximum Speed Limit

Yes

0x0098

Acceleration / Deceleration

Yes

0x00A6

Slave Address

Yes

0x00B6

Communication Status

No

0x0113

Factory Reset

No

0x0116

Reset Program

No

BCC6240R은 BCC6282R과 달리 Set Speed와 Motor Control도 Save=Yes로 기재되어 있습니다. 따라서 통합 매뉴얼에서는 이 값을 임의로 BCC6282R과 동일하게 취급하지 않고 사양대로 구분합니다.


14.3.3 Power Cycle 후 Communication Status

BCC6240R의 Communication Status:

0x00B6

는 저장되지 않습니다.

0 = Communication Disable
1 = Communication Enable

이며 이 Parameter는 저장되지 않고 매 Power ON 후 Communication Disable 상태가 된다고 설명합니다.

따라서 Power ON 후:

0x00B6 = 0

으로 시작합니다.

Modbus 운전을 시작하려면 매번:

0x00B6 = 1

을 다시 Write해야 합니다.

권장 Sequence:

Power ON
   ↓
Communication Check
   ↓
0x00B6 = 1
   ↓
필요한 Parameter 확인
   ↓
Motor Control

14.3.4 Slave Address 저장

BCC6240R의 Slave Address는:

0x00A6

에 설정하며 Write 표에서 Save 대상 Parameter로 표시되어 있습니다.

예:

0x00A6 = 2
0x00BC = 1

로 설정 및 저장한 경우 전원 재투입 후에도 변경된 Slave Address를 사용하는 구조로 운용할 수 있습니다.

CAUTION
Slave Address 변경 후에는 Master의 통신 대상 Address도 변경된 값을 사용해야 합니다.

Broadcast로 0x00A6을 변경하는 경우 여러 Driver에 동일 Address가 적용될 수 있으므로, Slave Address 설정은 개별 Driver에서 수행하는 것을 권장합니다.


14.3.5 Factory Reset — 0x0113

BCC6240R은:

0x0113 = 1

을 사용하여 Factory Reset을 수행합니다.

Driver에 저장된 내용을 Factory Setting으로 복원한다고 설명합니다.

Factory Reset 후에는 다음 항목도 Factory Default를 기준으로 다시 확인해야 합니다.

  • Pole Pairs

  • Under-speed Time

  • Maximum Speed

  • ACC/DEC

  • Slave Address

  • 기타 저장 Parameter

그리고 Communication Status 0x00B6은 원래부터 비저장 Parameter이므로 Modbus 제어 시 다시 Enable해야 합니다.


14.3.6 Reset Program — 0x0116

Driver를 Software Reset하려면:

0x0116 = 1

을 사용합니다.

Power ON Restart를 대신할 수 있는 Reset 기능으로 설명하며:

Command does not return
TX : Reset Program
RX : No Response

가 정상입니다.

Reset 후에는 Communication Status가 Disable 상태로 시작하는 것으로 취급하고 0x00B6=1을 다시 설정하는 운전 Sequence를 사용하는 것이 적절합니다.


14.4 BCC6021R Parameter Save

14.4.1 저장 구조

BCC6021R은 BCC6282R/BCC6240R과 달리 공개 Modbus Register Map에:

0x00BC = Save

와 같은 별도의 Save Command Register가 정의되어 있지 않습니다.

대신 Write Register 표에 각 Parameter마다 다음 항목이 존재합니다.

Should this value be saved in the storage chip
(automatically saved when the device is shut down)?

즉 각 Register가 Storage Chip 저장 대상인지 여부를 Yes / No로 구분합니다.

따라서 BCC6021R에서는 BCC6282R이나 BCC6240R의 ``0x00BC`` Save 방식을 사용해서는 안 됩니다.


14.4.2 저장되지 않는 Parameter

Write Register 표에서 다음 운전 명령은 Save 대상이 아닙니다.

Address

Parameter

Save

0x0000

Motor Command

No

0x0001

Speed Command

No

0x0008

Undefined / Reserved Write

No

즉 Motor Run/Stop/Direction과 RS485 Speed Command는 지속적인 운전 명령으로 취급하며 비휘발성 설정값으로 사용하지 않습니다.


14.4.3 저장 대상 Parameter

다음 항목은 Storage Chip 저장 대상 Yes로 표시됩니다.

Address

Parameter

Save

0x0002

Pole Pairs

Yes

0x0003

Acceleration Time

Yes

0x0004

Deceleration Time

Yes

0x0005

Stop Mode

Yes

0x0006

Baud Rate

Yes

0x0007

Control Method

Yes

0x000A

Operating Mode

Yes

0x000D

PID P

Yes

0x000E

PID I

Yes

0x000F

Maximum Speed

Yes

0x0013

Stall Time

Yes

0x0014

Commutation Mode

Yes

0x0015

Gear Ratio

Yes

0x0016

BRK Active Level

Yes

0x0017

Default Direction

Yes

0x0018

Open / Closed Loop

Yes

0x0019

Speed Input Mode

Yes

표의 표현상 이러한 Parameter는 Storage Chip에 저장되는 대상이며 전원 재투입 후에도 유지되는 설정값으로 구분됩니다.


14.4.4 0x0007 및 0x0019의 Power Cycle

BCC6021R의 완전한 Modbus 제어에는:

0x0007 = 2
0x0019 = 1

이 필요합니다.

따라서 BCC6282R/BCC6240R의 0x00B6처럼 “Power ON마다 반드시 Communication Enable을 재설정하는 비저장 Register”와는 구조가 다릅니다.

Model

Modbus 제어 관련 Parameter

Save

BCC6282R

0x00B6

No

BCC6240R

0x00B6

No

BCC6021R

0x0007, 0x0019

Yes


14.4.5 Host Computer Save

BCC6021R Host Computer 설명에는 별도의 Save 기능이 존재합니다.

Communication이 정상인 상태에서:

  • Read → Driver Parameter 읽기

  • Save → 설정된 Parameter를 Driver에 저장

  • Restore Factory Defaults → Factory Default 복원

기능을 제공한다고 설명합니다.

이는 Host Computer Software 사용법에 대한 설명이며, 현재 공개 Modbus Register Map에는 이 Host Software의 Save 동작에 대응하는 별도 Save Register Address가 공개되어 있지 않습니다.

NOTE
BCC6021R에서 전용 Host Computer의 Save 버튼이 사용하는 내부 처리와 일반 사용자가 Function 0x06으로 접근할 수 있는 공개 Register Map은 구분하여 취급하십시오.

14.4.6 Baud Rate 변경 시 주의

BCC6021R의:

0x0006

Baud Rate 설정은 Save=Yes 항목입니다.

Value

Baud Rate

0

9600

1

14400

2

19200

따라서 Baud Rate가 저장된 후 Power Cycle하면 Master 측 통신속도 역시 해당 값과 일치해야 통신할 수 있습니다. Factory Default를 0, 즉 9600 bps로 정의합니다.


14.4.7 Factory Reset — 0x0033

BCC6021R은:

0x0033 = 1

을 Write하여 Factory Setting을 복원합니다.

Factory Reset 시:

  • 모든 Writable Parameter

  • Storage에 저장된 값

을 Default로 복원한다고 설명합니다.

예를 들어:

Pole Pairs 0x0002 = 2

가 저장되어 있다면 Factory Reset 후:

Pole Pairs = 4

로 복원됩니다.

Factory Reset 전에 다음 조건을 요구합니다.

Motor Stop
Built-in RV = 0
External SV = 0

14.5 Power Cycle 동작 비교

세 모델의 Power Cycle 관련 주요 동작을 정리하면 다음과 같습니다.

Parameter / 동작

BCC6282R

BCC6240R

BCC6021R

Communication Control

0x00B6, 저장 안 됨

0x00B6, 저장 안 됨

0x0007, 0x0019 Save=Yes

Power ON 후 별도 Communication Enable

필요

필요

별도 B6 Enable 없음

Speed Command

저장 안 됨

Save=Yes 표기

저장 안 됨

Run/Stop Command

저장 안 됨

Motor Control Save=Yes 표기

저장 안 됨

Pole Parameter

저장 가능

Save=Yes

Save=Yes

ACC/DEC

저장 가능

Save=Yes

Save=Yes

Maximum Speed

0x0092 저장 가능

Save=Yes

Save=Yes

Slave Address

DIP SW

Save=Yes

DIP SW

Save 명령

0x00BC=1

0x00BC=1

공개 Register 없음

Factory Reset

0x00CC=1

0x0113=1

0x0033=1


14.6 권장 Power ON Sequence

BCC6282R

Power ON
   ↓
Slave Address 확인
   ↓
RS485 Communication Check
   ↓
0x00B6 = 1
   ↓
필요 Parameter Read
   ↓
Speed / Direction / Enable 설정
   ↓
Run

0x00B6은 저장되지 않으므로 매 Power ON 후 재설정해야 합니다.


BCC6240R

Power ON
   ↓
저장된 Slave Address로 접속
   ↓
Communication Check
   ↓
0x00B6 = 1
   ↓
Parameter 확인
   ↓
Motor Control

0x00B6은 Power ON 후 Disable로 복귀합니다.


BCC6021R

Power ON
   ↓
DIP Slave Address 확인
   ↓
Communication Check
   ↓
0x0007 Read
   ↓
0x0019 Read
   ↓
필요 시 Control Mode 재설정
   ↓
0x0001 Speed Command
   ↓
0x0000 Run Command

BCC6021R은 0x0007 및 0x0019이 Save 대상이지만, PLC/HMI 초기화 시 실제 값을 Read하여 의도한 제어 Mode인지 확인하는 것을 권장합니다. 두 Register를 각각 운전 제어 Source와 Speed Source로 정의하고 Save=Yes로 표시합니다.


14.7 권장 Parameter 변경 및 저장 절차

설정 Parameter를 변경할 때에는 다음 절차를 권장합니다.

BCC6282R

1. Motor Stop
2. 0x00B6 = 1
3. Parameter Write
4. Parameter Read Back
5. 0x00BC = 1
6. 필요 시 Power Cycle
7. Parameter Read Back

BCC6240R

1. Motor Stop
2. 0x00B6 = 1
3. Parameter Write
4. Parameter Read Back
5. 0x00BC = 1
6. Wait ≥ 1 second
7. 필요 시 Power Cycle
8. 0x00B6 = 1
9. Parameter Read Back

BCC6021R

1. Motor Stop
2. Parameter Write
3. Parameter Read Back
4. 저장 대상 여부 확인
5. Power Cycle 후 Parameter Read Back

BCC6021R은 공개 Register Map에서 별도의 Save Command가 제공되지 않으므로, 0x00BC와 같은 다른 모델의 Save Register를 사용하지 않습니다.


14.8 Factory Reset Quick Reference

Model

Register

Command

주요 결과

BCC6282R

0x00CC

1

설정값 및 저장값을 Default로 복원

BCC6240R

0x0113

1

Driver 저장 내용을 Factory Setting으로 복원

BCC6021R

0x0033

1

Writable/Stored Parameter를 Default로 복원

BCC6282R의 Factory Reset은 저장값까지 Default로 복원한다고 설명되어 있습니다. BCC6240R은 0x0113=1을 Factory Reset으로 정의합니다. BCC6021R 역시 0x0033=1 실행 시 Writable Parameter와 저장값을 Factory Default로 복원합니다.

WARNING
Factory Reset 후에는 Motor Pole 설정, Maximum Speed, ACC/DEC, Control Mode 및 Slave Address 등 주요 Parameter를 다시 확인한 후 Motor를 운전하십시오.

15. Alarm Code

각 드라이버는 이상 상태가 발생하면 모터 출력을 정지하고 Alarm Code를 발생시킵니다. Alarm Code는 Modbus RTU를 통해 읽을 수 있으며, 대부분의 경우 드라이버의 적색 LED 점멸 횟수와 동일한 값을 사용합니다.

15.1 Alarm Code Register

Model

Read Function

Register

Description

BCC6282R

0x03

0x0076

Alarm Code

BCC6240R

0x03

0x0003 또는 0x0076

Alarm Code

BCC6021R

0x03

0x0012

Alarm Code

BCC6240R은 두 종류의 Register Address 체계를 제공합니다. 연속 읽기용 Address 1에서는 0x0003, 개별 접근용 Address 2에서는 0x0076을 사용합니다.

15.2 BCC6282R Alarm Codes

BCC6282R의 Alarm Code는 적색 LED의 점멸 횟수에 대응합니다. Alarm Code는 Holding Register 0x0076에서 읽습니다.

Alarm Code

Alarm

Description

Recommended Action

0

Normal

No alarm

—

2

Over Temperature

Driver PCB temperature exceeds approximately 85°C

드라이버를 냉각한 후 재가동

3

Over Voltage

Power supply over-voltage

전원 전압 확인

4

Under Voltage

Power supply under-voltage

전원 전압 확인

5

Hall Fault

Hall signal error

Hall 배선 및 모터 확인

8

Locked Rotor / Drive Fault

Motor locked-rotor or driving circuit abnormal

부하, 모터, 전류 제한 설정 및 드라이버 확인

21–22

I²C Communication Error

I²C communication physical-layer error

Driver repair required

23

Memory Write Error

Memory chip cannot write

Driver repair required

24

Memory Read Error

Memory chip cannot read

Driver repair required

30–42

Internal Circuit Error

Peripheral circuit of master control chip abnormal

Driver repair required

Alarm Reset

BCC6282R은 Alarm Register 0x0076에 0을 쓰면 Alarm Reset을 수행합니다.

Register : 0x0076
Function : 0x06
Data     : 0x0000

Slave Address가 0x01인 경우:

01 06 00 76 00 00 CRC_L CRC_H

또한 매뉴얼에서는 다음 동작도 Alarm Reset 방법으로 설명합니다.

  • 내장 RV를 최소 위치로 설정

  • 외부 Analog 입력을 0 V로 설정

  • EN을 해제 후 다시 연결

  • BRK를 동작 후 다시 해제

  • 전원을 OFF/ON


15.3 BCC6240R Alarm Codes

BCC6240R의 Alarm Code 역시 적색 LED 점멸 횟수에 대응합니다.

Alarm Code

Alarm

Description

Recommended Action

0

Normal

No alarm

—

2

Over Temperature Protection

PCB temperature exceeds 85°C

드라이버 냉각 후 재가동

3

Over Voltage Protection

Supply voltage exceeds 63 V

전원 전압 확인

4

Low Voltage Protection

Supply voltage below approximately 14 V

전원 전압 확인

5

Hall Alarm

Incorrect Hall signal detected

Hall 배선 및 모터 확인

8

Under-Speed Protection

Locked rotor, under-speed condition, or abnormal driving circuit

부하 및 모터 상태 확인

10

Abnormal Learning

Error occurred during Hall self-learning

Hall 배선 및 모터 확인 후 재학습

11–20

Drive Damaged

Abnormal internal I/O detected

공급업체 문의 / Driver 점검

21–24

Storage Exception

Internal storage abnormality

전원 재인가 후 지속 시 Driver 점검

BCC6240R에서 0x0090의 Under-Speed Time을 0으로 설정하면 Under-Speed Alarm을 발생시키지 않도록 설정할 수 있습니다.

Alarm Reset

BCC6240R Alarm Reset 방법으로 정의합니다.

  • Built-in potentiometer speed = 0

  • External speed command = 0

  • EN disconnect

  • BRK active

  • Communication stop motor

  • Power cycle

Modbus 통신에서는 Motor Control Register를 사용하여 Stop 명령을 줄 수 있습니다.

Register : 0x0066
Function : 0x06
Data     : 0x0000    ; Stop

Motor Control 값은 다음과 같습니다.

Value

Function

0

Stop

1

Forward

2

Reverse

3

Brake

BCC6240R에는 별도로 0x0116 = 1의 Reset Program 명령도 정의되어 있습니다. 이 명령은 드라이버 프로그램을 재시작하며 응답 프레임을 반환하지 않습니다.

Note: 0x0116은 “Reset Program”으로 정의되어 있으며, 전용 “Alarm Reset Register”로 정의된 것은 아닙니다.


15.4 BCC6021R Alarm Codes

BCC6021R의 Alarm Code는 Holding Register 0x0012에서 읽을 수 있습니다. 적색 LED 점멸 횟수와 Alarm Code가 대응합니다.

Alarm Code

Alarm

Description

Recommended Action

0

Normal

No alarm

—

2

Over Temperature

Driver temperature exceeds approximately 85°C

사용 환경 및 냉각 상태 확인

3

Over Voltage

Supply voltage exceeds 60 V

전원 전압 확인

4

Under Voltage

Supply voltage below approximately 9.8 V

전원 전압 확인

5

Hall Signal Error

Hall signal missing or incorrect

Hall 배선 및 모터 확인

8

Stall Alarm

Motor remains stalled until configured stall time expires

모터 배선, 부하, 모터 및 Current Limit 확인

10–25

Hardware Circuit Error

Other internal hardware circuit abnormality

재부팅 후 지속되면 Driver 교체/점검

Alarm Reset

BCC6021R은 Control Register 0x0000에 3을 쓰면 Alarm을 Clear할 수 있습니다.

Register : 0x0000
Function : 0x06
Data     : 0x0003

Slave Address가 0x01인 경우:

TX : 01 06 00 00 00 03 CRC_L CRC_H

0x0000의 제어 값은 다음과 같습니다.

Value

Command

0

Forward Rotation

1

Reverse Rotation

2

Stop

3

Clear Alarm

추가적으로 다음 방법도 Alarm Reset에 사용할 수 있다고 설명합니다.

  • BRK 입력을 다시 동작

  • RS-485를 통해 Stop 또는 Clear Alarm 명령 전송

  • Power cycle


15.5 Reading an Alarm Code

Example — BCC6282R / BCC6240R

Slave Address = 0x01, Alarm Register = 0x0076

TX : 01 03 00 76 00 01 65 D0
RX : 01 03 02 00 00 B8 44

Returned data:

00 00 = Alarm Code 0

따라서 드라이버는 정상 상태입니다.

Example — BCC6021R

Slave Address = 0x01, Alarm Register = 0x0012

TX : 01 03 00 12 00 01 24 0F
RX : 01 03 02 00 00 B8 44
Alarm Code = 0

즉, 현재 Alarm이 없습니다.


15.6 Model Differences

Item

BCC6282R

BCC6240R

BCC6021R

Alarm Read Register

0x0076

0x0003 / 0x0076

0x0012

Dedicated Modbus Alarm Clear

0x0076 = 0

별도 전용 Clear Register 미기재

0x0000 = 3

Stall-related Alarm

8

8

8

Hall Alarm

5

5

5

Over Temperature

2

2

2

Over Voltage

3

3

3

Under Voltage

4

4

4

Extended Internal Errors

21–42

10–24

10–25

Important: Alarm Code 2, 3, 4, 5, 8은 세 모델에서 비교적 일관되지만, 10 이상의 Alarm Code 정의는 모델마다 다릅니다. 따라서 상위 제어기에서는 모델별 Alarm Code Table을 구분하여 처리해야 합니다.


16. CRC-16/Modbus

BCC6000R Series는 Modbus RTU 프레임의 오류 검출을 위해 CRC-16/Modbus 방식을 사용합니다. CRC는 Slave Address부터 마지막 Data byte까지 계산하며, 계산된 16-bit CRC 값은 프레임 끝에 추가합니다.

세 모델 모두 동일한 CRC-16/Modbus 알고리즘을 사용합니다. BCC6240R과 BCC6021R 매뉴얼은 CRC 전송 순서를 Low Byte First (Little Endian) 로 명시하고 있으며, BCC6282R의 통신 예제에서도 동일한 순서가 사용됩니다.

16.1 CRC Parameters

Item

Value

CRC Type

CRC-16/Modbus

CRC Width

16 bit

Initial Value

0xFFFF

Polynomial

0xA001

Processing Direction

LSB first

CRC Field Length

2 bytes

Transmission Order

CRC Low Byte → CRC High Byte

CRC 계산 대상에는 CRC 자체의 2 bytes는 포함하지 않습니다.

일반적인 Modbus RTU Request Frame은 다음과 같습니다.

[Slave Address]
[Function Code]
[Register Address Hi]
[Register Address Lo]
[Data / Quantity Hi]
[Data / Quantity Lo]
[CRC Lo]
[CRC Hi]

예를 들어 다음 6 bytes에 대해 CRC를 계산한다고 가정합니다.

01 03 00 5F 00 01

계산된 CRC가 0x18B4이면 실제 전송 순서는 Low Byte가 먼저이므로 다음과 같습니다.

B4 18

따라서 전체 Modbus RTU Frame은:

01 03 00 5F 00 01 B4 18

BCC6282R 매뉴얼의 Motor Feedback Speed 읽기 예제와 동일한 Frame입니다.


16.2 CRC Calculation Procedure

CRC 계산 절차는 다음과 같습니다.

  1. CRC Register를 0xFFFF로 초기화합니다.

  2. 첫 번째 Data Byte를 CRC의 Low Byte와 XOR합니다.

  3. CRC를 오른쪽으로 1 bit Shift합니다.

  4. Shift하기 전 LSB가 1이면 CRC와 0xA001을 XOR합니다.

  5. 하나의 Byte에 대해 위 과정을 8회 반복합니다.

  6. 다음 Byte에 대해 같은 연산을 수행합니다.

  7. 모든 Byte의 처리가 완료되면 최종 16-bit 값이 CRC입니다.

  8. 프레임에는 Low Byte를 먼저, High Byte를 나중에 추가합니다.

개념적으로 다음과 같습니다.

CRC = 0xFFFF

for each byte:
    CRC = CRC XOR byte

    repeat 8 times:
        if CRC bit0 == 1:
            CRC = CRC >> 1
            CRC = CRC XOR 0xA001
        else:
            CRC = CRC >> 1

16.3 C Reference Code

다음과 같은 CRC-16/Modbus 계산 방식을 사용합니다.

typedef unsigned char u8;
typedef unsigned int  u16;

u16 getCRC16(u8 *ptr, u8 length)
{
    u8 i;
    u16 crc = 0xFFFF;

    if (length == 0)
        length = 1;

    while (length--)
    {
        crc ^= *ptr;

        for (i = 0; i < 8; i++)
        {
            if (crc & 0x0001)
            {
                crc >>= 1;
                crc ^= 0xA001;
            }
            else
            {
                crc >>= 1;
            }
        }

        ptr++;
    }

    return crc;
}

CRC 계산 함수가 반환하는 값을 Modbus RTU Frame에 추가할 때는 다음 순서로 전송합니다.

crc_low  = crc & 0xFF;
crc_high = (crc >> 8) & 0xFF;

전송:

CRC Low Byte
CRC High Byte

16.4 CRC Example — Read Register

Read Motor Feedback Speed

Slave Address:

01

Function Code:

03

Register:

005F

Quantity:

0001

CRC 계산 대상:

01 03 00 5F 00 01

CRC:

CRC = 0x18B4

RTU 전송 시:

CRC Low  = B4
CRC High = 18

최종 Request:

01 03 00 5F 00 01 B4 18

BCC6282R 및 BCC6240R 매뉴얼에서 동일한 Request가 Motor Feedback Speed 읽기 예제로 사용됩니다.


16.5 CRC Example — Write Register

Communication Enable

BCC6282R / BCC6240R에서:

Slave Address : 01
Function      : 06
Register      : 00B6
Data          : 0001

CRC 계산 대상:

01 06 00 B6 00 01

계산 결과:

CRC = 0xECA9

전송 순서:

A9 EC

최종 Frame:

01 06 00 B6 00 01 A9 EC

BCC6282R과 BCC6240R 매뉴얼 모두 동일한 Communication Enable 예제를 제시합니다.


16.6 CRC Example — BCC6021R

BCC6021R의 Feedback Speed Register는 0x0009입니다.

Slave Address : 01
Function      : 03
Register      : 0009
Quantity      : 0001

CRC 계산 대상:

01 03 00 09 00 01

CRC:

54 08

최종 Request:

01 03 00 09 00 01 54 08

Response 예:

01 03 02 03 17 F8 BA

여기서:

01       Slave Address
03       Function Code
02       Byte Count
03 17    Data
F8 BA    CRC

16.7 CRC in Broadcast Communication

Broadcast에서도 CRC 계산 방식은 Unicast와 동일합니다.

차이는 Slave Address가 0x00이라는 점입니다.

예를 들어 BCC6021R의 Set Speed 1100 rpm Broadcast:

00 06 00 01 04 4C DA EE

구성:

Field

Value

Broadcast Address

00

Function

06

Register

0001

Speed

044C = 1100 rpm

CRC

DA EE

CRC 계산 대상은:

00 06 00 01 04 4C

이며 최종 CRC bytes는:

DA EE

Broadcast Request는 정상적인 CRC를 포함해야 하지만, Slave는 Response를 반환하지 않습니다.

BCC6282R에서도 Broadcast Frame은 동일한 방식입니다. 예를 들어 Set Speed 1100 rpm:

00 06 00 56 04 4C 6B 3E

Response:

No Response

16.8 CRC Verification of Received Frame

Master는 Slave로부터 Response를 수신한 후 반드시 CRC를 확인해야 합니다.

예:

01 03 02 02 48 B9 12

CRC 검증 대상:

01 03 02 02 48

수신된 CRC:

B9 12

Master가 계산한 CRC와 수신된 CRC가 일치하면 Frame을 정상 데이터로 처리합니다.

Calculated CRC = Received CRC
→ Valid Frame

일치하지 않으면 해당 Frame은 폐기해야 합니다.

Calculated CRC ≠ Received CRC
→ CRC Error

## 17. Communication Examples

본 절에서는 BCC6000R Series의 대표적인 Modbus RTU 통신 예제를 설명합니다. 별도 표기가 없는 경우 Slave Address = ``0x01`` 을 기준으로 하며, 모든 Frame의 CRC는 CRC Low Byte → CRC High Byte 순서로 전송합니다.

세 모델 모두 Function Code 0x03과 0x06을 사용하지만 Register Map과 통신 제어 활성화 방법은 서로 다릅니다.

### 17.1 Frame Notation

text TX : Master → Driver RX : Driver → Master

Function Code:

|Function|Description| |–:|—| |0x03|Read Holding Registers| |0x06|Write Single Holding Register|

정상적인 0x06 Unicast Write의 경우 Driver는 일반적으로 수신한 Request와 동일한 Frame을 Response로 반환합니다.

Broadcast Address 0x00을 사용하는 경우 Driver는 명령을 실행하지만 Response를 반환하지 않습니다.

17.2 BCC6282R Communication Examples

BCC6282R은 통신으로 운전 명령을 쓰기 전에 0x00B6 = 1로 RS-485 Control을 Enable해야 합니다. 0x00B6 = 0 상태에서는 Register Read는 가능하지만 0x00B6 이외의 일반 Write Register는 사용할 수 없습니다.

17.2.1 Enable RS-485 Control

TX : 01 06 00 B6 00 01 A9 EC
RX : 01 06 00 B6 00 01 A9 EC

의미:

Register : 0x00B6
Data     : 0x0001
Function : RS-485 Control Enable

17.2.2 Set Speed to 1100 rpm

1100 decimal:

1100 = 0x044C

전송:

TX : 01 06 00 56 04 4C 6A EF
RX : 01 06 00 56 04 4C 6A EF
Register : 0x0056
Data     : 0x044C
Speed    : 1100 rpm

17.2.3 Set Forward Rotation

TX : 01 06 00 6D 00 01 D9 D7
RX : 01 06 00 6D 00 01 D9 D7
Register : 0x006D
Data 1   : Forward
Data 0   : Reverse

17.2.4 Read Motor Feedback Speed

TX : 01 03 00 5F 00 01 B4 18

Response example:

RX : 01 03 02 02 48 B9 12

Response 분석:

01       Slave Address
03       Function Code
02       Byte Count
02 48    Feedback Speed
B9 12    CRC
0x0248 = 584 rpm

17.2.5 Read Alarm Code

TX : 01 03 00 76 00 01 65 D0
RX : 01 03 02 00 00 B8 44

따라서:

Alarm Code = 0

정상 상태입니다.


17.2.6 Clear Alarm

Register Map에 따라 0x0076 = 0을 Write하면 Alarm Reset을 수행합니다.

TX : 01 06 00 76 00 00 68 10
RX : 01 06 00 76 00 00 68 10

17.2.7 Broadcast Example

RS-485 Control Enable

TX : 00 06 00 B6 00 01 A8 3D
RX : No response

Set Speed to 1100 rpm

TX : 00 06 00 56 04 4C 6B 3E
RX : No response

17.3 BCC6240R Communication Examples

BCC6240R 역시 통신 제어 전에:

0x00B6 = 1

로 Communication Status를 Enable해야 합니다.

이 Parameter는 저장되지 않으므로 전원을 다시 인가하면 Communication Status는 다시 Disable됩니다. 따라서 Master는 Power-up 초기화 과정에서 0x00B6 = 1을 다시 전송해야 합니다.

17.3.1 Communication Enable

TX : 01 06 00 B6 00 01 A9 EC
RX : 01 06 00 B6 00 01 A9 EC

17.3.2 Set Speed to 1100 rpm

TX : 01 06 00 56 04 4C 6A EF
RX : 01 06 00 56 04 4C 6A EF
0x044C = 1100 rpm

17.3.3 Forward Rotation

BCC6240R의 Motor Control Register는 0x0066입니다.

TX : 01 06 00 66 00 01 A8 15
RX : 01 06 00 66 00 01 A8 15

Control values:

Data

Motor Command

0

Stop

1

Forward

2

Reverse

3

Brake


17.3.4 Stop

TX : 01 06 00 66 00 00 69 D5
RX : 01 06 00 66 00 00 69 D5

17.3.5 Reverse Rotation

TX : 01 06 00 66 00 02 E8 14
RX : 01 06 00 66 00 02 E8 14

17.3.6 Brake

TX : 01 06 00 66 00 03 29 D4
RX : 01 06 00 66 00 03 29 D4

17.3.7 Read Motor Feedback Speed

BLL1500RA는 Feedback Speed를 0x005F에서 읽습니다.

TX : 01 03 00 5F 00 01 B4 18
RX : 01 03 02 02 48 B9 12

Response Data:

0x0248 = 584 rpm

17.3.8 Read Alarm Code

개별 접근용 Register Address 0x0076을 사용하는 경우:

TX : 01 03 00 76 00 01 65 D0

Alarm이 없을 경우 예:

RX : 01 03 02 00 00 B8 44
Alarm Code = 0

BCC6240R은 연속 읽기용 Address 체계에서는 Alarm Code가 0x0003, 개별 Register 접근용 Address 체계에서는 0x0076으로 정의되어 있습니다.


17.3.9 Broadcast Example

Communication Enable

TX : 00 06 00 B6 00 01 A8 3D
RX : No response

Set Speed to 1100 rpm

TX : 00 06 00 56 04 4C 6B 3E
RX : No response

Forward Rotation

TX : 00 06 00 66 00 01 A9 C4
RX : No response

Broadcast에서는 정상적으로 명령이 수행되어도 Response가 없습니다.


17.4 BCC6021R Communication Examples

BCC6021R은 BCC6282R/BCC6240R과 제어 구조가 다릅니다.

완전한 Modbus 운전을 위해서는 일반적으로 다음 두 설정을 사용합니다.

0x0007 = 2    Start/Stop & Direction = RS-485 Control
0x0019 = 1    Speed Control Source   = Communication

0x0007은 Start/Stop 및 방향 제어원을 선택하고, 0x0019는 속도 지령 입력원을 Communication으로 선택합니다. ### 17.4.1 Select RS-485 Motor Control

TX : 01 06 00 07 00 02 B9 CA
RX : 01 06 00 07 00 02 B9 CA
Register : 0x0007
Data     : 2
Function : RS-485 Communication Control

17.4.2 Select Communication Speed Command

모터를 정지한 상태에서 설정하세요.

TX : 01 06 00 19 00 01 99 CD
RX : 01 06 00 19 00 01 99 CD
Register : 0x0019
Data     : 1
Function : Communication Speed Setting

17.4.3 Set Speed to 1100 rpm

TX : 01 06 00 01 04 4C DB 3F
RX : 01 06 00 01 04 4C DB 3F
Register : 0x0001
Data     : 0x044C
Speed    : 1100 rpm

17.4.4 Forward Rotation

TX : 01 06 00 00 00 00 89 CA
RX : 01 06 00 00 00 00 89 CA

17.4.5 Reverse Rotation

TX : 01 06 00 00 00 01 48 0A
RX : 01 06 00 00 00 01 48 0A

17.4.6 Stop

TX : 01 06 00 00 00 02 08 0B
RX : 01 06 00 00 00 02 08 0B

17.4.7 Clear Alarm

TX : 01 06 00 00 00 03 C9 CB
RX : 01 06 00 00 00 03 C9 CB

BCC6021R의 0x0000 Control Register 정의는 다음과 같습니다.

Data

Command

0

Forward

1

Reverse

2

Stop

3

Clear Alarm


17.4.8 Read Motor Feedback Speed

TX : 01 03 00 09 00 01 54 08

Feedback Speed는 Register 0x0009에서 읽습니다.

예를 들어 실제 Response Data가 0x044C이면:

RX : 01 03 02 04 4C BB 71
0x044C = 1100 rpm

17.4.9 Read Alarm Code

TX : 01 03 00 12 00 01 24 0F

Alarm이 없을 경우:

RX : 01 03 02 00 00 B8 44
Alarm Code = 0

17.4.10 Broadcast Example

Set Pole Pairs to 2

TX : 00 06 00 02 00 02 A8 1A
RX : No response

Set Speed to 1100 rpm

TX : 00 06 00 01 04 4C DA EE
RX : No response

BCC6282R

Power ON
   ↓
Establish RS-485 Communication
   ↓
0x00B6 = 1       RS-485 Control Enable
   ↓
Set Direction
   ↓
Set Speed
   ↓
Enable / Run
   ↓
Read Feedback Speed / Alarm

BCC6240R

Power ON
   ↓
Establish RS-485 Communication
   ↓
0x00B6 = 1       Communication Enable
   ↓
0x0056 = Speed
   ↓
0x0066 = 1       Forward
   ↓
Read 0x005F      Feedback Speed
   ↓
Read 0x0076      Alarm Code

0x00B6는 Power Cycle 후 다시 0으로 복귀하므로 Power-up 때마다 다시 Enable해야 합니다.

BCC6021R

Power ON
   ↓
Stop Motor
   ↓
0x0007 = 2       RS-485 Motor Control
   ↓
0x0019 = 1       Communication Speed Command
   ↓
0x0001 = Speed
   ↓
0x0000 = 0       Forward
   ↓
Read 0x0009      Feedback Speed
   ↓
Read 0x0012      Alarm Code

17.6 Example Summary

Function

BCC6282R

BCC6240R

BCC6021R

Communication Control Enable

0x00B6=1

0x00B6=1

0x0007=2, 0x0019=1

Set Speed

0x0056

0x0056

0x0001

Feedback Speed

0x005F

0x005F

0x0009

Forward

0x006D=1

0x0066=1

0x0000=0

Reverse

0x006D=0

0x0066=2

0x0000=1

Stop

0x0066 control

0x0066=0

0x0000=2

Clear Alarm

0x0076=0

Stop/Reset method

0x0000=3

Read Alarm

0x0076

0x0076 / 0x0003

0x0012

Broadcast Response

None

None

None

Important: 서로 다른 BCC6000R 모델에 동일한 Register Address를 사용해서는 안 됩니다. Function Code와 CRC 방식은 공통이지만 운전 제어 Register와 Control Value는 모델마다 다릅니다.


18. Modbus Poll 설정 예

Modbus Poll과 같은 PC용 Modbus Master 프로그램을 사용하면 BCC6000R Series의 Register를 직접 읽고 쓰면서 RS485 통신을 확인할 수 있습니다.

Note: 아래의 Modbus Poll 메뉴명과 화면 구성은 일반적인 Modbus Poll 사용 예입니다. 통신 조건과 Register 값은 매뉴얼을 기준으로 합니다.

18.1 Serial Connection 설정

Modbus Poll에서 일반적으로 다음 순서로 Serial Connection을 설정합니다.

Connection
   ↓
Connect...
   ↓
Serial Port

모델별 기본 통신 설정은 다음과 같습니다.

Setting

BCC6282R

BCC6240R

BCC6021R

Mode

RTU

RTU

RTU

Baud Rate

9600

115200

9600 default

Data Bits

8

8

8

Parity

None

None

None

Stop Bits

1

1

1

Physical Interface

RS485

RS485

RS485

Connector

RJ45 / Terminal

RJ45

RJ12

BCC6240R 매뉴얼은 통신 속도 115200 bps, Data Bit 8, Stop Bit 1, Modbus CRC Little Endian을 명시합니다. 다만 Parity 항목은 별도로 명시하지 않습니다.

BCC6021R은 기본값 9600 bps이며 Register 0x0006을 통해 9600 / 14400 / 19200을 선택할 수 있습니다.

Modbus Poll은 RTU Frame의 CRC를 자동 생성하고 확인하므로 사용자가 CRC Byte를 직접 입력하지 않습니다.


18.2 Register Address 입력 방법

본 매뉴얼의 Register Address는 Hexadecimal로 표시합니다.

예:

Feedback Speed Register = 0x005F

이를 Decimal로 변환하면:

0x005F = 95

Modbus Poll에서 Protocol Address를 Decimal로 입력하는 설정에서는 다음과 같이 입력합니다.

Address : 95

대표적인 변환 예:

Hex Register

Decimal

0x0000

0

0x0001

1

0x0007

7

0x0009

9

0x0012

18

0x0019

25

0x0056

86

0x005F

95

0x0066

102

0x0076

118

0x00B6

182

Important: Modbus Poll에서 PLC Addresses (Base 1) 같은 주소 표시 옵션을 사용하는 경우 화면에 표시되는 주소가 1 증가할 수 있습니다. 본 매뉴얼의 Register Map은 Modbus RTU Frame에 실제로 들어가는 Protocol Address 기준입니다.


18.3 BCC6282R Modbus Poll Example

18.3.1 Connection

예를 들어 Driver의 DIP Switch를 Slave Address 1로 설정한 경우:

Mode       : RTU
COM Port   : PC에서 확인된 COM Port
Baud Rate  : 9600
Data Bits  : 8
Parity     : None
Stop Bits  : 1

BCC6282R은 통신으로 Register를 Write하기 전에 0x00B6 = 1로 RS-485 Control을 Enable해야 합니다. 0x00B6 = 0이면 일반 Register Read는 가능하지만 0x00B6을 제외한 Write 명령은 제한됩니다.

18.3.2 Read Feedback Speed

Modbus Poll에서:

Setup
   ↓
Read/Write Definition

설정 예:

Item

Setting

Slave ID

1

Function

03 Read Holding Registers

Address

95 (0x005F)

Quantity

1

예를 들어 표시값이:

584

이면:

Motor Feedback Speed = 584 rpm

입니다.


18.3.3 Enable RS-485 Control

Function 06 Write Single Register를 사용합니다.

Register : 0x00B6
Decimal  : 182
Value    : 1

즉:

Item

Value

Slave ID

1

Register

182

Value

1

실제 RTU Frame은:

01 06 00 B6 00 01 A9 EC

이며 매뉴얼에도 동일한 Communication Enable Frame이 제시되어 있습니다.


18.3.4 Set Speed to 1100 rpm

Register : 0x0056
Decimal  : 86
Value    : 1100

Modbus Poll:

Slave ID : 1
Function : 06
Address  : 86
Value    : 1100

Driver에 실제 전달되는 Frame은:

01 06 00 56 04 4C 6A EF

입니다.


18.4 BCC6240R Modbus Poll Example

18.4.1 Connection

Mode       : RTU
Baud Rate  : 115200
Data Bits  : 8
Stop Bits  : 1
Slave ID   : 1   (Factory Default)

BCC6240R의 Slave Address는 DIP Switch가 아니라 Register 0x00A6에서 설정하며 범위는 1–247, 기본값은 1입니다. 통신 조건은 RJ45 기반 RS485, Half-duplex, 115200 bps, 8 Data Bits, 1 Stop Bit로 정의되어 있습니다.

18.4.2 Communication Enable

전원을 켠 후 가장 먼저:

0x00B6 = 1

을 Write합니다.

Modbus Poll:

Item

Value

Slave ID

1

Function

06

Address

182

Value

1

Register 0x00B6 = Communication Enable

0x00B6 값은 저장되지 않으므로 Power Cycle 후 다시 Enable해야 합니다.


18.4.3 Set Speed

1100 rpm:

Register : 0x0056
Address  : 86
Value    : 1100

18.4.4 Forward Rotation

Register : 0x0066
Address  : 102
Value    : 1

BCC6240R Motor Control 값:

Value

Command

0

Stop

1

Forward

2

Reverse

3

Brake

이 제어값은 BLD1500RA Write Register Table에 명시되어 있습니다.


18.4.5 Monitor Feedback Speed

Slave ID : 1
Function : 03
Address  : 95
Quantity : 1

즉:

0x005F = Motor Feedback Speed [rpm]

BCC6240R은 Read Register에 연속 읽기용 Address와 개별 접근용 Address 두 체계를 제공하며, Feedback Speed의 개별 접근 주소는 0x005F입니다.


18.5 BCC6021R Modbus Poll Example

BCC6021R은 BCC6282R/BCC6240R과 달리 Motor Control Source와 Speed Command Source를 별도로 설정해야 합니다.

완전한 RS485 운전을 위해 다음 두 Register를 설정합니다.

0x0007 = 2    RS485 Motor Control
0x0019 = 1    Communication Speed Setting

0x0007은 Start/Stop 및 Forward/Reverse 제어원을 선택하고, 0x0019는 Speed Control Signal Input Mode를 선택합니다.

18.5.1 Connection

Factory Default 기준:

Mode       : RTU
Baud Rate  : 9600
Data Bits  : 8
Parity     : None
Stop Bits  : 1
Slave ID   : DIP Switch 설정값

18.5.2 Select RS485 Motor Control

Register : 0x0007
Address  : 7
Value    : 2

Modbus Poll:

Slave ID : 1
Function : 06
Address  : 7
Value    : 2

의미:

0 = Terminal + RS485, Terminal priority
1 = Terminal Control
2 = RS485 Communication Control

18.5.3 Select Communication Speed Command

모터가 정지한 상태에서:

Register : 0x0019
Address  : 25
Value    : 1

의미:

0 = Analog Speed Control
1 = Communication Speed Setting

18.5.4 Set Speed to 1100 rpm

Register : 0x0001
Address  : 1
Value    : 1100

Modbus Poll:

Slave ID : 1
Function : 06
Address  : 1
Value    : 1100

18.5.5 Forward Rotation

Register : 0x0000
Address  : 0
Value    : 0

Reverse Rotation

Register : 0x0000
Address  : 0
Value    : 1

Stop

Register : 0x0000
Address  : 0
Value    : 2

Clear Alarm

Register : 0x0000
Address  : 0
Value    : 3

18.5.6 Monitor Feedback Speed

Slave ID : 1
Function : 03
Address  : 9
Quantity : 1
Register 0x0009 = Feedback Speed [rpm]

BCC6021R Register Map에서 0x0009는 Feedback Rotational Speed이고, 이 값은 Gear Reduction Ratio 설정의 영향을 받습니다.


18.5.7 Monitor Alarm Code

Slave ID : 1
Function : 03
Address  : 18
Quantity : 1
Register 0x0012 = Alarm Code

19. Troubleshooting

본 절에서는 BCC6000R Series를 Modbus RTU로 제어할 때 자주 발생하는 통신 및 운전 문제와 확인 방법을 설명합니다.

모델별 Register Map과 제어 방식이 서로 다르므로 먼저 사용 중인 모델을 확인하십시오.

Model BCC6282R BCC6240R BCC6021R


19.1 No Response from Driver

Symptom

TX : Request transmitted
RX : No response

또는 Modbus Poll에서 다음과 같은 현상이 발생할 수 있습니다.

Timeout
No Connection
Insufficient bytes received

Check Items

1. RS485 wiring을 확인하십시오.

A/B 극성이 바뀌거나 GND가 올바르게 연결되지 않으면 통신할 수 없습니다.

Model

Interface

BCC6282R

RJ45 또는 RS485 Terminal

BCC6240R

RJ45

BCC6021R

RJ12

BCC6282R과 BCC6240R은 RS485 통신 시 A, B, GND 연결을 사용합니다. BCC6021R은 RJ12 기반 RS485 인터페이스를 사용합니다.

2. Slave Address를 확인하십시오.

BCC6282R과 BCC6021R은 DIP Switch 설정에 따라 Slave Address가 결정될 수 있습니다.

BCC6240R은 Slave Address가 Register에 저장됩니다.

BCC6240R
Register : 0x00A6
Range    : 1 ~ 247
Default  : 1

3. Baud Rate를 확인하십시오.

Model

Default / Manual Setting

BCC6282R

9600 bps

BCC6240R

115200 bps

BCC6021R

9600 bps default

BCC6021R은 0x0006으로 Baud Rate를 변경할 수 있습니다.

0 = 9600
1 = 14400
2 = 19200

4. Serial Format을 확인하십시오.

일반적인 설정:

Mode       : Modbus RTU
Data Bits  : 8
Parity     : None
Stop Bits  : 1
CRC        : CRC-16/Modbus

19.2 Read Works, but Write Does Not Work

통신은 정상이고 Register Read도 가능하지만 Speed, Run 또는 Direction 명령이 동작하지 않는 경우입니다.

BCC6282R

먼저 RS485 Control을 Enable해야 합니다.

Register : 0x00B6
Value    : 1
01 06 00 B6 00 01 A9 EC

0x00B6 = 0이면 Read는 가능하지만 0x00B6 이외의 일반 Register Write는 제한됩니다.

BCC6240R

BCC6240R도 먼저:

0x00B6 = 1

로 Communication Status를 Enable해야 합니다.

특히 이 값은 저장되지 않으므로:

Power OFF
    ↓
Power ON
    ↓
0x00B6 = 0

으로 돌아갑니다.

따라서 매 Power-up마다 ``0x00B6 = 1``을 다시 전송해야 합니다.

BCC6021R

BCC6021R은 두 가지 제어원을 별도로 설정합니다.

0x0007 = 2
Start/Stop & Direction → RS485 Control

0x0019 = 1
Speed Command → Communication

속도만 통신으로 제어하려면 특히 0x0019 = 1이 필요합니다. 0x0019 변경 전에 모터를 정지하도록 명시합니다.


19.3 Speed Command Is Written but Motor Speed Does Not Change

BCC6282R

확인 순서:

1. 0x00B6 = 1 확인
2. 0x0056 Speed Command 확인
3. Enable 상태 확인
4. Alarm Code 확인
5. Feedback Speed 확인

관련 Register:

Function

Register

Set Speed

0x0056

Feedback Speed

0x005F

Enable

0x0066

Alarm Code

0x0076

RS485 Control

0x00B6


BCC6240R

확인 순서:

0x00B6 = 1
     ↓
0x0056 = Target Speed
     ↓
0x0066 = Motor Command

예:

0x0056 = 1100
0x0066 = 1

이면 Forward 1100 rpm 운전 지령입니다.

Motor Control:

Value

Function

0

Stop

1

Forward

2

Reverse

3

Brake


BCC6021R

속도 Register 0x0001에 정상적으로 값이 Write되더라도 다음 설정이:

0x0019 = 0

이면 Speed Control Source가 Analog이므로 RS485 Speed Command가 실제 속도 지령으로 사용되지 않습니다.

통신 속도 제어를 위해:

0x0019 = 1

로 설정하십시오.

또한 Start/Stop과 방향까지 RS485에서 제어하려면:

0x0007 = 2

로 설정하십시오.


19.4 Motor Does Not Start

다음 항목을 순서대로 확인하십시오.

Communication
      ↓
Control Source
      ↓
Speed Command
      ↓
Run Command
      ↓
Alarm
      ↓
Motor / Hall Wiring

BCC6240R Source Manual Checks

Motor Does Not Rotate의 원인으로 다음 항목을 제시합니다.

Possible Cause

Recommended Action

Driver alarm

Alarm indication 확인

Stop command active

Motor operation command 전송

Abnormal wiring

Motor/Hall wiring 확인

Motor holding brake not released

Holding brake 해제

Motor/driver mismatch

Hall electrical angle 확인

Equipment damage

Driver 또는 Motor 교체 확인

BCC6240R은 120° Hall electrical angle motor 사용을 전제로 합니다.


19.5 Feedback Speed Is 0

Speed Command를 전송했지만:

Target Speed   > 0
Feedback Speed = 0

인 경우 다음 사항을 확인하십시오.

  1. 실제로 Run Command가 활성화되어 있는지 확인합니다.

  2. Alarm Code를 읽습니다.

  3. Motor Phase U/V/W 배선을 확인합니다.

  4. Hall HU/HV/HW 배선을 확인합니다.

  5. Pole Pair 설정값을 확인합니다.

잘못된 Pole Pair 설정은 Feedback Speed 계산 및 Closed-loop 제어에 영향을 줄 수 있습니다. 세 제품 모두 모터 Pole Pair와 관련된 설정을 제공합니다.

BCC6021R은 추가로 Gear Reduction Ratio가 Feedback Speed에 영향을 줍니다.

Register : 0x0015
Unit     : 0.1

예:

100 → Gear Ratio 10.0

0x0015 값은 0x0009 Feedback Speed에 영향을 줍니다.


19.6 Feedback Speed Is Incorrect

Check Pole Pair

실제 Motor Pole Pair와 Driver 설정이 다르면 Speed Feedback이 잘못 표시될 수 있습니다.

Model

Pole Pair Register

BCC6282R

0x0086

BCC6240R

0x0086

BCC6021R

0x0002

BCC6021R

추가적으로 다음 Register를 확인합니다.

0x0015 = Gear Reduction Ratio

Feedback Speed는 이 값의 영향을 받습니다.


19.7 Motor Runs in the Wrong Direction

모델마다 Direction Command가 다릅니다.

Model

Register

Forward

Reverse

BCC6282R

0x006D

1

0

BCC6240R

0x0066

1

2

BCC6021R

0x0000

0

1

따라서 다른 모델의 Direction 값을 그대로 사용하지 마십시오.

BCC6021R에서는 Terminal Control 시 기본 방향을 설정하는 별도 Register도 존재합니다.

0x0017
0 = CW
1 = CCW

19.8 Motor Stops After Running for a Short Time

우선 Alarm Code를 확인하십시오.

대표적인 Alarm:

Code

Description

2

Over Temperature

3

Over Voltage

4

Under Voltage

5

Hall Error

8

Stall / Locked Rotor / Under-Speed

세 모델에서 2, 3, 4, 5, 8 계열은 유사하지만 세부 조건과 이후 Alarm Code의 의미는 모델마다 다릅니다.

Alarm 8

BCC6282R

Locked Rotor 상태가 지속되면 Driver가 정지하고 Alarm 8이 발생할 수 있습니다. 약 10 seconds의 locked-rotor waiting time을 설명합니다.

BCC6240R

Motor Speed가 Set Speed의 절반보다 낮은 상태가 설정된 Under-Speed Time 동안 지속되는 경우 Under-Speed Alarm이 발생할 수 있습니다.

Under-Speed Time:

Register : 0x0090

0으로 설정하면 Under-Speed Alarm을 발생시키지 않습니다.

BCC6021R

Stall Time은 다음 Register에서 설정합니다.

Register : 0x0013
Unit     : ms

Motor Stall 상태가 설정 시간까지 지속되면 Alarm이 발생합니다.


19.9 Alarm Cannot Be Cleared

Alarm 원인을 먼저 제거한 후 Reset을 수행하십시오.

BCC6282R

0x0076 = 0

제시한 방법:

  • RV를 최소로 설정

  • External Analog = 0

  • EN 해제 후 재연결

  • BRK 동작 후 재해제

  • Power cycle

BCC6240R

Reset 방법:

  • Internal speed = 0

  • External speed = 0

  • EN disconnect

  • BRK active

  • Communication Stop

  • Power cycle

BCC6021R

통신으로:

0x0000 = 3

을 Write하여 Clear Alarm을 실행합니다.

추가적으로:

  • BRK 재동작

  • RS485 Stop / Clear Alarm

  • Power cycle

을 제시합니다.

Alarm이 계속 발생하면 Reset을 반복하기보다 해당 Alarm의 원인을 먼저 확인하십시오.


19.10 Broadcast Command Has No Response

다음과 같은 경우:

TX : 00 06 ...
RX : No response

는 정상 동작입니다.

Modbus Broadcast Address:

0x00

을 사용한 Write Command에 대해 Driver는 명령을 실행하지만 Response Frame을 반환하지 않습니다.

따라서:

No Response ≠ Communication Error

입니다.

Broadcast 명령이 실제 적용되었는지 확인하려면 이후 각 Slave Address를 사용하여 Register를 Read하십시오.

BCC6282R 및 BCC6021R Broadcast Write 후 No response로 명시되어 있습니다.


19.11 CRC Error

다음 사항을 확인하십시오.

CRC Initial Value : 0xFFFF
Polynomial        : 0xA001
Transmission      : CRC Low → CRC High

예:

CRC = 0x18B4

이면 Frame에는:

B4 18

순서로 전송해야 합니다.

18 B4    Incorrect
B4 18    Correct

세 모델 모두 CRC-16/Modbus 방식을 사용합니다.


19.12 Register Address Does Not Work in Modbus Poll

Register Map:

0x005F

를 Modbus Poll에서 Protocol Address로 입력할 경우 Decimal 값은:

95

입니다.

0x005F = 95 decimal

40001, 40096 등의 PLC-style Address와 Protocol Address를 혼동하지 마십시오.

본 매뉴얼에서 사용하는:

0x0000
0x0056
0x005F
0x00B6

등은 Modbus PDU에 실제로 포함되는 Register Address입니다.


19.13 BCC6240R Works Until Power Is Cycled

다음 현상은 BCC6240R에서 특히 확인해야 합니다.

Communication OK
Motor controlled by Modbus
        ↓
Power OFF / ON
        ↓
Read works
Write / Run does not work

원인은 Communication Status입니다.

0x00B6 = 1

값은 저장되지 않습니다.

Power-up 후에는 다시:

01 06 00 B6 00 01 A9 EC

를 전송하여 Communication Control을 Enable하십시오.


19.14 BCC6021R Speed Write Is Successful but Analog Control Still Operates

다음과 같은 경우:

0x0001 Write → Successful

이지만 RV 또는 SV가 Motor Speed를 계속 제어한다면:

0x0019

를 확인하십시오.

0 = Analog Speed Control
    RV has higher priority than SV

1 = Communication Speed Setting

RS485 Speed Control을 사용하려면:

0x0019 = 1

로 설정해야 합니다.


19.15 Abnormal Motor Speed

Abnormal Motor Speed의 원인으로 다음 항목을 제시합니다.

Possible Cause

Treatment

Overload

부하 감소

Abnormal signal input

Input signal 확인

Wrong pole pairs

Pole Pair 수정

Wrong reduction ratio

올바른 Reduction Ratio 적용

Wrong maximum speed setting

사용 Motor의 Rated Speed에 맞게 Maximum Speed 설정

BCC6021R에서도 Maximum Speed Register 및 Gear Reduction Ratio Register가 별도로 존재하므로 동일 계열의 문제를 진단할 때 해당 설정을 확인할 수 있습니다


19.16 Motor Speed Fluctuation

Speed Fluctuation의 가능한 원인으로 다음을 제시합니다.

Possible Cause

Treatment

Abnormal signal input

Built-in speed regulation으로 비교 시험

Excessive load / inertia

부하 감소 또는 감속기 사용 검토

Unstable load

부하 상태 안정화

통신 운전에서는 추가적으로 Target Speed와 Feedback Speed를 동시에 확인하면 문제를 구분하는 데 도움이 됩니다.

예:

Target Speed   = Constant
Feedback Speed = Fluctuating

이면 Motor/Load 쪽을 우선 확인하고,

Target Speed   = Fluctuating
Feedback Speed = Fluctuating

이면 Master가 보내는 Speed Command가 변경되고 있는지 먼저 확인하십시오.


19.17 No ALM / SPEED Output Signal

ALM 또는 SPEED Output이 보이지 않는 원인으로 Pull-up Resistor가 연결되지 않은 경우를 명시합니다.

BCC6021R의 OUT 역시 Open Drain Output이며 외부 Pull-up Resistor가 필요합니다.

권장값:

2 kΩ ~ 10 kΩ

입니다.

따라서 PLC 입력에서 신호가 확인되지 않을 경우 Output Type과 Pull-up 배선을 먼저 확인하십시오.


Model-specific Control Check

BCC6282R
0x00B6 = 1
BCC6240R
0x00B6 = 1
(Power cycle 후 다시 설정)
BCC6021R
0x0007 = 2
0x0019 = 1

이 세 항목은 “Read는 되는데 Motor가 Modbus 명령대로 동작하지 않는다” 는 문제를 진단할 때 가장 먼저 확인해야 할 모델별 설정입니다.


19.19 Quick Troubleshooting Table

증상

주요 확인 사항

통신이 되지 않음

RS485 배선, Slave ID, Baud Rate, Serial Format 확인

BCC6282R: Read는 되지만 Write가 안 됨

0x00B6 = 1 설정 확인

BCC6240R: Read는 되지만 Write가 안 됨

0x00B6 = 1 설정 확인

BCC6240R: 재부팅 후 통신 제어가 안 됨

전원 인가 후 0x00B6 = 1 다시 설정

BCC6021R: 속도값 Write는 되지만 속도가 변하지 않음

0x0019 = 1 설정 확인

BCC6021R: Run/Direction 제어가 안 됨

0x0007 = 2 설정 확인

모터가 회전하지 않음

Run 명령, 속도 지령, Alarm 상태, Motor/Hall 배선 확인

Feedback Speed가 0으로 표시됨

Motor/Hall 배선, Pole Pair 설정, Run 상태 확인

Feedback Speed가 실제 속도와 다름

Pole Pair 설정 확인, BCC6021R은 Gear Ratio 추가 확인

회전 방향이 반대로 동작함

모델별 Direction Register 및 제어값 확인

운전 중 Driver가 정지함

Alarm Code 읽기 및 해당 Alarm 원인 확인

Broadcast 명령에 응답이 없음

정상 동작 — Broadcast는 Response를 반환하지 않음

CRC Error 발생

CRC 계산 및 CRC Low Byte → High Byte 순서 확인

Modbus Poll에서 Register 접근이 안 됨

Hex/Decimal 변환 및 Base-0 Protocol Address 확인

ALM / SPEED 출력 신호가 나오지 않음

Pull-up Resistor 및 Output 배선 확인