guttawiki 发表于 2009-6-25 17:45:41

[有靓图,有惊喜]我的PLC进展,献上自己的一些私密资料,希望对大家有所帮助:)

梯形图编程软件:
http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_456023.png
(原文件名:laddereditor.png)
    详细介绍的网址:

梯形图到C语言的转换器:
http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_456024.png
(原文件名:laddertoc.png)
    详细介绍的网址:

单片机学习、PLC学习、PLC开发三合一的板子
http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_456025.jpg
(原文件名:l5boardof8051.jpg)
    详细介绍的网址:

手把手教你一步一步实现一个自己的PLC(基于51单片机,有源代码示意)
    《基于GUTTA一步一步实现一个最小PLC系统》
    详细介绍的网址:

当然,要看懂这篇文章,最好先阅读以下内容:
1、《GUTTA内存使用》
    网址:
    PDF直接下载:

2、《GUTTA指令说明》
    网址:
    PDF直接下载:

3、《PLC编程初级教程》
    网址:
    PDF直接下载:

4、《GUTTA在不同CPU上的速度测试》
    网址:
    PDF直接下载:

5、《s7-200西门子程序的导入和导出》
    网址:
    PDF直接下载:

6、《通讯系统的应用 》
    网址:
    PDF直接下载:

7、《GUTTA通讯协议》
    网址:
    PDF直接下载:

-------------------------------------------------------------------------------

    今天把“PLC开源设计活动(混沌系列)”论坛和现在的“DIY 简易型的 PLC”论坛都大概的看了看,感觉上目前的简易PLC方案在版主的带领下比以前的混沌PLC要现实得多,而且也比较适合PLC开发的初学者。几年前我自己开发PLC也是走的编译型PLC->解释型PLC->硬PLC(FPGA实现)->混合型PLC(支持自己的C语言模块)的这条路子。目前我自己的PLC项目也是部分开源的(开源到什么程度可以具体参考《基于GUTTA一步一步实现一个最小PLC系统》),如果将来有机会将开源项目更近一步的话,欢迎大家使用我目前的软件:GUTTA Ladde Editor。我会在这个论坛提供全面的技术支持。在我看来,目前GUTTA Ladde Editor对于你们的项目来说有以下优势:
    1、软件质量,这个不多说,大家下载下来用用就能感觉到。
    2、非商业使用完全自由,虽然编程软件不提供完整源代码,不过会提供所有dll文件调用接口。大家可以在这个框架的基础上定制自己的PLC系统。
    3、PLC内存系统、PLC指令系统、PLC类型完全由XML文本文件配置(类似于*.ini文件),大家可以任意的修改(例如定制自己的PLC指令)。
    4、PLC系统功能块,PLC通讯系统都由dll组件实现,在开放接口后大家可以任意修改。
    5、软件本身集成了多PLC类型的管理功能。

    当然,任何事情都是一步一步来的,目前用借用三菱的软件来进行这项开源活动我认为是最适合的。主要是降低了学习和开发门槛。因为集中精力走完这个开发过程,让大家都明白PLC是怎么回事,对大家的认识有所提高才是最重要的(好像最开始阿力想一步到位,结果遇到了一些困难,当然也许不一定全是技术方面的原因)
   
    今后我会长期关注这里,我自己本人在深圳,也经常跑上海,如果有机会的话,希望能和这里的前辈们当面交谈:)

stefgq 发表于 2009-6-25 20:45:26

MARK下

oldtom 发表于 2009-6-25 22:47:27

霍霍
做的真不错。很像西门子的STEP 7.楼主是用vc开发的吗?
厉害。

guttawiki 发表于 2009-6-25 23:17:35

用过两年的西门子PLC做水泵控制柜,因此对西门子的STEP 7熟悉点。

是用的VC2005(MFC8.0)开发的;个别界面控件“借用”了Xtreme Toolkit代码;XML解析是用的expat。
(完整的Xtreme Toolkit体积太大,我也买不起……)

