考虑以下梯形图程序,该程序检查是否启用了连接(A202.00),然后将消息从PLC发送到PC。
该文档(欧姆龙CX-Programmer)严重缺乏对程序约定的解释。我不明白的是:
将消息从节点发送到节点。我应该指定接收者ID。似乎功能块没有可以在其中插入IP地址的选项。我是否应该将IP地址MOV
转换为DM地址(D300),然后使用它?如果是这样的话(IP地址的点之间在4个字节之间..)?
有人可以解释一下什么是S
(第一个原始单词),D
(第一个目标单词)和C
(第一个控制单词)。他们不只是记忆地址吗?例如。将内存地址的内容发送到另一个内存地址?
[编辑]
我想做什么?
我正在尝试通过Omron PLC将测量仪(通过PC / C#应用程序通过以太网控制)连接到机器人系统(无RS232或串行,无TCP / IP,仅具有最简单的I / O点)。仪表完成测量后,C#应用程序将命令发送到Omron PLC,后者根据收到的命令打开或关闭输出,以触发流向机器人I / O端口的电压。
我应该使用FINS吗?我需要了解PLC的哪些功能/协议?我不知道,所以我正在测试文档中的每个功能。到目前为止,零进展。
最佳答案
1)所有寻址信息都封装在五个控制字中(C-> C + 4)。 C-“第一个控制字”是指向该表中第一个字的指针,该表中必须包含五个字,您必须将它们存储在PLC中的某个位置才能建立通信。
2)第一个源字指向您要发送的PLC中的第一个字。第一个目标字指向您要发送到的PLC /设备中的第一个地址。在示例中,第一个控制字指定应发送10个字。您指向第一个地址,它将发送该地址以及接下来的九个地址。
为此,您必须使用FINS通讯-PC存储类似于PLC(CIO,DM等)的存储结构,称为事件存储,这些是您指向PC中的地址。 PC像PLC一样获得FINS节点号和地址-不涉及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网关链接:
http://www.ia.omron.com/product/family/63/index_l_u.html
关于electronics - 使用梯形图程序从PLC向PC发送TCP/IP消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9442925/