谈谈PLC技术与自制PLC

序言

    本人上学期间学了PLC和单片机,工作中几乎都是和单片机打交道,偶尔使用PLC。深知PLC是使用单片机开发的,在PLC上开发应用,其实也就是向一般用户提供二次编程的接口,最近两年工作主要是做教育类的机器人设计工作,类似于乐高一类的机器人,向小朋友提供提供图形化的编程接口,其实与PLC向工程师提供梯形图的编程接口类似,都是提供二次编程接口。

    去年起研究PLC的底层,看看能否能借鉴下PLC的思想,研究了PLC的体层代码,一发不可收拾,萌生了自己开发PLC的想法,然后着手做PLC。不可能闭门造车啊,从先仿开始,网上仿的最多的是三菱PLC,我也不例外,加入仿三菱PLC的队伍,经过几个月的学习,稍有的成果,实现了部分功能,功能在完善中,现将成果与大家分享。

分享

1.初学者可以参考网上其他技术大咖分享的例程,不修改或稍作修改,保证可以实现PLC最基本的功能,如果LD、OUT指令等,保证GX Works编程的梯形图可以下载到单片机中并执行,可监视PLC工作等等。网上此部分的代码和电路图一大堆的,这是第一步,也是关键的一步。

2.读懂底层代码,理解底层代码的实现方式及思想。

   ①上位机通过编程梯形图,实际是把梯形图生成指令表。

    ②上位机和下位机间有通信协议,梯形图程序下载其实就是把梯形图生成指令表,指令表再生成二进制文件,然后通过协议下载到单片机的Flash中,Flash类似于电脑的硬盘,可掉电存储。

    ③单片机读取二进制程序文件,解析文件进行不同的动作。

      从采集输入到输出的过程解析大概思路,读取IO输入等,修改对应的内存,根据内存单元,对应的IO输出。这也是PLC执行的思想。

    ④上位机监视PLC,上位机根据协议与单片机通信,读取单片机内存信息,然后解析,就可以知道对应X、Y、C、T、D等单元的状态了。

    ⑤程序上传,就是步骤2逆向,读取已经保存在单片机中二进制文件,根据协议把二进制文件上传到上位机,二进制文件逆向解析成指令表,指令表再逆向解析成梯形图,然后显示。

3.完善指令,支持更多的指令。

4.定制自己的指令,借鉴仿制的PLC后,学习了很多知识,可以设计自己的PLC了,完全可以自主可控。当然自己设计指令集时,就需要开发上位机了,本人不会上位机,所以在此不班门弄斧了。

3.本人设计PLC,在功能在完善中,预计今年中旬面世。还请大伙支持。

  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值