Я знаю что должно работать, а нет не хочет. . я уже все настройки перекрутил.
Я знаю что должно работать, а нет не хочет. . я уже все настройки перекрутил.
Последний раз редактировалось Кирилл Валюнин; 22.06.2012 в 13:51.
Все работает.
У кого что не работает выкладывайте проекты, а лучше шлите на support@owen.ru
Пока не было времени, как получится, так сразу отпишусь, завтра буду экспериментировать.
У меня вопрос к CAPZAP. В конфигурации ПЛК создал 1 Universal Modbus Device с настройками сетевого адреса одного модуля МВ-110-16ДН (например 16), далее создаем регистр Register input module, в его параметрах ставим - Register - 51, то бишь управление по маске входов. Вопрос, а как прописать переменные, ведь их шестнадцать штук? Если я прописываю в программе маску входов var1 AT %IW6.1.0.0:WORD; - для первого входа, то как для второго, третьего и .... и шестнадцатого прописать маску входов?
У меня заработали!!!
а не хватало всего то.....
Хотелось бы через Modbus законектить. По протоколу Owen и у меня все работало. Вот проектик ПЛК и МВ110-16ДН по протоколу Owen Master
У меня вопрос к CAPZAP. В конфигурации ПЛК создал 1 Universal Modbus Device с настройками сетевого адреса одного модуля МВ-110-16ДН (например 16), далее создаем регистр Register input module, в его параметрах ставим - Register - 51, то бишь управление по маске входов. Вопрос, а как прописать переменные, ведь их шестнадцать штук? Если я прописываю в программе маску входов var1 AT %IW6.1.0.0:WORD; - для первого входа, то как для второго, третьего и .... и шестнадцатого прописать маску входов? У меня вопрос к CAPZAP. В конфигурации ПЛК создал 1 Universal Modbus Device с настройками сетевого адреса одного модуля МВ-110-16ДН (например 16), далее создаем регистр Register input module, в его параметрах ставим - Register - 51, то бишь управление по маске входов. Вопрос, а как прописать переменные, ведь их шестнадцать штук? Если я прописываю в программе маску входов var1 AT %IW6.1.0.0:WORD; - для первого входа, то как для второго, третьего и .... и шестнадцатого прописать маску входов?
А если сделать, как предложил пользователь Lara197a - Вам нужно добавить не 8 бит инпут модуль, а регистр инпут модуль.
Потом обзываете переменную к примеру VXODY и используете в программе косвенную адресацию:
In_1:=VXODY.0;
.....
In_16:=VXODY.15;
- то как в программе прописать адреса для второго, третьего и .... , и десятого модуля.
Потому что именно Ваши полные ответы мне помогли в начальном познании программирования, а не пару слов, типа сделай так, это проще паренной репы - и усе будет работать. С логикой понятно, а с прописанием, вот здесь наглядный пример бы помог. Вопрос как раз по поводу как сделать из одного регистра 16-ть булевых переменных в языке LD или FBD, если можно примерчик, буду очень признателен.
Вот это как раз просто. Есть в библиотеке Util.lib блок Pack и UnPack.
Ну и как уже обсуждалось - можно обращаться к биту в разряде через точку.
Допустим есть переменная w1 типа word. Чтобы мне получить\записать значение например третьего бита я просто пишу: w1.3 А что с этим битом делать - решать Вам. Записывать в него значение или считывать.
Язык при этом не важен