270388026 发表于 2016-1-6 10:26:14

编译型的PLC发布

当前常见的plc如三菱西门子的东西都是解释性执行的。通过下载向量表,由PLC内操作系统对程序解释执行。解释执行的方法由如下缺点:
1 程序执行时间效率较编译型的低。
2 单片机资源浪费严重。比如定时器有几百个,则自动占用很多存储器。你不用也占用。
3 单片机引脚功能重定位很受限制。
4 二次开发比较困难,不容易作为机器人控制器其使用。
我花了3年时间,设计了一个编译型的PLC,带逻辑运算功能,还有几百个复杂的函数模块。
支持语句表语音,顺序梯形图,步进梯形图,顺序功能表。
当前还在最后的实验阶段,等验证成熟后商品化。

270388026 发表于 2016-1-6 10:29:38

梯形图语句表语言可以互转的。能转的语言都可以转。

ibichao 发表于 2016-1-6 10:41:05

楼主的耐心值得钦佩,不过PLC我觉得还是搞成解释型比较好,维护成本小。

270388026 发表于 2016-1-6 11:06:25

编译还是解释和维护成本没有关系呀。

TBG1 发表于 2016-1-6 11:30:30

去搞机器人去吧。PLC在大多数场合速度够了。

yu_studio 发表于 2016-1-6 11:48:12

编译型的能在线监控修改程序吗?

ibichao 发表于 2016-1-6 11:54:58

yu_studio 发表于 2016-1-6 11:48
编译型的能在线监控修改程序吗?

一语直戳弱点

wt13568089592 发表于 2016-1-6 11:58:05

额。。。顶一份

270388026 发表于 2016-1-6 12:07:42

程序编译是自动进行的,而下载是通过usb接口。维护没有材料成本

270388026 发表于 2016-1-6 12:26:12

修改下载程序很简单呀,很快呀。秒级别的。还有就是通过协议可以实时显示各种寄存器和内存状态的,可以在线调试的,在线显示个控件的状态。如果加上jtag,也可以考虑加上断点调试功能。就是一个CPU呀。理论上keil mdk做的都可以做

hanshiruo 发表于 2016-1-6 12:34:39

不错,如果你用的CPU停产了,切换方便不?

snail_dongbin 发表于 2016-1-6 12:49:50

plc 行业已经很成熟化!楼主为何花费这么多时间研究这个??初衷是什么?
我一个搞plc朋友10个轴的伺服玩的非常熟,却不懂串口的波特率是什么回事,他们都是从电气过来的,看不懂顺序执行的c编译型语言。
看楼主vs写的上位机,应该是 C等语言很熟,有机会搞搞机器人行业,研究研究运动控制算法会很火
国产plc太多了,价格几百块钱。执行效率就为控制一个气缸 没啥竞争力。

mcu_lover 发表于 2016-1-6 13:08:35

snail_dongbin 发表于 2016-1-6 12:49
plc 行业已经很成熟化!楼主为何花费这么多时间研究这个??初衷是什么?
我一个搞plc朋友10个轴的伺服玩的 ...

你的朋友是做应用的吧?与PLC研发是不一样的。
PLC属于单片机的高级应用。一般人还真搞不了。

hmd420304805 发表于 2016-1-6 13:11:52

楼主,是否可以考虑下将lua解释器作为plc的内核。上位机把梯形图语句表转成lua脚本。放到下位机执行。这样可以在解释型和编译型取个折中。这样系统也应该简化了不少。

hmd420304805 发表于 2016-1-6 13:13:12

在线编辑修改啥的。基本上问题都交给lua去完成了。

270388026 发表于 2016-1-6 13:21:10

当年别人搞解释型的plc,主要原因是编译器太贵。现在没有这个问题了。

270388026 发表于 2016-1-6 13:32:50

hanshiruo 发表于 2016-1-6 12:34
不错,如果你用的CPU停产了,切换方便不?

c语言编写的,换arm avr 8051都可以快速转换

270388026 发表于 2016-1-6 13:34:27

yu_studio 发表于 2016-1-6 11:48
编译型的能在线监控修改程序吗?

可以实时显示控件比如输入输出,定时器计数器状态。理论上将来还可以设置断点

羊羊的老爸 发表于 2016-1-6 13:41:42

mcu_lover 发表于 2016-1-6 13:08
你的朋友是做应用的吧?与PLC研发是不一样的。
PLC属于单片机的高级应用。一般人还真搞不了。 ...

是啊,会玩PLC的人很多,会研发PLC的人又有几个

