S7-1200与S7-300400的Ethernet交互之谜解密CAN协议帧的秘密通讯策略

  • 学术交流
  • 2024年12月21日
  • 创建项目,命名为PLC_HMI。S7-300主站与多个S7-1200从站之间通过工业以太网(IE)进行确定性数据传输,以实现如时间同步等功能。在确保数据的可靠传输方面,主站会逐一与每个从站建立连接。任务A中,使用S7通信块,而任务B中则采用开放式TCP/IP(T通信)的方式进行数据交换。 图01展示了两种任务的配置示例,其中S7-300主站负责与两个S7-1200从站的互动。 在这个过程中

S7-1200与S7-300400的Ethernet交互之谜解密CAN协议帧的秘密通讯策略

创建项目,命名为PLC_HMI。S7-300主站与多个S7-1200从站之间通过工业以太网(IE)进行确定性数据传输,以实现如时间同步等功能。在确保数据的可靠传输方面,主站会逐一与每个从站建立连接。任务A中,使用S7通信块,而任务B中则采用开放式TCP/IP(T通信)的方式进行数据交换。

图01展示了两种任务的配置示例,其中S7-300主站负责与两个S7-1200从站的互动。

在这个过程中,S7-300紧凑型CPU315-2PN/DP使用STEP7 V5.4 + SP5 + HF1编程环境来构建用户界面,而S7-1200紧凑型则依赖于STEP7 Basic V10.5 SP2。

2. 自动化解决方案

解决方案A:基于SIMATIC SFC (函数块) 的通信

利用STEP 7 V5.4中的NetPro环境,可以组态一个最大14个连接的网络,这取决于所选用的CPU类型。在这种情况下,我们可以看到CPU315-2PN/DP支持最多14个连接。然而,对于其他类型的CPU,如用于此示例中的CPU400,每个连接都需要一个固定的ID,而不能像对于CPU 300那样被动服务器提供动态更改ID。

图02显示了主机和客户端之间发送和接收数据块(Send_DB 和 Receive_DB)。当接收到同步指令后,主机读取系统时间,并通过PUT块将该信息和用户数据发送给第一个客户端,从而开始基于SIMATIC SFC (函数块) 的通信。此时,将系统时间与来自主机的日时钟信号进行同步,然后使用GET块获取第一个客户端上的用户数据并存储在相关位置上。在完成所有后续客户端之间的交换之后,该流程重复执行,最终返回到第一个客户端。

解决方案B:T 通信

为了实现基于TCP/IP协议栈对话 SIMATIC设备,可以利用T通讯模块(TCON、TSEND、TRCV 和 TDISCON),这是一种开源技术允许不同的设备间进行高效且灵活地消息传递。

图03展示了如何设置T通讯模块,在其中选择“ISO-on-TCP”作为我们的协议。这使得操作更加直观,因为它提供了一套面向消息的事务模型,这对于跨不同Simatic系统交流非常有用。在STEP 7 V5.4 中,我们可以利用“开放式通信向导”(OC向导) 来配置这些连接,它保持每次新添加伙伴时更新的一个连接资源,并创建相应的一系列连结参数表格。伙伴通过IP地址识别彼此,而不需要手动输入任何静态或预先定义好的值。这意味着我们可以一次性处理超过8个伙伴,同时维持相同数量的人员参与进来。

同样地,在图03中,我们看到了包含Send_DB 和 Receive_DB 数据库结构,以及各自对应于特定步骤执行操作所需的一些关键功能。一旦请求建立链接成功,就会确认其有效性。当出现同步作业时,根据需求调整本地时间,并通过 TSEND 块将当前状态及额外信息发送至远方节点。此过程反之亦然,即由远方节点发回其自身状态信息供本地接受处理,此同时也会被用来进一步更新本地数据库内容。此循环持续迁移至最后一位未涉及者之前再次重新回到第一位已涉及者处继续运行完剩余部分工作流程结束后整个系统进入休眠状态以待下一次启动前准备好重新开始这一完整周期。但请记住,只要至少存在一些仍未完全完成他们自己的周期的人员,那么至少有一人总是已经准备好成为下一步行动目标。如果某个人已经完成他的部分并且不是最后一个人,则他将自动转变成第二阶段计划中的首要人物。但如果没有这样一个人,则整个团队必须继续寻找新的候选人,即那些尚未完成他们分配给自己任务的人类成员。如果没有找到这样的角色,则只有领导才能决定是否应该停止活动并解散小组或者继续等待可能出现的情况发生——即有人发现隐藏起来或暂时放弃他们正在执行的事情,从而能够加入现有的集体并帮助带领它取得成功;或者,如果领导认为如此做符合最佳利益,他们可能决定引入新的成员或改变策略以适应不断变化的情况。而无论哪一种选择都会导致团队内部产生一定程度上的不稳定,因为它们通常代表着重要变化,而且由于这些行为通常不会突然发生,因此很难预测它们何时以及如何影响最终结果。

猜你喜欢