界面库一直是一个头痛的问题,C++下面一般MFC,不过MFC功能比较弱,很多东西要自己实现(例如表格之类的东西);用vcl吧,说实话我不太会用,资料现在也少了;用VC的第三方库吧,总是感觉BUG多多,细节不理想;研究过wxWindow,总感觉做出来不像个商业软件;也考虑过C#,不过觉得那个东西不够通用,非要装个.NET……(应该是我的偏见),走头无路我甚至考虑过Java……

最近看上了Qt(好像Qt以前Windows下面好像没有OpenSource的,最近突然又有了),计划如果今年下半年有时间会把GUTTA Ladder Editor整体移植到Qt上去(算法代码和界面代码是严格分离的,工作量还算不大),不知道有没有用过Qt的朋友,评价一下。同时GUTTA Ladder Editor的第2版软件计划全面支持FBD模式,并且实现FBD-STL-LAD三者的互相转化。

争取完成计划吧。

MicroPLC 发表于 2009-6-26 10:59:07

真的很佩服楼主的作品,整体规划非常到位,可以说是这个论坛目前见到的最好的设计!
不过有一个缺点,那就是PLC的运行速度感觉比较慢,即使编译型的也不算快,所以内核应该还有优化的余地。

guttawiki 发表于 2009-6-26 15:26:37

to MicroPLC 琴剑飘零
    你的目光很敏锐!
    其实整个学习板系列都没有在内核上做过多的优化(因为需要支持的内核比较多,各种编译器,又希望共用代码,而且做为学习板是同一固件同时支持编译和解释两种运行模式的,编译的速度优势并没有充分发挥)。在这个项目的设计之初并不是想做一个速度多快,功能多强大的PLC,由于有过在国产PLC厂呆过的经历,我切身的体会到国产PLC的销售是多么的困难(自有技术,不带仿的)。我只是希望通过这个软件,告诉大家一种可能的单片机开发方式,一种赋予产品二次设计能力的工具,一种工业产品需求多变可能的解决方案。

to yy888

    感谢您指出的问题,其实关心我的人都和我说过,不一定要等产品多成熟了再开始搞推广,也许等你的东西成熟了市场已经没有了。应该首先考虑的是市场的需求。而我一直坚持自己不满意的东西坚决不推广,一方面对自己负责,另一方面也是对投资人负责。直到现在整个平台个人感觉可以了,才开始发布一些信息。也许已经错过时机了,也许还有机会,看情况吧。

    也向您介绍下目前的计划,由于考虑到PLC和进口品牌正面竞争是很困难的(PLC是控制核心,在工程中价值不高却能带动周边高价值的产品例如变频器、电机、传动设备、人机设备等,因此国外大厂即使PLC不赚钱也要掌握市场),所以我目前的重点放在现有的单片机控制器的升级上,硬件上不动,软件升下级,就能让客户进行二次开发。我的目标不是自己做PLC,我的目标是人人都来做PLC。

    同时也像奋战在国产PLC第一线的朋友们致敬,拣国内的小行业,特种PLC逐个突破,从客户产品开发就开始跟进,虽然很辛苦,但是我相信,如果大家都有这样的耐心和毅力把产品真正做好,PLC的未来始终是我们的。

ilikemcu 发表于 2009-6-26 15:29:16

不懂PLC,但是很赞同许工的观点,做产品一定要以市场为导向来进行设计,离开市场的产品,只能是产品,最后很难变成热销的商品。

guttawiki 发表于 2009-6-26 15:54:30

产品不是商品,太正确了,谢谢你的这句话!

bkkman 发表于 2009-6-26 20:18:20

思想碰撞,开卷有益.

guttawiki 发表于 2009-6-26 21:02:11