羊羊的老爸 发表于 2016-1-6 13:50:22

楼主这是自己做的PLC软件吗

yu_studio 发表于 2016-1-6 13:51:13

270388026 发表于 2016-1-6 12:26
修改下载程序很简单呀,很快呀。秒级别的。还有就是通过协议可以实时显示各种寄存器和内存状态的,可以在线 ...

在线修改是指在不停机的情况下局部修改plc程序,不是你说的下载很快就能解决的,这完全是两码事。
PLC工程师在开发过程中,特别是开发的后期,往往是在设备上边运行边调试修改程序,这样能够快速准确,极大的方便了调试。
而且很多时候,设备是卖给客户的,PLC工程师需要到现场跟踪调试。
设备运行过程中发现有什么问题就直接在线修改就好了,不必停机,不影响生产,神不知鬼不觉,客户都不知道你已经把程序改了,他还以为你的设备做的非常好,一点问题都没有。既不影响生产,又给客户留下良好的印像。
作为电气工程师,绝大多数是接受不了PLC不能在线修改程序的。
这里是电子论坛,很多人没用过、或不懂PLC。如果你这帖子放到工控论坛,你跟他们说你的PLC不支持在线修改程序,一定会被喷死的。

yufeistudio 发表于 2016-1-6 14:11:22

给力啊,这上位机自己写的啊?

ibichao 发表于 2016-1-6 14:12:45

270388026 发表于 2016-1-6 13:32
c语言编写的,换arm avr 8051都可以快速转换

PLC相对于单片机系统来说,上手容易,稳定可靠,编程方便,
假设你arm平台做稳定了,但由于其它原因你不得不更换平台,
这时你的单片机程序,上位机程序又得重新测试,这玩得不是单片机了,而是编译器
相对于解释型的,上位机基本不用动,只要专注下位机就可以了,开销少了一半

hanshiruo 发表于 2016-1-6 14:26:02

很厉害,需要基础研究

heky 发表于 2016-1-6 14:35:45

这个再看吧,个人觉得,梯形图的稳定性要求比PLC本身更大。
荒郊野外,深山老林,用你的编译器和PLC,只怕觉得要蛋疼,没一样有保证。
3年研发不够,起码是10年的研发加成千上万的使用验证。现在这种行业情况下,谁敢花自己的金钱,时间?可以用的控制器都这么多了,人家的预期是啥,性能快50%,气缸上真看不出来。

完美幸 发表于 2016-1-6 14:36:29

PLC还有竞争力吗?不是已经做烂?高可靠应用场所,会买国产?

gonboy 发表于 2016-1-6 14:46:11

赞一个! 研究很重要

wkman 发表于 2016-1-6 14:50:59

snail_dongbin 发表于 2016-1-6 12:49
plc 行业已经很成熟化!楼主为何花费这么多时间研究这个??初衷是什么?
我一个搞plc朋友10个轴的伺服玩的 ...

国产plc太多了,价格几百块钱。执行效率就为控制一个气缸 没啥竞争力
{:titter:}同感!,再压成本的话就8位mcu都够用了,,{:lol:}

cdust 发表于 2016-1-6 15:20:05

yu_studio 发表于 2016-1-6 13:51
在线修改是指在不停机的情况下局部修改plc程序,不是你说的下载很快就能解决的,这完全是两码事。
PLC工 ...

很有道理,这个功能很重要

河图洛书 发表于 2016-1-6 15:28:31

yu_studio 发表于 2016-1-6 13:51
在线修改是指在不停机的情况下局部修改plc程序,不是你说的下载很快就能解决的,这完全是两码事。
PLC工 ...

PLC在线修改到底是什么个意思,我修改程序,烧写程序,难道PLC中的单片机保证运行中,烧写程序,不理解

weichao4808335 发表于 2016-1-6 15:30:19

wkman 发表于 2016-1-6 14:50
国产plc太多了,价格几百块钱。执行效率就为控制一个气缸 没啥竞争力
同感!,再压成本的话就8 ...

现在用plc的地方都是不能批量生产而且对可靠性要求高的,或者是小作坊设备改造的,这些场合不是单片机能代替的了的

kevin_me 发表于 2016-1-6 15:32:29

楼主请回答一下21L的问题,也想知道。

weichao4808335 发表于 2016-1-6 15:33:54

本帖最后由 weichao4808335 于 2016-1-6 15:37 编辑

yu_studio 发表于 2016-1-6 13:51
在线修改是指在不停机的情况下局部修改plc程序,不是你说的下载很快就能解决的,这完全是两码事。
PLC工 ...

