amobbs.com 阿莫电子技术论坛

标题: 孤军奋战自制仿西门子PLC进行中。。。 [打印本页]

作者: csca1    时间: 2012-10-20 14:25
标题: 孤军奋战自制仿西门子PLC进行中。。。
RT,来论坛的时候,PLC的DIY活动已经结束了。。。郁闷,那就自己一个人孤军奋战吧。

一、日常工作中,我用的最多的PLC是西门子S7-200系列,其次是三菱FX2N系列。我想仿制西门子,原因有以下几点:
1、S7-200软件功能强大,大家可以对比西门子的系统手册和三菱的手册就知道了,举个例子,如果我们要算一个圆的周长,计算公式地球人都知道,直径X圆周率,
在S7-200里面,周长的计算就这样简单,
[attach]60636[/attach]
把直径放进VD100,结果存放在VD105,3.141593就不用我说是什么了吧,触摸屏上放置一个数值显示,地址填写VD105,这样就可以在触摸屏上直接读出周长了。
如果要改变直径,再放一个数值输入元件,地址填写VD100就可以随时输入直径了。
西门子PLC的浮点数运算, 要比三菱FX2N强大。
2、西门子的输入输出端子整体可拆卸,只拆一条线的时候也方便,而三菱的输入输出端子分成上下两排,如果你要拆的刚好是下面那排的线,那么必须把上面的先拆了,才能拆下面的线,很不方便。
3、仿制三菱已经烂大街了,仿制西门子的,目前国内只有几家。
4、其它,想到了再补充。。。
二、仿制的方案
1、输入输出点的电路,仿制西门子,采用和西门子上一样的的电路和元件,输入光耦用双向的PC3H3,输出用场效应管,通讯口用485芯片。
输入:
[attach]60643[/attach]
[attach]60644[/attach]
输出,10点晶体管,其中Q0.0和Q0.1要做高速脉冲输出,
[attach]60645[/attach]
Q0.2~Q1.1
[attach]60646[/attach]
通讯口,485芯片未定,因此原理图还没画,备用方案1是MAX485,2是ADUM2483,或者其它IC比如西门子上的SN75176,定型后的产品肯定要隔离的,现在试验,可以先用不隔离的试试。
2、掉电检测
[attach]60647[/attach]

先写到这里,发表看看帖子是否正常
作者: qfmcu    时间: 2012-10-20 14:37
建议在光耦的输入端的两个脚之间加个电阻,用来分流。我见到三菱PLC好像是那样的搞的。
作者: csca1    时间: 2012-10-20 14:38
3,电源电路
DC24V供电,采用LM2596或者同类产品,做成独立的一块电源板,这个还没弄,网上方案多得是,待定。
24V的供电,1路经滤波电容后直接供给输出电路使用,另外一路用LM2596之类的IC降压成5V供外围IC供电,
CPU的3.3V电源,用1117之类的IC将5V降压成3.3V,要做简单的就用磁珠隔离,要稳定可靠隔离的话就做独立的。

4、外壳用仿西门子的外壳,型号记得好像是长河14-50-2吧,
电路板分3块,最底下是电源板,中间是IO板,最上面是CPU板,总之就是跟西门子一样的结构。
作者: liurangzhou    时间: 2012-10-20 14:39
前排就坐
作者: csca1    时间: 2012-10-20 14:42
本人技术水平有限,难免在硬件和软件上有出错的地方,还望各路高手多多指点。。。本帖长期缓慢更新,直至完成整个PLC的制作。
作者: csca1    时间: 2012-10-20 14:52
本帖最后由 csca1 于 2012-10-20 15:01 编辑

5、MCU的选择
      仿制西门子PLC,就要实现西门子大部分的功能,国内仿制成功并量产的,采用的MCU有两种,1是STM32,2是NXP的ARM7。我买了一个力德CPU224,
里面用的就是NXP LPC2138FBD64,既然这个LPC2138能做,那我现在采用比LPC2138更新的LPC17系列也一定能满足要求。因此,选用LPC1758。
选用LPC1758,封装是LQFP80,这个比LPC1768少了20个引脚,方便手工焊接业余DIY。本来就不用那么多引脚,只要片内SRAM和Flash的容量够用就行,LPC1758是64K的SRAM和512的Flash。

