S7-200编程小技巧 点击:34209 | 回复:331



xiaolifeidao

    
  • 精华:28帖
  • 求助:0帖
  • 帖子:130帖 | 357回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2005-09-29 10:24:00
楼主
西门子的 S7-200 PLC 功能强大,性能可靠,但在做数学运算时不能象高级语言那样做变量类型自动转换,经常要手工做 BTI、ITD 之类的转换,计算完成后又要 DTI 等耗时的操作,而且使代码行数增加,程序可读性不好,也降低了程序运行的效率。 本文给出一种可以避免使用这些指令的小技巧,使你的代码看起来更简洁,也缩程序的扫描周期。 就是在计算机编程中做算法设计时典型的以空间换时间的思想。比如一个字变量,在计算中经常要向双字变量转换,则我们在定义符号时让该变量占据双字的内存空间,将不用的字清零,则可同时以字型或双字型访问该变量而不需要进行专门的转换。 S7-200 的内存格式与我们常用的 PC 机正好相反,它是高字在前,低字在后的。所以我们可以将字变量放在后两个字节,在程序初始化时将前两个字节清零(程序的其它地方不得使用这两个字节)。 如我们定义符号时将字变量定义在 VW2,同时保持 VW0 的值为零。则程序中可以用 VW2 以字型访问该变量,同时也可以 VD0 以双字型访问,避免了类型转换。 为了避免使用时混淆,最好以明确的符号定义来区分字类型和双字类型。在此强烈推荐类匈牙利命名法:以前缀指示变量类型,用首字母大写的有意义的英文单词的组合作变量名。本人习惯用以下缀: b ---- 字节型变量(byte) w ---- 字型变量(word) d ---- 双字变量(double) r ---- 实型变量(real) f ---- 位变量(flag) btn --- 自复位按钮式输入(button) sw ---- 切换开关或自锁按钮输入(switch) sig --- 传感器、编码等电平信号输入(signal) rly --- 输出继电器位(relay) …… 当然,这个根据个人习惯来,没有定则,主要是利于自己区分。 假如有一个字类型变量名为 VarName,为使用前面的转换技巧,我们可以这样定义: wVarName ---- VW2 dVarName ---- VD0 在程序初始化时将 VW0 清零(如果是不需要记忆的变量,直接将 dVarName 清零也可)或者在数据块中将 VW0 设置为零。则以后需要以字类型访问变量时就用 wVarName,需要以双字类型访问变量时就用 dVarName。完全不需要类型转换。 本方法可以极大的减少程序语句数,使程序更简洁、可读性更好,由于不需要做耗时的类型转换,程序运行效率也得到提高。且数学运算量越大,效率提高越明显。 缺点是要多占用两字节的内存,以后程序中不能使用 VW0。但 S7-200 的 RAM 空间很大,一般是用不完的,以 226 为例,有多达 10K 的 RAM,偶从来没有超过 1K。 这些 RAM 都是花钱买来的,不用白不用,不用也是浪费了。 同理,如果有字节型变量经常需要与字类型变量相互转换,让字节变量占用一个字的内存宽度浪费一个字节,避免类型转换。



wjg1215

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:12
  • 注册:2011年7月29日
发表于:2011-08-07 22:09:16
281楼

请问 多个plc一个画面时,地址如何分配?

xckAA

  • 精华:1帖
  • 求助:0帖
  • 帖子:7帖 | 35回
  • 年度积分:0
  • 历史总积分:45
  • 注册:2008年4月04日
发表于:2011-08-08 17:34:27
282楼
看不懂,落后呀!55555

zilanxia

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 16回
  • 年度积分:0
  • 历史总积分:46
  • 注册:2011年6月22日
发表于:2011-08-09 09:40:31
283楼
又学到一招,三克油                                  

wyoh

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 24回
  • 年度积分:0
  • 历史总积分:289
  • 注册:2011年7月24日
发表于:2011-08-11 16:57:12
284楼
经验之谈,不错!值得学习!

a332329107

  • 精华:1帖
  • 求助:5帖
  • 帖子:340帖 | 6056回
  • 年度积分:13
  • 历史总积分:24395
  • 注册:2011年5月08日
发表于:2011-08-16 20:29:11
285楼
谢谢分享                

戴235

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:12
  • 注册:2011年8月16日
发表于:2011-08-16 23:31:45
286楼

小的

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 98回
  • 年度积分:0
  • 历史总积分:383
  • 注册:2011年8月15日
发表于:2011-08-17 08:54:39
287楼
谢谢,受教了。

小的

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 98回
  • 年度积分:0
  • 历史总积分:383
  • 注册:2011年8月15日
发表于:2011-08-17 09:45:11
288楼
好,支持。

华狼

  • 精华:0帖
  • 求助:5帖
  • 帖子:32帖 | 145回
  • 年度积分:2
  • 历史总积分:650
  • 注册:2008年2月03日
发表于:2011-08-18 09:40:46
289楼
支持经验交流。

majian9090

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 7回
  • 年度积分:0
  • 历史总积分:59
  • 注册:2010年6月21日
发表于:2011-11-08 12:59:02
290楼
xiexie 

