EtherNet/IP总线驱动器通信规格及主机设置示例
本文适用于鸣志(moons)STF05-IP、STF10-IP、SSDC05-IP、SSDC10-IP等总线驱动器型号。
EtherNet/IP通信规格
连接接口 |
RJ-45 * 2 |
标准的双以太网口 |
传输速率 |
100Mbps |
百兆传输速率 |
支持功能 连接类型 |
Class1 |
useful for high bandwidth tasks such as monitoring specific functions of the drive 隐式报文通信用,实时性高,周期通信 |
Class3 |
显式报文通信用,客户端发送指令,建立请求设备和应答设备之间的连接,连接会一直保持,直到主动发指令关闭 |
|
UCCM |
Unconnect Message Manager 显示报文通信用,请求设备和应答设备之间不组成连接,效率高,但是可靠性低 |
|
通信周期(RPI) |
|
|
触发 |
Cyclic |
|
EtherNet/IP2.0
为什么会有EIP V1和V2两个版本?
1. 早期版本,只支持ST和STA05型号的驱动器
2. EIP V1支持显示消息和隐性消息,但是没有outputassembly
3. EIP V1没有完全通过ODVA测试
4. EIP V2完美的解决了上述问题,并且优化了功能;EIP V2完全兼容EIP V1的产品
EIP V1和EIP V2的区别
隐式报文(Implicit Message)(Class1)
隐式报文通讯:周期性的执行数据通讯,一般适用于传输对时间有苛求的数据。隐式报文数据一般通过Class1连接传输。
Class1连接时,包含的对象如下:
对象Object ID |
功能 Function |
详细解释 Notes |
|
Hex |
Decimal |
||
0x64 |
100 |
Input Assembly(EIP V1) |
监控驱动器的状态等EIP V1 |
0x65 |
101 |
Input Assembly (EIP V2) |
监控驱动器的状态等EIP V2 |
0x66 |
102 |
Configuration |
配置通信参数,例如RPI,数据长度等 |
0x67 |
103 |
Heartbeat Input Only Assembly |
心跳报文,表明驱动器处于在线状态 |
0x68 |
104 |
Heartbeat Listen Only Assembly |
心跳报文,表面主机处于在线状态 |
Input Assembly(0x64)
EIP V1对应0x64(100),SIZE=30bytes
EIP V2对应0x65(101),SIZE=56bytes
元素 Element |
各元素的描述 Field Descriptor |
Length (bytes) EIP V1 |
Length (bytes) EIP V2 |
单位 Units |
0 |
状态字Status Word (SC) |
4 |
4 |
|
1 |
报警代码Alarm Code (AL) |
2 |
4 |
|
2 |
供电电压 Supply Voltage |
2 |
4 |
0.1VDC |
3 |
实际电流 Actual Current (IC) |
2 |
4 |
mA |
4 |
驱动器温度 Drive Temperature (IT) |
2 |
4 |
0.1 deg C |
5 |
编码器位置 Encoder Position(EP) |
4 |
4 |
counts |
6 |
绝对位置 Absolute Position (SP) |
4 |
4 |
counts |
7 |
实际速度 Actual Velocity (IV) |
2 |
4 |
rev/s *240 |
8 |
输入状态 Input Status(extended)(IS) |
2 |
4 |
|
9 |
输入状态 Input Status(mainboard)(ISX) |
2 |
4 |
|
10 |
输出状态 Output Status (IO) |
2 |
4 |
|
11 |
(Reserved) |
未对应 |
4 |
|
12 |
Analog In1 (0=min V,16383=max V) |
未对应 |
4 |
ADC counts |
13 |
Analog In2 (0=min V,16383=max V) |
未对应 |
4 |
ADC counts |
注意:所有数据都是按照小端字节格式发送(Little Endian),数据需要进行转换
转换如下(以IP地址为例)
驱动器的IP地址 : 192.168.0.40
转换成ASCII :C0 A8 00 28
进行转换:2800 A8 28
举例:一个完整的消息数据包解析(EIP V2):
Output Assembly(0x70)
只有EIP V2才有output对应。SIZE=64bytes
元素 Element |
各元素的描述 Field Descriptor |
Length (bytes) EIP V2 |
单位 Units |
0 |
命令字Command Word |
4 |
|
1 |
点动速度Jog Speed (JS) |
4 |
0.25rev/min |
2 |
点动加速度Jog Accel (JA) |
4 |
10 rev/s/s |
3 |
点动减速度JogDecel (JL) |
4 |
10 rev/s/s |
4 |
定位速度 Velocity(VE) |
4 |
0.25rev/m |
5 |
加速度 Acceleration (AC) |
4 |
10rev/s/s |
6 |
减速度 Deceleration(DE) |
4 |
10rev/s/s |
7 |
目标位置 Distance (DI) |
4 |
Steps |
8 |
电流命令Current Command(Only Servo and Step Servo) |
4 |
0.01A |
9 |
SCL Command Letters |
4 |
ASCII |
10 |
DATA/ SCL Register1 |
4 |
|
11 |
DATA/ SCL Register2 |
4 |
|
12 |
(Reserved) |
4 |
|
13 |
(Reserved) |
4 |
|
14 |
(Reserved) |
4 |
|
15 |
(Reserved) |
4 |
|
命令字Command Word:赋不同的值,执行不同的操作
位 BIT |
数值 Command Value |
详细描述 Description |
0 |
0x0 |
Idle State,发送下一次重复命令时,发送0x0 |
1 |
0x2 |
驱动器使能Enable |
2 |
0x4 |
驱动器去使能Disable |
3 |
0x8 |
启动相对定位FL |
4 |
0x10 |
启动绝对定位FP |
5 |
0x20 |
启动定位FS |
6 |
0x40 |
启动定位FD |
7 |
0x80 |
启动定位FY |
8 |
0x100 |
启动定位FM |
9 |
0x200 |
启动定位FO |
10 |
0x400 |
启动定位FC |
11 |
0x800 |
启动回零SH |
12 |
0x1000 |
启动FH |
13 |
0x2000 |
启动FE |
14 |
0x4000 |
停止Stop/Kill-AM, 以最大加速度停止 |
15 |
0x8000 |
停止Stop/Kill-DE,以设定的加减速停止 |
16 |
0x10000 |
开始点动Start Jogging |
17 |
0x20000 |
更新点动速度Updata Jog Speed |
18 |
0x40000 |
发送主机命令 Send Host Command |
19 |
0x80000 |
执行Q程序Q Load & Execute(QX) |
20 |
0x100000 |
错误复位Alarm Reset-AR |
例子Sample Moves
使能操作Motor Enable
1. Assemblyelement0:命令字Command Word=0x2
2. Assemblyelement0:Command Word=0x0(Idle State)
1. Assemblyelement0:命令字Command Word=0x4
2. Assemblyelement0:Command Word=0x0(Idle State)
相对定位/绝对定位Motor Move(FP/FL)
1. Assemblyelement4:设置速度Velocity
2. Assemblyelement5:设置加速度Acceleration、
3. Assemblyelement6:设置减速度Deceleration
4. Assemblyelement7:设置距离Distance
5. Assemblyelement0:执行相对定位:Command Word=0x8,或者执行绝对定位Command Word=0x10
6. Assemblyelement0:停止Command Word=0x4000(或者0x8000)
7. Assemblyelement0:Command Word=0x0(Idle State)
执行Q程序段Q Load&Execute(QX)
1. Assemblyelement10:设定要执行的程序段编号
2. Assemblyelement0:执行Q程序,Command Word=0x80000
3. Assemblyelement0:Command Word=0x0(Idle State)
错误复位Alarm Reset
1. Assemblyelement0:执行错误复位Command Word=0x100000
2. Assemblyelement0:Command Word=0x0(Idle State)
执行主机命令Host Command
1. Assemblyelement9:SCL Command-以ASCII形式保存再低16bit
2. Assemblyelement10:主机命令相关的参数1,Data/SCL Register1
3. Assemblyelement11:主机命令相关的参数2,Data/SCL Register2
主机命令 Implicit Host Commands
显性消息Explicit Message
鸣志驱动器支持两种显性报文格式:Type1&Type2;他们都支持通过Class3和UCCM连接;两种报文都有消息响应。
类型Type |
特性Features |
Type1 Message |
1. 包含了大部分的SCL的buffer指令; 2. 与outputassembly有大量重叠 3. 不支持查询 4. 立即指令无法封装到Type1message |
Type2 Message |
1. 支持立即指令 2. 唯一的方式查询节点数据(如果不是通过outputassembly) |
Type1 Message Format
报文格式:
Opcode编码可以直接查询Host Command
注意:
AC、DE的单位 10rev/s/s
VE的单位 0.25rev/m
Type2 Message Format
报文格式: