 | |
Предыдущие результаты
[quote:52216ef82b="ferzio"]В этом и загвоздка. На LADах проблем написать нету. Просто есть уже наработки на Си и перенести это на ST легче, чем на графические языки.
Посмотрел настройки модулей - нашел только на AIшки, возможно из-за того что всё железо довольно бюджетное. Плюс "пользовательских" настроек в том что их можно переносить с контроллера на контроллер (независимо от производителя и типа модулей).
По поводу размера программы - в 20 раз это существенно. Сам написал ~20 строк когда на ST и перевел этот код на LAD. Код ST оказался на 3 с лишним Кбайт тяжелее ([/quote:52216ef82b]
Для Logix - LD самый быстрый и легкий (по отношению к памяти).
Использование FB и AOI минимизируй, т.к. для каждой команды создается своя структура (будет расход памяти).
[code:1:52216ef82b]BST XIC a OTE b NXB XIC c OTE d NXB XIC e OTE f BND [/code:1:52216ef82b]экономит память по сравнению с тремя отдельными строками.
Этот эффект был обнаружен для MicroLogix 1000 и было очень актуально.
|
[quote:841c8cbc95="ferzio"]
Что сразу приходит на ум, так это компановка переменных. Битовые переменный хранить в массиве DINTa.
Ужимать DINTовские переменные в INTы смысла нету, т.к. весить они будут все равно 4байта.
[/quote:841c8cbc95]
Ну это совершенно не так. Просто надо пользоваться предусмотренными для этих целей инструментами, а именно "User Defined Data Types".
Структуры выравниваются по четырем байтам, но внутри все упаковывается плотно (конечно, если не будете чередовать байты и реалы). Поэкспериментируйте с ними и всё станет понятно, при сохранении сразу размер расчитывается и показывается.
[quote:841c8cbc95="ferzio"]
Заметил, что комментарии тоже занимают место в памяти (для возможности полноценной выгрузки проекта).
[/quote:841c8cbc95]
Настоящие программисты-асушники пишут на чём правильно, а не на чём легче :crazy:
Пишите на Ladder, а не на ST - и комментарии и исходник будут исключительно в файле проекта на компе, а в контроллере только компактный программный код.
:P
ЗЫ
и исполняться программа будет в разы быстрее :wink:
|
Можно и дальше в угадайку играть, или может всё-таки автор темы приведет реальные цифры?
повторяю, для прояснения ситуации требуется данные о том, как сконфигурирована команда на опрос и какой номер ошибки возникает, когда не работает:
чего у вас прописано в MCM.CONFIG.Port1MasterCmd[0,1,2...]
и чего вы видите в MCM.DATA.ReadData[ххх], где ххх - это адрес куда пишутся ошибки с порта (MCM.CONFIG.Port1.CmdErrPtr)
Предельное ограничение регистров в одном запросе 127, это обусловлено самим протоколом ModBus
У MCMR отличие только в уменьшенном размере блока данных, котором он обменивается с процессором (чтобы не занимал весь ControlNet-овский пакет)
|
Вот такая:
http://www.amazon.de/Duracell-Photobatterie-123-CR17345-2er-Pack/dp/B00011PJCM
|
[quote:4b25758426="Ludmila"]
Что за ошибка "Protokol Error"?
Модуль это виноват или счетчик?[/quote:4b25758426]
Нет такой ошибки у МСМ, есть группа ошибок "Modbus proto[b:4b25758426][u:4b25758426]C[/u:4b25758426][/b:4b25758426]ol errors"
Тут телепатов нет, где вы увидели именно такую ошибку???
МСМ всегда выдает исключительно код ошибки (число), которое можно расшифровать заглянув в руководство пользователя.
Если хотите, чтоб вам реально помогли, то приводите чего у вас прописано в MCM.CONFIG.Port1MasterCmd[0,1,2...]
и чего вы видите в MCM.DATA.ReadData[ххх], где ххх - это адрес куда пишутся ошибки с порта (MCM.CONFIG.Port1.CmdErrPtr)
ps
на сайте производителя вашего счётчика мне не удалось найти карту регистров, поэтому ее тоже приведите[/u]
|
[quote:177cc5a891="User-luser"]У меня пока такой вариант - в ивенте прописать сравнение текущего значения данного тега со значением тега истории и если изменился - вызов процедуры, event вызывать там.....через 0.5 сек. Может есть возможность сделать это непосредственно, без всяких ивентов и [b:177cc5a891]зацикливаний[/b:177cc5a891]?[/quote:177cc5a891]"зацикливаний" чего?
Можно сделать по событию в VBA, см. примеры, но лучше так не делать и вообще VBA применять только в крайнем случае.
[b:177cc5a891]Event Detector [/b:177cc5a891]работает надежнее, но не увлекайся малыми временами.
[code:1:177cc5a891]Tag <> Tag_Mem /событие
Tag_Mem = Tag; VBAExec Name /действия[/code:1:177cc5a891]
|
[quote:d2da7827b8="andy_18"]по какой причине не подходит любая другая батарея ?[/quote:d2da7827b8]
Не знаю. Должно работать, как долго - пробуй.
Ищи на подобные характеристики (в магазинах этого не знают):
[code:1:d2da7827b8]PANASONIC Type CR-17335E
Electrical Characteristics at 20oC (68oF):
3V nominal voltage, 1750mAh nominal capacity @ 1.0mA standard drain and
cut-off voltage down to 2.5V @ 20oC (68oF).
80mA maximum pulse current..
Load Characteristics (Temp: 20oC (68oF))
Load Approximate time of discharge (3.0V to 2.0V)
5.6kΩ @ 0.5mA 3500 hours
10kΩ @ 0.29mA 6100 hours
20kΩ @ 0.14mA 12200 hours[/code:1:d2da7827b8]Как видно из характеристик - малые токи (возможно и саморазряд мизерный).
Очень давно применял для PLC-5 батарею из трех элементов NiCd (1.2 V, 350mAh) - работало, но не долго (саморазряд). Потом это-же для SLC - аналогично. Причем для PLC-5 нужно 3.6V, а для SLC - 3 V.
|
[url=http://www.automationdirect.com/static/manuals/eauserm/eauserm.html]C-more Touch Panel User Manual and Product Inserts[/url]
[url=http://c-more.automationdirect.com/software/index.html]C-more Software Features[/url]
|
[quote:c3e66c1204="metras"]Добрый день. Подскажите пожалуйста где можно найти примеры программирования ПЛК micro-850. Управление Преобразователем частоты по протоколу Ethernet/ip. Спасибо.[/quote:c3e66c1204]
... вот удалось найти в кноледжжж бэйс " ... but the Micro850 cannot initiate a message to talk to another device" и еще "The feature for Ethernet CIP messaging is not available in the current version of CCW and Micro800 firmware" ... от оно как, покупайте microLogix 1400 или 1100 - лучшее решение на данный момент (а сегодня пятница).
Примеры есть тута - http://ab.rockwellautomation.com/Programmable-Controllers/Micro850#/tab6 ищите Sample Code Library
|
Так. с настройками порта я разобрался. Вбил параметры порта через ProSoft Configuration Builder и установил ждампер на модуле MVI69-MCM на 485.
|
Предыдущие результаты
Ещё результаты |
|
| |
|