Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

PLC
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=19489
Страница 1 от 14

Автор:  TheWizard [ Пон Апр 21, 2025 9:39 pm ]
Заглавие:  PLC

тряя да правя едно "тъпо" PLC около 8 входа, 8 изхода
обаче "ладер логиката" ми се иска да е независима от платформата ( SMT32, ESP32, PIC32 ... )
нещо като VM / ByteCode ... обаче не намерих Open решения - Някой, Нещо да знае?

или мисля да направя Cortex M0 софт емулатор да работи на SMT32, ESP32, PIC32 и други
а "ладер логиката" да е на C и да я компилирам за Cortex M0
с Position Independent Code API - чети/пиши по пиновете, метни нящо по ModBus ... разни там API функции

Автор:  Камен Пецов [ Вто Апр 22, 2025 8:59 am ]
Заглавие:  Re: PLC

Погледни това:
https://github.com/LDmicro/LDmicro/releases

Автор:  Ivo4o [ Вто Апр 22, 2025 1:19 pm ]
Заглавие:  Re: PLC

Здравейте

Това изглежда интересно https://autonomylogic.com/, а може да погледнете и това https://flprog.ru/en/, второто не е за независима платформа , подържа Arduino,ESP8266 ESP32 има всчико за едно PLC.

Автор:  TheWizard [ Вто Апр 22, 2025 9:07 pm ]
Заглавие:  Re: PLC

реално ми трябва виртуална машина за някакъв PCL код/логика ... то лесно става с натив С

GCC за Coretex M0 не подържа -fpic (Position Independent Code) - имам М0 емулатор ... да го еа :)

GCC за Coretex M4 подържа -fpic (тествано), но нямам емулатор ... поне до сега не намерих

"тъпата" идея е "PLC логиката" да си я пиша на С за cortex Mx ( демек М4 с -fpic )
пример:
Код:
#include "api.h"
int a = 42;
void app_entry(void)
{
   delay(500); // тъп блинк
   digitalWrite(0, 0); // просто синтаксис
   delay(500);
   digitalWrite(0, 1);   
        // няква PLC логика ... if a == b digitalWrite(3, 1);
}


компилира - BIN файл - демек АПЛИКАЦИЯ за некъв кернел
кернела работи на SMT32, ESP32, PIC32 ... квото и да е - 32 битово MCU
кернела емулира Cortex М4 ( че има компилатор ) ... ELF loader за горния код от бина и
Position Independent Code ... за поддържани функции - бум тряс

да ама не намирам С софтуерен емулатор за Cortex М4 :D ... абееее - чеша си крастата
тва беше Position Independent Code за M4 @ 48 MHz
https://www.youtube.com/watch?v=2D3_3b4-PVo

Автор:  TheWizard [ Чет Апр 24, 2025 9:19 pm ]
Заглавие:  Re: PLC

малко "тъпо" става ... повече писане ... бррррррр
Апликация(PLC логика) виртуалка - Cortex M4
(че и емулатор на Cortex M4 тряя пиша да го еа)

Код:
int add(int x, int y) {
    return x + y;
}

int main(void) {
    int result = add(42, 58); // fPIC add() -> кернел api_add()
    return result;
}


Кернел квато и да е платформа
Код:
void api_add(void) {
    // int add(int, int)
    int x = MCU.REG.r[0]; // Вземане на x от R0 (напр. 42)
    int y = MCU.REG.r[1]; // Вземане на y от R1 (напр. 58)
    int result = x + y;   // Логика (100)
    MCU.REG.r[0] = result; // Запис на резултата в R0
}

Автор:  t_i_t_o [ Пет Апр 25, 2025 11:13 am ]
Заглавие:  Re: PLC

А защо трябва да е PIC?
Като ще има емулатор и ЕЛФ зареждач, не може ли програмите да се билднат и сътоветно зареждат/изпълняват от един и същ адрес?

Автор:  Реконструктор [ Пет Апр 25, 2025 12:09 pm ]
Заглавие:  Re: PLC

Ако ще ползваш само дебели чипове, скачай направо на MicroPython и подобните

Автор:  TheWizard [ Пет Апр 25, 2025 2:43 pm ]
Заглавие:  Re: PLC

PIC ? (Position Independent Code) - не е кой знай каква имплементацията ... и APP отива къде е запишеш във флаша
за сега ще направя проба за емулация на M4 - да видя какво ще се случи и какви мотики ще има

Автор:  emilvtc [ Пет Апр 25, 2025 5:24 pm ]
Заглавие:  Re: PLC

Реконструктор написа:
Ако ще ползваш само дебели чипове, скачай направо на MicroPython и подобните


И как точно се дебъгва програма на микропитон? Как се трасира постъоково с опция да може да се разгледат променливите в програмата?

Автор:  TheWizard [ Пет Апр 25, 2025 8:50 pm ]
Заглавие:  Re: PLC

C2ME 8O
за ся - интересно ... ама иска писане на емулатора за М4 ( не намерих Open SRC )
( M4 го избрах заради GCC )

емулирано Cortex М4 Arduino ( C/C++ ) - баси мамата :D :D

PS: за ся тва: https://github.com/Wiz-IO/M4F

Автор:  TheWizard [ Нед Апр 27, 2025 6:56 pm ]
Заглавие:  Re: PLC

PIC-ка (Position Independent Code) го нагласих
и PUSH {R3-R5,LR} изпълнява :)

Прикачени файлове:
Untitled.png
Untitled.png [ 84 KiB | Прегледано 6847 пъти ]

Автор:  TheWizard [ Пон Апр 28, 2025 11:46 am ]
Заглавие:  Re: PLC

много писане на емулатор брррр...
поне разбрах колко е смотан M4F :)

интересното е че никой не е се е сетил да използва ( за малки MCU )
C/C++ като "скрипт"(в кавички) - компилиранo приложение в "емулирана" среда
някъв Кернел - Емулатор - Приложение ... ( M4F ... заради GCC, fPIC за размер и "позиция" )
то Питони / LUA / Джаба ... е почти същото, с малко разлика за високи "IT" абстракции
С++ дава висока абстакция - Ардуино кат за пример

но за "тъпо" PLC с емулирана логика/ладер мисля, че C/C++ е напълно достатъчен
но много писане и тестване...

Автор:  TheWizard [ Вто Апр 29, 2025 6:10 pm ]
Заглавие:  Re: PLC

баси мотиката 8O
ARMv7-M ( Cortex M4 ) в ELF-а има:
.
Код:
text:00000178 FF F7 EA FF    BL test <--- test() е малко по-нагоре

ся BL трябва да започва 11110 ...
в ELF-a е FF -> 1111 1111 ... - няма такава инструкция 8O
Въпроса е как IDA декодира BL и то test :D

Автор:  TheWizard [ Вто Апр 29, 2025 7:57 pm ]
Заглавие:  Re: PLC

не е little-endian
16 битовата е little-endian

32 битова (THUMB-2) я чете в тъп "ред"
Код:
CPU.ROM[offset+2] | (CPU.ROM[offset+3] << 8) | (CPU.ROM[offset+0] << 16) | (CPU.ROM[offset+1] << 24);

ARM мотики... :D англиийска пеееращина просто :ANAL:


Забележка: Изкуствените Идиоти са ... неимоверно прости на тема С и логика !!!

Автор:  Н'бабане Гт'муан'га [ Вто Апр 29, 2025 9:17 pm ]
Заглавие:  Re: PLC

Ще вденеш накрая... Аз от години повтарям че армовете са дървета

Страница 1 от 14 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/