哈哈,你在线修改程序的话需要对程序很熟悉或者修改很安全无关的,如果是设备正在运行中改错了弄不好会把设备给毁了!所以plc软件都会在在线修改代码是提示用户

270388026 发表于 2016-1-6 15:36:24

hmd420304805 发表于 2016-1-6 13:11
楼主,是否可以考虑下将lua解释器作为plc的内核。上位机把梯形图语句表转成lua脚本。放到下位机执行。这样 ...

这个思路也可以。不过做这个东西真的好费力,要干就要干好

270388026 发表于 2016-1-6 15:48:55

羊羊的老爸 发表于 2016-1-6 13:50
楼主这是自己做的PLC软件吗

多谢你关注。改革开放以来,我国工业快速发展,其实这样从学习,仿制,赶上,超越几步发展的。 我总结一下,以家电为例,这样发展:
1 买来国外的电器,用我们的锤子来做工具做,做出了产品,质量差,但是价格便宜,也居然有人买。20年前
2 用户需求慢慢搞清楚了,买来国外的机床和加工工具,我们批量生产。价廉物美。10年前
3 加工用数控机床和生产流水线也自己国内慢慢搞定了,由于加工设备便宜,且没有国外设备的水土不服,家电质量越要越好。当前
4 加工中心和机床核心控制器也完全国产化。国内产品占据世界一流。5-10年内
5 cpu等核心也完全国产化化。5年-20年内。
当前PLC,伺服电机、等在国内的快速发展我认为处于上面的第4阶段。我想在这个阶段做点事。PLC 伺服电机驱动(我做了几年了),机器人控制器。想最后做梦搞个三菱西门子这样的公司。

270388026 发表于 2016-1-6 15:51:17

yufeistudio 发表于 2016-1-6 14:11
给力啊,这上位机自己写的啊?

多谢鼓励

270388026 发表于 2016-1-6 15:54:18

weichao4808335 发表于 2016-1-6 15:30
现在用plc的地方都是不能批量生产而且对可靠性要求高的,或者是小作坊设备改造的,这些场合不是单片机能 ...

PLC就是单片机。按工业控制标准生产的单片机。

weichao4808335 发表于 2016-1-6 16:27:29

270388026 发表于 2016-1-6 15:54
PLC就是单片机。按工业控制标准生产的单片机。

呵呵,看怎么定义了,我感觉plc应该属于二次开发

hmd420304805 发表于 2016-1-6 18:11:02

270388026 发表于 2016-1-6 15:36
这个思路也可以。不过做这个东西真的好费力,要干就要干好

是这样的,但是框架一定要先拟好,要不越到后期越搞不下去的。所以对于这种底层的有难度的东西,我不建议自己去写,比如说解释器编译器,还得借助第三方比较稳定的东西。

john78 发表于 2016-1-6 20:44:17

yu_studio 发表于 2016-1-6 11:48
编译型的能在线监控修改程序吗?

看来也是高手了,估计LZ想着怎么做PLC,应用不多啊

PLC的实现,编译型,和解释型的,都有。还有硬件实现的,这个最好,能给出每个语句的执行时间,当然现在CPU的速度提高了,软件解释型的优势就明显了。

编译型,最大的难点是在线修改程序,不是LZ“想象的断点”,机器运行中断点是不能接受的,呵呵呵

dtlz 发表于 2016-1-6 21:09:22

本帖最后由 dtlz 于 2016-1-6 21:11 编辑

单片机引脚功能受限制,这个现在已不成问题,现在已可以定义IO的功能,输入输出!

dtlz 发表于 2016-1-6 21:10:21

现在单片机的性能不断的提高,是解释还是编译,关系不大了!

hubeilcsun3 发表于 2016-1-6 21:49:12

搞机器人的控制算法吧。

270388026 发表于 2016-1-6 22:12:10

dtlz 发表于 2016-1-6 21:09
单片机引脚功能受限制,这个现在已不成问题,现在已可以定义IO的功能,输入输出!
...

很好。希望多多交流。

270388026 发表于 2016-1-6 22:14:29

dtlz 发表于 2016-1-6 21:09
单片机引脚功能受限制,这个现在已不成问题,现在已可以定义IO的功能,输入输出!
...

请问购买和下载地址。

Ticl4 发表于 2016-1-6 22:31:35

河图洛书 发表于 2016-1-6 15:28
PLC在线修改到底是什么个意思,我修改程序,烧写程序,难道PLC中的单片机保证运行中,烧写程序,不理解 ...

指令解释执行到某条需要修改的指令前,然后改下面需要改的指令(简单编辑保存),然后可以继续执行下去了;
(注意这个过程中所有原本的控制状态是不改变的,被控的产线机器都不需要重启,只是在那停顿了一会)

270388026 发表于 2016-1-7 10:12:27

Ticl4 发表于 2016-1-6 22:31
指令解释执行到某条需要修改的指令前,然后改下面需要改的指令(简单编辑保存),然后可以继续执行下去了 ...

不错。我的编译型PLC能做到这点。谢谢提醒。
我会完善的

270388026 发表于 2016-1-7 10:15:32

在不修改外设和寄存器状态的情况下修改运行代码。这个我能。

ericdai 发表于 2016-1-7 10:25:55

嵌入lua或者js吧 ,做iPLC

amigenius 发表于 2016-1-7 10:51:45

楼主精神可嘉,不过钻牛角尖了,现在嵌入式CPU速度都追赶桌面CPU了,而且特便宜,解释型的执行效率完全不成问题,而且维护和升级有绝对优势,这其一。其二,应用方面考虑,低级应用控制几个气缸继电器,几个变频伺服,您速度再高也毫无意义,高大上的应用PLC成本不值一提,也看不上这个玩意。有时候我们以为可以凭一己之力颠覆几十年的工业积累,可行性实在是需要认真思考的...

amigenius 发表于 2016-1-7 10:53:43

PLC做快,不如做稳定,须知道工业产品,最重要的还是稳定性

song1km 发表于 2016-1-7 11:05:25

以楼主的精神和毅力,

可以尝试做点更能带来经济效益的工作吧,

plc这东西,

还是从易用性上面下工夫吧,

比如人机交互,

各种功能模块的开发,标准化等等。。

270388026 发表于 2016-1-7 18:23:50

yu_studio 发表于 2016-1-6 13:51
在线修改是指在不停机的情况下局部修改plc程序,不是你说的下载很快就能解决的,这完全是两码事。
PLC工 ...

多谢提醒。这个问题可以解决。

ddlong123456 发表于 2018-3-15 12:12:04

问问价格?

ddlong123456 发表于 2018-3-15 13:00:53

你好,产品出来了吗?我很感兴趣

ZL_electric 发表于 2018-4-8 18:15:49

大神,只在学校学过PLC,后来从事单片机开发,想问怎么个做法做到支持梯形图?难道是命令定义?模块封装,然后梯形图软件去调用吗?能不能简单明了的讲一下,谢谢啦

3050311118 发表于 2018-4-8 19:21:26

270388026 发表于 2016-1-6 15:48
多谢你关注。改革开放以来,我国工业快速发展,其实这样从学习,仿制,赶上,超越几步发展的。 我总结一 ...

分析的很有道理,支持你

3050311118 发表于 2018-4-8 19:29:35

270388026 发表于 2016-1-6 15:48
多谢你关注。改革开放以来,我国工业快速发展,其实这样从学习,仿制,赶上,超越几步发展的。 我总结一 ...

坛友都在说别人的很成熟没有必要重新做,但是我有这个需求啊,就是我不会PLC梯形图,
但是会C语言啊,这样很多会C语言的可以直接上手,不是有很大市场吗

longhua 发表于 2018-4-8 20:07:35

强强强{:smile:}

siemenswjl 发表于 2019-10-25 12:45:21

支持。mark

zzage 发表于 2019-10-25 16:16:24

支持楼主,楼主的产品出来了没有?楼主3年前对市场形势的预估还是有点准的。很期待你的作品。

arndei 发表于 2019-10-25 17:32:56

270388026 发表于 2016-1-6 15:48
多谢你关注。改革开放以来,我国工业快速发展,其实这样从学习,仿制,赶上,超越几步发展的。 我总结一 ...

很好,能很踏实的做东西,技术也很棒。当年深圳那家仿西门子PLC的很成功,可惜知识产权问题严重,被封杀了。自成语言体系的PLC推广教育成本太高,国产的PLC比如和利时之类的大都卖到国外,或者是自己接工程用,外卖没人买。
小品牌单片机有都是用方案推广的,工控类的在国内如果用量大都自己做板子开发了,用量小就不太注重成本,推广很难呀,或许国外市场比较广阔。

kinglin 发表于 2019-10-25 18:18:07

支持楼主精研技术,西门子做大很多是收购来的,现在欧美对中国很多限购,做什么,只要有公司看上,前途还是有的。不过国内公司更倾向于仿(或者说偷,管你国内国外。)

另外:确实这几年国产伺服驱动器,变频器,轴控制器都越来越多,假以时日,真的会像35楼那样发展起来。

270388026 发表于 2019-10-28 07:58:59

非常抱歉,上面各位。3年前就做出了样品。可是没有精力去完善和推广。现在在做离线烧录器和电机控制板。希望过几年反过来做这个东西

mmswza 发表于 2019-10-29 12:55:49

不懂PLC 遛弯儿进来看看。

huangqi412 发表于 2019-10-29 18:43:52

270388026 发表于 2019-10-28 07:58
非常抱歉,上面各位。3年前就做出了样品。可是没有精力去完善和推广。现在在做离线烧录器和电机控制板。希 ...

离线烧写器小的还是大的

dtlz 发表于 2019-10-29 20:19:25

软件做得很好,就这样放下,很可惜!

xuwuhan 发表于 2019-10-30 09:24:40

270388026 发表于 2016-1-6 15:48
多谢你关注。改革开放以来,我国工业快速发展,其实这样从学习,仿制,赶上,超越几步发展的。 我总结一 ...

有理想,有抱负。

xuwuhan 发表于 2019-10-30 09:26:33

270388026 发表于 2019-10-28 07:58
非常抱歉,上面各位。3年前就做出了样品。可是没有精力去完善和推广。现在在做离线烧录器和电机控制板。希 ...

一楼一楼看下来,看到这楼,突然感慨。当年的雄心壮志,也许一点点被生活磨灭,不知道楼主现在做的如何。

szjqt 发表于 2019-10-30 10:06:39

楼主我也是用STM32单片机做的PLC控制器。但是我是直接用keilC编译了。我不会会梯形图,而且学完梯形图觉得局限性很大,复杂的功能还是要用C才方便实现。所以我觉得楼主这个有希望,要不我们一起再搞起来吧。

kevin_me 发表于 2019-10-30 10:19:04

szjqt 发表于 2019-10-30 10:06
楼主我也是用STM32单片机做的PLC控制器。但是我是直接用keilC编译了。我不会会梯形图,而且学完梯形图觉得 ...

楼主做的东西目标不是你这样会C的

soga238 发表于 2019-11-2 00:21:43

szjqt 发表于 2019-10-30 10:06
楼主我也是用STM32单片机做的PLC控制器。但是我是直接用keilC编译了。我不会会梯形图,而且学完梯形图觉得 ...

可以内嵌c程序块

lfgc 发表于 2019-11-2 16:46:53

支持一下,希望好用。

tim4146 发表于 2019-11-5 12:12:30

楼主加油,争取把61131的门槛降低一点,大家就都能用了

xf331785508 发表于 2020-3-13 17:08:02

本帖最后由 xf331785508 于 2020-3-13 17:12 编辑

270388026 发表于 2019-10-28 07:58
非常抱歉,上面各位。3年前就做出了样品。可是没有精力去完善和推广。现在在做离线烧录器和电机控制板。希 ...

呵呵,翻论坛翻到了你的这个贴。   

你的这种PLC我到现在接触到实际应用才理解的。其实跟倍福的软PLC很像。组态编程用软PLC,如梯形图,ST语言等,交由PC端写的编译器来编译成目标机的机器码。   通过网络将文件下发到目标机,目标机通过解析文件(如ELF)找到程序入口地址,开任务进行调用,类似 系统嵌套。      
难点在于,差异修改PLC源程序后,如何实现差异更新目标机代码,而不是全部代码重下。且不影响原有的运行任务。   不知道楼主有没有什么好的思路呢。   


我们目前想嵌个链接器, PLC和C代码混合编译成object文件,下发到目标机,目标机自己链接成二进制代码来运行。不知道前路荆棘如何,正在死啃中。

kcfoo1 发表于 2020-3-15 23:33:46

xf331785508 发表于 2020-3-13 17:08
呵呵,翻论坛翻到了你的这个贴。   

你的这种PLC我到现在接触到实际应用才理解的。其实跟倍福的软PLC ...

说说我想法:把ROM划分成若干段,记住每段的人口地址,就像中断口一样,只是中断口是硬件跳转而已,只要上位机能找到要修改的地址,触发单片机里的修改程序进入一个擦写中断执行局部擦出写入的指令后又跳转回原来地址就可以完成

佚名流浪 发表于 2023-3-28 14:55:45

看到最后感觉不继续做太可惜了

qwe2231695 发表于 2023-3-29 01:13:22

不继续做太可惜了
页: [1]
查看完整版本: 编译型的PLC发布