Форум РадиоКот https://radiokot.ru/forum/ |
|
Open source plc STM32F103RBT6 source code Mitsubishi PLCFX1 https://radiokot.ru/forum/viewtopic.php?f=59&t=128469 |
Страница 12 из 18 |
Автор: | imsushka [ Сб мар 21, 2020 07:26:05 ] |
Заголовок сообщения: | Re: Open source plc STM32F103RBT6 source code Mitsubishi PL |
китайсы делают на ф203/ф205/ф405 в 103 запихнуть не проблема, сам код 48 кил , но можно часть команд (доубле, флоат) выкинуть если не нужны. тогда код около 30 кил получается ну и по регистрам тоже в 103 ограничение (20 кил памяти всего) я застопорился на void MOV_TO_K_H(u8 i, u32 data, u32 addr) signed int MOV_K(void) и далее get_value и put_value чото там так мудрено, не знаю как упростить |
Автор: | alexvp [ Сб мар 21, 2020 22:04:47 ] |
Заголовок сообщения: | Re: Open source plc STM32F103RBT6 source code Mitsubishi PL |
Спасибо за информацию, жаль что пока не получилось. А проекте менял камень или копировал файлы в новый проект?. |
Автор: | imsushka [ Вс мар 22, 2020 07:22:58 ] | ||
Заголовок сообщения: | Re: Open source plc STM32F103RBT6 source code Mitsubishi PL | ||
я уж и не помню, мне его под иар пересобрали под 103 я его сразу и готовил, оптимизировал шо б поместилось проект рабочий, просто то что у меня может уже и не работает как надо, я его сильно перепахал что б еще упростить/уменьшить код надо было переделать 6 функций get_value/put_value, но что то там не то может и работает, но я не понимаю как в 103 по дш 64к памяти, народ говорит что есть еще 64 я пихал так что б все (и код и пользовательская прога) в 64 помещались в принципе впихивается, 8000 шагов проги поместятся и 2000/4000 регистров данных
|
Автор: | tonyk [ Пн мар 23, 2020 07:46:34 ] |
Заголовок сообщения: | Re: Open source plc STM32F103RBT6 source code Mitsubishi PL |
STM32F103V (Z) Там основное требование- память не меньше 64К. Потискал немного этот проект.Ну китайцы... Судя по исходникам, вроде как 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- безсмысленно. Кому он нужен? Только автору. ИМХО, делать нужно нормальный контроллер, чтобы он заинтересовал и его применяли много людей. Тогда будет возможно всесторонне протестировать получившийся ПЛК. |
Автор: | imsushka [ Пн мар 23, 2020 09:41:35 ] |
Заголовок сообщения: | Re: Open source plc STM32F103RBT6 source code Mitsubishi PL |
канешно 2 или более писак, я ж его не с нуля писакал . я его перепахивал под себя и по чуть чуть оптимизировал. @ я оставил 1 ROM_ADDR и это временно. просто я не знаю как указать линковщику на конец проги. остальное вроде не привязанно к физическим адресам и флоат и доубле помещаются все, но вопрос - а оно нужно всем и всегда ? еще раз повторяю - в синюю пилюлю все помещается и работает с небольшими ограничениями по количеству регистров 2000 штук и длинне программы в 8000 шагов. и модбас слейв есть, да и на мастер места хватает, ШИМ там вроде тоже ничего сложного и объемного я не проверял адекватную (1 в 1 с мицубисей) работу, отсутсвуют часть команд (в том числе FOR/NEXT) и одному все таки сложно писакать, мысли не всегда приходят, да и дедлайна нету вот не давно прикупил себе пару китайских fx1 для сравнения работоспособности и вааще подумывал посадить I/O на SPI шо б можно было наращивать порты просто добавляя 595 |
Автор: | tonyk [ Пн мар 23, 2020 10:18:09 ] |
Заголовок сообщения: | Re: Open source plc STM32F103RBT6 source code Mitsubishi PL |
Цитата: я ж его не с нуля писакал Уважаемый imsushka! Я говорил об имеющемся у меня китайском проекте, а не твоём. Цитата: еще раз повторяю - в синюю пилюлю все помещается и работает с небольшими ограничениями "Всё"- это что? То есть реализован полный набор команд, поддерживающий LD, SFC и ST? Меня смущает размер исходников, которые выкладывались в этой теме. Сравниваю с проектом, который я изучаю. Он содержит около 36000 строк кода без учёта библиотек. Цитата: по количеству регистров 2000 штук и длине программы в 8000 шагов. Маловато. Есть возможность увеличить? Цитата: отсутсвуют часть команд (в том числе FOR/NEXT) Вот, заметил только сейчас. Значит, далеко не полная поддержка. Плохо. |
Автор: | imsushka [ Пн мар 23, 2020 10:48:58 ] |
Заголовок сообщения: | Re: Open source plc STM32F103RBT6 source code Mitsubishi PL |
LD ST SFC - это оболочка на компе в мк грузится скомпилированная хрень, она наверное соответсвует LD по мицубисевской доке если смотреть , то fx1 и fx2 реализованны на 90% fx3 - не реализован (новые команды которых нет в 1 и 2 fxсе) под все я подрузумеваю вот эти 90% у меня есть 3 или 4 разных проекта, тот что я перепахиваю и выложил единственный рабочий увеличить память программы не проблема - использовать дополнительные 64к недокументированные память регистров - нет, только если поставить внешнюю память кстати FOR/NEXT нет ни в одном из проектов в моем есть какие то обрезки, как будто народ по удалял куски кода |
Автор: | tonyk [ Пн мар 23, 2020 11:07:56 ] |
Заголовок сообщения: | Re: Open source plc STM32F103RBT6 source code Mitsubishi PL |
Цитата: LD ST SFC - это оболочка на компе Не совсем. Поддержка SFC требует реализации ряда команд. А свои проги на чём ваяешь, только на LD? |
Автор: | imsushka [ Пн мар 23, 2020 12:11:31 ] |
Заголовок сообщения: | Re: Open source plc STM32F103RBT6 source code Mitsubishi PL |
Цитата: LD ST SFC - это оболочка на компе Не совсем. Поддержка SFC требует реализации ряда команд. А свои проги на чём ваяешь, только на LD? да, так привычней |
Автор: | tonyk [ Пн мар 23, 2020 12:20:58 ] |
Заголовок сообщения: | Re: Open source plc STM32F103RBT6 source code Mitsubishi PL |
То есть SFC и ST не тестировал? Добавлено after 5 minutes 9 seconds: Re: Open source plc STM32F103RBT6 source code Mitsubishi PLCFX1 Стал смотреть и вот: Цитата: в 103 запихнуть не проблема, сам код 48 кил Хм, тот, который я изучаю, занимает 120К. В нём, правда, много явных оптимизация по скорости в ущерб размеру, но 48 и 120 заставляют задуматься об объёме реализации функционала FX. |
Автор: | imsushka [ Пн мар 23, 2020 12:58:35 ] |
Заголовок сообщения: | Re: Open source plc STM32F103RBT6 source code Mitsubishi PL |
37 100 bytes of readonly code memory 2 632 bytes of readonly data memory 6 116 bytes of readwrite data memory у меня что то отключенно, но ладдере вроде все включенно я давно уже не подходил к этому проекту, не помню что отключал но озушку я почистил и там свободно 14 кил = 7000 регистров можно проект увидеть ? |
Автор: | tonyk [ Пн мар 23, 2020 13:08:05 ] |
Заголовок сообщения: | Re: Open source plc STM32F103RBT6 source code Mitsubishi PL |
До дома доберусь- вышлю. |
Автор: | arif01230 [ Пн апр 13, 2020 18:53:15 ] |
Заголовок сообщения: | Re: Open source plc STM32F103RBT6 source code Mitsubishi PL |
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">imsushka</font></font>, hi |
Автор: | alexvp [ Ср апр 15, 2020 08:27:22 ] |
Заголовок сообщения: | Re: Open source plc STM32F103RBT6 source code Mitsubishi PL |
Добрый день. Приобрел плату на основе 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 не стоит и некогда его не использовал. |
Автор: | imsushka [ Ср апр 15, 2020 13:40:10 ] |
Заголовок сообщения: | Re: Open source plc STM32F103RBT6 source code Mitsubishi PL |
он начально и был на кейле просто мне чем то не устроил кейл и мне досикус переделал на иар но насколько я помню кейловый вариант тоже работал |
Автор: | alexvp [ Ср апр 15, 2020 17:42:19 ] |
Заголовок сообщения: | Re: Open source plc STM32F103RBT6 source code Mitsubishi PL |
Запаял кварц на 12 - не работает совсем. Проект Plc.rar скомпилирован для STM32F103C8T6 ? |
Автор: | dosikus [ Ср апр 15, 2020 17:54:48 ] |
Заголовок сообщения: | Re: Open source plc STM32F103RBT6 source code Mitsubishi PL |
alexvp, дай вспомнить , давно дело было. |
Автор: | imsushka [ Сб май 02, 2020 09:42:29 ] | |||
Заголовок сообщения: | Re: Open source plc STM32F103RBT6 source code Mitsubishi PL | |||
иар 8,32 9600 усарт2 для связи с девелопером 115200 усарт3 - логи работы 19200 усарт1 - модбус (не проверял, лень, но должен рабртать) макс7219 - 4 штуки, эмуляция 256 портов вывода (~500 мксек обновление) на вход не пробовал, нету 165 микрух готовых лсд выводит всякую фигню, для себя а работает или нет это вы мне говорите Вложение:
|
Автор: | tonyk [ Сб май 02, 2020 11:19:08 ] |
Заголовок сообщения: | Re: Open source plc STM32F103RBT6 source code Mitsubishi PL |
Этот код- НЕ_пригоден для использования. Хотя компилируется. Смотрю математику и обалдеваю от того бреда, что вижу. _ВСЯ_ арифметика должна быть переписана. Увы и ах. Не зря китайцы выложили его в свободный доступ. Добавлено after 16 minutes 41 second: Добрый день. Вопрос - кто либо запускал проект FX2N_MODBUS_RTC_AD_DA_V3.8 он рабочий? Что значит "рабочий"? Да, он компилируется. Да, коннектится. Но использовать его не получится. Код: static void DIV(void) //іэ·Ё { signed short int temp1,temp2,temp3; if((PLC_ACC_BIT&0X01)==0X01) { PLC_Err=PLC_Addr; temp1=cos_value(); temp2=cos_value(); temp3=addr_value(); PLC_16BIT[temp3]=temp1/temp2; PLC_16BIT[temp3+1]=temp1%temp2; } else PLC_Addr+=6; //Мш№э6ІЅіМРт } И такое везде. Я уже не говорю про выставление маркеров ошибки и переполнения. |
Автор: | imsushka [ Сб май 02, 2020 12:04:31 ] |
Заголовок сообщения: | Re: Open source plc STM32F103RBT6 source code Mitsubishi PL |
производители процессоров упростили процессоры и переложили контроль на компилятор производители компиляторов упростили компилятор и переложили контроль на програмиста програмист забил использовать можно, просто контроль на конечном пользователе - cmp k0 d0 m0 ldi m1 - div d1 d0 d2 |
Страница 12 из 18 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |