【讨论】软PLC的实现方法

[复制链接]
查看1076 | 回复2 | 2010-10-13 19:26:00 | 显示全部楼层 |阅读模式


大概的实现方式如下:STEP1:开发一个编程软件,所有梯形图的元件或功能块用控件实现,真正要实现的控件只要大概十个左右,如功能块,不同的功能块显示主要通过不同的功能块号或元件(函数号)去ini文件找对应记录。STEP2:用户在把控件拖上编辑窗口时在控件内将对应的功能块号、参数、变量名写入一个中间文件。STEP3:通过对中间文件的扫描、语法检查、重定位后生成对应的LD文件,这时所有的变量都是变量区的偏移地址。这个过程一般要三至四次才能完成,如果要优化可能还需要多的处理,如果要做增量编译还要需要做这方面的处理。至于在线编程则需要在生成的中间文件中做更多的标志和处理。STEP4:将文件下载至PLC,这样就会有一个比较完备的通信协议,这方面最好一开始就想好,如果不要在线编程可能还简单一点,只是对下载、上载、监视、强制、设置、参数、初始化列表等有比较清楚的概念就行了。STEP5:程序下至PLC后,PLC在每次上电后要先进行各种软硬件的初始化,包括掉电保持的变量或输入输出口的处理,各种寄存器或标志的初始化。STEP6:初始化完后进行程序的扫描运行,在扫描时其实是一个很简单的分支程序,这个程序前要进行取指取参再通过分支程序进行跳跳转运算。其实大家都把这一块当作PLC的核心,相反这一块是最简单的,当然如果要做优化倒还是有很多讲究要对CPU的原理、对编译原理有比较清楚的认识。 字串3STEP7:其实下位机就相当于一个软的CPU,包括程序指针、变量指针、堆栈指针等都是应有尽有。STEP8:每次扫描完毕后要进行IO的处理,这一块是最简单但又是最复杂的,简单做做谁都能做,但要做到高效和智能化就需要有比较好的规划。STEP9:通信是通过中断来处理或者在中断中接收发送,但在IO处理后进行帧的处理。STEP10:在IO处理后可以加一个工程量变换的程序进行模拟量的处理。同时如果有调试需要的还需要与IO点数一样多位的表来进行处理强制和监视等信息。STEP11:定时器、高速计数、中断型梯形图、各种通信协议、自定义通信协议、脉冲输出、PWM等,这些是可选项,当然如果没有定时器就不是PLC了。
.....查看全部



以上是引用“软PLC的实现方法” 时间:2010-10-13 19:26:12
讲的挺好,学习了
luobendezhu | 2010-10-13 20:23:00 | 显示全部楼层
有点不明白???
plc招聘 | 2010-10-22 09:00:00 | 显示全部楼层
不是很懂哦,期待分析。
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则