LPC2138FBD64:
[attach]60648[/attach]
LPC1758:
[attach]60650[/attach]
作者: kinsno    时间: 2012-10-20 14:52
多看机器,慢慢来。

作者: mcu_lover    时间: 2012-10-20 15:00
支持楼主。过几个月我也准备玩玩PLC。哈哈,我们都是第四梯队啊。
作者: csca1    时间: 2012-10-20 15:16
6、PLC输入输出点对应MCU的管脚
     选好了MCU,接下来最关键的就是PLC输入输出点对应MCU的管脚了,先查看西门子的S7-200系列CPU224的输入点,I0.0~I1.5,
其中,I0.0~I0.3要有外部中断功能,看西门子系统手册中关于中断事件的说明:
I0.0~I0.3要有外部IO中断,上升沿和下降沿中断
[attach]60658[/attach]
然后再看关于高速输入点的
[attach]60659[/attach]
6个高速计数器,其中4个具有双相计数,其余两个单相
[attach]60663[/attach]

输出的就简单多了,Q0.0和Q0.1接PWM输出管脚就行,后面8个随意,反正不用高速。
作者: csca1    时间: 2012-10-20 15:22
IO板比较简单,排版进行中。。。

双面PCB,大概位置,还需修改,未布线
[attach]60666[/attach]

场效应管用贴片的,TO-252或者TO263,这个最终封装看布完之后空间再确定吧
作者: csca1    时间: 2012-10-20 15:34
硬件原理图,输出部分照着西门子话的,输出是根据力德CPU224画的,
PCB板的布局和布线,我怕自己画的不够好,让我一个朋友帮忙做。

网上不少自制的PLC,都采用6N137光耦,我觉得不用,因为西门子也只采用CP9/3H3,而且6N137体积有点大不好布局。。。
至于速度,西门子的也只标30K,够用了,如果今后要100K甚至200K的话,那肯定不用光耦用磁耦了吧,先把功能实现了再说。
元芳,此事你怎么看?
作者: zhuangchao12    时间: 2012-10-20 15:38
楼主强大支持你
作者: mubei    时间: 2012-10-20 15:44
lz进展速度好快啊
作者: csca1    时间: 2012-10-20 15:47
编程软件,大部分采用三菱的,少数几家采用西门子,而自主开发编程软件的都太监了。。。

原因很简单,用户买你的PLC,有的是准备当成正品原装卖给客户的,所以外壳仿三菱软件也直接用三菱,这样用户就不用再去安装你的编程软件了。
而且,编程软件工程量巨大,靠单枪匹马根本无法完成。

既然有现成的三菱和西门子的能用,何乐不为呢?

我比较熟悉西门子PLC,所以上位机编程软件直接用西门子的。

三菱是解释型,比较好搞,而西门子是编译型的,要做兼容它的下位机,难度比三菱的大多了。。。
作者: liming    时间: 2012-10-20 15:51
好贴,顶楼主
作者: bird777    时间: 2012-10-20 15:53
自家用就不多说了。
想拿出来卖的话,个人的想法建议直接做扩展。
作者: csca1    时间: 2012-10-20 15:55
mubei 发表于 2012-10-20 15:44
lz进展速度好快啊

我用西门子PLC做工程已经有10年了,DIY是这两年断断续续研究的。。。
作者: ccc    时间: 2012-10-20 15:56
帮顶一下。
作者: csca1    时间: 2012-10-20 15:57
bird777 发表于 2012-10-20 15:53
自家用就不多说了。
想拿出来卖的话,个人的想法建议直接做扩展。

无论是自己用用,还是打算做成产品来卖,都要尽量按照西门子的来做。

我的目标是硬件上符合要求一步到位,软件慢慢完善。
作者: cpu100    时间: 2012-10-20 16:10
帮顶一下。
作者: csca1    时间: 2012-10-20 16:58
本帖最后由 csca1 于 2012-10-20 17:02 编辑

仿制西门子,这些都要有,
[attach]60703[/attach]
[attach]60707[/attach]
[attach]60708[/attach]
[attach]60709[/attach]
能不能实现其功能咱先不说,先把地址分配好了