to yy888

      是的,在没有深入特定行业之前,我甚至连PLC都不敢做(开模对我来说就是一个大投资,而我想做的行业要做好就必须要有专用模具才行),所以目前PLC带动的高附加值产业我是更加没有资格碰的:)

      现在单片机性能越来越强了(例如新出的Cortex-M3系列),而控制要求,控制工艺的复杂程度并没有发展得这么快,这就像当年用汇编战战兢兢的写程序,而现在却可以用C语言任意挥霍空间一样,也许今后几年,图形化的快速编程会得到一定程度的发展,毕竟“控制器的设计和制造与控制器控制逻辑的编写实现了分离”,搞单片机的专心搞硬件,用单片机的专心优化工艺。这个思想在项目介绍里面有详细论述。进一步说,GUTTA平台就是一个单片机开发工具,而且目前走在前端的行业就是这么使用单片机的,例如楼宇控制、汽车控制器的核心部分CBCU等。

      最大的问题就是您一针见血的指出这个模式如何生存。目前我个人的目标就是教育市场,而且也是这几天才开始正式启动的营销,后续马上会有一系列的推广动作。国内的现状是工控行业市场其实并不大(现状是人工成本太底,很多场合搞自动化还不如请个人守在这里,GDP高,自动化的比重却很低),但是教育市场却相对国外要大(毕竟人多啊),太多学自动化的并没有机会用到他们学到的知识。既然目标是教育市场,就必须相对开放,这也是我希望大家多多了解我的产品的原始动力:)

      看起来您应该比我年长很多,希望您能继续评价下我的思路,或者介绍下其他门路,因为有些话虽然不一定中听,但有时候能确实让年轻人少走很多弯路,少失败很多次。

      好商品应当首先是个好产品(保健品除外),我希望大家能帮我把这个好产品变成好的商品。

heky 发表于 2009-6-26 22:39:28

找公司合作,既可以解决资金,又可以测试你的产品。要想把前后道的饭全部吃光是不可能的。

heky 发表于 2009-6-26 22:40:33

国内不是有破解西门子协议的产品嘛,你的PLC要是能兼容西门子的环境相信可以走的更远。

stefgq 发表于 2009-6-26 23:03:40

MARK

guttawiki 发表于 2009-6-26 23:10:13

恩,目前已经和几家公司有合作关系,不久相关的产品也会出来,当然我只是卖授权和技术服务。

现在只能做西门子部分指令的互相转换,不是完全兼容,相关内容可参考文档:《s7-200西门子程序的导入和导出》。

要在GUTTA软件上建立一个完全兼容的s7-200系统是比较难的,主要是西门子有ENO指令。
ENO指令实际上将一个功能块变成开关形式,由执行的成功与否来控制开关的闭合与断开。

例如:
http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_456322.png
(原文件名:update1.png)
要转换成:
http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_456323.png
(原文件名:update2.png)
还要做STL到LAD的回转,比较繁琐。
为什么STL的结果如此之复杂,甚至借用了L临时栈,这是应为ADD_I这个特殊的开关是有“输出的”。
一般认为,梯形图中的开关都是“输入的”,也就是开关中的操作数是不能被改变的,都是输入变量。

“输出型”的开关对栈顶的值有特殊要求,造成普遍的STL和LAD的转换算法不适用。(这个算法我会在这几天会开新贴详细讨论),要完全模拟西门子这个很不“美”的实现,确实要花太大的功夫。考虑到人力和时间的问题,放弃了。当然这里的网友如果有精力可以深入讨论一下这个特性。

当然,ENO指令在实际使用中比较少用到。包括西门子自己一些历史版本固件中ENO指令也有BUG存在,只是使用的人很少,并不显眼。

抛开这一小朵乌云,大家完全可以在现有的PLC类型上,实现一个和s7-200完全兼容的PLC(主要是一些硬件指令)。
当然,从商业角度考虑,你也可以这么宣传,我就是100%兼容的,虽然它是99%。

guttawiki 发表于 2009-6-26 23:19:46

