Следующим этапом развития инструмента как раз будет узел. :)
Вид для печати
Обновитесь через "Историю версий"... релиз 102.
Отдельно можно будет приобрести плату интерфейса. Но позже, когда он появится в продаже, это примерно через 1-1.5 месяца.
Глупый вопрос, а платы интерфейса не те, что применяются для ПЛК73 ? некое новое устройство ?
Платы от ПЛК73 не подойдут, у них другой конструктив.
Странный подход при проектировании устройства однако....
Не всегда получается использовать в приборе конструкцию платы разработанной для другого прибора.
Верните обратно возможность редактировать связи.
СПАСИБО ОГРОМНОЕ! Я вчера получил ПР200 и начал осваивать тонкости его программирования. Через 4 часа поймал себя на мысли, что занят не программированием, а решением кроссвордов, поиском способов расположения элементов, при котором удасться их соединить должным образом. А оказывается, сегменты можно двигать! Уже хотел отказаться от него в пользу чего угодно, лишь бы не мучиться с картинками. Хорошо бы такую информацию собрать в FAQ, раз документация это замалчивает. Или я её не внимательно читал?
И ещё вопросы-пожелания от новичка к разработчикам:
1. Сделать, чтобы сетка была по-умолчанию включена. Иначе начинаешь работать, забыв её включить, а потом приходится всё заново переставлять. Непонятно, зачем её вообще выключать.
2. При отображении на дисплее целочисленных переменных включить вставку запятой между символами (как в ТРМ). Иначе приходится использовать тип float только ради вставки запятой в нужное место. Про аналоговый выход молчу, там сама электроника велела использовать целочисленный тип, но это уже будет слишком хорошо.
жаль, на ПР200 не пашет 1-й порт, то ли я убил, толь такой и был.....буду ждать....Цитата:
Отдельно можно будет приобрести плату интерфейса. Но позже, когда он появится в продаже, это примерно через 1-1.5 месяца.
wal79, спасибо....макросы заработали...
Что значит не пашет? Вы имеете ввиду 1 слот RS485? В системном меню порт видно?
да видно, при переводе перемычек в мастер, и соответствующих настройках в ОЛ, на клеммах АиВ тишина, при тех же манипуляциях на 2м порту 5 вольт....ко 2 му порту подключаюсь, работает, а на первом нет....Цитата:
В системном меню порт видно?
при подключении рс485 не снимал питания, как велит РЭ, возможно я сам виноват....
Про линии связи особо никогда не заморачивался, мне как-то всё равно, хоть через элемент программы пусть проходят, всё равно при наличии макросов и с идеальной отрисовкой линий ничего не поймёшь(логику работы), так в чём смысл?! Про запятую в целочисленном типе переменной поддерживаю, про аналоговый выход не понял где "собака порылась", вроде не раз примеры выкладывались, как например сделать обратную линейную зависимость: 500 - 4 мА, 22 - 20 мА, в чём проблема?!
Вложение 20131
Про линии связи:
Программа начинала подвисать при большом количестве элементов на холсте- это исправили теперь все довольно быстро
при перемещении блока перерисовывались все линии целком - теперь только последний отрезок, остальная часть линии остается без изменений.
Про запятую:
В чем возникают проблемы в работе с float?
Спасибо за ответы. Понимаю, что со своим уставом в чужой монастырь не ходят, но сказывается опыт работы схемотехником и 8-битным программистом. Сказываются привычки рисовать схемы на бумаге из школьной тетради в клеточку и не использовать float там, где можно обойтись без него.
По поводу графического редактора и отрисовки линй. Зачем рисовать схему, если потом её не прочитать? Рисую схемы в PCADе,там программа глупая, сама линии не прокладывает. (Я про редактор схем. Редактор плат сам дорожки рисует и тоже иногда неудачно). Зато схемы можно нарисовать как хочется, вполне читабельные.
И мне кажется, если бы кроме графического редактора был бы текстовый, типа ST, даже с усечёнными возможностями, и работать было бы легче, и ошибок было бы меньше.
С аналоговым выходом проблема такая. Когда подаю на него int напрямую или через int_to_floаt, то вижу на нём вместо 22 или 500 что-то в -40 степени. То есть надо подавать не 22 и 500, а 22. и 500., которые потом программа превратит в коды ЦАП. Сначала я int должен пересчитать во float, потом программа из float сделает word, а микросекунды в это время бегут.
С показаниями то же самое. Любое измерение можно сохранить в 2 байтах, по modbus пересылать удобно также, а при выводе на экран возможность часть цифр выводить после запятой недоступна, хотя и видна. Обидно тратить микросекунды и не резиновые ресурсы контроллера на перевод во float.
Ещё раз прошу прощения за, может быть, глупые вопросы. Какая длина целочисленного типа? в описании операций логического преобразования речь идёт о байте (кроме шифратора-дешифратора), сетевые переменные - регистр (2 байта), а арифметические операции - 4 байта. Про то, что переменные беззнаковые, я где-то находил, а что будет, если результатом арифметической операции будет сетевая переменная, старшая половина слова отбрасывается или портит соседний регистр?
Выложил 103 билд. Теперь включение сетки запоминается и не требуется каждый раз ее включать, если Вы привыкли с ней работать. Инструмент создание связей усовершенствован - теперь можно создавать сколь угодно сложные связи одной лишь мышкой.
Валерий, какой то небольшой кусочек от автоматической разводки остался. Вот посмотрите, обведённую часть связи сделала автоматика(то есть она нарисовалась сама).
Вложение 20145
Добрый день!
При изменении целочисленных сетевых переменных с клавиатуры ПР200, происходит наложение на соседний регистр!
До щёлкался, вместо указателя стал знак запрета и ни как не убирается только выключением ОЛ.
Доброго дня суток!
То о чем Вы пишите действительно имеет место быть. Самый простой пример: Две целочисленных сетевых переменных адрес 512 и 513 при изменении с помощью клавиатуры ПР200 накладываются (в проекте есть две сетевых переменных, которые пытаемся изменить с экрана ПР200)! Пока решили проблему путем назначения адресов через один (512, 514), но количество регистров с 64 сокращается до 32 (что в нашем случае уменьшает количество подключенных исполнительных устройств в двое). Что не совсем устраивает. Будем надеяться на решении проблемы разработчиками.
Все регистры занимают 2 байта для целочисленных переменных, и вроде как ПР тут ни при чем, это связано с протоколом.
А, собственно сколько байт то занимает целочисленная переменная ??????
capzap так и до 4-х байт можно схавать. Многое зависит от прошивки прибора, как он будет интерпретировать подобные числа. Толи от -32766 толи вообще от минус 2 ляма. А это уже будет говорить о качестве прошивки.
Если на INT прошивкой отводится 2 байта, то и должно отводиться 2 байта, независимо от знака числа, я так щитаю, иначе это не прибор а фигня полная.....
И если что, то в режиме программист можно указать сколько байт ДОЛЖНО занимать число. и там все корректно, если ставим 2 байта.
То же должно происходить и в ПР.
что блин делать, вот так макросы работают, сохраняютсяВложение 20157, а вот так не хотят работать Вложение 20158 , по ходу косяк в ОЛ не дотравленный.....
в общем прошу прощения, в макросах торчат переменные одни и те же....отсюда косяк, гора с плеч.
как так, все в 103 версии написалось, проект в областях применения пр200 выложил.......ну видимо вам виднее! качаем.Цитата:
Подтверждаю баг.
Выложил 104 билд. Там помимо этой ошибки также исправлено "создание связи".
и пожелания: выкладывайте пожалуйста новые версии ОЛ в одном месте, например в начале темы....
Я не могу выкладывать на сайте, этим занимаются другие люди. Помимо "Истории версий" подключу как и говорил сервер обновлений, что был раньше. Единственное по желаниям пользователей по умолчанию отключу "Автопроверку обновлений". Вы либо сами уже поставите в соответствующем пункте меню галочку, либо через меню "О программе".
Как запущу сервер отдельно сообщу.
Укажите ссылку на выложенный OL 104 или 103. Пожалуйста.
в любом ОЛ история версий, там ссылка с нее и качайте
Странная вещь при попытке умножения сетевой переменной начинается странные "промаргивания" значения переменной. В режиме симуляции при значении переменной равной 0 все нормально. При любом значении переменно отличной от 0 начинаются промаргивания.
Версия ПО 101 билд
В программе используются 2 интерфейса Rs-485
первый слейв
второй мастер
В мастер добавлено только 1 устройство, с 3 переменными
В каждой переменной, в поле "Запуск чтения", была установлена переменная, если она True должно начаться считывание данных (если я правильно понял логику, т.к. описание данной функции отсутствует напрочь).
В новом проекте понадобилось удалить 2 порт Rs-485, т.к. используется реле с один портом
Начал удалять переменные, переменные 2 и 3 удалились, а первая переменная не удаляется, вываливается ошибка NullReferenceExcheption
Попытался удалить сразу весь порт, но выходит уже другая ошибка "Не найдена привязка к переменной!"
глючный пустой проект во вложении
В версии 104, ошибка так же присутствует
"в любом ОЛ история версий, там ссылка с нее и качайте" - что такое ОЛ ?
Исправил... 105 билд. Насчет последнего замечания. Вновь удалите ту самую единственную переменную. К сожалению, выяснить досконально причину не удается, так как не удается воспроизвести. Провел небольшие работы над надежностью удаления переменных с привязками. Если что-то подобное будет вылезать пишите.
Сервер обновлений запущен.