作者: csca1    时间: 2012-10-20 17:08
这个很重要
[attach]60712[/attach]
作者: waszyawcz    时间: 2012-10-20 17:24
楼主强大,2010年大概7月份,在做产品试验时,看到某家公司跟楼主描述的产品类似,方案可行。楼主加油。
作者: ajin505    时间: 2012-10-20 17:28
楼主强大 我也用西门子这个系列的PLC 支持一下 楼主加油
作者: zqd311107    时间: 2012-10-20 17:48

作者: foreng5908    时间: 2012-10-20 22:59
l楼主,西门子的AD模块方案怎么弄的?这方面的资料不多,在工业控制领域,模拟采集很多场合是必须的
作者: jetli    时间: 2012-10-20 23:17
膜拜,支持
作者: liming    时间: 2012-10-20 23:30
我也来顶一下
作者: niba    时间: 2012-10-20 23:54
硬件好仿制。。软件麻烦
作者: GuDaoFan    时间: 2012-10-20 23:54
收藏后顶住
作者: ivan283    时间: 2012-10-21 00:41
支持!期待楼主大作
作者: keli2046    时间: 2012-10-21 09:57
提示: 作者被禁止或删除 内容自动屏蔽
作者: taishandadi    时间: 2012-10-21 10:01
支持lz。做好了买一块练练手
作者: ilikemcu    时间: 2012-10-21 10:03
看得出楼主是有组织,有计划,有预谋的,

纯支持!
作者: rowa    时间: 2012-10-21 10:29
顶下,还真的在做了...
作者: jknew2008    时间: 2012-10-21 11:21
很关心软件的仿制的问题,编译型的话要如何才能解析出来呢。?
作者: shiyuzuxia1111    时间: 2012-10-21 12:00
这个可以顶。。。
作者: i55x    时间: 2012-10-21 13:44
这个要支持一下
作者: kinghai    时间: 2012-10-21 14:03
路过跟踪一下,,,,
作者: csca1    时间: 2012-10-21 17:14
三、软件架构的初步想法
1、PLC程序运行方式
    市场上的小型PLC(256点以下),就两种:解释型和编译型,三菱FX系列为解释型,西门子S7-200是编译型,但工作方式都一样的:
(1)读输入:将物理输入点上的状态复制到输入过程映象寄存器中
(2)执行逻辑控制程序(即用户编写的梯形图LAD或者语句表STL、逻辑图FBD等6种国际电工委员会规定的语言):执行程序指令并将
数据存储在各种存储区中。
(3)处理通讯请求
(4)执行CPU自诊断:检查固件、程序存储器和扩展模块是否工作正常。
(5)写输出:在输出过程映象寄存器中存储的数据被复制到物理输出点。
2、特殊寄存器与数据存储
(1)特殊存储器标志位提供大量的状态和控制功能,并能起到在CPU和用户程序之间交换信息的作用。特
殊存储器标志位能以位、字节、字或双字使用。范围:SM0.0~SM549.7
本人水平有限,无法确保能实现所有特殊存储器的功能,但可以先预留地址,具体功能有待慢慢完善,而那些实际编程中使用率高的特殊存储器则一定要做出来,比如:
SM0.1,该位在首次扫描时为1,用途之一是调用初始化子程序(相当于三菱FX系列里的M8002),
SM0.5,该位提供了一个时钟脉冲,0.5秒为1,0.5秒为0,周期为1秒钟。它提供了一个简单易用的延时或1秒钟的时钟脉冲
SMB28和SMB29:CPU自带的两个模拟电位器的输入值
SMB36到SMB65:高速计数器HSC0、HSC1和HSC2的寄存器
SMB66到SMB85:PTO/PWM寄存器
SMB131到SMB165:HSC3、HSC4和HSC5寄存器
SMB166到SMB185:PTO0,PTO1包络定义表
(2)数据存储
变量存储器(V)           VB0 -- VB8191
局部存储器(L)           LB0 -- LB63
位存储器(M)             M0.0 -- M31.7
计数器                        C0 -- C255
高速计数器                  HC0 -- HC5
顺序控制继电器(S)    S0.0 -- S31.7
累加寄存器                  AC0 -- AC3
跳转/标号                    0 -- 255
调用/子程序                 0 -- 63
中断程序                     0 -- 127
正/负跳变                    256
PID回路                      0 -- 7