gutta的优势是自己可以方便的定义新的指令,定义特殊的下载方式,甚至是让用户编写自己的C语言功能块(这个在编译型的PLC上已经实现,只是没有公开的文档)。

不过为了降低学习成本,考虑heky的意见,如果能实现直接打开*.mwp文件是最理想的,哪怕是打开导出文件*.awl也是不错的。这个在下一版中也许会实现。

hebj 发表于 2009-6-26 23:46:12

确实做的不错,佩服!
不过,国内有做跟西门子几乎完全兼容的,只是速度比西门子快20倍(他们自己说的),200的全系列几乎都有,可以直接替换使用,300也在做,可能还不是很好。
去年在深圳听他们的推广会说的。

hiberhe 发表于 2009-6-27 00:31:09

看了一下,相关文档很详细些,软件也做得不错

sunkmsr 发表于 2009-6-27 08:42:57

flag

MicroPLC 发表于 2009-6-27 10:55:43

To:楼主
你的产品确实不错,如果提高固件性能就比较完美了(尽管PLC并不以速度为主要指标);反而我觉得对于市场没必要顾虑过多,因为只要你的产品出来了,就会源源不断得到用户和市场的反馈,根据市场的需求再调整战略是比较合适的,单纯的闭门造车和经营理论争辩毫无意义,我们这个论坛曾有过两位对市场卓有见解的朋友的发言(个人看法啊),最后都没有得到大家的认同,原因是经营和技术不同,不是1+1=2这样固定死的,每个人会有自己的角度和看法,所以最终我比较建议你跟着市场感觉走。
另外你一个人做产品也是很难有巨大成功的,你需要合作伙伴或者帮手来一起做事,如果你请人,你给人工资人家给你做事,那没什么;如果你找合作伙伴,那就要特别慎重了,合作不成功的例子可能远远比成功的例子多很多,这里面不仅是对远期发展方向的定位偏颇导致的失败,哪怕是对方别有用心算计你或者性格上主观自负不容易合作等都可能是导致最终失败的原因。不过首先好在有了一个好的产品(包括创意),那你就已经开始了经营之路,坚持并努力下去是最基本的生存条件。
其实经营并不仅仅意味着合伙合作分利润,我感受最重要的是意味着一种责任,一种对用户的责任,当你一两百元的产品硬件成本去控制几十万的设备时候,你那点利润所承担的责任会是多大?如果你不能对此负责你能做长久吗?而这恰恰是PLC这个特殊产品的作用和用途。你的合作伙伴也必须意识到分担责任才行,如果只是看到你未来的利润预期而要求和你合作,那对你可能也是有风险的。
我本人是从这个论坛建立开始就一直关注PLC技术的,尽管我们出了这样一个产品,但我们是非常高兴见到更多更好的PLC产品出来,这仅仅是因为我们都是中国人,我一直认为中国人的智慧不应该总是甘于落后,一定会大放异彩的!
呵呵,“以上为个人观点,仅供参考。”

tssing 发表于 2009-6-27 11:15:47

你好:
佩服佩服..相信这产品将会越来越好..
看起来真像西门子的step7

oldtom 发表于 2009-6-27 22:43:03

PLC执行部分的代码是公开的吗?呵呵.

zhike200 发表于 2009-6-28 09:07:42

软件使用不方便

tssing 发表于 2009-6-28 17:11:16

你好..
此人是奇才,,鉴定完毕..

shanghai2009 发表于 2009-6-28 21:20:53

我在用厦门海为的PLC,说实话,真不错,

oldtom 发表于 2009-6-28 21:53:25

请问楼主:

好像没有看到关于在线联机调试这块的介绍嘛!

guttawiki 发表于 2009-6-28 23:37:37

