发表于:2011/11/9 9:02:49
#0楼
下面是一个读者发给我的邮件:
我买了一本您编写的《给我动手学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的参考数据中的赋值表来检查某个特定的地址是否已被使用,用交叉参考表来检查同一地址在什么地方被多次使用。
这个问题告诉我们,要想提高读程序和编写程序的水平,一定要打牢基础,像数据类型这一类基础知识,最好能牢记于心。
我是廖常初,是一个高校的老师,曾在企业从事机械、电气技术工作,长期从事工业控制和PLC应用的教学、科研和工程应用工作。博客中的日志除注明外均为原创。愿意在此与大家探讨工控的问题!
廖常初工控博客地址:http://blog.gkong.com/blog.asp?name=liaochangchu
我曾写过几本小书: 《PLC编程及应用》第3版(S7-200)、《S7-300/400 PLC应用技术》第3版、《FX系列PLC编程及应用》第2版、《S7-200 PLC编程及应用》、《PLC基础及应用》第2版(FX系列大专教材)、《西门子人机界面(触摸屏)组态与应用技术》、《西门子工业通信网络组态编程与故障诊断》、《S7-1200 PLC编程及应用》第2版、《跟我动手学S7-300/400 PLC》、《跟我动手学FX系列PLC》
机械工业出版社廖常初图书专题:http://www.gkong.com/zt/liaochangchu/
廖常初工控博客地址:http://blog.gkong.com/blog.asp?name=liaochangchu
我曾写过几本小书: 《PLC编程及应用》第3版(S7-200)、《S7-300/400 PLC应用技术》第3版、《FX系列PLC编程及应用》第2版、《S7-200 PLC编程及应用》、《PLC基础及应用》第2版(FX系列大专教材)、《西门子人机界面(触摸屏)组态与应用技术》、《西门子工业通信网络组态编程与故障诊断》、《S7-1200 PLC编程及应用》第2版、《跟我动手学S7-300/400 PLC》、《跟我动手学FX系列PLC》
机械工业出版社廖常初图书专题:http://www.gkong.com/zt/liaochangchu/