西门子的数据存储采用小端对齐,即:
V0.0~V0.7  =  VB0
VB0+VB1     =  VW0
VW0+VW1  =  VD0
使用了VD0存放一个数据A之后,可以用VW0或VD0来读取或写入A,但是不能用VW1来存放数据B,如果该数据为实数(浮点数,32位),VD1~VD3也不能存放数据B了,B要存放于VD4以上。这点与其他大端对齐的PLC不同(比如施耐德PLC)。

下一帖再来说说3、MCU的flash分区

作者: zwc58    时间: 2012-10-21 17:38
顶,支持楼主.有需要帮忙的,可以发动大家一起干.
作者: AVR_ARM    时间: 2012-10-21 18:08
楼主,你不用奋斗了,不是我打击你,西门子S200兼容PLC的工作量,不是你想的那么一点。首先你要破解全套PPI通讯协议,下载协议,然后破解系统 数据 配置块,接着240多条STL语句,还有POU加密等等,这玩意,完全不是你一个人能做到的。我不给你破冷水,硬件,其实你现在什么都不需要,一块普通开发板就成了,最终,你的结果还是走成了设计出硬件,然后软件做不出来。
作者: heky    时间: 2012-10-21 18:12
是啊,ls讲的对,以上资料每天看看就行了。协议,编码是主要的。ppi协议我还是没有完全看懂,编码只是做了一部分解析。
做这些事情没有很难的部分,但是非常繁琐,一时半会也不一定完全能整清楚,只要持之以恒,花上1-2年功夫,一定会有成就的。
作者: MicroPLC    时间: 2012-10-21 19:23
还是自己玩自己的体系来的方便和自由!  www.microplc.com.cn
作者: csca1    时间: 2012-10-22 12:34
AVR_ARM 发表于 2012-10-21 18:08
楼主,你不用奋斗了,不是我打击你,西门子S200兼容PLC的工作量,不是你想的那么一点。首先你要破解全套PPI ...

难度之大,我很清楚,我也知道自己的分量,如果我想靠山寨PLC赚钱,那我直接仿三菱就行了,代码论坛上都有,稍作修改完善再仿套硬件就可以出售了。
我现在的做法是,先研究出最基本的功能,其它太复杂的以后再说,一步步来吧,能做出多少算多少。

我从事工控10年,每年我自己的用量大概是200多不到300个CPU224,我当然知道西门子PLC功能强大,仿制难度更大,靠我自己一个人,10年20年也不一定能做出了。
但要是我不去想完全兼容,而是先从最基本最简单的做起,解决一个算一个,只要坚持下去,就能越做越好。
作者: liming    时间: 2012-10-22 12:50
这个必须要顶起来,
作者: csca1    时间: 2012-10-22 12:55
foreng5908 发表于 2012-10-20 22:59
l楼主,西门子的AD模块方案怎么弄的?这方面的资料不多,在工业控制领域,模拟采集很多场合是必须的 ...

西门子的模拟量扩展模块:
主芯片
ATMEL
2808470-5001
82000778-X
6F1183B
0613   PH

其它芯片还有这些:           
               LM317D2T        ON电源芯片
               9L05A
               ICL7662         电压反转芯片
               MAX191BCWG      12bit ADC
               DG529CWN        8路复用器
               TLE2024C
               MAX530BCAG      12bit DAC
               AD620
               OPA2131UJ

作者: Ilove51andAVR    时间: 2012-10-22 13:17
我也用西门子PLC,建议楼主要搞就搞CPU 224XP的,以前的型号都淘汰不用了。224XP有6个高速计数器和内置模拟量输入输出。如果有可能,请一起开发文本显示器TD400吧,我公司大量使用哦。
作者: csca1    时间: 2012-10-22 13:31
Ilove51andAVR 发表于 2012-10-22 13:17
我也用西门子PLC,建议楼主要搞就搞CPU 224XP的,以前的型号都淘汰不用了。224XP有6个高速计数器和内置模拟 ...

XP的高速计数器速度快一些,多了模拟量,程序容量大一些,其它的跟CPU224一样。
我还是先把CPU224整出来再说。
作者: mcu_lover    时间: 2012-10-22 20:20
Ilove51andAVR 发表于 2012-10-22 13:17
我也用西门子PLC,建议楼主要搞就搞CPU 224XP的,以前的型号都淘汰不用了。224XP有6个高速计数器和内置模拟 ...

