PLC:S7-300/400通过程序组态 创建以太网通讯模块 IP

说明

在某些应 用领域,在特定应用程序中建立通信连接或创建程序控制的 IP 组态比通过STEP 7组态界面进行这些操作更具优势。

例如,大量机器制造商是发现这一优势的典型用户,他们要为客户提供简单的用户界面,但需要调整通信服务以适应操作员输入。最终用户不需 要STEP 7 的知识。对于此类应用,函数块FB55 “IP_CONFIG” 可用于在 SEND/RECEIVE 接口上建立连接以及用于IP 组态。使用FB55 “IP_CONFIG” 可灵活地将含组态数据的数据块传送到以太网 CP。

实现步 骤

在硬件组态中明确指定使用用户程序设置 IP 地址而不是通过硬件组态,如图1。

PLC:S7-300/400通过程序组态 创建以太网通讯模块 IP

图1

模块的访问保护需要设置为 “Not locked” ,才可以保证函数的正常执行,如图2。完成硬件组态下载后,CP 卡处于 STOP 状态。

PLC:S7-300/400通过程序组态 创建以太网通讯模块 IP

图2

手动创建组 态数据块 (CONF_DB),数据块包含以太网CP 的所有连接数据和组态数据 (IP 地址、子网掩码、默认路由器、NTP 时间服务器和其它参数)。如图3,数据块分为两部分内容,CP 系统参数域和连接的参数域。每个部分都可以根据具体使用包含若干的子域,子域中定义具体的参数。

PLC:S7-300/400通过程序组态 创建以太网通讯模块 IP

图3 CP 系统参数域的结构以及可用的子域的类型如图4,图5。

PLC:S7-300/400通过程序组态 创建以太网通讯模块 IP

图4

PLC:S7-300/400通过程序组态 创建以太网通讯模块 IP

图5以 TCP 连接为例,连接的参数域结构以及可用的子域类型如图6,图7。

PLC:S7-300/400通过程序组态 创建以太网通讯模块 IP

图6

PLC:S7-300/400通过程序组态 创建以太网通讯模块 IP

图7子域的结构,如图8,此处以子网掩码 “SUBNET_MASK” 子域为例。不同的子域类型,结构不同,详细的内容请参考以下下载条目:62543517。

PLC:S7-300/400通过程序组态 创建以太网通讯模块 IP

例程中,根据所用子域的类型生成了 UDT1/UDT2/UDT3,手动创建DB2 作为 “CONF_DB”,DB2 中用相应的 UDT 创建了子域。 为 CP 卡分配 IP: 192.168.0.100,并创建 TCP 连接,作为 TCP 连接的服务器端,见图9

图09

PLC:S7-300/400通过程序组态 创建以太网通讯模块 IP

图10

组态数据块通过函数块FB55 “IP_CONFIG” 传送到CP,“IP_CONFIG” 的工作过程如图12,参数传送需要若干周期,所以建议在 OB1 中调用;当任务结束后,“DONE” 会置位一个周期,表示分配成功。参数传送完成后,CP 卡指示灯 RUN 恢复正常。

PLC:S7-300/400通过程序组态 创建以太网通讯模块 IP

图11

PLC:S7-300/400通过程序组态 创建以太网通讯模块 IP

图12

使用 TCP 调试工具检查连接状态,如图13,图14,连接建立,数据传输正常。

PLC:S7-300/400通过程序组态 创建以太网通讯模块 IP

图13

PLC:S7-300/400通过程序组态 创建以太网通讯模块 IP

图14

注意:

  • 支持函数块FB55 “IP_CONFIG”的以太网模块
  • 不能同时使用PROFINET IO,如果要将设备用作PROFINET IO 控制器或IO 设备,则不能按此处所述使用FB55 建立连接。
  • S7 连接不能通过FB55 建立。
  • 使用组态DB 传送的数据将存储在CP 上的易失存储器中,所以在断电之后数据丢失,上电后必须重新将其传送给 CP!
  • 本例程仅作为使用参考,不能直接用于工程!

每天学习一篇,成就工控达人!

学习PLC,从关注我开始!


分享到:


相關文章: