Александр Ананьев, Здравствуйте!
Я проверил ваши рекомендации на практике, но вот пару моментов в прошлый раз я не уточнил:
1. При просмотре регистров я столкнулся вот с такими записями:
И вот здесь не совсем понятно как их читать, как один или как несколько разных?
2. Я тестировал программу свою уже на реальной панели СП307, и вот когда получил регистры PSB то получил следующий результат:
И меня немного смущает то, что все значения в столбце PSB это false. Может ли быть вообще такое? Если я понял правильно то они должны принимать значение true только в момент когда происходит событие?
То есть например "Бит в состоянии ВКЛ" будет true только в момент когда панель включается, и и так будет со всеми?
3. Еще хотел вот такой момент узнать - не знаете ли вы, где можно найти карту регистров на "ОВЕН ПЛК200"? На сайте не могу нигде найти, в руководстве по эксплуатации тоже нет, подскажите пожалуйста где ее можно взять?
Александр Ананьев , Спасибо вам за ответ, еще вот хотел уточнить несколько моментов:
1. Если PSB - Coils, а PSW - Holding Registers, то что тогда будет PFW?
2.
Согласно документации на панель ОВЕН PSB0 - это регистр с адресом 256 типа Coil.
Почему Coil - я уже понял, почему PSB - понял, почему "0" - 256, это, если я правильно понял вы взяли отсюда?
Александр Ананьев,
1. Я может быть что-то не совсем понял, но зачем нам знать IP-адреса, если мы как раз хотим для этого запрос сделать? IP-адреса устройств я могу спросить легко, но в идеале я должен сам их получить от устройства, поэтому я и решил ARP-запрос делать, чтобы получить все адреса устройств в сети и уже через них организовать подключение и сбор нужной информации.
2. Хорошо, поищу примеры реализации.
Александр Ананьев,
1. Да, мне нужны именно адреса в сети, Если результатом данного запроса будут именно MAC-адреса то я думаю можно будет либо работать с ними, либо конвертировать их в обычные IP-адреса, если будет такая необходимость.
2. Трудность именно в том, что не совсем понятно как задать конкретный диапазон регистров, который необходимо считать, но отталкиваясь от своего примера я все-таки думаю что нужно просто поменять 0 на имя ячейки в 16-ричной системе счисления и вместо 3 надо указать другое число, сколько конкретно надо прочесть ячеек. Я прав?
Александр Ананьев, Хотел бы уточнить ваш ответ:
1. Адресное пространство же прописывается в руководстве по эксплуатации и под ним подразумевается вся его память, верно?
2. Данные на других компонентах как раз таки представляют интерес, поскольку они нужны для оценки безопасности всего стенда в целом, и чтобы их получить в таком случае, если я правильно вас понял то мне нужно организовать подключение к ПЛК и найти в его памяти то что мне нужно, я прав?
Sergey В., А что вы можете привести какой-то простой пример для понимания того, как работать с CM_Enumerate_Classes, и про поиграться с open hardware monitor - что вы конкретно имели ввиду?
pfg21, Ну может быть тогда здесь несколько вариантов развития: либо я делаю программу под одну конкретную систему, либо как вы сказали 2 отдельно скомпилированных бинаря.
Спасибо за помощь
Zerg89, Вообще навыков моего программирования хватит на то, чтобы сделать такую программу под Windows, но в идеале я хотел бы чтобы она работала и на Windows, и на Linux, но если отталкиваться от предложенной вами идеи реализовывать это все через скрипт то здесь надо выбирать, либо использовать универсальный метод получения всего необходимого, либо думать через try except, как вы и сказали.
pfg21, если нужна конкретная задача, то вот она:
Мне надо написать программу, которая будет собирать всю информацию об ОС, железо какое, какая ОС стоит, какие порты там свободны к примеру, и вот программа будет тестироваться на разных ОС, а учитывая что источники информации у Windows и Linux различаются то хотелось бы знать есть ли какой-то универсальный метод получения всего необходимого.
Я проверил ваши рекомендации на практике, но вот пару моментов в прошлый раз я не уточнил:
1. При просмотре регистров я столкнулся вот с такими записями:
И вот здесь не совсем понятно как их читать, как один или как несколько разных?
2. Я тестировал программу свою уже на реальной панели СП307, и вот когда получил регистры PSB то получил следующий результат:
И меня немного смущает то, что все значения в столбце PSB это false. Может ли быть вообще такое? Если я понял правильно то они должны принимать значение true только в момент когда происходит событие?
То есть например "Бит в состоянии ВКЛ" будет true только в момент когда панель включается, и и так будет со всеми?
3. Еще хотел вот такой момент узнать - не знаете ли вы, где можно найти карту регистров на "ОВЕН ПЛК200"? На сайте не могу нигде найти, в руководстве по эксплуатации тоже нет, подскажите пожалуйста где ее можно взять?