您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 西门子S7-200-运算指令
第4章S7-200的指令系统及编程引例计算停车场里的停车数量一个办公区的停车场管理中心要进行一天的停车辆进行核算,第一区有300辆,第二区有293辆,第三区有321辆,第一区的停车费为每小时4元,第二区的停车费为每小时5元,第三区的停车费为每小时6元,求停车场一天的收入(按一天8个小时工作时间计)。引例计算公式:C=(300*4+293*5+321*6)*8算术运算指令主要包括加法、减法、乘法和除法四类。(1)加法:ADDADD_I整数加法ADD_DI双整数加法ADD_R实数加法(2)减法:SUBSUB_I整数减法SUB_DI双整数减法SUB_R实数减法(3)乘法:MULMUL_I整数乘法MUL_DI双整数乘法MUL_R实数乘法(4)除法:DIVDIV_I整数减法DIV_DI双整数减法DIV_R实数减法另外:+I16位整数相加指令−I16位整数相减指令*I16位整数相乘指令/I16位整数除法指令+D32位整数相加指令−D32位整数相减指令*D32位整数相乘指令/D32位整数除法指令MOD32位整数除法取余数指令4.2运算指令4.2.1整数算术运算指令在STEP7中可以对整数、长整数和实数进行加、减、乘、除算术运算。算术运算指令在累加器1和2中进行,在累加器2中的值作为被减数或被除数。算术运算的结果保存在累加器1中,累加器1原有的值被运算结果覆盖,累加器2中的值保持不变。CPU在进行算术运算时,不必考虑RLO(逻辑运算结果),对RLO也不产生影响。学习算术运算指令必须注意算术运算的结果将对状态字的某些位产生影响,这些位是:CC1和CC0,OV,OS。算术运算指令的三种语言表示如表4-19所示。表4-19算术运算指令三种语言表示续表表4-20运算指令续表4.2.2扩展的浮点数算术运算指令扩展的浮点数算术运算指令如表4-21所示。表4-21扩展的浮点数算术运算指令续表续表4.2.3加、减、乘、除运算1.加法运算(1)梯形图符号及语句表格式其中:ADD—加法运算符;I(INT)/DI(DINT)/R(REAL)——数据类型符(整/双整/实数);EN(EnableIn)——运算允许信号(使能输入)。IN1——被加数;IN2——加数;OUT——和;ENO——运算状态位(使能输出)。(2)功能梯形图:使能输入EN=1时,被加数IN1与加数IN2相加,其结果传送到OUT中,即:IN1+IN2=OUT。指令表:要先将一个加数送到OUT中,然后把OUT中的数据和IN2中的数据进行相加,并将其结果传送到OUT中,即:MOVWIN1,OUT+IIN2,OUT实现OUT+IN2=OUT(3)说明①应用加法指令应该注意的数据类型。ADD_I(整数加法):将两个单字长(16位)符号整数(IN1和IN2)相加,结果为16位整数。ADD_DI(双整数加法):将两个双字长(32位)符号整数(IN1和IN2)相加,结果为32位整数。ADD_R(实数加法):将两个双字长(32位)符号实数(IN1和IN2)相加,结果为32位实数。②在语句表中,IN1、IN2与OUT操作数的地址不同时,语句表指令将梯形图的加法运算分别用两条指令描述;IN1或IN2=OUT时,加法指令节省一条数据传送指令。本规律适用于所有四则运算指令。③操作数范围加法运算的操作数范围如表4-22所示。表4-22加法指令操作数范围(4)例题2.减法运算(1)梯形图符号及语句表格式其中:SUB——减法运算符;I/DI/R——数据类型符(整数/双整数/实数);EN——使能输入;IN1——被减数。IN2——减数;OUT——差;ENO——使能输出。(2)功能梯形图:使能输入EN=1时,被减数IN1减去减数IN2,其结果传送到OUT中,即:IN1−IN2=OUT指令表:要先将一个减数送到OUT中,然后用OUT中的数据减去IN2中的数据,并将其结果传送到OUT中,即:MOVWIN1,OUT−IIN2,OUT实现OUT−IN2=OUT(3)说明①应用减法指令应该注意的数据类型。②操作数范围表4-23减法指令操作数范围(4)例题3.乘法运算(1)梯形图符号及语句表格式MUL——乘法运算符I/DI/R——数据类型符(整数/双整数/实数)EN——使能输入IN1——被乘数IN2——乘数OUT——积ENO——使能输出(2)功能梯形图:使能输入EN=1时,被乘数IN1与乘数IN2相乘,其结果传送到OUT中。即:IN1×IN2=OUT语句表:要先将被乘数送到OUT中,然后把OUT中的数据和IN2中的数据相乘,并将其结果传送到OUT中,即:MOVWIN1,OUT*IIN2,OUT实现IN2×OUT=OUT(3)说明①应用乘法指令应该注意的数据类型。MUL_I(整数乘法):将两个单字长(16位)符号整数(IN1和IN2)相乘,结果为16位整数。MUL_DI(双整数乘法):将两个双字长(32位)符号整数(IN1和IN2)相乘,结果为32位整数。MUL(整数乘双整数输出):将两个单字长(16位)符号整数(IN1和IN2)相乘,结果为32位整数。MUL_R(实数乘法):将两个双字长(32位)符号实数(IN1和IN2)相乘,结果为32位实数。②操作数范围乘法运算的操作数范围如表4-24所示。表4-24乘法指令操作数范围4.除法运算(1)梯形图符号及语句表格式其中:DIV——除法运算符;I/DI/R——数据类型符(整数/双整数/实数);EN——使能输入。IN1——被除数;IN2——除数;OUT——商;ENO——使能输出。(2)功能梯形图:使能输入EN=1时,被除数IN1与除数IN2相除,其结果传送到OUT中。即:IN1/IN2=OUT语句表:要先将被除数送到OUT中,然后把OUT中的数据和IN2中的数据相除,并将其结果传送到OUT中,即:MOVWIN1,OUT/IIN2,OUT实现OUT/IN2=OUT(3)说明①应用除法指令应该注意的数据类型。DIV_I(整数除法):将两个单字长(16位)符号整数(IN1和IN2)相除,结果为16位整数。DIV_DI(双整数除法):将两个双字长(32位)符号整数(IN1和IN2)相除,结果为32位整数。DIV(整数除双整数输出):将两个单字长(16位)符号整数(IN1和IN2)相除,结果为32位整数。其中低16位是商,高16位是余数。DIV_R(实数除法):将两个双字长(32位)符号实数(IN1和IN2)相除,结果为32位实数。②操作数范围除法运算的操作数范围如表4-25所示。表4-25除法指令操作数范围19:1563SQRTENENOIN1OUTLNENENOIN1OUTEXPENENOIN1OUTSINENENOIN1OUTCOSENENOIN1OUTTANENENOIN1OUT5.数学函数指令19:1564指令将输入IN加1或者减1,并将结果存放在OUT中。递增:IN+1=OUT递减:IN-1=OUT字节递增(INCB)和字节递减(DECB)操作是无符号的。字递增(INCW)和字递减(DECW)操作是有符号的。双字递增(INCD)和双字递减(DECD)操作是有符号的。SIMATIC6.增减指令19:1565对字节、字、双字(按位)进行逻辑运算1、字节逻辑运算WAND_BENENOIN1OUTIN2WOR_BENENOIN1OUTIN2WXOR_BENENOIN1OUTIN2INV_BENENOIN1OUTIN2与或异或取反2、字逻辑运算WAND_WENENOIN1OUTIN2WOR_WENENOIN1OUTIN2WXOR_WENENOIN1OUTIN2INV_WENENOIN1OUTIN2与或异或取反3、双字逻辑运算7.逻辑运算指令19:1566
本文标题:西门子S7-200-运算指令
链接地址:https://www.777doc.com/doc-4023842 .html