beilou

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 8回
  • 年度积分:0
  • 历史总积分:18
  • 注册:2011年5月25日
发表于:2011-11-09 18:25:47
291楼
楼主学问很深学习

tan0620qq

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:13
  • 注册:2011年11月10日
发表于:2011-11-10 10:36:45
292楼
感谢楼主  ,好 资料

bolun1234

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 16回
  • 年度积分:0
  • 历史总积分:43
  • 注册:2006年4月29日
发表于:2011-11-14 19:04:58
293楼

请教高手几个问题:

1、cpu224 cn +EM231模拟量的刷新时间大致多长?都和什么有关系?

2、EM231“模拟输入阶跃响应 1.5ms至95%”是什么意思?

  我想用EM231观察模拟量变化的曲线,请高手指点!谢谢

taoren

  • 精华:0帖
  • 求助:1帖
  • 帖子:30帖 | 427回
  • 年度积分:0
  • 历史总积分:1005
  • 注册:2007年9月28日
发表于:2011-11-15 14:50:02
294楼
经验之谈,很有帮助。

ydtshhtop

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 15回
  • 年度积分:0
  • 历史总积分:23
  • 注册:2010年8月30日
发表于:2011-11-16 16:39:59
295楼
西门子和欧姆龙技术服务质量比较
(1)电话服务时间的不同
西门子要电话预约,数小时以后在不确定的时间才有回答。在此时间内,你必须不离开你的电话,其他事情不好做。浪费了时间。
数小时以后的回答方式,无法满足紧急事情的需求。
欧姆龙打电话时,马上给予服务。紧急事情可以马上得到解决。
(2)电话服务技术人员的技术水平。
西门子的技术人员有的是有技术水平的工程师,但是也有大量的初等技术水平的工程师。一回答问题,就知道是个技术生手。
有的人的态度还十分傲慢无理。
欧姆龙的技术人员有的是有技术水平的工程师,但是也有少量的初等技术水平的工程师。回答的态度是比较令人满意的。
(3)解决技术问题的质量和态度
西门子的技术人员,有的不能解决你的问题,而无歉疚感。
欧姆龙的技术人员不能解决你的问题时,会很着急。并且特意关照你,他们正在抓紧时间,找到解决问题的办法。
如果长时间没有解决你的问题,他的上级会扣掉他的奖金。
(4)到公司解决问题的比较
当你提出把你的试验装置带到对方公司的技术部门,解决程序的有关问题时。
西门子是不接待你的这种要求的。
欧姆龙会同意你的要求,并且在他们的技术部门接待你,在你的试验装置面前,有关技术人员会和你一同解决你的问题。
(5)现场解决问题的比较
你提出现场解决技术问题。
西门子要申请现场解决,而且要收高额的费用。
欧姆龙在方便的时候,会立即派人到现场帮助你解决问题。
(6) 西门子解决一个技术问题, 无相对固定的技术人员,导致一个技术问题没有解决, 经常要面对新的技术人员,
重复介绍故障的情况。
(7) 解决不了的问题,西门子推卸责任, 对自己的产品无诚信和精益求精的态度。
(8) 由于技术服务上, 西门子和欧姆龙的巨大差距, 我公司有一个项目, 需要5套中型PLC 系统,时间也比较紧张。
公司在选择产品上, 选择了欧姆龙。因为要使用新的技术和PLC 模块,西门子不会提供紧急技术支持的。
最后的研发过程也证明了这一点。 两个模块, 欧姆龙都现场帮助解决。
(9) 最近我公司使用的S7-200 的通讯口死机问题上, 西门子解决不了, 甚至拒绝回电话。仅仅固执的发来信息, 说自己的产品没有问题,
蛮横的很。
(10) 我公司的产品, 就是使用自己的多单片机系统, 替代了别的公司的失败的多S7-200系统的。
(11) S7-200 PLC 有固有的缺陷。

dikedeng

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:13
  • 注册:2012年11月24日
发表于:2013-02-16 14:04:41
296楼

学习了!

 

wghlhx

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2012年12月04日
发表于:2013-02-16 15:43:08
297楼
学习横不错             

邹小雪

  • 精华:0帖
  • 求助:4帖
  • 帖子:5帖 | 23回
  • 年度积分:0
  • 历史总积分:107
  • 注册:2012年12月15日
发表于:2013-02-17 16:53:26
298楼
好像有点用,但还不是很懂

众为自动化培训

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 79回
  • 年度积分:0
  • 历史总积分:204
  • 注册:2011年12月10日
发表于:2013-02-21 15:56:30
299楼

学习了,

有需要PLC编程学习的朋友,可了解众为PLC培训中心,在苏州和济南都有学校,教学设备丰富,保证学员每个各一台对应实操,详情了解请联系众为罗老师18662604249 QQ1750597091

网站: http://www.plcsz.com 部分资料提供下载

lzgz00

  • 精华:0帖
  • 求助:0帖
  • 帖子:445帖 | 1223回
  • 年度积分:0
  • 历史总积分:4892
  • 注册:2008年9月02日
发表于:2013-02-21 16:37:07
300楼
程序大了就不行了!!

热门招聘
相关主题

官方公众号

智造工程师