呵呵,我正在研发文本显示器,可以看我的帖子:正在设计的文本显示器
作者: mcu_lover    时间: 2012-10-22 20:21
csca1 发表于 2012-10-22 13:31
XP的高速计数器速度快一些,多了模拟量,程序容量大一些,其它的跟CPU224一样。
我还是先把CPU224整出来 ...

楼主坚持啊。软件不是一蹴而就的,可能会花非常多时间和精力。不过只要一点点的做,我相信肯定可以出来的。我现在正在研究文本显示器,不然和你一起整这个玩意了。
作者: csca1    时间: 2012-10-22 21:21
mcu_lover 发表于 2012-10-22 20:20
呵呵,我正在研发文本显示器,可以看我的帖子:正在设计的文本显示器

看过了,不错,加油。
文本我也常用,步科(EV)的MD204不错,国内好多都是仿它家的,价格也便宜,现在300多元?据说还有100多元的,那种不敢用啊,太便宜了。
作者: tuowai    时间: 2012-10-23 14:51
楼主牛人啊!西门子的以前看过,不知道是不是习惯三菱那种思维,感觉很不好上手!
作者: csca1    时间: 2012-10-23 16:14
tuowai 发表于 2012-10-23 14:51
楼主牛人啊!西门子的以前看过,不知道是不是习惯三菱那种思维,感觉很不好上手! ...

说实话,三菱用来做高速脉冲比西门子简单得多,而且效果很好。
但是实数运算功能不如西门子。
作者: dengxiaofeng    时间: 2012-10-23 16:37
支持楼主 继续工作
作者: AVR_ARM    时间: 2012-10-23 17:16
csca1 发表于 2012-10-22 12:34
难度之大,我很清楚,我也知道自己的分量,如果我想靠山寨PLC赚钱,那我直接仿三菱就行了,代码论坛上都 ...

正因为你现在经历的,就是曾经团队一年多所经历的,所以,我告诉你工作量非常之巨大。你一个,做不完的。我不知道你的坚持,到底能坚持多久。
作者: csca1    时间: 2012-10-23 17:43
AVR_ARM 发表于 2012-10-23 17:16
正因为你现在经历的,就是曾经团队一年多所经历的,所以,我告诉你工作量非常之巨大。你一个,做不完的。 ...

你们有一个团队在研究,那技术力量肯定比我单枪匹马强得多,团队人心齐不齐是最重要的,技术力量反而是其次了。
我做过最坏的设想,10年也研究不出软件,但是我不担心:
1、我就当是玩一块LPC17系列的开发板玩了10年,兴趣所在,进度什么的都不要紧,所以我能坚持,再说我没其它爱好,业余时间都用来研究这个了。
2、硬件做出来后,我可以代替掉现在接的一些用西门子PLC来控制的简单工程,可以直接用C语言不用西门子的软件编程。这样确保我的板子能应用到实际中去。
3、我有其它收入来源,能确保我的生活工作不受影响。
4、投资小,打样买零售配件,按一台的量来买,也不过几百元钱就可以了,简单功能的测试,用MDK调试和万用表测量就行了,
高速输入输出的需要用示波器之类的仪器来测试,这个到客户那里用他们的仪器来用用,不用买仪器设备。
5、我的目标就是做出来自用,不管能实现多少功能,不是当成产品来开发后量产出售的。
作者: haishangfeiyin    时间: 2012-10-23 17:50
mark一下~
作者: csca1    时间: 2012-10-23 17:54
我给自己定了一个最小目标:
1、实现普通输入输出(高速输入输出以后再弄),上载下载,在线监控,定时器,普通计数器,V变量存储器和常用的特殊寄存器。
只要实现了以上功能,我就可以在一些简单工程中应用我自己的PLC,
然后才会考虑做数字IO扩展和模拟量扩展以及其他模块,一步一步来吧。
作者: jacktau    时间: 2012-10-23 19:55
顶楼主的钻研精神~~~~~~~~~~~
作者: leecny2012    时间: 2012-10-23 22:55
硬件你很难仿出来的,就比如说,在继电器上的最上层板,抗干扰的布局,西门子是很有讲究的,不信你就试试,包你干扰多多
作者: liming    时间: 2012-10-23 23:18
此贴必火,大家顶起来不要让帖子沉了
作者: heky    时间: 2012-10-23 23:39
我现在也是从0开始,跟lz一样仿制西门子S7-200
只有一个s7-222的cpu,我的cpu选stm32f103RCT6.
目标:商业应用
之前仿制三菱fx系列用了5年时间,西门子的要难一点,暂时没把握估算时间了。
作者: csca1    时间: 2012-10-24 10:22
heky 发表于 2012-10-23 23:39
我现在也是从0开始,跟lz一样仿制西门子S7-200
只有一个s7-222的cpu,我的cpu选stm32f103RCT6.
目标:商业 ...

