oldtom 发表于 2009-5-25 09:21:23

自娱自乐,自己做PLC!

自己一个人在做小型PLC有2年了。这中间反反复复,重新做了第二稿了。不是很成功。
我采用的技术方案主要是参考 施耐德的和厦门海为的,很多地方都是参考他们的设计。编程软件采用VC2005做的,目前正在FBD语言的实现。

PLC内部是采用解释型的,硬件采用LPC2468,主要是他的FLASH比较大有512k,数据文件可以采用IAP存放在片内FLASH上面,PLC与外部的通信采用标准的MB RTU协议,与编程软件是在MB RTU协议上面扩展。PLC里面采用ucos2.88 + lwIP 1.3 作为支撑系统,PLC还有一个12232的LCD,因此自己还做了一个小的GUI模块。
这一切纯粹是自娱自乐,学习用。我对PLC还不是很熟悉呢,还没有真正用过PLC。

MCU的开发环境是用KEIL 4,我原来没有任何MCU开发经验,都是自己摸着石头过河,为了学习,前后买过4个仿真器,2个JLINK V6,1个V7,1个ULINK2。都是自己掏钱买的。总共花了2千多呢,呵呵。硬件是请朋友帮忙做的。


不知道CM3的CPU是否比ARM7的性能强,今后考虑要不要用CM3的MCU。


http://cache.amobbs.com/bbs_upload782111/files_15/ourdev_447649.jpg
编程软件 (原文件名:1.jpg)


http://cache.amobbs.com/bbs_upload782111/files_15/ourdev_447651.JPG
(原文件名:2.JPG)

http://cache.amobbs.com/bbs_upload782111/files_15/ourdev_447652.JPG
(原文件名:3.JPG)


http://cache.amobbs.com/bbs_upload782111/files_15/ourdev_447653.JPG
(原文件名:6.JPG)

http://cache.amobbs.com/bbs_upload782111/files_15/ourdev_447654.JPG
(原文件名:5.JPG)

http://cache.amobbs.com/bbs_upload782111/files_15/ourdev_447655.JPG
(原文件名:4.JPG)

http://cache.amobbs.com/bbs_upload782111/files_15/ourdev_447657.JPG
(原文件名:7.JPG)

http://cache.amobbs.com/bbs_upload782111/files_15/ourdev_447699.png
(原文件名:7.png)

http://cache.amobbs.com/bbs_upload782111/files_15/ourdev_447700.png
(原文件名:8.png)

http://cache.amobbs.com/bbs_upload782111/files_15/ourdev_447701.png
(原文件名:9.png)

billleu 发表于 2009-5-25 10:13:44

function block is use for high performance plc,like(siemens...),for most plc user the FX serial is acceptable.
actual function block is like c language function.

asktutu 发表于 2009-5-25 10:33:16

你的动态数据表是用的哪一个?
是控件还是源码的类实现?
表格是否支持选择,编辑等操作?

我不是用来做PLC软件,另外一个程序需要表格,需要在表格中编辑等操作,觉得你这个很好.

oldtom 发表于 2009-5-25 10:42:06

GRID不是控件。
支持选择/编辑。

asktutu 发表于 2009-5-25 11:13:13

有没有grid链接或者DEMO代码,谢谢.

guoj 发表于 2009-5-25 11:43:37

是否愿意开源?

billleu 发表于 2009-5-25 11:46:48

To :yy888 许意义

Can you give me you contact phone ?

Maybe we can do some business .

My name is LEU SHING HORNG ,my mobile phone is 886-912235201

I wtote english,because the bbs write Big-5 will dispaly wrong code.

oldtom 发表于 2009-5-25 16:45:37

对于编程软件,我觉得最麻烦最复杂的就是画图部分,真的很烦,自动连线,图元移动,复制,粘帖等,这些很麻烦,对于执行顺序的确定可以采用AOV算法,那个倒是不难的。

