设计PLC方案,是否行得通 点击:7880 | 回复:85



freejun

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:2帖 | 21回
  • 年度积分:0
  • 历史总积分:27
  • 注册:2005年12月25日
发表于:2005-12-23 16:21:00
楼主
几个朋友凑在一起准备开发PLC,目前想采用如下方案,各位提提意见:
(1)ARM7嵌入式系统 + (2)Vxworks + (3)openPCS
其中:(1)ARM7嵌入式系统 :ARM7 CPU(66MHz)、2M Flash、8M SDRAM、256Byte EEPROM、10M Ethernet、RS232、RS485、RTC
(2)Vxworks:WindRiver 的嵌入式操作系统
(3)openPCS:Infoteam的开发包

本人作为技术开发人员,以前是搞数据通信(华为)的,目前准备成立公司,至力与PLC的开发。



sunwu

  • 精华:3帖
  • 求助:0帖
  • 帖子:11帖 | 256回
  • 年度积分:0
  • 历史总积分:365
  • 注册:2002年6月13日
发表于:2005-12-27 23:02:00
21楼
顶上去

boyonxiang

  • 精华:1帖
  • 求助:0帖
  • 帖子:24帖 | 923回
  • 年度积分:0
  • 历史总积分:1188
  • 注册:2005年4月09日
发表于:2005-12-28 00:37:00
22楼

freejun

  • 精华:1帖
  • 求助:0帖
  • 帖子:2帖 | 21回
  • 年度积分:0
  • 历史总积分:27
  • 注册:2005年12月25日
发表于:2005-12-28 09:32:00
23楼
KW的下位机只提供.a,没有源码,我们试过,开发方式不友好。
Infoteam下位机软件提供c源码,很方便。我们看过它的演示,效果不错,所以选了它,现在就想在我们的硬件平台上试试。

sunsanr

  • 精华:2帖
  • 求助:0帖
  • 帖子:47帖 | 225回
  • 年度积分:0
  • 历史总积分:555
  • 注册:2003年5月06日
发表于:2005-12-28 10:58:00
24楼
好文章,开阔眼界。我有个应用方面的问题,想请教王老师
plc的ad转化速度方面的,一般芯片的ad转化速度是相当快的,达到us级,
为什么到了plc的ad转换就速度慢了呢,都是数ms,甚至数十ms?
内部作了什么处理么?
plc中可直接取ad的平均值和现在值,想请问一下,现在值是时时转换的,而平均值是怎么处理的呢?时间上,是平均次数乘上现在值转换时间么?
呵呵,另外请教一下,
plc的ad转换完成后,有标志可以查询么?
我用的台达的是没有的,这样,取ad值时,不是很方便,不知道取得是哪一次的值

王晟磊

  • 精华:12帖
  • 求助:0帖
  • 帖子:70帖 | 687回
  • 年度积分:0
  • 历史总积分:1173
  • 注册:2004年2月11日
发表于:2005-12-28 14:29:00
25楼
sunsanr兄:您好,
1、您说的US级的AD一般都是逐次逼近型的AD,而工控上因为干抗比较大,所以一般不会采和这种AD,或者只有高速的模拟量模块才会采用这种AD,如我们的中型的IAD24模块就是高速AD.
2、特别温度类的的AD一般都是ΣΔ型的AD,这种AD是一种多次积分型的AD,分辨率很高,但速度相当慢.因为是电容积分的工作原理所以可以很好的抗干抗.所以像V80的E5THM热电偶模块是10HZ.
3、平均值的处理大多采用滑窗滤波方式,用环形队列的方式进行操作,其实每采一次只需做一次减法一次加法一次除法.所以速度比较快.
4、有许多PLC厂商为了降低成本,扩展模拟量模块内没有CPU芯片,所以需要PLC的主体的CPU来采样,这样速度自然上不来,像三菱等需要用指令才能采到数据的AD模块通常都是没有CPU芯片的,像OMRON有一个系列的扩展模块就有CPU芯片。扩展板上有单片机的可以在扩展内做滤法和简单的控制,否则都需要本体上的CPU参与,性能自然比较差。
同上如果扩展上有单片机的PLC,不会有AD转换完的标志,因为它们是自行在不停的采样的,任何时侯都可以读到最新的数据,反之如果扩展上没有单片机的,需要通过功能块来采样的,一般都会有标志,或者在功能块内阻塞住直到转换完毕再出来。
不知道我这么回答是不是您想要的。

王晟磊

  • 精华:12帖
  • 求助:0帖
  • 帖子:70帖 | 687回
  • 年度积分:0
  • 历史总积分:1173
  • 注册:2004年2月11日
发表于:2005-12-28 14:34:00
26楼
freejun兄:我个人认为KW更专业一些。
我这里有ISAGRAF的源程序,但总的感觉太软了,感觉不是工控人编的,而是一群软件工程师写的,对工控的特殊性考虑不多。
一方梯队与ISAGRAF相似,不过比ISAGRAF要好一些,但好像OPC、DDE、部分通信协议等功能的增加需要额外的加钱。

sunsanr

  • 精华:2帖
  • 求助:0帖
  • 帖子:47帖 | 225回
  • 年度积分:0
  • 历史总积分:555
  • 注册:2003年5月06日
