gosha Posted April 19, 2017 Share Posted April 19, 2017 День добрый Требуется помощь по причине недостатка знаний или мозгов. Такая вот задача: через CGI (или есть какой-то другой еще способ?) триггер из SQL сервера запускает 1 пульс на DO. Вместе с этим нужно сделать какое-то действие, что бы дать знать логике, что делть - изменить регистр, или запустить таймер или изменть состояние DI ну или что-то еще сделать, потому как логика задачи требует, что бы после первого из серии пульса DO в течение N секунд или до открытия-закрытия соответствующего DI все CGI команды игнорировались (для этого, наверное, надо не CGI команду на DO напрямую делать, а как-то опосредовано это делать?). Link to comment
gosha Posted April 19, 2017 Author Share Posted April 19, 2017 Есть ли возможность с компьютера иннициировать remote action, который использется в логике или изменить значение internal register? Я придумал вариант соединить проволокой DO и DI и таким образом изменять значение DI посредством CGI команды, но до контроллера мне ехать 300 километров Link to comment
Незнайка Posted April 19, 2017 Share Posted April 19, 2017 A через SNMP вы не хотите рассмотреть возможность записывать состояние internal register? Link to comment
gosha Posted April 19, 2017 Author Share Posted April 19, 2017 Если таковая имеется, то это было бы супер. А не подскажете, где можно взглянуть на пример такого действия с компа под управлением Windows ? Link to comment
Незнайка Posted April 19, 2017 Share Posted April 19, 2017 С примерами как то туго Можно, например, попробовать воспользоваться SnmpSet https://syslogwatcher.com/cmd-tools/, конкретно нас интересует OID .1.3.6.1.4.1.8691.10.2214.10.4.1.1.3... Ну и дальше как то вот так Link to comment
gosha Posted April 19, 2017 Author Share Posted April 19, 2017 Я очень извиняюсь за надоедливость. SNMP Trap отправлялку да, я уже нашел эту же самую - https://syslogwatcher.com/cmd-tools/snmp-trap-gen/ Я не совсем понял, а откуда взять OID этот стринг то? .1.3.6.1.4.1.8691.10.2214.10.4.1.1.3 - это "адрес" регистра? Я не нашел списка в докментации такого snmptrapgen -r:172.31.174.249 -v:2c -c:private -vtp:int -val:1 -to:<OID> писать snmptrapgen -r:172.31.174.249 -v:2c -c:private -vtp:int -val:1 -to:.1.3.6.1.4.1.8691.10.2214.10.4.1.1.3 ? Link to comment
Незнайка Posted April 19, 2017 Share Posted April 19, 2017 OID'ы лежат в mib-файле, вот тут http://moxa.ru/files/drivers_utilities_2/moxa_io_e2214_v3_8_build16021615.mib, соответственно взять их можно mib-браузером, я использую iResoaning. Вот по поводу синтаксиса ничего не скажу, тут надо тестить. Link to comment
Незнайка Posted April 19, 2017 Share Posted April 19, 2017 И да, "отправлялка" тут не нужна, тут нужна "записывалка", то есть то, что умеет snmp set делать, а не отправлять уведомления. Link to comment
gosha Posted April 19, 2017 Author Share Posted April 19, 2017 В MIBе есть irIndex, .1.3.6.1.4.1.8691.10.2214.10.4.1.1.1, The internal register index., read-only irName, .1.3.6.1.4.1.8691.10.2214.10.4.1.1.2, OCTET STRING (SIZE (0..19)), read-write, The internal register description. irValue, .1.3.6.1.4.1.8691.10.2214.10.4.1.1.3, INTEGER32 (0..255), read-write, The internal register working value. это все, что есть в MIB про регистры. всего их 24, а целочисленное значение - одно. А как выставлять то их? Я не про синтаксис, у snmpset есть описание, но если я для .1.3.6.1.4.1.8691.10.2214.10.4.1.1.3 могу установить одно значение? Это с маской что ли делается? Link to comment
Незнайка Posted April 20, 2017 Share Posted April 20, 2017 Есть OID .1.3.6.1.4.1.8691.10.2210.10.4.1.1.3.3 , а в нём есть подразделы, типа .1.3.6.1.4.1.8691.10.2210.10.4.1.1.3.0 - это первый (0) регистр, .1.3.6.1.4.1.8691.10.2210.10.4.1.1.3.23 - последний. Их и записываем. Это для E2210. В E2214 адреса будут чуть другие, но суть та же. Link to comment
gosha Posted April 20, 2017 Author Share Posted April 20, 2017 Есть OID .1.3.6.1.4.1.8691.10.2210.10.4.1.1.3.3 , а в нём есть подразделы, типа .1.3.6.1.4.1.8691.10.2210.10.4.1.1.3.0 - это первый (0) регистр, .1.3.6.1.4.1.8691.10.2210.10.4.1.1.3.23 - последний. Их и записываем. Это для E2210. В E2214 адреса будут чуть другие, но суть та же. Спасибо, дошло ) Все работает замечательно! snmpset -r:172.31.174.249 -v:2c -c:private -tp:int -o:.1.3.6.1.4.1.8691.10.2214.10.4.1.1.3.0 -val:0 Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now