billleu 发表于 2009-5-25 20:44:34

To : oldtom
自动连线,图元移动,复制,粘帖等

I can give you a hint for this one.i didn't what method you for this one. you should define the function block is a net. and the line(connecting line) have two net object.so you can solve this problem.

foshan_lcy 发表于 2009-5-25 20:50:54

软件做得外观很漂亮。

oldtom 发表于 2009-5-26 10:28:24

To billleu


谢谢你的指导!

我是用VC2005开发的,我把功能块和连线都分别定义成类。

我觉得连线需要值得注意的是连线不能穿过功能块,不能从功能块中间穿越过去。

另外,如果移动功能块,那么与功能块相连的线也必须跟着移动。删除功能块,那么该功能块的连线也必须删除。

billleu 发表于 2009-5-26 11:15:53

To : oldtom

I know one guy had open the graph editor similar to you,but he is use delphi 7, if you need i can tell you the link.

oldtom 发表于 2009-5-26 11:23:08

谢谢了。呵呵。不用了。

我自己慢慢折腾吧,呵呵!正好是一个学习和提高的过程。

heky 发表于 2009-5-26 12:25:18

oldtom 你在南京做工控还是?我在无锡这边,FBD这种编程方式欧洲人比较喜欢。logo就是这种。

oldtom 发表于 2009-5-26 14:59:39

我是做电力方面的,呵呵,我就是学习logo的,我觉得logo做的很好。

hztour 发表于 2009-5-26 15:40:54

O(∩_∩)O~,我也在做类似的工作,不过思路不同,我的目的是通过绘图的方式完成硬件内部各逻辑的功能,无需编写一行代码就可完成硬件的开发。
我用delphi开发的,同意楼主的观点,图像处理这块是比较麻烦,我现在用的所有的模块都是通过文件定义的,包括类型,控制点数量,位置等。每个模块的设置都是通过单独的DLL完成,所以增加一个模块不需要改动主程序,还有很多问题正在解决中,^_^
http://cache.amobbs.com/bbs_upload782111/files_15/ourdev_448031.png
(原文件名:2009-05-26_153633.png)

oldtom 发表于 2009-5-26 15:53:33

楼上做的很漂亮,很不错。呵呵!

billleu 发表于 2009-5-26 16:10:47

like the NI labview.

hztour 发表于 2009-5-26 16:27:49

http://cache.amobbs.com/bbs_upload782111/files_15/ourdev_448046.png
(原文件名:2009-05-26_162332.png)
看看这个,和Labview相似度99.9%,同一个图标,不同高度
http://cache.amobbs.com/bbs_upload782111/files_15/ourdev_448051.jpg
(原文件名:2009-05-26_163346.jpg)
左图为鼠标放上后的状态,右图为选中后的流动蚂蚁线

hztour 发表于 2009-5-26 16:32:12

http://cache.amobbs.com/bbs_upload782111/files_15/ourdev_448048.JPG
(原文件名:2009-05-26_162205.JPG)
工具栏

oldtom 发表于 2009-5-26 17:31:15

楼上的蛮厉害的。
我的硬件配置这块是采用XML来存储的,呵呵。然后用一个dll来解析的。

foshan_lcy 发表于 2009-5-26 19:32:15

like the NI labview.

heky 发表于 2009-5-26 19:41:34

oldtom,有没有联系方式?

oldtom 发表于 2009-5-27 10:22:20

我的资料里面有。呵呵。

我的下一步计划想弄一下USB,让编程软件与装置之间可以采用USB进行通信,这样速度能快点,而且也方便。呵呵,这个对我来说难度很大。

dinsl 发表于 2009-7-9 17:06:20

oldtom,你好,我是做监控的,能否将UCOS+LWIP得源码给我看一下?我们也在做USB,可以交流一下,我的邮箱是VICCOM1@163.COM,
页: [1]
查看完整版本: 自娱自乐,自己做PLC!