Skip to main content

1.2. Hi5机器人控制器的Modbus功能

1.2. Hi5机器人控制器的Modbus功能

 

Hi5机器人控制器专门支持Modbus的从属功能。

 

(1)   Modbus发送模式

 

n ASCII模式

n 远程测试装置(以下称RTU)(二进制)模式

 

(2)   支持功能

 

n 01: 读入Coil(Bit)

n 02: 读入离散输入(Bit)

n 03: 读入存储寄存器(复式)

n 04: 读入输入寄存器(复式)

n 05: 写入单一Coil(Bit)

n 06: 写入单一存储寄存器

n 15: 写入Coil(复式Bit)

n 16: 写入存储寄存器(复式)

 

(3)   置从属地址

 

n 从属地址: 1~247

n 命令从属地址为0时、与设置地址无关、提供激活所有从动装置的同步通信功能。

 

(4)   通信媒体

 

n CNSIO: RS232/RS422/RS485选择性使用 → 1:1(RS232/RS422)1:N(RS485)

    RS232C Pin排列: No.2(TxD)3(RxD)5(GND) → PC使用直接电缆。

    RS422/RS485 Pin排列: 1(Tx)6(/Tx)4(Rx)9(/Rx)

 

n OPSIO: RS232/RS422/RS485选择性使用 → 1:1(RS232/RS422)1:N(RS485)

RS232C Pin排列pin array: No.3(TxD)2(RxD)5(GND) → PC使用交叉电缆。

RS422/RS485 Pin排列: 1(Tx)6(/Tx)4(Rx)9(/Rx)

 

(5)   使用条件

 

n 内置PCL正在运行时、可把内置PLC继电器用为Modbus功能。(注意: Hi5 PCL使用环境设置可在TP进行。)

 

n  PCL演算模式的环境设置如下图所示、在TP按照[F7]: 条件设置[F1]: 应用(App).条件顺序进行。

 

 

n  如内置PLC停止动作、则不支持内置PCL继电器写入功能、但仍能运行从所有寄存器或Coil读入的功能。

 

(6)   Modbus虚拟管理例示

 

n 运转功能:

低费用图示板机器人或支持直列Modbus的机器人可与RS232/RS422/RS485连接使用。

n PLC通信:

可以用低廉的解决方案提供与装置有Modbus主功能的PLC之间进行通信的功能。

n PC机器人管理系统:

可构建使用PC直列端口监控或管理机器人输出入信号的机器人管理系统。

 

 

 

 

(7)   Hi5继电器映射(Mapping)

 

Modbus数据型号

 

继电器映射: 参照Hi5继电器环境设置及输出入数据流

功能

 

1bit

继电器名

寄存器

逻辑计算

输入离散

计算: 0x0000~0xffff

数量: 1~2039(bit)

 

输入寄存器

计算: 0x0000~0xffff

数量: 1~127

外部输入

X1~8192

0x0001~0x2000

读入功能

02: 读入离散输入(Bit)

04: 读入输入寄存器(复式)

PLC输入

DO1~4096

0x2001~0x3000

现场总线输入 1

FB1.X1~960

0x3001~0x33C0

~~现场总线输入~~~~ 2~~~~~~

~~FB2.X1~960~~

~~0x3401~0x37C0~~

现场总线输入 3

FB3.X1~960

0x3801~0x3BC0

~~现场总线输入~~~~ 4~~~~~~

~~FB4.X1~960~~

0x3C01~0x3FC0

CC-Link 输入

FB5.X1~256

0x4001~0x4100

现场总线节点输入

FN1~64.X1~128

0x5001~0x8F80

计时器

T1~256

0xF001~0xF100

计数器

C1~256

0xF201~0xF300

模拟输出

 

 

1000 倍率数据(: 6250→6.250)

Coils

计算: 0x0000~0xffff

数量: 1~2039(bit)

 

存储寄存器

计算: 0x0000~0xffff

数量: 1~127

外部输出

Y1~8192

0x0001~0x2000

读入功能

01: 读入Coil(Bit)

03: 读入存储寄存器 (复式)

 

写入功能

05: 写入单一Coil(Bit)

15: 写入Coil(复式 Bit)

06: 写入单一存储寄存器
16:
写入存储寄存器(复式)

 

AO: 1000倍率数据(范围: ±12.000)

预配系统内存

PLC 输出

DI1~4096

0x2001~0x3000

现场总线输出 1

FB1.Y1~960

0x3001~0x33C0

~~现场总线输出~~~~ 2~~~~~~

~~FB2.Y1~960~~

