在RT-Thread上玩工控—基于RTT的PLC运行时内核

小伙伴们,好久不见!不知不觉软件包栏目已经连载了12期,通过「软件包大赏」栏目大家也认识了不少来自社区的牛人,热爱探索的学生马龙伟/郭永超 、总是创意满满的留洋博士阿嘉、风趣幽默的“杀猪哥”,玄乎其神的吴博~(回看往期,请点击此处)受了他们的影响,有很多新朋友陆续参与到了软件包的贡献中。

接下来,我们再来听听本期受访者冯洲与plccore软件包之间的故事~

图片来源网络

大家好,我是冯洲

我是plccore软件包的作者冯洲,资深老猿,多年来一直从事嵌入式软件开发。虽然做了一众项目,但技术谈不上牛,成就也不大,也没有过人的机遇,总之平平无奇。生活虽平淡却不忘初心,始终喜欢编程和嵌入式开发,总想用代码实现自己的奇(hu)思妙(luan)想,造出属于自己的轮子。

我听说RT-Thread大概是2013年左右,当时为一个工控项目选择实时操作系统,对能找到的几种常用RTOS都了解了一下。其实选择不多,不外乎ucos、RT-Thread、Freertos等几种。当时RT-Thread的名声还没有打起来,资料也不多,所以稍作了解就放过了。转眼几年过去了,RT-Thread发展得很不错,教程文档齐备,平台日益完善,社区渐趋活跃,开发者与日俱增,而且始终坚持开源,又扛着国产第一RTOS的旗号,一时为风气之先。熊大与他的团队,确实是眼光独到,厚积薄发,令人钦佩(……此处省略一万字的赞美之辞)。

示例:新建工程

plccore软件包的由来

今年春节遭遇新冠疫情,放了一个史无前例的长假。禁足在家无处可去,正好趁此机会,好好学习一下RT-Thread。讲实话我一直比较喜欢使用IDE进行开发,所以新推出的RT-Thread Studio对我来说太香了!RT-Thread支持众多MCU的BSP,使用RT-Thread Studio基本上可以无代码实现系统移植,简直是我梦想中的神兵利器。对RT-Thread有一定了解之后,我发现它非常适合这几年我一直在开发的一套可编程控制器系统。这套系统包括上位机编程软件plcide和底层嵌入式运行时核心plccore两部分。使用RT-Thread,plccore可以快速移植适配更多MCU,节省大量开发时间,完全符合我的开发思路。

于是,我把plccore代码改写成RT-Thread软件包的形式并开源,希望在回馈开源社区的同时,也能通过社区接触到更多对PLC感兴趣的开发者,使这套可编程控制器系统得到更好的发展。

同时,为了与plccore配套使用,我也发布了一个社区版本的plcide软件。这个软件实现了基本的PLC组态与编程功能,可以使用标准PLC编程语言(指令表IL、梯形图LD)来编写控制逻辑,然后翻译为C语言代码文件输出,与plccore无缝对接。

感兴趣的同学可以发邮件到 401190549@qq.com 索取,我会及时回复。

示例:将工程翻译并输出为C语言代码文件

plccore的目标

开发plccore + plcide可编程控制器系统的目标有三点:

1、实现完全遵循IEC61131-3标准的可扩展的开放型PLC编程系统,提高代码模块复用率;

2、实现编译型PLC,相比解释型PLC不论指令密度还是执行效率都大大提升;

3、探索使用图形化和表格化的形式开发嵌入式应用程序,简化MCU开发;

发布基于RT-Thread的plccore软件包和社区版的plcide软件,应该说是实现上述目标的坚实一步。

plccore能做什么?

对于MCU开发者,当你完成了RT-Thread + plccore移植后,可以使用plcide进行:

1、图形化编写控制逻辑,任意多平台复用

2、表格化配置多任务系统,不用写代码,支持不同的任务驱动模式:循环执行、外部信号触发、定时触发

如何移植plccore?

请参考软件包docs目录下给出的移植教程:https://github.com/hyafz/plccore/blob/master/docs/plccore软件包移植及使用说明.md

(因微信无法插入外部链接,请将以上的链接复制至外部浏览器打开)

如何使用plcide?

请参考软件包docs目录下给出的PLC集成开发环境用户手册:https://github.com/hyafz/plccore/blob/master/docs/PLC集成开发环境用户手册.md

以及编程参考手册:https://github.com/hyafz/plccore/blob/master/docs/IEC61131-3标准PLC编程参考手册.md

(因微信无法插入外部链接,请将以上的链接复制至外部浏览器打开)

示例

目前提供一个示例:https://github.com/hyafz/plccore/blob/master/docs/PLC集成开发环境使用示例.md

后续将增加更多的示例。

示例代码运行效果

(因微信无法插入外部链接,请将以上的链接复制至外部浏览器打开)

Tips

软件包官网:http://packages.rt-thread.org/

RT-Thread 近期活动

RT-Thread能力认证报名

现在报名即享三重福利,1、报名即可以领取往期能力认证培训资料大礼包 2、参与新能力认证考前培训 3、学生优惠价168元

扫码报名

企业人才服务

在这个特殊时期,针对人才服务RT-Thread将开放更多的资源,如果你的企业在招聘嵌入式相关人才,可提交职位信息说明,RT-Thread将会通过微信公众号免费发布相关职位信息(要求RT-Thread技能的职位优先发布)

请详细登记您的职位信息,我们将尽快联系你确认岗位描述信息,安排发布


扫码即可提交需求

你可以添加微信17775982065为好友,注明:公司+姓名,拉进 RT-Thread 官方微信交流群!

RT-Thread


让物联网终端的开发变得简单、快速,芯片的价值得到最大化发挥。Apache2.0协议,可免费在商业产品中使用,不需要公布源码,无潜在商业风险。

长按二维码,关注我们

点击阅读原文,进入RT-Thread软件包官网

你点的每个“在看”,我都认真当成了喜欢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值