- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在关注使用 CIP 访问 Controller 数据的 Allen-Bradley 文档,特别是读取标签服务、写入标签服务以及有关读取/写入整个 UDT 的详细信息:https://literature.rockwellautomation.com/idc/groups/literature/documents/pm/1756-pm020_-en-p.pdf .我正在使用 EIP 库来执行读/写标签服务和多服务请求。
我想澄清的是,读取或写入整个 UDT 是否是一项原子操作(使用手册中概述的方法在一个服务请求中执行读/写并理解元数据以对其进行解包)?即,当作为一个整体成功读取/写入时,PLC 或软件端真的不会看到部分更新的 UDT 值吗?
一个相关的问题是:如果我想通过在一个多服务请求中发送多个读/写标签服务请求来读/写多个标签,我对这组标签的同步读/写有任何保证吗?我认为不是,但我似乎无法找到有关该主题的任何权威文档。特别是如果请求在多个 CIP 数据包中被分割。
最佳答案
我能够对此进行测试并确认读/写标签 CIP 服务对于单个 UDT 或数组不是原子的。我最初的担忧是我是否可以安全地写入整个 UDT 或数组,并确保处理该数据的 PLC 将看到该数据处于“写入前”或“写入后”状态,而不是某些部分写入状态。我执行了一些测试,从 CIP 写入标记服务写入一个 10 元素的 DINT 数组。在 PLC 上,我执行同步复制 (CPS) 以将数组复制到另一个标签中,然后检查它以查看数据是否与原子复制一致。我看到数据偶尔处于部分写入状态,这意味着写入标记服务与同步复制指令不同步。请注意,我使用了单个 CIP 服务请求来写入数组,而不是针对每个元素的多个请求。这并非完全出乎意料,但很高兴知道,以便从 CIP 服务读取/写入多个值的任何人都知道缺乏同步。在需要的情况下,我可以添加自己的同步机制。
关于plc - 用于读取和写入 PLC 标签(在 AB Logix 5000 Controller 上)的 CIP 服务是原子的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54695471/
我正在尝试从 PLC (Beckhoff-cx5130) 获取当前时间。我试过“GETSYSTEMTIME”,但没有得到任何输出。我还尝试了“NT_GetTime”、“TIMESTRUCT”和“T_F
我很困惑plc的循环执行是否可以看作是一个被无限循环包围的程序。如果不是,它们之间有什么区别? 最佳答案 您的 while(1) 类比很好地解释了 PLC 的 循环执行 作品。 首先,您通常不需要进行
对于用 Structured Text 编写的 PLC 程序我需要一个以 ASCII 值开头的字符串 0x01 0x01 0x01 0x00 0x12 . 在 Java 中,我会这样做: String
我有一台 WAGO PFC200 750-8206,想知道是否可以用 C/C++ 编写控制逻辑代码。我知道WAGO用的是codesys runtime,codesys只支持IEC语言,但是WAGO声称
考虑以下梯形图程序,它检查连接是否启用 (A202.00),然后从 PLC 向 PC 发送消息。 文档(Omron CX-Programmer)严重缺乏对程序约定的解释。我不明白的是: 从一个节点向另
我想知道是否有任何方法可以使用自定义 C# 应用程序从 PLC 标签文件夹读取和写入值? 我已经尝试使用 Snap7,这是一个很好用的工具,实际上它已经工作了,但只是读取和写入数据 block ,而不
我正在关注使用 CIP 访问 Controller 数据的 Allen-Bradley 文档,特别是读取标签服务、写入标签服务以及有关读取/写入整个 UDT 的详细信息:https://literat
在 method 中定义 enum 时出现问题。 我正在尝试这样做: VAR enumA:(A,B,C); END_VAR 当我在 TwinCAT3 Shell (TcXaeShell) 中使
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 9
当指令序列仍在处理时,输入 X1 可以改变吗? 例如 LD X1 AND X2 OUT Y1 LD X1 // Can X1 loaded here differ from the previous
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
我在欧姆龙 PLC 中有一个以太网卡。有没有办法自动检查以太网卡是否正常工作?如果没有,是否有手动方法?例如,如果卡要在 PLC 上熄灭,它就会出错。但是如果卡只是失去了与服务器的信号,那么它不会出错
很难说出这里问的是什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或言辞激烈,无法以目前的形式合理回答。如需帮助澄清此问题以便可以重新打开,visit the help center . 8年前关闭
我有一个想要返回值的方法。该声明对我来说很清楚。但是如何在方法实现中分配要返回的值? 我只能考虑创建一个输出变量并使用它来将值传播给调用者。但这绝对不是我期望的返回值的工作方式: METHOD M_M
我有一个想要返回值的方法。该声明对我来说很清楚。但是如何在方法实现中分配要返回的值? 我只能考虑创建一个输出变量并使用它来将值传播给调用者。但这绝对不是我期望的返回值的工作方式: METHOD M_M
我想测量结构化文本 (ST) 程序的执行时间。与程序关联的任务以 10 毫秒的速度运行。 我如何测量执行时间? 最佳答案 您可以使用免费的 TwinCAT 库 Tc2_Utilities,它有一个功能
在单个梯级上,您可以拥有多少个输出。如果你有不止一个。它是 AND 逻辑,还是 OR 逻辑。串联,或并联。我正在尝试使用带有关闭输入指令的延迟指令计时器使六个灯闪烁。我将使用 Allen Bradle
我尝试在本地 PC 上激活我的配置,但失败了。我尝试过: 隔离我的电脑上的 1 或 2 个内核(在系统 > 实时下并重新启动电脑)并在这些内核上运行 PLC 任务。当我这样做时,我收到以下错误: 'T
定时器在 PLC 结构化文本 (ST) 中如何工作?我们如何声明它们? 我一直在研究PLC的标准(IEC 61131-3),他们没有谈到ST中的定时器。我知道绝大多数 PLC 程序员都是用梯形图逻辑来
我有一个有趣的问题(我希望如此)我正在尝试使用 IP、端口、机架和 SLot 使用套接字连接在西门子 S7 300 PLC 和我的 java 程序之间建立通信虽然我可以从套接字建立连接,从特定的数据库
我是一名优秀的程序员,十分优秀!