Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT




Loading

1131 runtime on FreeRTOS with PIC

Posted by Mihai on March 11, 2010
Hello guys,

I’d like to check if FreeRTOS suits to my demand to run it in a microcontroller such as PIC18, or dsPIC from Microchip in order to hide their hw details for a new application: a microPLC that is able to support a 61131 runtime for PLC automation projects.

For those that don’t know, in principle, a 1131 runtime is a forever loop that first reads the INPUTs of an I/O list (values being sampled beforehand based on interrupts), then process these inputs variable in a simple logic (AND/OR, .... sometimes more complex math like translating engineering units degree->radians, etc) with a dataflow imposed by various timers (TON, TOFF, ...), and writes the OUTPUTs back to the hardware.

Basically, looking at FreeRTOS design, I think that this 1131 runtime is a high-priority task together with an idle task for power-saving (sleep moments). In addition we also have the data acquisition component (that is interrupt driven). So, I don’t have lots of tasks, nor a complex priority scheme.
I personally don’t know if it’s useful to have a RTOS (and its overhead) on small microcontrollers such as PICs, for the application I described above with 1131 runtime. I wonder because one of the biggest problem in implementing 1131 runtime is supporting of various timers (hopefully using HW timers as available by specific PIC) and FreeRTOS doesn’t support hw specific timers, nor allow custom timers (I’ve read this post: http://sourceforge.net/projects/freertos/forums/forum/382005/topic/3585958). In our 1131 runtime, we need timers to enable/disable various branches of the dataflow (e.g. code if/then/else, switch) within this task, not necessarily enabling other tasks.

I don’t know if you have met such application which requires a 1131 runtime, but if you do, please share the good/bad experience.

Kind regards,
Mihai

RE: 1131 runtime on FreeRTOS with PIC

Posted by Richard on March 11, 2010
In my experience PLCs generally sample inputs at a fixed frequency, whereas RTOS based designed benefit most from event driven architectures (where lots of time can be saved because the need to poll is completely removed).

There is no reason why you could not implement this in an RTOS, especially if you have multiple communication interfaces that need services (as is common in PLCs) which is another area you are likely to see benefits. If the overall CPU load was relatively low, and power consumption was not an issue, then I'm sure you could just as easily do it bare back.

Regards.


[ Back to the top ]    [ About FreeRTOS ]    [ Sitemap ]    [ ]




Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS kernel V10 is available for immediate download. Now MIT licensed.


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS