Jump to content
Форум по продукции MOXA

gosha

Пользователи
  • Posts

    21
  • Joined

  • Last visited

Posts posted by gosha

  1. Привет

     

    А вот вопрос - можно ли, и как это делать, использовать в логике регистры в качестве переменных? Т.е. именно для этого они бы, по моему разумению, и предназначены, но не понятно как, например, делать следующее:

     

    1. сравнить значение counter со значением регистра?

    2. записать значение counter в регистр?

    3. увеличить значение регистра на 1, что то типа register0 = register0 + 1

     

    из интерфейса управлящей утилиты это не ясно совсем, и в описании тоже не ясно...

  2. Привет еще раз

     

    У меня вопросы дилетантские, простите пожалуйста, приходится делать не свои задачи. Чем-то можно смотреть в реальном времени состояние (значения) регистров и таймеров? Примерно так же, как ioAdmin показывает состояние входов и выходов, так бы и ренистры и таймеры смотреть бы, причем лучше даже не все, а что бы можно было бы выбрать?

  3. Есть 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

  4. В 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 могу установить одно значение? Это с маской что ли делается?

  5. Я очень извиняюсь за надоедливость. 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

     
    ?
  6. Есть ли возможность с компьютера иннициировать remote action, который использется в логике или изменить значение internal register?


    Я придумал вариант соединить проволокой DO и DI и таким образом изменять значение DI посредством CGI команды, но до контроллера мне ехать 300 километров :(

  7. День добрый

     

    Требуется помощь по причине недостатка знаний или мозгов. Такая вот задача:

     

    через CGI (или есть какой-то другой еще способ?) триггер из SQL сервера запускает 1 пульс на DO. Вместе с этим нужно сделать какое-то действие, что бы дать знать логике, что делть - изменить регистр, или запустить таймер или изменть состояние DI ну или что-то еще сделать, потому как логика задачи требует, что бы после первого из серии пульса DO в течение N секунд или до открытия-закрытия соответствующего DI все CGI команды игнорировались (для этого, наверное, надо не CGI команду на DO напрямую делать, а как-то опосредовано это делать?).

  8. А вот написано еще "The 24 sets of the internal registers can be polled and controlled by a SCADA software using standard Modbus/TCP format, or be implemented to redirect the result of one Click&Go logic to another." А какой простейший вариант изменять регистры в IOLOGIC через modbus протокол?


     

    Доброе утро!

     

    Тут видится вариант с привязкой таймера к свободному DO, например.. То есть состоянием DO управлять через CGI, а уже по его состоянию запускать таймер.

     

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

     

     

    А, кстати, как по состоянию DO можно что то делать, если его нет в списке IF conditions ?

  9. Доброе утро!

     

    Тут видится вариант с привязкой таймера к свободному DO, например.. То есть состоянием DO управлять через CGI, а уже по его состоянию запускать таймер.

     

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

  10. Добрый день, формчане

     

    Подскажите, мне надо установить регистер и запустить таймер извне контроллера (с компа, через CGI команду). Есть ли возможность это сделать? Я так понимаю, что setParam только для входов и выходов что ли?

  11. День добрый

     

    У меня есть устройство, которое пишет в порт что-то. Номерочитающая камера. И есть E2214 у которого вроде бы есть какой-то последовательный порт. Может ли E2214 считывать пришедшую строку, модифицировать ее и отправлять наружу в виде CGI команды. Ну или хотя бы отправлять полностью, без модификации? Это минимум, еще неплохо было бы что то делать, например, открывать шлакбаум, в зависимости от содержимого этой самой строки?

     

    Спасибо,

    Д.

  12. Пока что я придумал такой деревянненький вариант, что по DI я вызываю CGI команду на себя же. Тогда в списке портов соответствующие DO стоят без звездочки и, получается, контроллер исполняет и внешние CGI команды и изменения в DI. Такой вариант можно использовать в реальной жизни? Простите за глупые вопросы, я первый раз держу такой девайс в руках.

  13. Стало чуточку яснее, получается, что если, скажем, у меня есть в логике 2 правила, которые по DI 1 и 2 делают PulseStart DO 1 и, соответственно, 2, то через CGI я не могу управлять DO 1 и 2 при запущенной логике. Получается, что выходы "заняты" логикой. Вопрос - а как тогда сделать возможным управление одним и тем же выходом и на основании изменения DI и на освновании CGI запроса?

  14. Спасибо за примерчик. На указанной странице 3-35 описано, как отправлять CGI команду, мне надо выполнить действие (открыть шлакбаум) по HTTP запросу. В том примере конфигурации, что у меня есть, который я заливаю и после чего http://10.24.10.12/setParam.cgi?DOPulseStart_01=1 выполняется я не нашел ни слова про accept CGI from certain IPs или в правилах Click&Go в IF ни чего нет (в том примере в IF только DI)

    Надо что-то где-то прописать, что бы контроллер стал принимать CGI команды...

  15. День добрый

     

    Есть E2214, что с ним нужно сделать, что бы он акцептировал CGI команды. У меня есть пример конфигурации, залив которую, я могу управлять выходами, а если сбросить конфигурацию - то не могу. В документации не нашел и в конфигурации этой не могу никак найти, чего такого надо включить, что бы контроллер принимал команды?

×
×
  • Create New...