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 都是花钱买来的,不用白不用,不用也是浪费了。 同理,如果有字节型变量经常需要与字类型变量相互转换,让字节变量占用一个字的内存宽度浪费一个字节,避免类型转换。



在学习中

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 130回
  • 年度积分:0
  • 历史总积分:222
  • 注册:2007年11月16日
发表于:2009-02-01 14:52:21
201楼
有一次去朋友上班的工厂参观看见那机械手自动搬运货物和哪个流水线,我都看呆了。问了才知道是PLC控制的于是就对PLC产生了非常浓厚的兴趣。

自己在西门子网站上买了编程手册,在书店买了有关PLC方面的书看了。自己感觉对指令认识还可以了,就是总感觉对PLC还是很陌生

本来想去个培训班的,在网上看了一下都是几天就要3.4千 我的的天呀平均一天就要大几百快 着使我很难接受了。我想我自己有了理论知识就是却少实践了想买个PLC回来 看了一下新的西门子要壹千多 如果还买什么A/D摸块那也是不小的数目了。

请问各位朋友:在辽宁有政府办的培训班吗?我想政府办的不是以赢利为目的,而是解决就业问题。有那位朋友有二手西门子PLC买呀。想拜师寻求一位师傅收费也可以的(价格不要太黑呀~~)

联系电话:13352172383

QQ号:543960736 ,王江
wj.422107@163.com

JANGKEUV

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 88回
  • 年度积分:0
  • 历史总积分:93
  • 注册:2007年3月20日
发表于:2009-02-01 18:11:34
202楼
非常感谢!学习了..

cgy918

  • 精华:0帖
  • 求助:1帖
  • 帖子:32帖 | 1169回
  • 年度积分:0
  • 历史总积分:376
  • 注册:2008年2月19日
发表于:2009-02-01 19:44:38
203楼

不错的资料,收藏了             

yang...

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 550回
  • 年度积分:0
  • 历史总积分:822
  • 注册:2004年8月31日
发表于:2009-02-02 11:40:36
204楼
引用长空万里 的回复内容:经验之谈,不错!顶!!!!



华张

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 48回
  • 年度积分:0
  • 历史总积分:577
  • 注册:2007年11月24日
发表于:2009-03-04 10:32:47
205楼

一直以来都觉的SIEMES数学运算比较麻烦.是它最大的软肋.楼主空间换时间,受益非浅.向楼主学习..

请各位指教

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 33回
  • 年度积分:0
  • 历史总积分:45
  • 注册:2004年1月11日
发表于:2009-03-06 15:35:55
206楼
确实是一个好方法,我做程序的时候就老是花很多步骤去转换数据的类型,太麻烦

zangzuojia

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 20回
  • 年度积分:0
  • 历史总积分:47
  • 注册:2008年11月19日
发表于:2009-03-06 17:11:13
207楼

还有没有啊?再发写哦,真的不错。。。。

 

小飞人

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 53回
  • 年度积分:0
  • 历史总积分:137
  • 注册:2008年6月26日
发表于:2009-03-06 18:50:00
208楼

好不错学习学习

 

sunnjh

  • 精华:0帖
  • 求助:0帖
  • 帖子:30帖 | 317回
  • 年度积分:0
  • 历史总积分:703
  • 注册:2002年11月28日
发表于:2009-03-06 18:54:18
209楼
不错 学习 学习                                                 

孤掌难鸣

  • 精华:0帖
  • 求助:0帖
  • 帖子:76帖 | 324回
  • 年度积分:0
  • 历史总积分:704
  • 注册:2007年8月17日
发表于:2009-03-07 09:45:03
210楼

不错的贴,顶一下啊

lwj0007

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 599回
  • 年度积分:0
  • 历史总积分:715
  • 注册:2009年1月09日
发表于:2009-03-07 16:04:47
211楼
拜读了,很好啊, 谢谢楼主!!!

rbqgcx

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 111回
  • 年度积分:0
  • 历史总积分:176
  • 注册:2009年3月02日
发表于:2009-03-07 19:59:15
212楼

不丑。

 

GOOD

lfwww

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:2
  • 注册:2008年7月09日
发表于:2009-03-23 08:41:33
213楼
支持版主!我已经认真的学习了几次。再次表示感谢。

李许波

  • 精华:0帖
  • 求助:1帖
  • 帖子:11帖 | 79回
  • 年度积分:5
  • 历史总积分:226
  • 注册:2007年10月09日
发表于:2009-03-25 13:02:21
214楼

以空间换时间,楼主写得太好了。

iyaaaaa

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 2回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2009-03-25 15:08:46
215楼


西门子 S7- 200编程周末培训班

S7-200培训内容:
1、介绍PLC的发展趋势以及工作原理。分析比较PLC与继电器的区别;
2、介绍西门子S7-200 PLC的硬件组成、硬件配置以及IO分配;
3、介绍S7-200编程软件STEP7 MicroWin4.0的使用;
4、定时器、计数器、内部继电器、变量寄存器、顺控继电器等软元件
5、S7-200基本逻辑指令介绍及案例分析;
6、S7-200程序控制指令介绍及案例分析;
7、S7-200数据处理运算指令介绍及案例分析;

报名电话:021:64691269 qq:921175957 联系人:陈老师13788998581
网 址: www.wxw120.com QQ:921175957 E-mail:iyaaaa@msn.com

ling723

  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 73回
  • 年度积分:0
  • 历史总积分:140
  • 注册:2007年10月22日
发表于:2009-03-28 11:12:58
216楼

也是方法,学习了!         

我是小工

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:41
  • 注册:2009年2月08日
发表于:2009-03-29 17:40:16
217楼
很好,我是一个刚接触plc的.

李夕

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 86回
  • 年度积分:0
  • 历史总积分:198
  • 注册:2009年3月06日
发表于:2009-04-03 12:38:22
218楼

学习。。。。。。。。。。。。。。

xiaozhus

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 91回
  • 年度积分:0
  • 历史总积分:49
  • 注册:2008年8月24日
发表于:2009-04-03 13:22:13
219楼
学习中...........................

韩雨良

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 256回
  • 年度积分:0
  • 历史总积分:519
  • 注册:2006年4月07日
发表于:2009-04-03 19:26:16
220楼
楼主能给介绍一下S7200告诉脉冲输出的应用吗?例子,资料都可以。

热门招聘
相关主题

官方公众号

智造工程师