发表于:2005-12-28 15:31:00
27楼
谢谢,很受启发,有些名词上学时都接触过,现在模糊了,
立马补习一下,有不懂的地方再请教
再次感谢 如此说,plc的ad模块取平均值时,转换时间与时时值转换时间差不多了? 平均次数不同时转换时间也差不多了,是么?

freejun

  • 精华:1帖
  • 求助:0帖
  • 帖子:2帖 | 21回
  • 年度积分:0
  • 历史总积分:27
  • 注册:2005年12月25日
发表于:2005-12-29 19:37:00
28楼
我们的实验结果会第一时间公布,敬请关注.

王晟磊

  • 精华:12帖
  • 求助:0帖
  • 帖子:70帖 | 687回
  • 年度积分:0
  • 历史总积分:1173
  • 注册:2004年2月11日
发表于:2005-12-30 14:38:00
29楼
取决于平均算法,一般差别不大。

freejun

  • 精华:1帖
  • 求助:0帖
  • 帖子:2帖 | 21回
  • 年度积分:0
  • 历史总积分:27
  • 注册:2005年12月25日
发表于:2006-01-17 09:56:00
30楼
终于移植完成,最终Demo(比较简单的程序)结果:
UCODE:8.5ms/KIL
Native Code:86us/KIL
效果还可以,并且基本功能全部在我们的平台上调试成功,并且和布兰德进行了比较深入的交流。总体感觉还不错。

王晟磊

  • 精华:12帖
  • 求助:0帖
  • 帖子:70帖 | 687回
  • 年度积分:0
  • 历史总积分:1173
  • 注册:2004年2月11日
发表于:2006-01-17 10:53:00
31楼
个人建议用Native Code,贵是贵一点,但是性能要高很多.否则与ARM的性能不相符.
还是建议不仿多找几家软件公司,做多几个DEMO.另外就是找几个工程人员很死里折腾,系统的测他个500人时后再来给钱.
还有就是建议直接上中型PLC吧,这个速度也好成本也好在小型PLC这个行业内没有竞争力,也发挥不出他们的软件优势.
因为采用布兰德博士的这种软件最大的优势是在软件方面,包括现场总线、OPC、以太网、功能块种类等。
要避开这种方案的弱点,不要拼成本,尽量向中高端发展。
还有一点就是尽快找几个做过大工程的老工程师为你们做行业的指导。

freejun

  • 精华:1帖
  • 求助:0帖
  • 帖子:2帖 | 21回
  • 年度积分:0
  • 历史总积分:27
  • 注册:2005年12月25日
发表于:2006-01-17 17:18:00
32楼
谢谢建议,我们准备采用的就是Native Code,现在要花点时间消化他们的OpenPCS和SmartPLC两套软件,SmartPLC有原代码,配上Tornado调试起来非常方便,软件上基本可以按计划进行,现在的事情是花些时间把I/O板和电源板搞出来,满足EMI测试要求。

值得一提的是Infoteam的服务确实不错,比KW强多了。

王晟磊

  • 精华:12帖
  • 求助:0帖
  • 帖子:70帖 | 687回
  • 年度积分:0
  • 历史总积分:1173
  • 注册:2004年2月11日
发表于:2006-01-19 11:43:00
33楼
对,服务确实很好.
再建议买一套S7-300如果有钱再多买几套其它厂商的中型PLC(如果准备做中型PLC的话)进行技术的剖析和分解,为自己确定系统架构打基础.不要着急动手,如果一动手你再想改就困难了.等你的模具和扩展模块开发了系统架构就基本定死了.

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2006-01-19 14:26:00
34楼
虽然不是很懂,但还是长了点知识

shen0103

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 6回
  • 年度积分:0
  • 历史总积分:9
  • 注册:2004年1月12日
发表于:2006-01-24 11:56:00
35楼
王老師您好: 我們想要自己開發一個簡易的PLC編程軟件,想請問要到哪裡找到相關的資料? IL與LD要如何互轉? 謝謝!

王晟磊

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

谢谢落

  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 81回
  • 年度积分:0
  • 历史总积分:248
  • 注册:2005年10月13日
发表于:2006-03-28 16:01:00
37楼
真是开眼界啊,本来还想弄个简单得得不能再简单的PLC开发下,但看了王老师这些帖子,大半都没看懂,象
ISAGRAF
3S
KW
Infoteam
什么的,听都没听过,看来我还是不要折腾了......

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2006-03-28 16:48:00
38楼
开眼界啊:
你好!看了我误导你了,你说的这些名字只是一些PLC软件开发商的名称,这些都可以在网上找到相关的信息,他们都是软PLC的编程软件的服务商,从00年开始进入国内。

土著

  • 精华:1帖
  • 求助:0帖
  • 帖子:62帖 | 628回
  • 年度积分:0
  • 历史总积分:1158
  • 注册:2004年4月13日
发表于:2006-03-28 16:56:00
39楼
只是性很强,大家多支持!也别浪费了王老师的心血!

nyfuj

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 13回
  • 年度积分:0
  • 历史总积分:28
  • 注册:2005年7月05日
发表于:2006-03-29 22:50:00
40楼
不错,顶一下

热门招聘
相关主题

官方公众号

智造工程师