~~0x3401~0x37C0~~

现场总线输出 3

FB3.Y1~960

0x3801~0x3BC0

~~现场总线~~~~ ~~~~输出~~~~ 4~~~~~~

~~FB4.Y1~960~~

~~0x3C01~0x3FC0~~

CC-Link 输出

FB5.Y1~256

0x4001~0x4100

现场总线节点输出

FN1~64.Y1~128

0x5001~0x8F80

特殊(Special)

SP1~128

0x9101~0x9180

辅助(Auxiliary)

R1~1024

0x9201~0x9600

保留(Keep)

K1~1024

0x9801~0x9C00

计时器

 

 

计数器

 

 

模拟输出

 

 

系统内存

SW1~512.1~16

0xA001~0xC000

共享寄存器

数据内存

MW1~1000.1~16

0xC001~0xFE80

HRBASIC

V% 变数

 

 

RN寄存器

 

 

数据范围: 0~255

V$ 变数

 

 

36 字节/V$ → 40 x 36/2 = 720

 

V! 变数

 

 

IEEE单精度32Bit 浮动小数点

 

Modbus数据型号

 

继电器映射(Mapping): 参照Hi5继电器环境设置及输出入数据流

功能

 

寄存器接头部位名称

 

继电器名称

8Bit

16Bit

32bit

浮动型 (Float)(32bit)

逻辑计算

输入离散

计算: 0x0000~0xffff

数量: 1~2039(bit)

 

输入寄存器

计算: 0x0000~0xffff

数量: 1~127

外部输入

XB1~1024

XW1~512

XL1~256

XF1~256

0x0001~0x0200

读入功能

02: 读入离散输入

(bit)

04: 读入输入寄存器(复式)

PLC输入

DOB1~512

DOW1~256

DOL1~128

DOF1~128

0x2001~0x2100

现场总线输入1

FB1.XB1~120

FB1.XW1~60

FB1XL1~30

FB1.XF1~30

0x3001~0x303C

~~现场总线输入~~~~2~~~~~~

~~FB2.XB1~120~~

~~FB2.XW1~60~~

~~FB2~~~~~~~~XL1~30~~

~~FB2.XF1~30~~

~~0x3401~0x343C~~

现场总线输入3

FB3.XB1~120

FB3.XW1~60

FB3XL1~30

FB3.XF1~30

0x3801~0x383C

~~现场总线输入~~~~4~~~~~~

~~FB4.XB1~120~~

~~FB4.XW1~60~~

~~FB4~~~~~~~~XL1~30~~

~~FB4.XF1~30~~

~~0x3C01~0x3C3C~~

CC-Link

输入

FB5.XB1~32

FB5.XW1~16

FB5XL1~8

FB5.XF1~8

0x4001~0x4010

现场总线  节点输出

FN1~64.XB1~16

FN1~64.XW1~8

FN1~64.XL1~4

FN1~64.XF1~4

0x5001~0x8F08

计时器

 

 

 

 

 

计数器

 

 

 

 

 

模拟输出

 

AI1~32

 

 

0x9A01~0x9A20

1000倍率数据

(: 6250→6.250)

Coil

计算: 0x0000~0xffff

数量: 1~2039(bit)

 

存储寄存器

计算: 0x0000~0xffff

数量: 1~127

外部输出

YB1~1024

YW1~512

YL1~256

YF1~256

0x0001~0x0200

读入功能

01: 读入Coil (bit)

03: 读入存储寄存器 (复式)

 

写入功能

05: 写入单一Coil (bit)

15: 写入Coil(复式bit)

06: 写入单一存储寄存器

16: 写入存储寄存器 (复式)

 

AO: 1000倍率数据(范围: ±12.000)

预配系统内存

PLC输出

DIB1~512

DIW1~256

DIL1~128

DIF1~128

0x2001~0x2100

现场总线  输出1

FB1.YB1~120

FB1.YW1~60

FB1YL1~30

FB1.YF1~30

0x3001~0x303C

~~现场总线~~~~ ~~~~ ~~~~输出~~~~2~~~~~~

~~FB2.YB1~120~~

~~FB2.YW1~60~~

~~FB2~~~~~~~~YL1~30~~

~~FB2.YF1~30~~

~~0x3401~0x343C~~

现场总线  输出3

FB3.YB1~120

FB3.YW1~60

FB3YL1~30

FB3.YF1~30

0x3801~0x383C

~~现场总线~~~~ ~~~~ ~~~~输出~~~~4~~~~~~

~~FB4.YB1~120~~

~~FB4.YW1~60~~

