2023德国西门子S7-300PLC西门子广西玉林市总代理
图. 03: PROFINET IO 设备 ET 200S 的输入/输出地址区:
终的地址区是:
输入: 0-23 = 24 字节
输出: 0-20 = 21 字节
用户程序描述:
在这个例子中, 一个 CP343-1 Lean 被用作连接一个作为 PROFINET IO 设备的S7-300 站到一个PROFINET IO 系统中。字节 MB0 被定义成 S7-300 CPU 时钟位。STEP 7 程序包括 OB1, FB100,DB30, DB31, DB12, FC11 and FC12.
OB1
OB1 被循环调用。 在这个OB中, FB100 (实例 DB: DB100)被调用。
图. 04: OB1
FB100
FB100 被调用在 OB1 中。 在这个 FB 中,FC11 “PNIO_SEND” 和 FC12 “PNIO_RECV”被调用。
图. 05: 调用 FC11 "PNIO_SEND"
图. 06: 调用 FC12 "PNIO_RECV"
输入参数 MODE=0, 因为通讯处理器仅被用作 PROFINET IO 设备。如果通讯处理器被用作 PROFINETIO 控制器和 PROFINET IO 设备,那么输入参数 MODE=1。
输入通讯功能参数 CPLADDR 是你的 PROFINETIO 设备的模块地址。你从硬件组态中可以得到它,在工业以太网通讯模块 -> “ 地址” 标签 (参看 图.06)。在这个例子中, CP343-1 Lean 模块地址是 256dec = 100hex.。
FC11 “ PNIO_SEND” 的输入参数 LEN 是你组态的 CP343-1 Lean (24 字节)的输入地址区的长度。 这段数据长度被为 FC11 “PNIO_SEND” 发送数据的 LEN参数。这段数据必须与已组态的的输入 (24 字节) 保持一致。
FC12 “ PNIO_RECV” 的输入参数 LEN 是你组态的 CP343-1 Lean (20 字节) 的输出地址区的长度。这段数据长度被为 FC12 “PNIO_RECV” 发送数据的 LEN 参数。这段数据必须与已组态的的输出 (20字节)保持一致。
发送接收缓冲区 (例如 数据块)包含了被发送和接收的数据,长度至少要和被定义的发送和接收数据一样长。在这个例子中,DB 包含的发送数据长度必须大于等于24 字节并且 DB 包含的接收数据长度必须大于等于 20 字节。
图. 07: CP343-1 Lean 的属性对话框-> “ 地址” 标签
FC11 “PNIO_SEND” 和 FC12 “PNIO_RECV”的输出参数 “DONE”、“NDR”、“ERROR” 和 “STATUS”是通讯功能块的工作标示位。
如果发送任务成功完成,那么 FC11 “PNIO_SEND”的 “DONE”将被置位。
如果接收任务成功完成 (例如:数据被接收到) ,那么 FC12 “PNIO_RECV”的 “NDR”将被置位。
如果 FC11 “PNIO_SEND” 和 FC12 “PNIO_RECV”由于错误而结束,可通过状态字进行错误分析。