用STM32来做也可行的,加油!
作者: bsz84    时间: 2012-10-24 11:02
支持楼主的58楼的想法,在有生活条件下,有安静的心态,做事首先不急于求成,不急于得利。
作者: csca1    时间: 2012-10-24 11:39
bsz84 发表于 2012-10-24 11:02
支持楼主的58楼的想法,在有生活条件下,有安静的心态,做事首先不急于求成,不急于得利。 ...

谢谢鼓励
作者: ccc    时间: 2012-10-24 12:04
支持楼主。
作者: liuruoshui    时间: 2012-10-24 12:31
csca1 发表于 2012-10-22 12:34
难度之大,我很清楚,我也知道自己的分量,如果我想靠山寨PLC赚钱,那我直接仿三菱就行了,代码论坛上都 ...

非常佩服楼主的精神和打算!我也正在弄这些工控类。上传从网上找到的西门子PLC电路图做参考!
作者: McuPlayer    时间: 2012-10-24 12:36
支持楼主,不过不建议走西门子兼容路线
作者: csca1    时间: 2012-10-24 13:42
liuruoshui 发表于 2012-10-24 12:31
非常佩服楼主的精神和打算!我也正在弄这些工控类。上传从网上找到的西门子PLC电路图做参考! ...

谢谢,这图纸我早就有了。
硬件不难,难的在于下位机程序。

作者: huangyiqing1982    时间: 2012-10-24 14:45
路过支持一下,,,,
作者: z.henry    时间: 2012-10-24 14:58
支持
作者: any_014    时间: 2012-10-24 15:33
本帖最后由 any_014 于 2012-10-24 15:44 编辑

咨询楼主个问题,看了69楼朋友分享的原理图后,发现对单片机来说输入输出都是低电平有效。
图中是继电器类型输出的,单片机IO口输出低电平信号记过7404反向后经2803放大驱动继电器。
那如果是晶体管类型输出的又是怎么的输出结构呢?
我记得三菱的PLC是输入低电平有效,输出高电平有效。对于继电器类型的直接是经2803驱动继电器,晶体管类型的也是经2803驱动光耦。

三菱的单片机作为输入输出的IO口传入了RC,西门子的好像是直接加到单片机引脚上了?

看69楼原理图中,主电源好像只有一个输出,又经DC-DC转换成5V,单片机供电和输入输出24V不隔离?
作者: vlog_user    时间: 2012-10-24 15:45
听到吆喝声赶过来凑一下热闹,不知楼主因何被激起了雄心壮志,刚开始的目标说是要全仿西门子,有人指出工程难度后目标又变得面目全非。
其实凭借现在32位CPU的工艺和速度,在仿三菱的技术基础上搞一个仿西门子的开发环境,改改指令集,也是可以达到接近甚至超过S7-200
系列的速度,毕竟S7-200是多年前的东西了,廉颇已老。在功能方面应市场需求进行增减就行了,也没必要强求全面向西门子看齐,或企图
进行工程兼容,这个工程难度确实不是你个人能完成的,要不然早就像仿三菱的一样烂大街了。现在正规的国产PLC货已经被烂大街的仿三菱
山寨货搞的灰头土脸、举步维艰,不知阁下因何又燃起了豪情壮志?仿别人的东西最终是没有自己的核心和品牌,搞出来也是披着WIN7外衣
的xp。引用阿莫站长说的一句话,山寨与原装的差别没有永远这么远,但十万八千里是有的。不过楼主的口号是很成功的,吸引了众多的眼球。
作者: csca1    时间: 2012-10-24 15:50
any_014 发表于 2012-10-24 15:33
咨询楼主个问题,看了69楼朋友分享的原理图后,发现对单片机来说输入输出都是低电平有效。
图中是继电器类 ...

