Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Micrologix PLC使用的底层协议是什么?_C#_Plc - Fatal编程技术网

C# Micrologix PLC使用的底层协议是什么?

C# Micrologix PLC使用的底层协议是什么?,c#,plc,C#,Plc,我正在用C#构建一个应用程序,它需要与Allen-Bradley Micrologix PLC对话。我知道有一个司机要跟它说话。我过去曾使用InGear与其他Allen-Bradley PLC交谈,因此我知道与他们的许可可能会给我带来问题 我想知道的是:是否有任何基于TCP或UDP的协议用于直接与Micrologix PLC通信?显然,肯定有什么原因,因为InGear可能在一些较低级别的协议上构建了他们的协议。Micrologix系列PLC使用PCCC(又名CSP)协议,该协议是通过TCP传输的

我正在用C#构建一个应用程序,它需要与Allen-Bradley Micrologix PLC对话。我知道有一个司机要跟它说话。我过去曾使用InGear与其他Allen-Bradley PLC交谈,因此我知道与他们的许可可能会给我带来问题


我想知道的是:是否有任何基于TCP或UDP的协议用于直接与Micrologix PLC通信?显然,肯定有什么原因,因为InGear可能在一些较低级别的协议上构建了他们的协议。

Micrologix系列PLC使用PCCC(又名CSP)协议,该协议是通过TCP传输的DF1协议。最清晰的免费代码是多年前由Ron Gage编写的。艾伦·布拉德利(Allen Bradley)有一份详细介绍原始DF1协议的文件,结合罗恩·盖奇(Ron Gage)的代码,很容易理解。除了初始握手,它是一个非常简单的请求/响应协议。这与PLC-5系列(从20世纪80年代开始)和SLC系列(从20世纪90年代开始)使用的协议相同,但随着时间的推移,它逐渐被弃用

它支持的第二个协议是Ethernet/IP,它使用名为“CIP”的数据包协议,可以通过UDP或TCP进行传输,但在初次接触时必须使用TCP。协议标准是“开放的”,由ODVA发布。这也是欧姆龙品牌PLC和其他公司使用的相同协议。对于此通信,您需要使用未连接的消息传递模式(请求/响应)。我在Python中使用“cpppo”协议栈取得了巨大成功,但我不知道在.NET中什么可以工作


此PLC系列使用的第三个协议是Modbus/TCP或Modbus(串行格式),具体取决于PLC。它可以充当主人或奴隶。Modbus是最简单的协议。协议本身的完整文档可在modbus.org网站上免费获取。我曾使用过较旧的型号,但没有使用过1400,因此我无法具体说明它将支持哪种风格的Modbus。由于该协议基本上由市场上的每个PLC品牌支持,因此有无数的软件库支持它。任何有能力的程序员通常都能从零开始,在大约一天的工作时间内编写一个,因为它非常简单。

您是否看过PLC供应商没有记录他们的低级接口。除了供应商合作实践之外,他们只是不喜欢也不现实地支持他们的客户攻击他们自己的产品。当启动设备的截止日期已经过去,并且接口无法工作或不够可靠时,这种情况总是变得非常糟糕。没有人因为使用InGear.NET包装器而被解雇,只要确保许可不是你的问题。我使用InGear的NET.Logix软件没有问题,因为我一直在使用它。我有一个问题,因为Net.Logix无法连接到我们购买的Micrologix PLC。我们必须使用ABLink,但我不知道我们是否有足够的钱去做。此外,我使用一个合理的低级别协议与不同的PLC进行了通信。我已使用FINS连接到欧姆龙PLC。我只是想看看Micrologix 1400 PLC是否有类似的支持连接。InGear不是Allen Bradley,那么他们是如何获得这些信息的?@huMptyduMpty我知道如何与设备进行UDP和TCP通信,但我不知道应该与MicroLogix 1400设备进行的消息结构。这就是我要找的。