DEC:递减 (S7-1500)说明 使用指令“递减”,将递减累加器 1 中的值,减幅为指令参数所指定的值。指定值的范围在 0 到 255 之间。仅递减累加器 1中低字节中的值。高字节中的值不会进行传送。 无论逻辑运算结果以及状态位如何,CPU 都会执行该指令。该指令既不影响逻辑运算结果也不影响状态位。 累加器 2 的内容保持不变。 如果参数值超出允许的值范围,将影响结果,但不会生成错误消息。MOD:返回除法的余数(S7-1500) 说明 使用“返回除法的余数”指令,将累加器 2 的值除以累加器 1 的值,并保存除法运算的余数。 该指令将累加器1 和 2 的值解释为 32 位整数。该指令将除法运算的余数保存在累加器 1 中。 指令执行之后,状态位 CC 0 和 CC 1将指示除法运算的余数为负数、零或正数。如果该值超 出了所允许的数值范围,则将状态位 OV 和 OS 置位为“1”。如果被零除,则该指令会返回零作为结果。在这种情况下,状态位 CC 0、CC 1、OV 和 OS 都 将置位为信号状态“1”。执行该指令之后,累加器 2 的内容保持不变。
浮点数 (S7-1500) +R: 加浮点数(S7-1500) 说明 使用“加浮点数”指令,将累加器 1 和 2 中的值相加。该指令将这些值解释为浮点数。该指令将和值保存在累加器 1 中。 指令执行之后,状态位 CC 0 和 CC 1 将指示合计值为负数、零或正数。如果该值超出了所允许的数值范围,则将状态位 OV 和 OS 置位为“1”。 如果输入了无效的浮点数或无穷大符号 (+/- ∞),则该指令会向累加器 1写入无效值,并将 状态位 CC 0、CC 1、OV 和 OS 置位为“1”。 执行该指令之后,累加器 2 的内容保持不变。减浮点数(S7-1500) 说明 使用“减浮点数”指令,从累加器 2 的值中减去累加器 1 的值。该指令将累加器 1 和 2 的值解释为浮点数。该指令将差值保存在累加器 1 中。指令执行之后,状态位 CC 0 和 CC 1将指示差值为负数、零或正数。如果该值超出了所允许 的数值范围,则将状态位 OV 和 OS 置位为“1”。如果输入了无效的浮点数或无穷大符号 (+/- ∞),则该指令会向累加器 1 写入无效值,并将 状态位 CC 0、CC 1、OV 和OS 置位为“1”。 执行该指令之后,累加器 2 的内容保持不变。 示例 以下示例说明了该指令的工作原理:乘浮点数 (S7-1500)说明 使用“乘浮点数”指令,将累加器 1 和 2 中包含的值相乘。该指令将这些值解释为浮点数。 该指令将乘积保存在累加器 1 中。指令执行之后,状态位 CC 0 和 CC 1 将指示乘积为负数、零或正数。如果该值超出了所允许 的数值范围,则将状态位 OV 和 OS置位为“1”。 如果输入了无效的浮点数或无穷大符号 (+/- ∞),则该指令会向累加器 1 写入无效值,并将 状态位 CC 0、CC1、OV 和 OS 置位为“1”。 执行该指令之后,累加器 2 的内容保持不变。除浮点数 (S7-1500) 说明使用“除浮点数”指令,将累加器 2 的值除以累加器 1 的值。该指令将累加器 1 和 2 的值解释为浮点数。该指令将除法运算的结果(商)保存在累加器 1 中。 指令执行之后,状态位 CC 0 和 CC 1将指示商为负数、零或正数。如果该值超出了所允许的 数值范围,则将状态位 OV 和 OS 置位为“1”。如果被零除,则该指令会将零作为商。在这种情况下,状态位 CC 0、CC 1、OV 和 OS 都将 置位为信号状态“1”。如果输入了无效的浮点数或无穷大符号 (+/- ∞),则该指令会向累加器 1 写入无效值,并将 状态位 CC 0、CC 1、OV 和OS 置位为“1”。 执行该指令之后,累加器 2 的内容保持不变。ABS:计算juedui值 (S7-1500) 说明使用“计算juedui值”指令,可计算累加器 1 中值的juedui值。该指令将累加器 1 的内容解释为浮点数并将尾数的符号置位为“0”。结果存储在累加器 1 中。 “计算juedui值”指令不影响任何状态位。 示例以下示例说明了该指令的工作原理:扩展的浮点数 (S7-1500) SQR:计算平方 (S7-1500) 说明使用“计算平方”指令,对累加器 1 中的浮点数求平方,并将结果存储在累加器 1 中。 指令执行之后,状态位 CC 0 和 CC 1将指示结果为负数、零或正数。如果该值超出了所允许 的数值范围,则将状态位 OV 和 OS 置位为“1”。如果是无效浮点数,则该指令会将状态位 CC 0、CC 1、OV 和 OS 置位为“1”。 该指令仅影响累加器 1 的内容。累加器 2的内容保持不变。SQRT:计算平方根 (S7-1500) 说明 使用“计算平方根”指令,对累加器 1中的浮点数求平方根,并将结果存储在累加器 1 中。指令执行之后,状态位 CC 0 和 CC 1将指示结果为负数、零或正数。如果该值超出了所允许 的数值范围,则将状态位 OV 和 OS 置位为“1”。 如果累加器 1中的值小于零或为无效浮点数,该指令会向累加器 1 中写入无效值,并将状 态位 CC 0、CC 1、OV 和 OS 置位为“1”。如果累加器 1 的值为“0”,则该指令返回值“0”。 该指令仅影响累加器 1 的内容。累加器 2 的内容保持不变。EXP:计算指数值(S7-1500) 说明 使用“计算指数值”指令,将以底数 e (e = 2.718282) 和累加器 1 中的浮点数计算指数。该指令将结果存储在累加器 1 中。 指令执行之后,状态位 CC 0 和 CC 1 将指示结果为负数、零或正数。如果该值超出了所允许的数值范围,则将状态位 OV 和 OS 置位为“1”。 如果是无效浮点数,则该指令会将状态位 CC 0、CC 1、OV 和 OS置位为“1”。 该指令仅影响累加器 1 的内容。累加器 2 的内容保持不变。LN:计算自然对数 (S7-1500) 说明使用“计算自然对数”指令,可以计算累加器 1 中值以 e (e = 2.718282) 为底数的自然对数。 指令执行之后,状态位 CC0 和 CC 1 将指示结果为负数、零或正数。如果该值超出了所允许 的数值范围,则将状态位 OV 和 OS 置位为“1”。 如果累加器1 中的值小于或等于零,该指令会向累加器 1 中写入无效值,并将状态位 CC 0、 CC 1、OV 和 OS置位为“1”。如果浮点数无效,该指令还会将状态位 CC 0、CC 1、OV 和 OS 置位为“1”。 该指令仅影响累加器 1的内容。累加器 2 的内容保持不变。SIN:计算正弦值 (S7-1500) 说明 使用“计算正弦值”指令,可计算累加器 1中角度的正弦值。该角度必须指定为弧度,并且 作为浮点数位于累加器 1 中。该指令将结果存储在累加器 1 中。 指令执行之后,状态位CC 0 和 CC 1 将指示结果为负数、零或正数。如果该值超出了所允许 的数值范围,则将状态位 OV 和 OS置位为“1”。如果是无效浮点数,则该指令会将状态位 CC 0、CC 1、OV 和 OS 置位为“1”。 该指令仅影响累加器 1的内容。累加器 2 的内容保持不变。ASIN:计算反正弦值 (S7-1500) 说明 使用“计算反正弦值”指令,通过累加器 1中的值来计算对应该值的角度。累加器 1 的值 必须为“-1”到“1”之间的浮点数。 该指令的结果以弧度形式返回,并存储在累加器 1中。根据累加器 1 的值,这一结果可以为 -π/2 到 +π/2 (π= 3.14159) 之间的值。 指令执行之后,状态位 CC 0和 CC 1 将指示结果为负数、零或正数。如果该值超出了所允许 的数值范围,则将状态位 OV 和 OS 置位为“1”。 如果累加器 1中的值超出了所允许的值范围,该指令会向累加器 1 中写入无效浮点值,并 将状态位 CC 0、CC 1、OV 和 OS置位为“1”。如果浮点数无效,该指令还会将状态位 CC 0、 CC 1、OV 和 OS 置位为“1”。 该指令仅影响累加器 1的内容。累加器 2 的内容保持不变。COS:计算余弦值 (S7-1500) 说明 使用“计算余弦值”指令,可计算累加器 1中角度的余弦值。该角度必须指定为弧度,并且 作为浮点数位于累加器 1 中。该指令将结果存储在累加器 1 中。 指令执行之后,状态位CC 0 和 CC 1 将指示结果为负数、零或正数。如果该值超出了所允许 的数值范围,则将状态位 OV 和 OS置位为“1”。如果是无效浮点数,则该指令会将状态位 CC 0、CC 1、OV 和 OS 置位为“1”。 该指令仅影响累加器 1的内容。累加器 2 的内容保持不变。ACOS:计算反余弦值 (S7-1500) 说明 使用“计算反余弦值”指令,通过累加器 1中的值来计算对应该值的角度。累加器 1 的值 必须为“-1”到“1”之间的浮点数。该指令的结果以弧度形式返回,并存储在累加器 1中。根据累加器 1 的值,这一结果可以为“0” 到“π”(π= 3.14159) 之间的值。 指令执行之后,状态位 CC 0 和 CC1 将指示结果为负数、零或正数。如果该值超出了所允许 的数值范围,则将状态位 OV 和 OS 置位为“1”。 如果累加器 1中的值超出了所允许的值范围,该指令会向累加器 1 中写入无效浮点值,并 将状态位 CC 0、CC 1、OV 和 OS置位为“1”。如果浮点数无效,该指令还会将状态位 CC 0、 CC 1、OV 和 OS 置位为“1”。 该指令仅影响累加器 1的内容。累加器 2 的内容保持不变。