低电平有效是因为单片机复位后上电IO都是高电平,所以设置低电平有效不会误触发。
晶体管输出,有的做法是光耦隔离后驱动场效应管,就像我前面贴的图那样。
有的使用专门的驱动芯片来驱动场效应管。

西门子的输入是经过光耦隔离------LM2901然后才到单片机。
西门子的继电器输出是单片机引脚------2803------继电器
西门子的晶体管输出是单片机引脚------驱动IC------三极管------NT2955
作者: vlog_user    时间: 2012-10-24 15:52
只有做自己的核心与品牌才能在市场中昂起头、占一席之地,不然只是另一个烂大街的百元PLC。
作者: vlog_user    时间: 2012-10-24 15:56
本帖最后由 vlog_user 于 2012-10-24 16:03 编辑

目前PLC市场的价格崩溃,祸起于山寨和开源。
作者: csca1    时间: 2012-10-24 15:58
vlog_user 发表于 2012-10-24 15:45
听到吆喝声赶过来凑一下热闹,不知楼主因何被激起了雄心壮志,刚开始的目标说是要全仿西门子,有人指出工程 ...

我在19楼已经说了“我的目标是硬件上符合要求一步到位,软件慢慢完善。”

46楼:
难度之大,我很清楚,我也知道自己的分量,如果我想靠山寨PLC赚钱,那我直接仿三菱就行了,代码论坛上都有,稍作修改完善再仿套硬件就可以出售了。
我现在的做法是,先研究出最基本的功能,其它太复杂的以后再说,一步步来吧,能做出多少算多少。

我从事工控10年,每年我自己的用量大概是200多不到300个CPU224,我当然知道西门子PLC功能强大,仿制难度更大,靠我自己一个人,10年20年也不一定能做出了。
但要是我不去想完全兼容,而是先从最基本最简单的做起,解决一个算一个,只要坚持下去,就能越做越好。

所以我并没有“刚开始的目标说是要全仿西门子,有人指出工程难度后目标又变得面目全非。”
我的意思是硬件上,符合高速输入高速输出的要求,一步到位,不能随便用普通IO来做输入,等以后试验高速输入的时候再改板子,意思就是这样。
希望硬件上做一次就完善,而下位机程序则是做到哪算哪。
作者: heky    时间: 2012-10-24 16:37
目前PLC市场的价格崩溃,祸起于山寨和开源。

这个不敢苟同,而是技术门槛降低之后,暴利阶段的彻底终结。以前的工控上常见的单片机板,不在有市场了,统一梯形图解决问题。

做项目是要有利润的,没利润无法良性循环。所以我要做这个东西一定要进入商业应用,然后有钱可以继续升级。
作者: csca1    时间: 2012-10-24 16:42
heky 发表于 2012-10-24 16:37
目前PLC市场的价格崩溃,祸起于山寨和开源。

这个不敢苟同,而是技术门槛降低之后,暴利阶段的彻底终结。 ...

赞同你的观点。。。
作者: heky    时间: 2012-10-24 16:52
你们看的都是通用PLC的应用场合,工业场合还有不少普通继电器控制柜,用几十个继电器搭电路的多了去了,既浪费线材,维护还麻烦,增加功能尤其麻烦。现在大品牌是不大可能了,做点性价比高的板子,肯定还是能用的,你叫电工学习c语言编程的可能性=0,进口的太贵,山寨的正好。
作者: liming    时间: 2012-10-24 17:27
此贴已火大家顶起来
作者: vlog_user    时间: 2012-10-24 17:27
heky 发表于 2012-10-24 16:37
目前PLC市场的价格崩溃,祸起于山寨和开源。

这个不敢苟同,而是技术门槛降低之后,暴利阶段的彻底终结。 ...

以目前百元PLC的利润,只够出品者一人赚足银子,基本不用聘人,不用交税,一人赚钱全家享用而已。这无法承载制造业应有的社会责任,
无法承载缩小与先进技术差距的责任。如果整个载制造业如此,那何来的进步?

大部分人中国人都指责欧美对中国产品进行反倾销和实行相关产品的关税保护,还在哭闹叫苦,我高价买你的电子原材料低价卖你成品,
为何还反过来整我,根本没意识到自己破坏了整个商业规则。都说欧美创造并制作精品,日系做大,台韩做平民价,中国做毁灭价。
产品都做到了自己没多少钱赚,那别人还怎么活下去?你死我或的竞争,怨不得别人出狠招。打架也是一种竞技竞争,看别人打架有趣,
但当拳头轮到你鼻子上的时候还有趣吗。所以说很多人缺乏良性、有度的竞争概念,这与整个社会的进步程度有关,而不是说指责某些人。
作者: csca1    时间: 2012-10-24 17:36
vlog_user 发表于 2012-10-24 17:27
以目前百元PLC的利润,只够出品者一人赚足银子,基本不用聘人,不用交税,一人赚钱全家享用而已。这无法 ...

大环境如此,你我都无法改变的。

不管那么多了,不管别人的山寨PLC卖多少钱,反正我又不买,别人的事我管不了。

专心研究技术,就当是兴趣爱好,起码我是这样想的。

现在国内仿西门子的,价格在600以下了,我想的只是我什么时候能做得能像他们那么好(下位机程序部分),而不去想他们搞烂了市场。
作者: qd118118    时间: 2012-10-24 18:02
精神可嘉,佩服,搞好了自己用最理想
作者: derive3000    时间: 2012-10-24 20:40
各人有各人的兴趣和自由。支持楼主这一如继往的精神,祝早日做出自己的PLC。
作者: end2000    时间: 2012-10-24 23:52
支持楼主早日做出自己的PLC
作者: wzh314    时间: 2012-10-25 00:47
先顶再看!呵呵
作者: jknew2008    时间: 2012-10-25 15:22
顶起! 期待新的进展
作者: gzhmcu    时间: 2012-10-25 22:04
支持楼主,加紧开源吧
作者: foreng5908    时间: 2012-10-26 01:29
csca1 发表于 2012-10-22 12:55
西门子的模拟量扩展模块:
主芯片
ATMEL

非常感谢楼主,希望坚持下去
作者: wychao    时间: 2012-10-26 08:09
如果直接用西门子的上位机是不是比较难?
以后会不会设计版权问题?
作者: SONY85    时间: 2012-10-26 08:31
路过支持楼主!!
作者: tsb0574    时间: 2012-10-26 08:37
顶LZ,LZ进度怎么样了?需要人手不?
作者: 江南孤舟    时间: 2012-10-26 09:44
我对LZ的精神表示敬意。正好我刚用过LPC1764,要是需要,我可以为LZ效劳,权当是爱好吧。可以分配任务给我,就在此发布交流。
作者: fiddly    时间: 2012-10-26 10:35
楼主坚持住啊!
作者: YaoHui    时间: 2012-10-26 10:52
硬件是容易的,软件不好准啊。
楼主还是整个把西门子的直接转什么哪个芯片的的代码的程序靠谱啊。
作者: raosibin    时间: 2012-10-26 11:37
强烈支持
作者: wenming    时间: 2012-10-26 11:43
做烂街了,大家都没得玩。然后就是你自己也没得玩了。欧美的产品,不是暴利。
是包含了整个产品生命周期的商业成本。
作者: csca1    时间: 2012-10-26 13:53
江南孤舟 发表于 2012-10-26 09:44
我对LZ的精神表示敬意。正好我刚用过LPC1764,要是需要,我可以为LZ效劳,权当是爱好吧。可以分配任务给我 ...

你好,谢谢你。对于PLC的输入输出分配,对应1758的哪些管脚,你有什么建议?
请你看看9楼的要求,然后选择管脚。
高速计数器输入点,一般用MCU定时器口或PWM口,同时要兼顾排PCB的走线。
Q0.0和Q0.1的高速输出口,用PWM1(1)和(2),也就是P2.0和P2.1
而高速输入,怎么选择才好?当MCU放的朝向不同的时候(4个朝向如下图),怎样安排管脚,让布线更合理?
[attach]62595[/attach]
[attach]62597[/attach]




欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/) Powered by Discuz! X3.4