发表于:2013/8/15 5:20:36
#0楼
在梯形图中,S7-200整数减法和除法有三个参数:
SUB_I(IN1,IN2,OUT) 表示 IN1 - IN2 -> OUT
DIV_I(IN1,IN2,OUT) 表示 IN1 / IN2 -> OUT.
指令表中减法和除法只有两个参数,而且参数次序有变:
-I IN1,IN2 表示 IN2 - IN1 -> IN2
/I IN1,IN2 表示 IN2 / IN1 -> IN2
所以在梯形图转指令表的时候,有一定的复杂性。当梯形图中输入变量 IN2 同输出变量 OUT 相同时,麻烦比较多。
一。MicroWin 不允许 除法梯形图中 IN2 = OUT.
可以画出这样的梯形图,但是转换指令表时,MicroWin会报错。
二。国内版S7-200模拟器中的减法错。
如果IN2=OUT,减法梯形图在转换成指令表时将先把IN2取反,然后加一,这相当于得到-IN2,然后再同IN1 相加。国内广西版的一个S7-200模拟器对这几条指令的处理没做好,减法操作有时会出错。下图中VW12的最终计算结果应该是12,但广西版模拟器的计算结果是65533。
下面是指令表文件:
2 Network 1
3
4 LD I0.0
5 MOVW 12, VW10
6 MOVW 3, VW12
7
8 Network 2
9
10 LD I0.0
11 MOVW VW10, VW14
12 +I VW12, VW14
13 INVW VW12
14 INCW VW12
15 +I VW14, VW12
16
用国外的S7-200模拟器模拟,VW12的计算结果也是12.
三。两个模拟器均不支持AENO指令。
从MicroWin生成的指令表文件中,原来还有许多AENO指令,表示梯形图的ENO。但模拟器不支持AENO指令,在上面这个程序中,AENO指令是可以去掉的,去掉之后方能进行模拟。
四。MicroWin 有时会自动交换加法和乘法梯形图中输入变量的次序。
如果加法或乘法梯形图中第一个输入变量同输出变量相同,那么MicroWin会自动修改用户输入的梯形图,把第一个变量同第二个输入变量交换。原因是这两种梯形图所对应的指令表代码是一样的。
比如,MicroWin会自动把下图中上一个梯形图改写成下一个梯形图:
这两个梯形图中加法指令表程序都是:+I VW10, VW12.
SUB_I(IN1,IN2,OUT) 表示 IN1 - IN2 -> OUT
DIV_I(IN1,IN2,OUT) 表示 IN1 / IN2 -> OUT.
指令表中减法和除法只有两个参数,而且参数次序有变:
-I IN1,IN2 表示 IN2 - IN1 -> IN2
/I IN1,IN2 表示 IN2 / IN1 -> IN2
所以在梯形图转指令表的时候,有一定的复杂性。当梯形图中输入变量 IN2 同输出变量 OUT 相同时,麻烦比较多。
一。MicroWin 不允许 除法梯形图中 IN2 = OUT.
可以画出这样的梯形图,但是转换指令表时,MicroWin会报错。
二。国内版S7-200模拟器中的减法错。
如果IN2=OUT,减法梯形图在转换成指令表时将先把IN2取反,然后加一,这相当于得到-IN2,然后再同IN1 相加。国内广西版的一个S7-200模拟器对这几条指令的处理没做好,减法操作有时会出错。下图中VW12的最终计算结果应该是12,但广西版模拟器的计算结果是65533。
下面是指令表文件:
2 Network 1
3
4 LD I0.0
5 MOVW 12, VW10
6 MOVW 3, VW12
7
8 Network 2
9
10 LD I0.0
11 MOVW VW10, VW14
12 +I VW12, VW14
13 INVW VW12
14 INCW VW12
15 +I VW14, VW12
16
用国外的S7-200模拟器模拟,VW12的计算结果也是12.
三。两个模拟器均不支持AENO指令。
从MicroWin生成的指令表文件中,原来还有许多AENO指令,表示梯形图的ENO。但模拟器不支持AENO指令,在上面这个程序中,AENO指令是可以去掉的,去掉之后方能进行模拟。
四。MicroWin 有时会自动交换加法和乘法梯形图中输入变量的次序。
如果加法或乘法梯形图中第一个输入变量同输出变量相同,那么MicroWin会自动修改用户输入的梯形图,把第一个变量同第二个输入变量交换。原因是这两种梯形图所对应的指令表代码是一样的。
比如,MicroWin会自动把下图中上一个梯形图改写成下一个梯形图:
这两个梯形图中加法指令表程序都是:+I VW10, VW12.
[此贴子已经被作者于2013/8/15 5:56:40编辑过]