to MicroPLC 琴剑飘零
你的网站在我还在德维森工作的时候就关注过,也挺佩服,没想到就是你的。刚才又上去看了看。感觉我们的工作差不多。很多时候推销自己的软件,客户最大的疑虑就是觉得没有什么成功的案例,不想当吃螃蟹的人。因此我很希望有越来越多的,用PLC的形式开发的工控产品的成功案例,共勉之。

to oldtom
PLC下面的代码在文档《基于GUTTA一步一步实现一个最小PLC系统》中已经给出了大部分,只不过没有提供完整的工程文件,完整的工程文件在51学习版的产品光盘中提供。当然这个PLC系统很简单,有兴趣的朋友可以在这个系统的基础上逐步完善,例如扩充指令、加入在线调试功能等。

to zhike200 0000000
界面方面实际上已经是很用心的在做了,不过由于人力的问题,没有办法搞零经验使用习惯分析(自己写的东西自己测试,使用行为方面的问题不好发现)。有的时候看别人用软件想找个功能就是找不到,我也很急,呵呵。

to oldtom
联机调试有两种,一种是普通的在线调试,也就是观察变量、修改变量、强制位变量。还有一种就是新加入的单步调试,除了一般的变量修改功能,可以像调试单片机一样,设置断点,进行函数的跳入、跳过、跳出等操作。调试操作的详细方法在《PLC编程初级教程》的第二章:熟悉开发环境 里面有详细介绍。

guttawiki 发表于 2009-6-29 00:13:59

to yy888

目前国外基于IEC61131标准公开授权的图形化工控编程软件公司也很多,例如kw-software、一方梯队、CodeSys、ISAGRAF、GE等等,而且对中国市场也相当的重视,其中有公开源码的也有不公开源码的。我自己和其他几家公司的合作有卖授权的方式、也有卖加密芯片的方式。当然价格嘛,也比国外公司便宜很多(1/5甚至1/10的样子),如果是加密芯片的形式,附加费用不超过所用单片机价格的1/2。

guttawiki 发表于 2009-6-29 00:45:37

to yy888

哪怕是和欧洲的这些软件公司竞争,我觉得也是有机会的。我和ISAGRAF、一方梯队的客户都详细的交流过,当年我甚至差点成为kw-software的雇员,这些公司最大的问题就是研发不在国内,欧洲语言的人和国内我们这些搞工控的土人交流起来极为费事。中国代表处(办事处)大多掌握不了代码,一般承诺的软件定制化工作如果是在国外做,沟通协调极为麻烦。

billleu 发表于 2009-6-29 08:08:27

Good job,Very good software.did you compare run about AVR and Cortex-M3 cpu,scan time for the same program.
You product is same as me.(plc compiler for avr,cortex-M3),I think you should develop HMI. you can do it.

guttawiki 发表于 2009-6-29 11:52:22

to billleu
速度的比较在下有一些测试,下面是最后的结果(平均100ms执行的指令条数,逻辑指令和运算指令混合的情况)
http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_456746.png
(原文件名:png3.png)
当然这个测试相当的粗糙,只是一个大概的评估。逻辑部分的C代码是供用的,没有对特定的处理器和编译器做任何的特殊优化,如果针对特定的处理器做代码优化,相信性能会提高很多。

guttawiki 发表于 2009-6-29 12:19:08

to yy888

最开始设计这款软件的时候,朋友就建议我最好兼容三菱,而不要往西门子上靠。他认为一般应用到西门子PLC的场合,都不是单纯的开关量控制,情况会比较复杂一些,而三菱PLC似乎有更为广泛的客户基础。当时没有在意,就觉得西门子的程序“美”一点。这几天通过大家的反馈来看,我朋友是对的。

看来如果做第二版软件的话,搞什么界面库的更换,FBD功能的支持等,意义都没有更好的兼容西门子和三菱来得大,这一点我会仔细斟酌的,或许到时候会出个三菱风格的版本,毕竟现在现有的、在广泛使用的、已经被验证的梯形图程序,是一个太大的社会资源。

