news 2026/5/23 16:21:05

PLC通讯编程系列之一,为什么复位发送请求信号要在发送块的前面?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PLC通讯编程系列之一,为什么复位发送请求信号要在发送块的前面?

系列帖前言

不知道诸位同仁有没有这样的感觉,我们自己做通讯时发现通讯正常,但是过一段时间通讯又不正常了。由于通讯程序中的信号大多只维持一个扫描周期,所以即使经过很长时间的查找,又很难找到程序到底哪里有问题。我做通讯程序比较多,我是有这样的感受。于是为了调试通讯程序,干脆做了日志,记录每个收发,记录每个需要发送的位置的事件。下图就是一个通讯日志。

通过日志中事件发生的先后顺序用以推断、猜测程序到底哪里出了问题。本篇重点不在如何做日志,当然,如果诸位同仁有兴趣,我也可以单独写一篇如何在复杂通讯程序中做日志。

在查看日志的过程中,我发现我的通讯程序有诸多bug。其中之一就是今天要写的主题。

这个系列的文档除了这篇外,还有至少4篇也是属于这个系列的。分别是

《通讯中的AA》、《通讯中的轮询》、《通讯编程的层次》、《通讯编程要注意容错》。在编程通讯代码的时候,如果能注意这些问题,那么通讯编程将会无往不利。

这里的通讯可以是以太网通讯,也可以是自由编程的通讯。在很多层次上,道理是相通的。

本系列帖以SIEMENS的1200,1500PLC为背景进行讨论。

另外还想说,以我多年PLC编程经验,我有一个感受。PLC编程有2个难点,一个就是较复杂的通讯。另外一个就是较复杂的MC编程。这2类编程有个特点,就是信号变化的特别快,靠肉眼观察信号的变化调试程序是不可能的。这个特点在通讯的编程里面尤其突出。

较复杂的意思就是比如让你编一个简易的PROFINET主站的程序。而不是去用西门子已经固化在CPU网口的PN协议。有人会问,我们会遇到这么复杂的通讯编程吗?会的。一些复杂的设备的确需要复杂的通讯,才能控制好这类设备。复杂的通讯程序有一些固定套路。本系列帖就是探讨这些套路的。当我们对通讯程序的编写不再发怵了,那么对于那些相对简单的PLC编程自然手到擒来。所以这也是我为什么把通讯单拿出来与大家讨论的原因。下面我们就开启头脑风暴之旅。

第一篇正文

一个好的稳定的通讯代码需要在编程过程中多方面的注意。今天先说说发送块的问题。

图 1

上图是我犯的众多错误中总结的原则之一。这个原则就是:

复位发送信号(INTF_AA.Req_Send)必须在调用发送块的前面。

我之后编写的不管是简单的通讯程序还是复杂的通讯程序都遵循这一原则。以太网通讯程序同样需要遵循这个原则。

这里要强调的是,如果不遵循这一原则,我们的通讯程序不一定会出错。但是如果我们的通讯程序有些复杂,那么一定会在某个我们不可预知的时刻出现错误。

在这里我先不说明为什么要遵循这一原则。诸位同仁可以在此讨论,说说你的观点。最后我会把答案揭示。

当然编程通讯程序还有其他原则需要遵守,在后续的文档中陆续推出。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/23 12:21:09

京东商品类目信息API,Python请求示例

一、摘要 京东商品类目信息API是京东开放平台提供的重要接口服务,主要用于获取京东平台完整的商品类目体系数据。该API能够帮助开发者快速构建商品发布、商品管理、商品搜索等电商相关功能,是接入京东生态系统的关键基础服务之一。 二、接口概述 1.基本功…

作者头像 李华
网站建设 2026/5/23 2:36:18

Cirq开发者必看:影响代码补全准确率的4个关键语法细节

第一章:Cirq 代码补全的语法规则Cirq 是 Google 开发的量子计算框架,支持在 Python 环境中构建和模拟量子电路。为了提升开发效率,IDE 中的代码补全功能依赖于 Cirq 的类型注解与模块结构。正确理解其语法规则有助于编写可维护且高效的量子程…

作者头像 李华
网站建设 2026/5/18 18:44:50

可信数据空间能给企业和个人带来什么?2026政策下的新机遇

(2025 年 12 月 17 日)随着 2026 年全国发展和改革工作会议将 “数据要素安全流通” 纳入核心部署,可信数据空间作为平衡数据价值与安全的关键载体,正成为影响企业发展、个人生活的新变量。它究竟会给企业和个人的未来带来哪些改变…

作者头像 李华
网站建设 2026/5/21 6:19:11

Apertus开源大模型如何用1811种语言能力打破全球沟通壁垒?

Apertus开源大模型作为瑞士国家人工智能研究所的最新成果,以其对1811种语言的全面支持和完全透明的训练流程,正在为全球用户解决多语言沟通的核心痛点。这款700亿参数的巨型语言模型不仅性能卓越,更通过开放权重、数据和技术细节的"全透…

作者头像 李华
网站建设 2026/5/11 13:08:46

【开题答辩全过程】以 基于SSM的快递柜管理系统为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

作者头像 李华