news 2026/4/18 2:07:58

PLC通讯编程系列之二,通讯中的AA

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PLC通讯编程系列之二,通讯中的AA

既然谈通讯,那么必然有通讯本方和通讯对方(下称通讯双方)。即使再复杂的通讯也离不开这2者。

几乎所有通讯(95%),不管通讯的形态是什么样子,都离不开本篇所讨论的AA。剩下的5%通讯是一种极简单的通讯形式。比如一个仪表不管通讯对方如何,总是定期的向对方发送固定格式的数据。这种不在本篇讨论。我们讨论剩下的95%。

所谓AA就是Ask & Answer。我称之为AA。就是通讯一方发起通讯,另一方应答。有些人也称为RR(Request & Response)。在通讯的术语中称为transaction,中文翻译是对话。这种AA通讯的形式(对话)是很多复杂通讯的基础。我们回忆一下常见的通讯形式。PROFIBUS,PROFINET,MODBUS,MODBUS-TCP。都是主站发起Ask报文,从站Answer主站的报文。主站对每个从站都是AA通讯。从主站的角度,用多个AA就可以处理多个子站的这些通讯。

还有一种情况,就是主动方(往往是PLC)只与一个设备通讯,但是这个设备是一个复杂设备(比如,一个复杂的仪表、一个多轴的动作机构或者更复杂的SECS协议)通讯。这个复杂设备中包括许多对话。每个对话都对应一个功能,每个对话都可以用对应的AA处理。比如读取某个仪表的当前状态,这可以是一个AA;让这个仪表进行电源输出,这是另一个AA。再比如芯片生产中的真空机器手。一个AA可以让机器手回零点,另一个AA可以让机器手去某个端口取晶圆。再比如芯片行业用的SECS通讯,通讯双方是厂级MES与单机设备(如光刻机)。SECS中的通讯双方虽然不固定通讯主动方和回应方,但是SECS协议几百个对话中的每一个对话都是由AA组成,或者可以说由AA管理。通过上述这些例子我们认识到虽然通讯双方是PLC和复杂设备,只有两者,而不是PROFIBUS中的多个通讯方。但是PLC与这种复杂设备的通讯程序也是由多个AA组成的。

总结以上2段的内容,我们晓得:一个复杂的通讯可以拆解为由多个AA组成的相对简单的通讯。这样拆解后,显然问题得到了简化。剩下的问题就是如何有机的组织这些AA。其中一种组织方式就是轮询。下一篇讲解通讯中的轮询。

另外,本系列虽然探讨的是PTP,其实以太网通讯也可以这么理解。

既然AA是最基本的通讯形式,那么我们就要研究AA,把AA做好。AA到底应该是什么样子呢?AA如果是一个FB,那么AA应该考虑什么呢?这些问题必须回答。

下面我们共同探讨这些问题。先看一个调用AA块的例子。

图 1

图1是一个用于发送和接收数据的AA,这个AA是在USS通讯中使用的。(项目中用到USS通讯未使用西门子库中的功能。USS通讯由笔者通过PTP自由编程实现。其中图1中的AA就是一环。)

图1的接口中应该包括哪些信息?根据前文说的AA原理,同行们可以在此讨论,各自发表看法。最后我会结合同行和我自己的意见,在这里发布出来。

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

EDI数据交换2026年展望:洞察2026年EDI数据交换的新范式

电子数据交换(EDI)作为企业间(B2B)数据自动交换的基石,已在全球供应链中运行数十年。然而,在近两年,面对日益复杂的全球供应链挑战、技术的快速迭代以及对数据智能的更高要求,EDI正经…

作者头像 李华
网站建设 2026/4/18 5:20:48

VSCode量子模拟器扩展卡顿怎么办,专家级性能调优全解析

第一章:VSCode量子模拟器扩展卡顿问题概述在开发和调试量子算法时,VSCode 搭配量子模拟器扩展(如 Q# Dev Kit)已成为主流选择。然而,随着项目规模增大或模拟复杂度提升,用户普遍反馈编辑器出现明显卡顿现象…

作者头像 李华
网站建设 2026/4/18 11:57:12

docker 部署 Apache IoTDB

一、基本概念 IoTDB是一款针对时间序列数据收集、存储与分析一体化的数据管理引擎。它具有体量轻、性能高、易使用的特点,完美对接Hadoop与Spark生态,适用于工业物联网应用中海量时间序列数据高速写入和复杂分析查询的需求 。是一款专为物联网时序数…

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

为什么你的Q#-Python集成项目总出错?变量同步的6个致命陷阱

第一章:为什么你的Q#-Python集成项目总出错?变量同步的6个致命陷阱 在Q#与Python混合编程中,变量在两种语言环境间的传递看似简单,实则暗藏多个同步陷阱。由于Q#运行于量子模拟器中,而Python负责经典控制逻辑&#xff…

作者头像 李华
网站建设 2026/4/18 10:08:02

智能视频水印清除技术:轻松去除静态水印的完整指南

智能视频水印清除技术:轻松去除静态水印的完整指南 【免费下载链接】video-watermark-removal Remove simple watermarks from videos with minimal setup 项目地址: https://gitcode.com/gh_mirrors/vi/video-watermark-removal 想要从视频中移除烦人的水印…

作者头像 李华
网站建设 2026/4/18 7:55:34

鸿蒙远程真机终极指南:HOScrcpy让调试变得像玩游戏一样简单

还记得第一次接触鸿蒙开发时的困惑吗?面对陌生的设备调试环境,你是不是也在想:有没有一种方式能像操作本地手机一样轻松控制远程设备?今天,我要向你介绍一款真正改变游戏规则的工具——HOScrcpy鸿蒙远程真机工具&#…

作者头像 李华