ljgvictory 发表于 2009-7-11 21:17:19

mark

kezhipeng_001 发表于 2009-9-5 14:24:11

能不能开放梯形图到二叉树的转换算法啊

lwu_2008 发表于 2009-11-19 10:04:12

楼主厉害

wxdl 发表于 2009-11-19 20:00:53

楼主加油,支持你!

zhangfuhg 发表于 2009-12-10 20:24:43

ding!!!!!

ggddll 发表于 2009-12-10 22:15:15

楼主厉害!

cumt20 发表于 2009-12-15 08:57:20

厉害

hzpyl 发表于 2009-12-15 10:13:39

支持

dokey 发表于 2010-5-9 21:41:31

中国有此等人才,何愁不富强

DSP_2812 发表于 2010-5-10 08:47:55

我看看

pch888 发表于 2010-9-5 12:51:19

mark

liangyurongde 发表于 2010-9-5 15:06:11

mark

windows7 发表于 2010-9-7 10:37:36

学习,这东西不错,不像我们,搞来搞去都还是用三凌的上位编程软件。你这产品才能算的上真正的DIY自己的PLC。有时间希望能和你学习一下。

lghtjpu 发表于 2010-9-7 11:02:42

mark

BT.ROBOT 发表于 2010-9-7 11:51:00

不错,喜欢,很像西门子的

gallle 发表于 2010-9-7 12:43:38

记号吧

hushi 发表于 2010-9-8 13:57:36

很复杂的哦!搞工控就要面对复杂和思考学习。。。。。。
有好消息就发啊!我等等啊!正想买个模拟和数字兼有的示波器呢!能满足工控自动化---诸如变频,PLC,PC实验,维护,维修就OK!QQ561500807

plczhang 发表于 2010-10-8 09:42:06

我一直想自己做过PLC,但是目前自己技术水平不行。真希望多结交一些高手,给俺指点一二

juntaro 发表于 2011-7-12 16:06:53

卖产品不如做系统啊,图尔克给一汽大众做了一条焊装输送线,你说就买开关 元器件能有几个钱,吧这些集成起来,就不一样了咯

rj1985 发表于 2011-8-24 10:21:41

Mark,这个很棒,自己做PLC

wuyuexue 发表于 2011-11-25 16:00:10

第一次看见这样的开发板,长见识了

6419246 发表于 2011-12-28 17:30:52

头绪在那里呢。。。

gwtaa 发表于 2012-1-17 09:32:44

回复【楼主位】guttawiki
-----------------------------------------------------------------------

mark

zywh 发表于 2012-8-12 17:30:40

看着很给力的说啊!!!!!!!!!

biscuit2 发表于 2012-8-22 14:00:01

自己开发上位机的不多,强烈支持。

mcuandmex 发表于 2012-10-20 17:08:24

太厉害了 做的和s7 200 好像 还是用的MFC !! 厉害 学习 思路

any_014 发表于 2012-10-22 17:36:30

标记一下.

netawater 发表于 2012-11-11 12:12:57

mark一下

2006lc 发表于 2012-11-11 12:55:56

谢谢分享!

plcpro 发表于 2012-11-18 21:07:50

mark-plc-mark

ddcour 发表于 2012-12-15 23:24:38

楼主真是神人阿

zoney 发表于 2021-3-22 13:32:21

楼主这个上面的链接都失效了,我想学习一下。希望能联系到您。1985334892@qq.com

dongwang_fl 发表于 2021-3-22 14:10:32

zoney 发表于 2021-3-22 13:32
楼主这个上面的链接都失效了,我想学习一下。希望能联系到您。

应该没有了,原来他们网站在卖相关的开发板,后来就没有卖了。不知道有没有朋友以前购买过开发板,有配套的51的程序,能够分享一下。
页: [1]
查看完整版本: [有靓图,有惊喜]我的PLC进展,献上自己的一些私密资料,希望对大家有所帮助:)