Почему мерзавец-cvsimport пропускает один главный patchset?

Почему станция Simatic PC всегда добавляется в качестве OPC-сервера, если ПЛК уже имеет эту функцию?

OPC UA имеет довольно мало преимуществ по сравнению с другими промышленными протоколами связи. Связь является / может быть безопасной, проект открыт (источник доступен на GitHub, спецификация бесплатна), ...

/ Как сервер PLC OPC взаимодействует напрямую с моим клиентом? (Любое программирование на ПЛК)

Связь между вашим S7-1500 и вашим компьютером является сквозной связью OPC UA. Я не знаю спецификацию сервера S7-1500 OPC UA и вашего клиента OPC UA, но, полагаю, они используют OPC UA Binary over TCP

Для ограничений сертификатов, как определено в «Руководстве по функциям, 10/2018, A5E03735815-AG (стр. 222) », что означает« Максимальное количество реализуемых методов сервера »,« Максимальное количество аргументов »,« Максимальное количество интерфейсов сервера »,« Максимальное количество узлов в пользовательском интерфейсе сервера » "," Максимальный размер загружаемых серверных интерфейсов "?

Ваша конфигурация может содержать методы OPC UA. Я полагаю, что Siemens определил ограничение на количество методов. То же самое для количества аргументов, доступных в каждом из методов. Также должно быть некоторое ограничение на количество доступных интерфейсов сервера в вашем контроллере.

Как я могу оценить эти числа из моего приложения?

Я вполне уверен, что вы можете найти эти ограничения в руководстве по ПЛК Siemens;)

5
задан Community 23 May 2017 в 11:44
поделиться

4 ответа

Ну, это может быть проблемой. Мои строки мерзавца-cvsimport похожи на это:

git cvsimport -p x ...

-p x, как, предполагается, передает-x опцию cvsps, чтобы сказать этому игнорировать кэшируемый вывод, что это разбросало ложь от предыдущих выполнений. Я думал главная причина сделать, который был так, чтобы последние несколько patchsets, которые могли бы быть неполными, были выведены и завершились в следующий раз, когда Вы работаете. Повороты там могут быть большим количеством проблем, которые это устраняет, и это может быть одним из них.

Я учился выполнять мерзавца cvsimport этот путь из этой записи в блоге, которая в настоящее время является одним из самых высоких хитов на Google для "мерзавца cvs". Это было только в процессе выше, где я пытался выполнить мерзавца-cvsimport через отладчик Perl на выводе от cvsps, который я должен был проверить и видеть, какие аргументы действительно шли в cvsps. Я узнал, что cvsps выполнялся как это:

cvsps --norc x --cvs-direct ...

Вместо:

cvsps --norc -x --cvs-direct ...

И я экспериментально проверил, что получаю другой вывод от cvsps с некоторым patchsets, отсутствующим (я понятия не имею, что шаблон), когда x передается вместо-x. Благодаря закону Murphy's cvsps, кажется, не сообщает, что это было проблемой, и мерзавец-cvsimport никогда не видит его.

Так так или иначе мерзавец cvsimport должен быть выполнен как это:

git cvsimport -p -x ...

Мои предыдущие версии этого репозитория полностью политы из шланга в этой точке, но я смог вызвать последнюю из проблемных фиксаций в них (некоторые более ранние фиксации отсутствуют, хотя). Таким образом, я добираюсь для прохождения через четырехчасового процесса импорта еще раз, и я надеюсь, что это будет им!

Одна последняя подсказка: мерзавец-cvsimport в Windows, кажется, не работает вообще. Я получил меньше чем 10% количества фиксаций, хотя я привел в порядок ветер с деревом, которое напоминает текущее состояние нашего проекта. Это просто, кажется, испытывает недостаток почти во всей истории...

7
ответ дан 13 December 2019 в 22:17
поделиться

Я недавно встретился с такой вещью - была фиксация в CVS, который не обнаружился в мерзавце после мерзавца cvsimport; более поздние фиксации сделали (это укусило меня трудно, потому что я произвел нерабочие патчи впоследствии.

Однако фиксация была проста и глупа - я просто сбросил ответвление cvs/master перед недостающей фиксацией, повторно выполненный мерзавец cvsimport, и там это было.

1
ответ дан 13 December 2019 в 22:17
поделиться

Хм, хорошие новости - то, что мерзавец-cvsimport, кажется, записан в Perl, и я, оказывается, программист Perl, поэтому возможно, я могу, по крайней мере, ступить через это с отладчиком Perl для обнаружения то, что происходит во время той фиксации.

Для любого, кто хочет попробовать это, необходимо будет определить местоположение полного пути мерзавцу-cvsimport и подать его к жемчугу (интерпретатор Perl) с переключателем-d:

perl -d /usr/local/libexec/git-core/git-cvsimport

Я не разработал все другие опции, чтобы сделать это, все же... Я должен буду подать мерзавца-cvsimport вывод cvsps непосредственно, я думаю...

-1
ответ дан 13 December 2019 в 22:17
поделиться

Большое спасибо! У меня была такая же проблема, и я смог решить ее с вашей помощью!

Я даже нашел способ избежать повторного запуска cvsimport с нуля. Просто установив для ветки 'master' и 'origin' более старые коммиты git, cvsimport повторно импортировал все патчи, включая отсутствующие:

найти ID коммита старше отсутствующих коммитов:

git log

делаем 'origin' указывающим на этот коммит

git branch -f origin

переключаемся на origin (чтобы 'master' не был текущим HEAD)

git checkout origin

теперь делаем 'master' указывающим на более старый коммит

git branch -f master origin

переключаемся обратно на master

git checkout master

теперь, время полностью откатилось назад, и вы можете снова выполнить cvsimport, на этот раз правильно

git cvsimport . ..

3
ответ дан 13 December 2019 в 22:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: