【问题标题】:PLC "program counter" conceptPLC“程序计数器”概念
【发布时间】:2019-10-31 22:42:21
【问题描述】:

我是 PLC 梯形图/grafcet 编程的新手。

我有一个自己的 Windows 应用程序,它将写入 OMRON PLC 存储器(D 寄存器)。这个想法是填充将触发一些输出的内存块(梯形编程)。

例如,想象一个 5 个字的内存块(D0000 到 D0004)。输出将由这 5 个单词的内容触发。

我的想法是有一个简单的梯形图程序来“运行”内存块。所以每 5 个内存块将包含“指令”来激活我的输出。

我很难:也许我可以像“程序计数器”概念那样实现,其中程序计数器指向前 5 个单词,然后将其内容 co+y/移动到内存上的一个一般位置,这将触发梯形程序的合同.然后在执行前 5 个字后,程序计数器将指向下一个 5 个字块以再次复制其内容,梯形图程序执行其“指令”并将其保留为未定义数量的 5 个字块。

我不确定我是否能够澄清我的想法。有一种方法可以使用 PLC 梯形逻辑来实现吗?

或者还有其他方法可以实现吗?

请记住,这个想法是拥有内存块(由固定数量的字组成),并且每个内存块都将在其位上有必要的配置来触发必要的输出(使用相同的梯形图/程序)。

任何帮助或更好的想法将不胜感激。 非常感谢

这是与 OMRON C2JM PLC 一起使用的。

【问题讨论】:

  • 这样的任务在 ST 中会得到更好的解决。欧姆龙支持ST语言吗?
  • @SergeyRomanov 我不知道这个问题的答案,但我用谷歌搜索了一下,omron 确实支持 ST 语言。所以想法应该是做一个“ST小程序”来完成这个工作并在梯形程序中调用它?
  • 如果您使用 ST 或什至在梯形图中,您可以访问 DWORD 中的单个位,例如 myvar.0。您可以这样阅读并设置它。

标签: plc ladder-logic


【解决方案1】:

你想太多了。 PLC 是状态机,而不是过程处理器。只需将位直接路由到他们需要控制的输出即可。

比如D1234的bit 0应该控制CIO输出1.00那么

 D1234.00                     1.00
----| |------------------------()

如果 D1234 位 12 应该控制 CIO 2.15

 D1234.12                     2.15
----| |------------------------()

等等

【讨论】:

    猜你喜欢
    • 2011-07-24
    • 2013-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    • 2014-02-25
    • 2013-09-07
    相关资源
    最近更新 更多