问题标签 [plc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
88 浏览

computer-science - 检查上一个周期是否有 10 个整数发生变化的最快方法

这是一个 PLC 程序,因此值可以在不知情的情况下更改。有人能想到一个哈希算法来检查自上一个周期以来是否有 5 到 10 个整数发生变化。我需要这个尽可能快。

0 投票
3 回答
2751 浏览

programming-languages - 为什么 Elsif 不是 Else If 在 PLC 编程中

我是一名 PLC 程序员,我想知道为什么使用保留字 elsif (即没有 E )。我知道 elseif 或任何其他组合不用作保留字。是否有在其他语言中使用它的历史。如果是,为什么?只是为了节省我的打字时间,我似乎犯了每天输入 e 5 次的错误。

0 投票
2 回答
1106 浏览

logic - Step 7 v5.5 与 v5.4 兼容吗?

有谁知道最初在第 7 步 v.5.4 中创建,然后在 5.5 中打开、编辑和保存的项目是否可以在 5.4 中再次重新打开?

0 投票
1 回答
196 浏览

algorithm - PLC 校验字节未知

我试图了解旧机器(PLC)如何在其数据交换中生成校验字节,但我不知道是什么以及如何完成或使用什么样的算法。

我有一个关于机器的非常稀疏的文档,我已经尝试了一些算法,如普通 crc、ccitt crc、xmodem crc 类型......并且没有人给出正确的结果。

消息是这样形成的:M*NNNNNNwwSSdd

在哪里:

M* - 固定

NNNNNN - N 是一个数字或一个空格

ww - w 也是数字或空格

SS - S 是字符或空格

dd - da 数字或空格

一些示例生成以下字节检查(其中 de byte '×' 实际上是空格 char ' ',我使用此 char 只是为了更容易识别空格数):

A:

  • M*614976××××12 -> 一个
  • M*615138×××××× -> 一个

乙:

  • M*615028××××12 -> b
  • M*615108×××××× -> b

C:

  • M*614933×××××× -> c
  • M*614956××××12 -> c

d:

  • M*614934×××××× -> d
  • 米*614951××××12 -> d

e:

  • M*614942×××××× -> e
  • M*615079×××××× -> e

F:

  • M*614719××××12 -> f
  • M*614936×××××× -> f

G:

  • 米*614718××××12->克
  • m*614937×××××× -> g

H:

  • M*614727×××××× -> h
  • 米*614980××××12 -> 小时

一世:

  • 米*614734××××12 -> 我
  • m*614939×××××× -> i
  • M*××××××××××××× -> i

z:

  • M*××××××××SC12 -> z

Ĵ:

  • M*×××××××××××12 -> j

是:

  • M*××××××××SC×× -> y

还有更多的组合,但这些就足够了。

另一个特殊性是检查字节结果仅存在于定义的范围内 - 从 char 0x60 到 0x7F 并且不再存在(当前的解决方案正在工作,因为我在这个范围内循环,直到机器给我一个 ok)

所以我的问题是,你知道这个校验字节是怎么计算的吗?你能指点我一些更简单的算法来计算PLC机器中数据的完整性吗,结果字节检查只有一个字符一定更简单。

谢谢

0 投票
1 回答
236 浏览

android - 在 iOS 应用中进行身份验证的方法

我正在为通过 TCP/IP 读取 PLC 控制器数据的客户端开发 iOS 应用程序。PLC设备没有任何方法来验证用户..所以基本上如果你知道你在寻找什么,就在网上;如果您愿意,您可以读取数据并写入寄存器。这个应用程序的目标是允许应用程序中的某种权限或身份验证。例子。所述设备的工程师有权访问寄存器,但维护人员只有只读权限。无法向位于 LAN 上的 PLC 设备添加身份验证方法。我需要想出一种通过应用程序来做到这一点的方法。

有什么建议么?

要记住的事情...

1:这些 PLC 设备通常不在可以访问 Internet 的 LAN 上。

2:iPAD/iPhone 通常无法访问互联网进行任何基于 Web 的身份验证。

3:此应用程序还需要在 Android 上开发,因此身份验证需要跨平台兼容。

4:来自不同公司的不同客户需要能够“调整”和“自定义”用户权限。

如果我需要澄清任何事情,请告诉我。谢谢!

0 投票
2 回答
1540 浏览

java - 使用基于 Web 的 Java 应用程序远程处理 PLC

我们正在开发一个模拟器应用程序,用户可以在其中创建模拟并运行逻辑。现在在我们项目的第二阶段,我们需要使用基于 Web 的应用程序进行硬件触发。我需要一些关于我将如何使用我的 java 代码与 PLC 机器交互的信息,我们正在使用 modbus 串行通信,但如果你有其他更好的解决方案可以更改。根据我的研究,我们已经看到了 OPC 服务器,但我没有从中得到任何东西。我想要有人可以帮助我了解什么是流动的。如何进行此操作。我是否必须编写驱动程序才能与我的应用程序和 PLC 进行通信。

完成这项任务需要完成的工作。如果您有任何链接,请分享

谢谢你

0 投票
2 回答
10766 浏览

plc - CX-Programmer 中的标志是什么?

在阅读 PLC 文档(欧姆龙 CP1L PLC 和 CX-Programmer)的过程中,有一些解释缺失。例如,它将“标志”定义为“作为指令之间接口的位”,这是否意味着标志是某种有条件的潮流

它与“上/下差异”“携带标志”等术语变得更加混乱?什么是标志以及它们在梯形逻辑中的作用?它们是简单的使用指令还是只是一个我不需要在梯形图中编程的概念?

[编辑]

在哪里添加/修改/删除指令中的标志?我打开编辑,但标志不存在。

在此处输入图像描述

0 投票
2 回答
4848 浏览

programming-languages - 欧姆龙PLC的梯形图编程背后是什么语言?

PLC中的梯形图编程转换成什么?图形命令(例如打开触点、指令等)是 BASIC 或 C 指令,还是直接编译为汇编语言?

0 投票
2 回答
8724 浏览

plc - “@”符号是什么意思(欧姆龙PLC)?

梯形图编程中的“ @ ”符号是什么意思?文档解释了@以二进制模式指定间接DM地址...偏移内存区域:这实际上是什么意思?

考虑文档中的以下图像:

在此处输入图像描述

一个地址(一个 16 位或十进制的 32767)的内容如何变成字地址?例如,如果地址CIO 0的内容为000000001000000:添加@符号CIO 0更改为000000001000000?上述指令中到底发生了什么?

0 投票
1 回答
6058 浏览

plc - PLC中的差分指令是什么?

我正在使用 Omron CP1L PLC 并使用 CX-programmer 进行编程。从文档中,我很难理解“差分指令”到底是什么:

对于微分指令,仅当满足执行条件时,指令的执行结果才会反映在条件标志中,而上一个梯级的结果(而不是微分指令的执行结果)将在下一个周期中反映在条件标志中。因此,如果要使用微分指令的执行结果,您必须知道条件标志在下一个周期中将做什么。

我的理解是:指令总是在满足条件时执行,当然,如果存在条件标志以从上一个梯级的指令中获取其 ON 或 OFF 状态,则将执行下一个梯级上的指令。所以我完全不明白文档中解释的重点。并且看不出两者之间的区别:

(A) 不使用差速器

无差速器

(B) 使用差分
在此处输入图像描述