У меня есть удаленное устройство ввода-вывода (EIP-2017) с 8 аналоговыми входами и оно реализует протокол EtherNet/IP для чтения значений ввода-вывода. Я нашел на codeplex (https://eipnet.codeplex.com/) библиотеку, написанную на .net C#, но у нее нет документации или примера ее использования.EtherNet/IP (промышленный протокол) Библиотека .NET
Итак, это цель (I/O удаленного устройство) Документация:
Мы предлагаем пользователь с помощью неявного сообщения общаться с EIP-2000. Неявные сообщения применяются только для доступа к входному экземпляру 65 hex (101) и выходному экземпляру 66 (102) объекта сборки в объектной модели . Прежде чем использовать Неявные сообщения, вы должны использовать службу Open Forward с правильными настройками «Идентификатор экземпляра» и «Длина данных» Объект диспетчера подключений для построения соединения между сканером EtherNet/IP и EIP-2000. Впоследствии может использоваться Неявное сообщение . «Идентификатор экземпляра» модулей EIP-2000 показан ниже, , но «Длина данных» отличается от модулей.
Это устройство имеет следующие,
Input (Т-> О) Идентификатор экземпляра: 0x65, длина: 53 байта Выход (О-> T), ИД экземпляра: 0x66, длина: 22 байта Конфигурация экземпляра ID: 0x64, длина: 0 байт
и я написал эти строки кода:
static void Main(string[] args)
{
byte[] sc = new byte[8] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 };
byte[] path = new byte[] { 0x20, 0x04, 0x24, 0x64, 0x2C, 0x66, 0x2C, 0x65 };
SessionInfo si = SessionManager.CreateAndRegister("192.168.2.227", senderContext: sc);
si.SetConnectionParameters(101, 3000, 101, 803, 888);
EIPNET.ConnectionManager.ForwardOpen(si, path);
bool CIPok = EIPNET.EIP.SessionManager.VerifyCIP(si);
EIPNET.EIP.EncapsPacket p = new EncapsPacket();
p.Command = (ushort)EncapsCommand.ListIdentity;
p.SessionHandle = si.SessionHandle;
p.SenderContext = sc;
p.Length = 0;
//p.EncapsData = new byte[53];
byte[] rec = si.SendData_WaitReply(p.Pack());
}
Я регистрирующий сессию, а затем открытое соединение с командой вперед Open, а затем ... ничего ...
Любая информация, как продолжить, была бы весьма признательна. Спасибо!
Если кому-то нужно что-то подобное, это библиотека здесь: https://eipnet.codeplex.com/ –
и все остальное написано здесь http://read.pudn.com/downloads166/ebook/763212/EIP- CIP-V2-1.0.pdf и здесь https://www.odva.org/Portals/0/Library/Publications_Numbered/PUB00213R0_EtherNetIP_Developers_Guide.pdf –
Посмотрите на вопрос: http://stackoverflow.com/questions/31461069/read-write -values-using-ethernet-ip – JPelletier