广数机器人与西门子1200PLC ModbusTCP通讯

您所在的位置:网站首页 发那科机器人与1200通讯 广数机器人与西门子1200PLC ModbusTCP通讯

广数机器人与西门子1200PLC ModbusTCP通讯

2024-07-16 15:43| 来源: 网络整理| 查看: 265

一.广数机器人需要设置的参数

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:

addr[1] = 192

addr[2] = 168

addr[3] = 0

addr[4] = 1

10 …

11

RemotePort

UINT

502

远程连接伙伴的端口号(取值范围:1 - 49151)。

使用客户端通过 TCP/IP 协议与其建立连接并最终通信的服务器的 IP 端口号(默认值:502)。

12 …

13

LocalPort

UINT

0

本地连接伙伴的端口号:

端口号:1 至 49151

任意端口:“0”

2.2mtcp通讯指令程序编写

由于上文已经把机器人配置为服务端,所以PLC段将作为客户端。

下表列出了“MB_CLIENT”指令的参数

参数

声明

数据类型

说明

REQ

Input

BOOL

对 Modbus TCP 服务的 Modbus 查询

REQ 参数受到等级控制。这意味着只要设置了输入 (REQ=true),指令就会发送通信请求。

Modbus 查询开始后,背景数据块将锁定,其它客户端无法使用。

在服务器进行响应或输出错误消息之前,对输入参数的更改不会生效。

如果在 Modbus 请求期间再次设置了参数 REQ,此后将不会进行任何其它传输。

DISCONNECT

Input

BOOL

通过该参数,可以控制与 Modbus 服务器建立和终止连接:

0:与通过 CONNECT 参数组态的连接伙伴(请参见 CONNECT 参数)建立通信连接。

1:断开通信连接。在终止连接的过程中,不执行任何其它功能。成功终止连接后,STATUS 参数将输出值 0003。

而如果在建立连接的过程中设置了参数 REQ,将立即发送 Modbus 请求。

MB_MODE

Input

USINT

选择 Modbus 的请求模式(读取、写入或诊断)或直接选择 Modbus 功能

MB_DATA_ADDR

Input

UDINT

取决于 MB_MODE

MB_DATA_LEN

Input

UINT

数据长度:数据访问的位数或字数(参见“MB_MODE、MB_DATA_ADDR 和 MB_DATA_LEN 参数”)。

MB_DATA_PTR

InOut

VARIANT

指向待从 Modbus 服务器接收的数据或待发送到 Modbus 服务器的数据所在数据缓冲区的指针。

CONNECT

InOut

VARIANT

指向连接描述结构的指针

可以使用以下结构(系统数据类型):

TCON_IP_v4:包括建立指定连接时所需的所有地址参数。使用 TCON_IP_v4 时,可通过调用指令“MB_CLIENT”建立连接。

TCON_Configured:包括所组态连接的地址参数。使用 TCON_Configured 时,将使用下载硬件配置后由 CPU 创建的已有连接。

DONE

Out

BOOL

如果最后一个 Modbus 作业成功完成,则输出参数 DONE 中的该位将立即置位为“1”。

BUSY

Out

BOOL

0:无正在进行的 Modbus 请求

1:正在处理 Modbus 请求

在建立和终止连接期间,不会设置输出参数 BUSY。

ERROR

Out

BOOL

0:无错误

1:出错。出错原因由参数 STATUS 指示。

STATUS

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

40001 到 49999

400001 到 465535

1 到 125

03

在远程地址 0 到 9998 处,读取 1 到 125 个保持性寄存器

在远程地址 0 到 65534 处,读取 1 到 125 个保持性寄存器

0

30001 到 39999

1 到 125

04

在远程地址 0 到 9998 处,读取 1 到 125 个输入字

1

1 到 9999

1

05

在远程地址 0 到 9998 处,写入 1 个输出位

1

40001 到 49999

400001 到 465535

1

06

在远程地址 0 到 9998 处,写入 1 个保持性寄存器

在远程地址 0 到 65534 处,写入 1 个保持性寄存器

1

1 到 9999

2 到 1968

15

在远程地址 0 到 9998 处,写入 2 到 1968 个输出位

1

40001 到 49999

400001 到 465535

2 到 123

16

在远程地址 0 到 9998 处,写入 2 到 123 个保持性寄存器

在远程地址 0 到 65534 处,写入 2 到 123 个保持性寄存器

2

1 到 9999

1 到 1968

15

在远程地址 0 到 9998 处,写入 1 到 1968 个输出位

2

40001 到 49999

400001 到 465535

1 到 123

16

在远程地址 0 到 9998 处,写入 1 到 123 个保持性寄存器

在远程地址 0 到 65534 处,写入 1 到 123 个保持性寄存器

11

执行该功能时,不会评估 MB_DATA_ADDR 和 MB_DATA_LEN 参数。

11

读取服务器的状态字和事件计数器:

状态字反映了处理的状态(0 - 未处理,0xFFFF - 正在处理)

Modbus 请求成功执行时,事件计数器将递增。如果执行 Modbus 功能时出错,则服务器将发送消息,但不会递增事件计数器。

80

-

1

08

通过诊断代码 0x0000 检查服务器状态(返回循环测试 - 服务器发回请求):

每次调用 1 个 WORD

81

-

1

08

通过诊断代码 0x000A 复位服务器的事件计数器:

每次调用 1 个 WORD

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 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3