в 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 не стоит и некогда его не использовал.
Этот код- НЕ_пригоден для использования. Хотя компилируется. Смотрю математику и обалдеваю от того бреда, что вижу. _ВСЯ_ арифметика должна быть переписана. Увы и ах. Не зря китайцы выложили его в свободный доступ.
производители процессоров упростили процессоры и переложили контроль на компилятор производители компиляторов упростили компилятор и переложили контроль на програмиста програмист забил
использовать можно, просто контроль на конечном пользователе
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 50
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения