赞
踩
一.广数机器人需要设置的参数
1.0开启扩展接口,进入 系统设置>应用配置中确认“开启扩展接口功能”为“开”。
协议配置,进入{应用}>>{协议设置}确认“机器人通信选择”为“MODBUS 协议”。
1.1打开菜单界面进入{系统设置}>>{网络设置}功能界面,配置 MODBUS_TCP 通讯
机器人本机的网络参数。
机器人设置需要管理模式
注:所改参数设置完成后,系统重启后才会生效
1.2机器人modbus_tcp通讯设置,进入{系统设置}>>{网络设置}功能界面,按示教盒[SHIFT]+[前进]
键翻页,按[↑][↓]方向键移动黄色光标,将光标移动到“SOCKET 号”输入框上,按[选择]键将参数进行修改。
注:如果一个PLC和多台Robot通讯需要设置不同的MAC地址。
1.3modbus设置,完成基本设置与以太网设置后,MODBUS 通讯连接的最终参数设置在{应用}>>{Modbus 设置}中,此处可设置机器人 MODBUS_TCP 通讯是作为主站还是从站、从站 ID、轮询周期等通讯信息,设置完成后,即可与其他设备进行通讯连接(如果机器人作为从站可跳过1.3)。
注:机器人作为 MODBUS_TCP 从站时,主站轮询周期、主站 I/O 起始地址、主站 I/O 个数、主站变量起始地址、主站变量个数、轮询选择开关功能设置无效。
二.1200PLC需要配置的参数
2.1 通讯连接数据块定义
需要创建一个TCON_IP_v4类型的数据
对于 CONNECT 参数的设定连接,使用以下结构的 TCON_IP_v4 描述连接
确保仅在 TCON_IP_v4 结构中指定了 TCP 类型的连接。
该连接不能使用下列 TCP 端口号:20、21、25、80、102、123、5001、34962、34963 和 34964。
字节 | 参数 | 数据类型 | 起始值 | 说明 |
---|---|---|---|---|
0 … 1 | InterfaceID | HW_ANY | - | 本地接口的硬件标识符(值范围:0 到 65535)。 |
2 … 3 | ID | CONN_OUC | - | 引用该连接(取值范围:1 到 4095)。 该参数将唯一确定 CPU 中的连接。指令“MB_CLIENT”的每个实例都必须使用唯一的 ID。 |
4 | ConnectionType | BYTE | 11 | 连接类型 对于 TCP,选择 11(十进制)。不允许使用其它连接类型。如果使用了其它连接类型(如 UDP),该指令的 STATUS 参数将输出相应的错误消息。 |
5 | ActiveEstablished | BOOL | TRUE | 建立连接的方式所对应的 ID 对于主动连接建立,应选择 TRUE。 |
6 … 9 | RemoteAddress | ARRAY [1..4] of BYTE | - | 连接伙伴(Modbus 服务器)的 IP 地址,例如,192.168.0.1:
|
10 … 11 | RemotePort | UINT | 502 | 远程连接伙伴的端口号(取值范围:1 - 49151)。 使用客户端通过 TCP/IP 协议与其建立连接并最终通信的服务器的 IP 端口号(默认值:502)。 |
12 … 13 | LocalPort | UINT | 0 | 本地连接伙伴的端口号:
|
2.2mtcp通讯指令程序编写
由于上文已经把机器人配置为服务端,所以PLC段将作为客户端。
下表列出了“MB_CLIENT”指令的参数
参数 | 声明 | 数据类型 | 说明 |
---|---|---|---|
Input | BOOL | 对 Modbus TCP 服务的 Modbus 查询 REQ 参数受到等级控制。这意味着只要设置了输入 (REQ=true),指令就会发送通信请求。
| |
Input | BOOL | 通过该参数,可以控制与 Modbus 服务器建立和终止连接:
而如果在建立连接的过程中设置了参数 REQ,将立即发送 Modbus 请求。 | |
Input | USINT | 选择 Modbus 的请求模式(读取、写入或诊断)或直接选择 Modbus 功能 | |
Input | UDINT | 取决于 MB_MODE | |
MB_DATA_LEN | Input | UINT | 数据长度:数据访问的位数或字数(参见“MB_MODE、MB_DATA_ADDR 和 MB_DATA_LEN 参数”)。 |
InOut | VARIANT | 指向待从 Modbus 服务器接收的数据或待发送到 Modbus 服务器的数据所在数据缓冲区的指针。 | |
InOut | VARIANT | 指向连接描述结构的指针 可以使用以下结构(系统数据类型):
| |
DONE | Out | BOOL | 如果最后一个 Modbus 作业成功完成,则输出参数 DONE 中的该位将立即置位为“1”。 |
BUSY | Out | BOOL |
在建立和终止连接期间,不会设置输出参数 BUSY。 |
ERROR | Out | BOOL |
|
Out | WORD | 指令的详细状态信息。 |
下表列出了“MB_CLIENT”指令中输入参数 MB_MODE、MB_DATA_ADDR 和 MB_DATA_LEN 与相关 Modbus 功能的关系
MB_MODE | MB_DATA_ADDR | MB_DATA_LEN | Modbus 功能 | 功能和数据类型 |
---|---|---|---|---|
0 | 1 到 9999 | 1 到 2000 | 01 | 在远程地址 0 到 9998 处,读取 1 到 2000 个输出位 |
0 | 10001 到 19999 | 1 到 2000 | 02 | 在远程地址 0 到 9998 处,读取 1 到 2000 个输入位 |
0 |
| 1 到 125 | 03 |
|
0 | 30001 到 39999 | 1 到 125 | 04 | 在远程地址 0 到 9998 处,读取 1 到 125 个输入字 |
1 | 1 到 9999 | 1 | 05 | 在远程地址 0 到 9998 处,写入 1 个输出位 |
1 |
| 1 | 06 |
|
1 | 1 到 9999 | 2 到 1968 | 15 | 在远程地址 0 到 9998 处,写入 2 到 1968 个输出位 |
1 |
| 2 到 123 | 16 |
|
2 | 1 到 9999 | 1 到 1968 | 15 | 在远程地址 0 到 9998 处,写入 1 到 1968 个输出位 |
2 |
| 1 到 123 | 16 |
|
11 | 执行该功能时,不会评估 MB_DATA_ADDR 和 MB_DATA_LEN 参数。 | 11 | 读取服务器的状态字和事件计数器:
| |
80 | - | 1 | 08 | 通过诊断代码 0x0000 检查服务器状态(返回循环测试 - 服务器发回请求):
|
81 | - | 1 | 08 | 通过诊断代码 0x000A 复位服务器的事件计数器:
|
101 | 0 到 65535 | 1 到 2000 | 01 | 在远程地址 0 到 65535 处,读取 1 到 2000 个输出位 |
102 | 0 到 65535 | 1 到 2000 | 02 | 在远程地址 0 到 65535 处,读取 1 到 2000 个输入位 |
103 | 0 到 65535 | 1 到 125 | 03 | 在远程地址 0 到 65535 处,读取 1 到 125 个保持性寄存器 |
104 | 0 到 65535 | 1 到 125 | 04 | 在远程地址 0 到 65535 处,读取 1 到 125 个输入字 |
105 | 0 到 65535 | 1 | 05 | 在远程地址 0 到 65535 处,写入 1 个输出位 |
106 | 0 到 65535 | 1 | 06 | 在远程地址 0 到 65535 处,写入 1 个保持性寄存器 |
115 | 0 到 65535 | 1 到 1968 | 15 | 在远程地址 0 到 65535 处,写入 1 到 1968 个输出位 |
116 | 0 到 65535 | 1 到 123 | 16 | 在远程地址 0 到 65535 处,写入 1 到 123 个保持性寄存器 |
3 到 10、12 到 79、82 到 100、107 到 114、117 到 255 | 预留 |
三.待完善。。。。。。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。