西门子模块6ES7516-3AN01-0AB0
无论是组成MPI还是RPOFIBUS-DP网络,用到的主要部件都是一样的:
具体电缆及接头订货号请参看:常用附件订货号
A. 电缆和剥线器。使用FC技术不用剥出裸露的铜线。
图1. 剥好一端的PROFIBUS电缆与快速剥线器(FCS,订货号6GK1905-6AA00)。
B. 打开PROFIBUS网络连接器。首先打开电缆张力释放压块,然后掀开芯线锁。
图2. 打开的PROFIBUS连接器
C. 去除PROFIBUS电缆芯线外的保护层,将芯线按照相应的颜色标记插入芯线锁,再把锁块用力压下,使内部导体接触。应注意使电缆剥出的屏蔽层与屏蔽连接压片接触。
CPU不需要进行通信编程。PUT/GET 指令中TABLE 参数用于定义远程CPU的 IP地址、本地CPU和远程 CPU的数据区域以及通信长度(TABLE 参数定义见 表 2)。
表 1 PUT和GET 指令:
LAD/FBD |
STL |
描述 |
|
PUT TABLE |
PUT 指令启动以太网端口上的通信操作,将数据写入远程设备。PUT 指令可向远程设备写入多 212 个字节的数据。 |
|
GET TABLE |
GET 指令启动以太网端口上的通信操作,从远程设备获取数据。GET 指令可从远程设备读取多 222 个字节的数据。 |
表 2 PUT和GET 指令的TABLE参数定义:
字节偏移量 |
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
0 |
D1 |
A2 |
E3 |
0 |
错误代码4 |
|||
1 |
远程 CPU的 IP地址 |
|||||||
2 |
||||||||
3 |
||||||||
4 |
||||||||
5 |
预留(必须设置为0) |
|||||||
6 |
预留(必须设置为0) |
|||||||
7 |
指向远程 CPU 通信数据区域的地址指针 |
|||||||
8 |
||||||||
9 |
||||||||
10 |
||||||||
11 |
通信数据长度5 |
|||||||
12 |
指向本地 CPU 通信数据区域的地址指针 |
|||||||
13 |
||||||||
14 |
||||||||
15 |
1 D :通信完成标志位,通信已经成功完成或者通信发生错误。
2 A :通信已经激活标志位。
3 E :通信发生错误,错误原因需要查询 错误代码4。
4 错误代码 :见表 3 PUT 和 GET 指令TABLE 参数的错误代码。
5 通信数据长度 :需要访问远程 CPU通信数据的字节个数,PUT 指令可向远程设备写入多 212 个字节的数据,GET 指令可从远程设备读取多 222 个字节的数据。
表 3 PUT 和 GET 指令TABLE 参数的错误代码:
错误代码 |
描述 |
0 |
通信无错误 |
1 |
PUT/GET TABLE参数表中存在非法参数:
|
2 |
同一时刻处于激活状态的 PUT/GET 指令过多(仅允许 16 个) |
3 |
无可以连接资源,当前所有的连接都在处理未完成的数据请求(S7-200 SAMRT CPU主动连接资源数为 8 个)。 |
4 |
从远程 CPU 返回的错误:
|
5 |
与远程 CPU 之间无可用连接:
|
6-9 |
预留 |
通信资源数量
S7-200 SMART CPU 以太网端口含有 8 个PUT/GET 主动连接资源和 8 个PUT/GET 被动连接资源。例如:CPU1 调用 PUT/GET 指令与 CPU2 ~ CPU9 建立8主动连接的同时,可以与 CPU10 ~ CPU17 建立8被动连接(CPU10 ~ CPU17 调用 PUT/GET 指令),这样的话 CPU1 可以同时与16台 CPU(CPU2 ~ CPU17)建立连接。关于主动连接资源和被动连接资源的详细解释如下:
1、主动连接资源和被动连接资源
2、8 个PUT/GET 主动连接资源
3、8 个PUT/GET 被动连接资源
在下面的例子中,CPU1 为主动端,其 IP 地址为192.168.2.100,调用 PUT/GET 指令;CPU2 为被动端,其 IP 地址为192.168.2.101,不需调用 PUT/GET 指令,网络配置见图 1 。通信任务是把 CPU1 的实时时钟信息写入 CPU2 中,把CPU2 中的实时时钟信息读写到 CPU1 中。
图 1 CPU通信网络配置图
1、CPU1 主动端编程
CPU1 主程序中包含读取 CPU 实时时钟、初始化 PUT/ GET 指令的 TABLE 参数表、调用 PUT 指令和 GET 指令等。
网络1:读取 CPU1 实时时钟,存储到 VB100 ~ VB107 。
图 2 读取 CPU1 实时时钟
注:READ_RTC 指令用于读取 CPU 实时时钟指令,并将其存储到从字节地址 T 开始的 8 字节时间缓冲区中,数据格式为 BCD 码。
网络2:定义 PUT 指令 TABLE 参数表,用于将 CPU1 的VB100 ~ VB107 传输到远程 CPU2 的VB0 ~ VB7。
图 3 定义 PUT 指令 TABLE 参数表
网络3:定义 GET 指令 TABLE 参数表,用于将远程 CPU2 的VB100 ~ VB107 读取到 CPU1 的 VB0 ~ VB7。
西门子模块6ES7516-3AN01-0AB0
装置 SITOP电源电线电缆数控备件伺服电机等工控产品,我们公司在价格上有较大优势,更注重售后服务,现有大量现货销售,欢迎您。
这些功能码是对四个数据区位输入、位输出、寄存器输入、寄存器输出进行访问的,如图 4 所示。
图4 访问的数据区
Modbus地址由起始的数据类型代号和地址偏移量组成。功能码决定对Modbus地址进行操作类型,其可根据需要传输的数据类型和个数来决定,如图 5 所示。
图5 MODBUS 地址对应关系
注意:在传输消息桢中,用户使用的地址是0为基准,而对应的Modbus地址是1为基准,如FC16功能码时以16进制的0000为起始地址,对应的寄存器是从40001开始。
MODBUS RTU 传输模式:消息桢中的每个8位分成2个4位16进制的字符。
每个字符帧格式(11位),如图 6 所示。
图6 字符帧格式
注意:如果无奇偶校验位,停止位是2位。
消息帧格式,如图 7 所示。