当前位置: 首页 > news >正文

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原理,同行们可以在此讨论,各自发表看法。最后我会结合同行和我自己的意见,在这里发布出来。

http://www.cnnetsun.cn/news/106126.html

相关文章:

  • PLC通讯编程系列之一,为什么复位发送请求信号要在发送块的前面?
  • (VSCode Qiskit配置验证全流程)新手避坑指南——专家级配置实践
  • 【量子编程必备技能】:如何让VSCode完美支持Qiskit代码智能提示?
  • IDEA配置
  • Q#-Python混合调试实战指南(量子编程调试稀缺技术曝光)
  • 2026数字经济定调:数据要素成核心引擎,可信数据空间建设引行业升级
  • Vue Query Builder 终极指南:从零开始构建复杂查询界面 [特殊字符]
  • Qwen3模型推理性能优化:从思考模式到高效输出的完整指南
  • 瞄准网络安全人才缺口:大学生的机遇与成长路径
  • AI模型智能评估平台:从数据迷雾到精准决策的跨越
  • Subfinder终极指南:全面解决所有字幕下载难题
  • “负碳航空”的流行,是工业文明的一场“赎罪”与“自救”。
  • 企业数据中台建设终极指南:3步搞定数据治理难题
  • 告别繁琐!这款Mac免费Gif工具让你3步搞定屏幕录制
  • 宏智树AIPPT,用AI把学术表达变成一场轻松对话
  • 如何快速构建Python GUI界面?这款可视化设计工具让你告别手写代码
  • CMT8021N0L 双通道数字隔离器华普微电子(HOPERF)原厂正品IC芯片解析!
  • 无水印自由!Pollinations 开源 AI 生图工具,免费生成超香
  • 开源免费!InternetTest 网络检测工具,打开即 Pro 版
  • 物以类聚,人以群分的KNN算法(上)
  • 如何快速掌握Obsidian剪藏工具:新手用户的完整操作指南
  • 【2025护网】面试及经验分享(非常详细),零基础入门到精通,看这一篇就够了
  • 【数据库】金仓数据库:不止于兼容,更致力于成为企业的增长引擎
  • 【开题答辩全过程】以 基于javaweb的高校招生管理系统设计与实现为例,包含答辩的问题和答案
  • 【阿里淘天大模型面试揭秘】:17个核心问题及独家解答,助你轻松通关终面!
  • JavaScript DOM 原生部分(二):元素内容修改
  • 风能太阳能供电的路灯智能控制系统(论文+源码)
  • 没有测试用例,怎么才能确保测试全面?
  • Jmeter分布式测试必踩坑,全部帮你排雷
  • 13.常见的异常类有哪些?