使用梯形图程序从PLC向PC发送TCP / IP消息

时间:2012-02-25 09:44:33

标签: electronics plc

考虑以下梯形图程序,检查是否启用了连接(A202.00),然后从PLC向PC发送消息。

ladder program

文档(Omron CX-Programmer)严重缺乏对程序约定的解释。我不明白的是:

  1. 从节点向节点发送消息。我应该指定接收者ID。似乎功能块没有可以插入IP地址的选项。我应该MOV DM 地址(D300)的IP地址然后使用它吗?如果是这样的话(IP地址有4个字节之间的点......)?

  2. 有人可以解释一下S第一个源词),D第一个目标词)和{{ 1}}(第一个控制字)。他们不只是记忆地址吗?例如。将内存地址的内容发送到另一个内存地址?


  3. [编辑]

    我想做什么?

    我正在尝试使用Omron PLC将测量仪表(通过PC / C#应用程序通过以太网控制)连接到机器人系统(没有RS232或串行,没有TCP / IP,只有最简单的I / O点)。当仪表完成测量时,C#app向Omron PLC发送命令,根据接收的命令,该命令打开或关闭一个输出,该输出触发电压流到机器人的I / O端口。

    我应该使用FINS吗?我需要知道PLC的哪些功能/协议才能做到这一点?我不知道所以我正在测试文档中的每个函数。到目前为止,零进展。

1 个答案:

答案 0 :(得分:3)

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链接:

http://www.ia.omron.com/product/family/63/index_l_u.html