в 103 запихнуть не проблема, сам код 48 кил , но можно часть команд (доубле, флоат) выкинуть если не нужны. тогда код около 30 кил получается ну и по регистрам тоже в 103 ограничение (20 кил памяти всего)
я застопорился на void MOV_TO_K_H(u8 i, u32 data, u32 addr) signed int MOV_K(void)
я уж и не помню, мне его под иар пересобрали под 103 я его сразу и готовил, оптимизировал шо б поместилось
проект рабочий, просто то что у меня может уже и не работает как надо, я его сильно перепахал что б еще упростить/уменьшить код надо было переделать 6 функций get_value/put_value, но что то там не то может и работает, но я не понимаю как
в 103 по дш 64к памяти, народ говорит что есть еще 64 я пихал так что б все (и код и пользовательская прога) в 64 помещались в принципе впихивается, 8000 шагов проги поместятся и 2000/4000 регистров данных
Потискал немного этот проект.Ну китайцы... Судя по исходникам, вроде как FX2N/FX1N/FX1S. Но к GX Works в режиме автоопределения цепляется как FX3U.
Посмотрел исходники. Это феерично. Проект приколочен к адресам Ф103, есть конструкции вида __at(...), хотя в других проектах, виденных мной, их ещё больше. И хотя широко используется SPL, много дефайнов с адресами периферии. Такое ощущение, что писали 2 человека.
Моя цель- отделить мух от котлет, то есть разделить аппаратно зависимую и независимую части. Это позволит портировать его на другие платформы. Руки пока не дошли, так, раз-два в неделю по часику-два изучаю.
Переводить на Ф103С8 считаю бесполезной тратой времени. Во-первых, с таким объёмом ОЗУ вряд ли получится реализовать поддержку плавающей точки, SFC и, например, того же Модбас. Во-вторых, стоимость Ф103С6 и, например, Ф401RE или 411 отличаются не сильно, а вот возможности ощутимо. Кстати, имеющийся проект поддерживает Modbus и CAN. Глубоко не рыл, но 6 таймеров, вероятно, для ШИМ и/или энкодеров(?). Ну а если ваять чё-нить удобное и функциональное для жизни, то понадобятся 1-Wire, Ethernet, USB. А если добавить возможность работы с модулями удалённого ввода-вывода, то несколько RS-485/RS-232 и тогда, по-моему, становится очевидной полная бесперспективность Ф103С8.
Делать кастрата 4DI/4DO- безсмысленно. Кому он нужен? Только автору. ИМХО, делать нужно нормальный контроллер, чтобы он заинтересовал и его применяли много людей. Тогда будет возможно всесторонне протестировать получившийся ПЛК.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
канешно 2 или более писак, я ж его не с нуля писакал . я его перепахивал под себя и по чуть чуть оптимизировал. @ я оставил 1 ROM_ADDR и это временно. просто я не знаю как указать линковщику на конец проги. остальное вроде не привязанно к физическим адресам
и флоат и доубле помещаются все, но вопрос - а оно нужно всем и всегда ?
еще раз повторяю - в синюю пилюлю все помещается и работает с небольшими ограничениями по количеству регистров 2000 штук и длинне программы в 8000 шагов. и модбас слейв есть, да и на мастер места хватает, ШИМ там вроде тоже ничего сложного и объемного
я не проверял адекватную (1 в 1 с мицубисей) работу, отсутсвуют часть команд (в том числе FOR/NEXT)
и одному все таки сложно писакать, мысли не всегда приходят, да и дедлайна нету
вот не давно прикупил себе пару китайских fx1 для сравнения работоспособности
и вааще подумывал посадить I/O на SPI шо б можно было наращивать порты просто добавляя 595
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Уважаемый imsushka! Я говорил об имеющемся у меня китайском проекте, а не твоём.
Цитата:
еще раз повторяю - в синюю пилюлю все помещается и работает с небольшими ограничениями
"Всё"- это что? То есть реализован полный набор команд, поддерживающий LD, SFC и ST? Меня смущает размер исходников, которые выкладывались в этой теме. Сравниваю с проектом, который я изучаю. Он содержит около 36000 строк кода без учёта библиотек.
Цитата:
по количеству регистров 2000 штук и длине программы в 8000 шагов.
Маловато. Есть возможность увеличить?
Цитата:
отсутсвуют часть команд (в том числе FOR/NEXT)
Вот, заметил только сейчас. Значит, далеко не полная поддержка. Плохо.
LD ST SFC - это оболочка на компе в мк грузится скомпилированная хрень, она наверное соответсвует LD по мицубисевской доке если смотреть , то fx1 и fx2 реализованны на 90% fx3 - не реализован (новые команды которых нет в 1 и 2 fxсе)
под все я подрузумеваю вот эти 90% у меня есть 3 или 4 разных проекта, тот что я перепахиваю и выложил единственный рабочий
увеличить память программы не проблема - использовать дополнительные 64к недокументированные память регистров - нет, только если поставить внешнюю память
кстати FOR/NEXT нет ни в одном из проектов в моем есть какие то обрезки, как будто народ по удалял куски кода
Добавлено after 5 minutes 9 seconds: Re: Open source plc STM32F103RBT6 source code Mitsubishi PLCFX1 Стал смотреть и вот:
Цитата:
в 103 запихнуть не проблема, сам код 48 кил
Хм, тот, который я изучаю, занимает 120К. В нём, правда, много явных оптимизация по скорости в ущерб размеру, но 48 и 120 заставляют задуматься об объёме реализации функционала FX.
Зарегистрирован: Ср мар 18, 2020 15:00:01 Сообщений: 5
Рейтинг сообщения:0
Добрый день. Приобрел плату на основе STM32F103ZE, залил выложенный здесь проект FX2N_MODBUS_RTC_AD_DA_V3.8, подключил к GX Works2 - связи нет. Вечером проверил дома - Test conect показывает соединение, считывает название контроллера, но дальше программа GX не связывается - не считывает и не пишет программу. Обнаружил что на плате стоит кварц - 8 мегагерц, поменял в проекте с 12 на 8 - результат тот же. Запаяю на плату 12 посмотрю, что получится. Вопрос - кто либо запускал проект FX2N_MODBUS_RTC_AD_DA_V3.8 он рабочий?. Спасибо imsushka за выложенный проект Plc.rar. Может кто-то переделывал его под Keil? , IAR не стоит и некогда его не использовал.
Этот код- НЕ_пригоден для использования. Хотя компилируется. Смотрю математику и обалдеваю от того бреда, что вижу. _ВСЯ_ арифметика должна быть переписана. Увы и ах. Не зря китайцы выложили его в свободный доступ.
производители процессоров упростили процессоры и переложили контроль на компилятор производители компиляторов упростили компилятор и переложили контроль на програмиста програмист забил
использовать можно, просто контроль на конечном пользователе
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения