没搞清楚数据类型的悲剧

已锁定

Automann

  • 帖子

    6168
  • 精华

    138
  • 被关注

    309

论坛等级:至圣

注册时间:2004-12-23

普通 普通 如何晋级?

没搞清楚数据类型的悲剧

907

7

2011-11-09 09:06:08

下面是一个读者发给我的邮件:
我买了一本您编写的《给我动手学S7300/400PLC》,在学习书中第74页浮点数数学运算指令应用的时候有点麻烦。我把MD30改成MD1,MD34改成MD2。我在仿真的时候在MD1中输入30.0,一按回车键出现11.8953(见下图)。我按书上的地址来做就没问题了。我想问一下这与MD30改成MD1,MD34改成MD2有关系吗?这些地址可不可以随便改?



下面是我的答复:
程序中的地址是可以改动的,但是有一个根本性的原则必须遵守,即同一个地址同时只能用于一个用途,否则就好像人犯了重婚罪一样,会出大乱子!!并且这样的问题还不容易查出来。
MD1由MB1~MB4这4个字节组成,MD2由MB2~MB5这4个字节组成,MD1和MD2有3个字节(MB2~MB4)是重叠的,这样使用地址不出问题才怪!



MD2的值与程序的执行有关,而MD1中的MB2~MB4取决于MD2的值,因此在MD1中输入一个浮点数后,一按回车键MD1就会变为11.8953。
这个读者做实验用的项目没有几条指令,还不太容易出现地址重叠的问题,出现了也容易查找。在实际的项目中,为了避免重复使用地址,可以用STEP 7的参考数据中的赋值表来检查某个特定的地址是否已被使用,用交叉参考表来检查同一地址在什么地方被多次使用。
这个问题告诉我们,要想提高读程序和编写程序的水平,一定要打牢基础,像数据类型这一类基础知识,最好能牢记于心。
没搞清楚数据类型的悲剧 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54711条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。