- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑以下梯形图程序,它检查连接是否启用 (A202.00),然后从 PLC 向 PC 发送消息。
文档(Omron CX-Programmer)严重缺乏对程序约定的解释。我不明白的是:
从一个节点向另一个节点发送消息。我应该需要指定接收者 ID。功能 block 似乎没有可以插入 IP 地址的选项。我是否应该将 IP 地址MOV
到 DM 地址 (D300) 然后使用它?如果是这样(IP 地址在 4 个字节之间有点..)怎么办?
谁能解释一下什么是S
(第一个源词),D
(第一个目标词) 和 C
(第一个控制字)。它们不只是内存地址吗?例如。将内存地址的内容发送到另一个内存地址?
[编辑]
我想做什么?
我正在尝试将测量仪(由 PC/C# 应用程序通过以太网控制)连接到带有 Omron PLC 的机器人系统(没有 RS232 或串口,没有 TCP/IP,只有最简单的 I/O 点)。当仪表完成测量时,C# 应用程序向欧姆龙 PLC 发送命令,欧姆龙 PLC 根据收到的命令打开或关闭输出,触发电压流到机器人的 I/O 端口。
我应该使用 FINS 吗?我需要知道 PLC 的哪些功能/协议(protocol)才能执行此操作?我不知道,所以我正在测试文档中的每个功能。到目前为止,零进展。
最佳答案
1) 所有寻址信息都封装在五个控制字中(C -> C+4)。 C-“第一个控制字”是指向此表中第一个字的指针,您必须将其存储在 PLC 中的某处以建立通信。
2) 第一个源字指向您要发送的 PLC 中的第一个字。第一个目标字指向您要发送到的 PLC/设备中的第一个地址。在示例中,第一个控制字指定应发送 10 个字。您指向第一个地址,它会发送那个地址以及接下来的九个地址。
为此,您必须使用 FINS 通信 - PC 存储类似于 PLC(CIO、DM 等)的内存结构,称为事件内存,这些是您指向的 PC 中的地址。 PC 获得 FINS 节点号和地址,就像 PLC 一样——不涉及 IP 地址。 (参见:FINS Manual)然而,FINS 很旧,并且已被 Sysmac Gateway 之类的东西所取代。
但是,根据您要执行的操作,PLC/PC 之间有更好的通信方式。您要编写 HMI 吗?如果是,您使用的是什么语言?
编辑:
如果您使用的是 C#,我强烈建议您查看 Sysmac Gateway and CX-Compolet.这可能是让 .NET 与 Omron PLC 一起工作的最灵活、最简单和可扩展的方式。然而,如果可能的话,更好的方法甚至可能是让测量单元通过硬件 I/O(继电器、DIO 等)直接与 PLC 通信。
CX-Compolet、Sysmac Gateway 链接:
关于plc - 使用梯形图程序从 PLC 向 PC 发送 TCP/IP 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9442925/
我正在尝试从 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 程序之间建立通信虽然我可以从套接字建立连接,从特定的数据库
我是一名优秀的程序员,十分优秀!