Зайдите в конфигуратор на самой панели и проверьте правильно ли выставлен порт(должен стоять RS485).
Что бы войти в конфигуратор, тапните на экране в момент появления белой надписи на черном фоне(в момент загрузки).
Пароль: owen
Зайдите в конфигуратор на самой панели и проверьте правильно ли выставлен порт(должен стоять RS485).
Что бы войти в конфигуратор, тапните на экране в момент появления белой надписи на черном фоне(в момент загрузки).
Пароль: owen
Мурат, СПАСИБО!!!!! Всё заработало! Действительно настройка порта.
Не получается опросить МДВВ через конфигурацию, с МВА проблем нет. Подскажите, что я делаю не так? test.projectarchive
В конфигурации вы привязываете переменную типа REAL, к читаемому регистру, для считывания битовой маски состояния входов следует использовать тип WORD.
Ошибки вот здесь Подвязка.jpg , Привязка_2.jpg
[QUOTE=Мурат Ахриев;129533]В конфигурации вы привязываете переменную типа REAL, к читаемому регистру, для считывания битовой маски состояния входов следует использовать тип WORD.
По инструкции, которую скачал отсюда же, для привязки входов создается переменная типа INT. Попробовал и INT, и Word - не помогает
Одинаковые ли настройки интерфейса СПК и МДВВ, а в частности настроен ли контроль четности в МДВВ как EVEN? Четность.jpg
Спасибо, создал все заново и заработало. Вывел на экран окно с показаниями с первого входа МВ110-8А. Дабы не переставлять байты местами в REAL нельзя ли использовать INT и прямо в свойствах визуализации выставить масштабирование, допустим делить на 10, как, например в TraceMode (пример, согласен, не очень)? И почему в свойствах Rectangle, в котором я наблюдаю переменную INT со входа, надо добавлять текст "%d", иначе ничего и не отображается?
1.%d это идентификатор который сообщает, что данные находящиеся в Word'e нужно выводить как целочисленное десятичное число.
2.Сразу выводить int и делить не получиться, сначала нужно произвести конвертацию в тип REAL затем разделить на 10, а уже затем выводить на визуализацию при помощи идентификатора %*.*f(где *.* количество выводимых на экран знаков до запятой и после).
Все получилось, даже прикольно. Остался вопрос по написанию самой программы: для изменения байтов в REAL с выхода МВ110-8А создал FB, далее его вызываю PLC_PRG, где входу присваиваю значение с входа МВ110-8А, а на выходе получаю нужную переменную. Все работает, но для 8 входов МВ110-8А надо 8 раз вызывать этот FB. Можно ли сделать проще? Читал здесь про групповой опрос регистров,понял не совсем, а может и совсем не... Допустим первой группе регистров (первому каналу ) я присваиваю переменную СH_1:ARRAY [0..5] OF WORD; мне нужно значение 3-го регистра. как мне к нему обратиться из программы: СH_1.0:WORD? Тогда компилятор ругается... Безымянный.jpg Безымянный_1.jpg
Групповой запрос регистров удобен для МВ110-8АС т.к. в нем регистры расположены по порядку. В случае с МВ110-8А регистры расположены не по порядку, соответственно каждый канал нужно отдельно читать и отдельно менять местами байты в REAL.
Последний раз редактировалось Мурат Ахриев; 03.02.2014 в 16:09.