~~FB4~~~~~~~~YL1~30~~

~~FB4.YF1~30~~

~~0x3C01~0x3C3C~~

CC-Link

输出

FB5.YB1~32

FB5.YW1~16

FB5YL1~8

FB5.YF1~8

0x4001~0x4010

现场总线  节点输出

FN1~64.YB1~16

FN1~64.YW1~8

FN1~64.YL1~4

FN1~64.YF1~4

0x5001~0x8F08

特殊(Special)

SPB1~16

SPW1~8

SPL1~4

SPF1~4

0x9001~0x9008

辅助(Auxiliary)

RB1~128

RW1~64

RL1~32

RF1~32

0x9101~0x9140

保留(Keep)

KB1~128

KW1~64

KL1~32

KF1~32

0x9201~0x9240

计时器

TB1~1024

TW1~512

TL1~256

TF1~256

0x9301~0x9500

计数器

CB1~1024

CW1~512

CL1~256

CF1~256

0x9701~0x9900

模拟输出

 

AO1~32

 

 

0x9A01~0x9A20

系统内存

SB1~1024

SW1~512

SL1~256

SF1~256

0xA001~0xA200

共享寄存器

数据内存

MB1~2000

MW1~1000

ML1~500

MF1~500

0xA401~0xA7E8

HRBASIC

V% 变数

 

V%[1~400]

 

 

0xB001~0xB190

RN寄存器

 

RN1~16

 

 

0xC001~0xC010

数据范围 : 0~255

V$ 变数

V$[1~40]

0xD001~0xD2D0

36 字节/V$ → 40 x 36/2 = 720

 

V! 变数

 

 

 

V![1~400]

0xE001~0xE320

IEEE 单精度32bit

浮动小数点

 

n 上表的斜体大号数字表示Modbus使用的继电器组。

 

n 数据类型: 浮动(Float)型除了IEEE单精度32bit 浮动小数点、8/16/32bit除了RN寄存器之外、使用所有带符号整数型。8bit型根据图示板仅能使用读入功能。

 

    继电器字节存储次序使用小字节序。

例如、浮动型YF1=6.515625(0x40D08000)时、YL1=0x40D08000 → YW1=0x8000 YW2=0x40D0 → YB1=0x00YB2=0x80YB3=0xD0YB4=0x40

注意) Modbus传送是16bit排列的大字节序。也就是说、上述发送动作以0x800x00 0x400xD0顺序发生。

 

n Hi4对比变化

追加31bit长精度(Long)型和浮动型、AIAO数以4→32扩展、扩展SPSPBSPWSPLSPF的数(SPW: 2→8)此外、也扩展了SBSWSLSF的数(SW: 256→512)。但MBMWMLMF的大小则变小了。

计时器(Tn)和计数器(Cn)bit数以16bit→32bit扩展。

参照) Tn(Cn)TLn(CLn)的关系

      如果TLn(CLn)的值为0时、Tn(Cn)值为1(激活)

      如果TLn(CLn)的值不是0时、Tn(Cn)的值就会是0

DI/DOX/Y继电器扩展: DI/DO1~256 → 1~4096X/Y1~256 → 1~8192

数量扩展: Bit=2000→2039Reg=125 127

 

 

n 现场总线节点输出人地址: 上级字节会配置节点号(1~64: 0x50~0x8FOffset: 0x50)、下级字节会配置地址(bit: 1~128、单词: 1~8)

例如、

FN1.X1~128: 0x5001~0x5080FN2.X1~128: 0x5101~0x5180FN3.X1~128: 0x5201~0x5280FN4.X1~128: 0x5301~0x5380FN64.X1~128: 0x8F01~0x8F80

FN1.X1~128: 0x5001~0x5080FN2.X1~128: 0x5101~0x5180FN3.X1~128: 0x5201~0x5280FN4.X1~128: 0x5301~0x5380FN64.X1~128: 0x8F01~0x8F80

FN1.XW1~8: 0x5001~0x5008FN2.XW1~8: 0x5101~0x5108FN3.XW1~8: 0x5201~0x5208FN4.XW1~8: 0x5301~0x5308FN64.XW1~8: 0x8F01~0x8F08

 

 

(8)   Hi5控制器继电器结构

 

 

(9)   Hi5控制器输出入数据流

 

 

应用层从HRBasic读取数字输入(DI)值或在数字0(D0)记录值。设备层读取D0输出值。DI/D0的装置驱动层从PLC、输出入监控或Modbus读取值或进行记录。因此根据属性(逻辑、脉冲和延迟)两者之间会存在少许差异。