西门子PLC的数学运算指令梯形图编程

    1.整数、双整数、浮点数的四则运算

    西门子S7-200/300/400的四则运算指令基本相同,主要是对两个操作数的加、减、乘、除运算,操作数可以是整数、双整数、浮点数等。S7-200与S7-300/400的指令格式相似,梯形图程序格式如图10-7.1所示。

    图中的IN1为四则运算中的被加数、被减数、被乘数、被除数;IN2为加数、减数、乘数、除数:OUT为运算结果存储器地址。

    从图10-7.1可见,尽管S7-200与S7-300/400的梯形图指令相同,但从转换后的指令表可以看出两者在执行过程中存在差异。

   
S7-200的执行过程如下:

    ①将操作数l(被加数、被减数、被乘数、被除数)移动到结果存储器;

    ②将结果存储器(操作数1)与操作数2(加数、减数、乘数、除数)进行运算,并将运算结果存储到结果存储器中。

   
S7-300/400的执行过程如下:

    ①将操作数l(被加数、被减数、被乘数、被除数)读入到累加器l中:

    ②将操作数2(加数、减数、乘数、除数)读入到累加器1中,原累加器1中的操作数l移动到累加器2中:

    ③累加器2中的内容与累加器l运算,运算结果存储在累加器l中;

    ④累加器1的运算结果传送到结果存储器中。

   
四则运算编程时应注意以下几点:

    ①在S7-200中,整数、双整数的运算结果仍然为整数与双整数,因此,在程序中应注意防止因运算结果溢出而导致的执行错误。

    ②在S7-200中整数、双整数的除法运算DIV—I、DIV- DI指令,以及S7-300/400的DIV_ DI指令,除法运算的结果不保留余数。

    ③对于S7-200的整数除法,如果需要余数,可以使用DIV指令。DIV指令要求的输出存储器OUT为32位,执行DIV指令后,两个整数的除法运算可以得到32位运算结果,输出存储器OUT的高16位用于存储余数,低16位用于存储商。

    ④S7-200的双整数除法无法保留余数。

    ⑤对于S7-300/400的整数除法,可以自动生成余数,执行DIV I指令后,累加器l的高16位存储余数,低16位存储商。

    ⑥对于S7-300/400的双整数除法,如果需要余数,可以在利用DIV DI指令求出商后,再使用MOD指令求余数。执行MOD指令后,商被舍去,累加器l存储余数。

    ⑦除法运算的除数不能为“O”。

   
2.浮点数的函数运算

    在S7-200/300/400中,浮点数可以进行函数运算。函数运算包括正弦、余弦、正切、平方根、自然对数、指数等运算,在S7-300/400中还可以进行平方、反正弦、反余弦、反正切、求绝对值等运算。

    对于浮点数的函数运算,为了得到正确的运算结果,同样应遵守函数运算的基本规定与要求,保证程序中操作数取值范围的正确性。

    3.增量指令

    在S7-200中,除可以使用以上数据运算指令外,还可以通过专门的指令对字节、字、双字进行增“1”( Increment)与减“1”(Decrement)运算。这些指令的使用十分简单,可以按照表10-7.1的格式直接编程。

    除以上常用的功能指令外,S7还有其他部分功能指令,如程序控制指令,S7-200中的表指令、字符串指令、特殊计数指令等。这些指令有的使用较少。,    1.整数、双整数、浮点数的四则运算

    西门子S7-200/300/400的四则运算指令基本相同,主要是对两个操作数的加、减、乘、除运算,操作数可以是整数、双整数、浮点数等。S7-200与S7-300/400的指令格式相似,梯形图程序格式如图10-7.1所示。

    图中的IN1为四则运算中的被加数、被减数、被乘数、被除数;IN2为加数、减数、乘数、除数:OUT为运算结果存储器地址。

    从图10-7.1可见,尽管S7-200与S7-300/400的梯形图指令相同,但从转换后的指令表可以看出两者在执行过程中存在差异。

   
S7-200的执行过程如下:

    ①将操作数l(被加数、被减数、被乘数、被除数)移动到结果存储器;

    ②将结果存储器(操作数1)与操作数2(加数、减数、乘数、除数)进行运算,并将运算结果存储到结果存储器中。

   
S7-300/400的执行过程如下:

    ①将操作数l(被加数、被减数、被乘数、被除数)读入到累加器l中:

    ②将操作数2(加数、减数、乘数、除数)读入到累加器1中,原累加器1中的操作数l移动到累加器2中:

    ③累加器2中的内容与累加器l运算,运算结果存储在累加器l中;

    ④累加器1的运算结果传送到结果存储器中。

   
四则运算编程时应注意以下几点:

    ①在S7-200中,整数、双整数的运算结果仍然为整数与双整数,因此,在程序中应注意防止因运算结果溢出而导致的执行错误。

    ②在S7-200中整数、双整数的除法运算DIV—I、DIV- DI指令,以及S7-300/400的DIV_ DI指令,除法运算的结果不保留余数。

    ③对于S7-200的整数除法,如果需要余数,可以使用DIV指令。DIV指令要求的输出存储器OUT为32位,执行DIV指令后,两个整数的除法运算可以得到32位运算结果,输出存储器OUT的高16位用于存储余数,低16位用于存储商。

    ④S7-200的双整数除法无法保留余数。

    ⑤对于S7-300/400的整数除法,可以自动生成余数,执行DIV I指令后,累加器l的高16位存储余数,低16位存储商。

    ⑥对于S7-300/400的双整数除法,如果需要余数,可以在利用DIV DI指令求出商后,再使用MOD指令求余数。执行MOD指令后,商被舍去,累加器l存储余数。

    ⑦除法运算的除数不能为“O”。

   
2.浮点数的函数运算

    在S7-200/300/400中,浮点数可以进行函数运算。函数运算包括正弦、余弦、正切、平方根、自然对数、指数等运算,在S7-300/400中还可以进行平方、反正弦、反余弦、反正切、求绝对值等运算。

    对于浮点数的函数运算,为了得到正确的运算结果,同样应遵守函数运算的基本规定与要求,保证程序中操作数取值范围的正确性。

    3.增量指令

    在S7-200中,除可以使用以上数据运算指令外,还可以通过专门的指令对字节、字、双字进行增“1”( Increment)与减“1”(Decrement)运算。这些指令的使用十分简单,可以按照表10-7.1的格式直接编程。

    除以上常用的功能指令外,S7还有其他部分功能指令,如程序控制指令,S7-200中的表指令、字符串指令、特殊计数指令等。这些指令有的使用较少。

西门子PLC的数学运算指令梯形图编程

相关文章:

你感兴趣的文章:

标签云: