Profinet总线协议转换网关案例
PROFINET转TCP IP网关profinet通讯协议
远创智控YC-PN-TCPIP 是自主研发的一款 PROFINET 从站功能的通讯网关。该产品主要功能是将 PROFINET 网络和 TCP/IP 网络连接起来。
远创智控YC-PN-TCPIP网关连接到 PROFINET 总线中做为从站使用,连接到 TCP/IP 网络中做为服务器或客户端使用。
下面是简单的配置案例,仅供参考
2, 配置网关的 PROFINET 从站双击网关的图标,进入设备视图,设置网关的 IP 地址、子网掩码、设备名称。
3, 配置读写数据
4, 将程序编译下载即可实现 S7-1200 读写 MODBUS 设备的数据。
网关的 TCP/IP 接口最大支持建立 8 个连接,在下图中分别对应“设备端口 1”~“设备端口 8”。
5, 远端端口:指的是对端 TCP/IP 设备的端口号。远端 IP:指的是对端 TCP/IP
设备的 IP 地址。网关的控制字
网关在 PROFINET 一端配置数据长度时,网关内部占用 3 个字的输出,用于对网关 TCP/IP 一侧通讯的控制。
Word1:发送数据长度,以字节为单位。Word2:通讯控制字,如下表所示:
Word3:定时发送间隔。
Bit15~Bit8 | Bit7 | Bit6 | Bit5~Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
无 | 强制接收完毕 | 强制发送完毕 | 无 | 快速应答模式 | 全双工模式 | 发送方式 | 启动发送 |
D1: auto_txd 发送方式
auto_txd=0:触发发送模式
auto_txd=1:自动定时发送模式
D0: start_tr 启动发送标记
当 auto_txd=0 时是触发模式,此时仅当 start_tr 由 0 变 1(上升沿)时,触发一次发送。
当 auto_txd=1 时是自动发送模式,此时仅当 start_tr= 1 时,网关按照“定时发送间隔”,自动连续发送。
所谓“发送一次”,即启动网关接口发送进程,按照“发送数据长度”中的设置,将PROFINET 输出数据区中数据做为网关发送报文,发送到现场设备。
D1:auto_txd | D0: start_tr | 发送方式 | 总线桥操作 |
0 | 0→1 | 触发模式 | 完成一次发送 |
0 | 其他 | 触发模式 | 不发送 |
1 |
1 |
自动模式 |
按照“定时发送间隔”,自动连续发送 |
1 | 0 | 自动模式 | 不发送 |
D2:全双工模式:是网关和对端设备各自按自己的需要发送数据,互不影响。
D3: 快速应答模式
D7:强置接收完毕/发送允许状态 set_tr
D6:强置等待接收状态 set_re
D7 | D6 | 功能 |
1 | 0 |
“强置接收完毕/发送允许状态set_tr”: 强置 reok_tren=1, 使网关处于”接收完毕/允许发送”状态 |
0 | 1 |
“强置等待接受状态 set_re”: 强置 reok_tren=0, 使网关处于”等待接收”状态 |
0 | 0 | 无作用 |
1 | 1 | 无作用 |
网关的状态字
网关在 PROFINET 一端配置数据长度时,网关内部占用 3 个字的输入,用于显示网关 TCP/IP 一侧通讯的状态。
Word1:接收数据长度,以字节为单位。
Word2:通讯状态字,如下表所示:
Word3:接收计数器,网关每接收到一次新的数据包,计数器加 1。
Bit15~Bit7 | Bit6~Bit4 | Bit2 | Bit1 | Bit0 |
无 | 无 | 正 在接收 | 正 在发送 | 接收完毕/发送允许 |
D0:reok_tren “接收完毕/发送允许”
reok_tren=1:网关接口处在“接收完毕/发送允许”状态; reok_tren=0:网关接口处在“等待接收”状态;
D1:tr_ing “正在发送报文标记” tr_ing=1:网关接口正在发送数据中
tr_ing=0:网关接口不在发送数据中;
D2:re_ing “正在接收报文标记” re_ing=1:网关接口正在接收数据中;
re_ing=0:网关接口不在接收数据中;
D2 | D1 | D0 | 状态 |
0 |
0 |
1 | 网关处在“接收完毕/发送允许”状态,如果”启动发送标记 start_tr”由 0 变 1,则网关转入 D2D1D0=010,即启动发送, 将 PROFINET 输出数据区中的数据发送至 RS232 设备。 |
0 | 1 | 0 | 网关正在向 RS232 设备发送报文数据。 |
0 |
0 |
0 |
网关处在“等待接收“报文状态,即等待接收 RS232 设备发送的数据报文。 |
1 | 0 | 0 | 网关正在接收 RS232 设备发送的报文数据。 |
启动网关的 TCP/IP 客户端
运行 PROFINET 主站软件,如下图进行组态: 输入输出各预留 3 个字的控制字和状态字输入输出各组态 30 个字节的数据。
可以使用定时发送方式,如下图发送数据长度写“4”,控制字写“0x0300”,定时发送间隔写“50”,表示按定时发送方式运行,每 50ms发送一次 4 字节的数据包,也可以按照触发方式发出数据,当每次控制字由“0x0000”变为“0x0100”的时候,数据发出一次。