报文格式回顾
在之前的文章中,我们讨论了如何从站设备中读取数据,并自定义了通讯格式(即报文格式)。这种格式的设计对于成功地从站设备数据读取至关重要。图示1‑A和图示1‑B分别展示了主站向从站发送数据请求的报文结构和从站回应主站的报文结构。报文的具体含义已在先前的文章中详细解释。现在,我将进一步展示从站设备的程序编写和演示。
图 1‑A
图 1‑B
2. 程序编写
此次的程序较之前更为复杂。我首先向大家介绍程序的结构。该程序结构为主程序调用接收完成中断和发送完成中断的组合。在接收完成中断中,将调用一个专门处理如何响应主程序请求的子程序。
图 2‑A为主程序的流程图。
图 2‑B为接收完成中断的逻辑图。
而关于子程序read,我们将通过图2-C至图2-H进行详细展示。
图 2‑C 至 图 2‑H:子程序read的详细流程图
图 2‑I则描绘了发送完成中断的逻辑。
图 2‑I
3. 程序演示
现在,我们将通过电脑向S7-200 PLC发送一组报文,以查询PLC中的VB300、VB301、VB302、VB303、VB304、VB305、VB306共七个字节的数据。为了清晰展示,我们为这些字节设定了特定的十六进制数据内容。
图 3‑A
步骤二:设定好要发送的报文内容,如图 3‑B所示。
图 3‑B
步骤三:主站发送查询请求,并接收到从站返回的数据,整个过程如图 3‑C所示。
图 3‑C