Добрый день.
https://oscat.ru/wp-content/Video/Co...ctPassword.mp4
Вид для печати
Поддерживаю! Если человек разобрался с кодом, то значит или код грамотно составлен, или человек на своём месте, либо оба эти пункта.
Я вот не всё коды чужие разбираю, бывает и вправду, легче самому написать.
Поэтому, отдавать исходник, и не переживать. Ничего нового там всё равно нету...
Команда "Выгрузка исходного кода" с ПЛК никак не влияет на его работу?
Можно ли выгружать проект из ПЛК на ПК на работающем оборудовании (конечно если ранее загрузили исходный код)?
Можно. Это просто скачивание файла если он в нем есть.
Здравствуйте. Есть вопросы по передаче данных через SNMP:
1. Возможно ли передача данных двумя SNMP-агентами (OSNMP.Agent) на одном порту 161? Я пробовал делать следующее:
fbSnmpAgent_1(xEnable := TRUE, uiAgentPort := 161, usiTypeDevice := 1, sCommunityRead := 'public', sCommunityWrite := 'private',
pArrayVarBind := ADR(astVarBinds_1), usiCntVarBind := 255, eError => i_Error_1);
fbSnmpAgent_2(xEnable := TRUE, uiAgentPort := 161, usiTypeDevice := 2, sCommunityRead := 'public', sCommunityWrite := 'private',
pArrayVarBind := ADR(astVarBinds_2), usiCntVarBind := 176, eError => i_Error_2);
Проверял через MIB browser и не смог получить данные со второго агента, ошибок при отправке не было обнаружено. Если для каждого агента использовать разные порты, то всё работало.
2. Как правильно изменять параметр "gc_usiMaxCntVarbindTrap" в библиотеке OwenSnmp? В библиотеке есть два настраиваемых параметра, одно из них как раз gc_usiMaxCntVarbindTrap. Я изменял этот параметр, значение отображается новое, но в программном коде используется старое значение, которое задаётся по умолчанию.
3. Вопрос такой же как и в первом пункте, но только про блок OSNMP.SendTrap для отправки трапов. Возможно ли отправлять несколько трапов, используя один порт?
4. В какой именно момент отправляются трапы, при использования блока OSNMP.SendTrap? Вопрос возможно банальный, который легко проверить, но я не очень опытный пользователь codesys, поэтому меня этот вопрос запутал. Я знаю, что за отправку трапов отвечает xExecute внутри блока. Если нужно отправить трап, то переменную нужно выставлять в TRUE. А если я хочу отправлять трапы каждый раз, когда происходит некоторое событие, то должен ли я сбрасывать xExecute в FALSE, а после снова выставлять в TRUE? Замечал, что порой при сбрасывания xExecute в FALSE, трап отправлялся, что меня и запутало. Очень буду благодарен, если есть какой-то пример, где трап отправляется каждый раз при срабатывание какого-то условия.
Добрый день.
Нет.Цитата:
Возможно ли передача данных двумя SNMP-агентами (OSNMP.Agent) на одном порту 161
Прямо в менеджере библиотек:Цитата:
. Как правильно изменять параметр "gc_usiMaxCntVarbindTrap" в библиотеке OwenSnmp?
Вложение 87141
Как вы это определили?Цитата:
но в программном коде используется старое значение
Да. В рамках вызова экземпляра SendTrap можно отправить несколько трапов.Цитата:
Возможно ли отправлять несколько трапов, используя один порт?
Если нужно отправить больше, чем gc_usiMaxCntVarbindTrap, то нужно вызвать экземпляр несколько раз подряд с разными наборами трапов (но нет смысла пытаться вызвать несколько экземпляров одновременно).
По переднему фронту входа xExecute (т.е. значение входа должно перейти из FALSE в TRUE).Цитата:
В какой именно момент отправляются трапы, при использования блока OSNMP.SendTrap
Можете связаться со мной по телеграм (см. в подписи) и предоставить доступ по AnyDesk - это позволит решить оставшиеся у вас вопросы по SNMP.Цитата:
Очень буду благодарен, если есть какой-то пример, где трап отправляется каждый раз при срабатывание какого-то условия
Здравствуйте.
А может ли ПЛК быть в роли OPC UA Client`a?