当前位置:文档之家› 整数数学运算指令

整数数学运算指令

整数数学运算指令
整数数学运算指令

9.6 SIMATIC整数数学运算指令

整数加法和整数减法

整数的加法和减法指令把两个 16 位整数相加或相减

在 LAD和 FBD 中

IN1 + OUT = OUT

OUT - IN1 = OUT

使 ENO = 0 的错误条件是SM4.3 (运行时间)

SM1.0 (零)

SM1.2 (负)

输入/输出操作数数据类型IN1, IN2 VW, IW, QW, MW, SW, SMW, LW, AIW, T, C, AC, 常数, *VD, *AC,

INT

*LD

OUT VW, IW, QW, MW, SW, SMW, LW, T, C, AC, *VD, *AC, *LD INT

双整数加法和双整数减法

双整数的加法和减法指令把两个 32 位双整数相加或相减

 

在 LAD和 FBD 中

IN1 + OUT = OUT

OUT - IN1 = OUT

使 ENO = 0 的错误条件是SM4.3 (运行时间)

SM1.0 (零)

SM1.2 (负)

输入/输出操作数数据类型

IN1, IN2 VD, ID, QD, MD, SMD, SD, LD, AC, HC, 常数, *VD, *AC, *LD DINT

OUT VD, ID, QD, MD, SM, SD, LD, AC, *VD, *AC, *LD DINT

整数乘法和整数除法

整数乘法指令把两个16位整数相乘

整数除法指令把两个16位整数相除不保

留余数

就置位溢出位

IN1 * IN2 = OUT

IN1 / IN2 = OUT

在 STL中

SM1.1 (溢出)

0006 (间接寻址)

这些指令影响下面的特殊存储器位SM1.1 (溢

出) SM1.3 (被 0 除)

如果在乘或除的操作过程中 SM1.1 (溢出) 被置位

并且所有其它的算术状态位被置为 0

???üμ???ê?×′

ì???±£á?2?±?·??ò

输入/输出操作数数据类型

IN1, IN2 VW, IW, QW, MW, SW, SMW, LW, AIW, T, C, AC, 常数, *VD, *AC, *LD INT

OUT VW, QW, IW, MW, SW, SMW, LW, T, C, AC, *VD, *LD, *AC INT

双整数乘法和双整数除法

整数乘法指令把两个32位双整数相乘

双整数除法指令把两个32位双整数相除

不保留余数

IN1 * IN2 = OUT

IN1 / IN2 = OUT

在 STL中

SM1.1 (溢出)

0006 (间接寻址)

这些指令影响下面的特殊存储器位SM1.1 (溢

出) SM1.3 (被 0 除)

如果在乘或除的操作过程中 SM1.1 (溢出) 被置位

并且所有其它的算术状态位被置为 0

???üμ???ê?×′

ì???±£á?2?±?·??ò

输入/输出操作数数据类型

IN1, IN2 VD, ID, QD, MD, SMD, SD, LD, HC, AC, 常数, *VD, *AC, *LD DINT

OUT VD, ID, QD, MD, SMD, SD, LD, AC, *VD, *LD, *AC DINT

整数乘法产生双整数和整数除法产生双整数

整数乘法产生双整数指令把两个16位整数相乘

整数除法产生双整数指令把两个16位整数相除

其中16位是余数(最高有效位)

在STL乘法指令中

在STL乘法指令中

在 LAD和 FBD 中

IN1 * OUT = OUT

OUT / IN1 = OUT

使 ENO = 0 的错误条件是SM4.3 (运行时间)

SM1.0 (零) SM1.2 (负)

???üμ???ê?×′ì???±£á?2?±?

·??ò

输入/输出操作数数据类型IN1, IN2 VW, IW, QW, MW, SW, SMW, LW, AC, AIW, T, C, 常数, *VD, *AC, *LD INT

OUT VD, ID, QD, MD, SMD, SD, LD, AC, *VD, *LD, *AC DINT

算术运算举例

VW102注

STL 和 FBD 举例

字节增和字节减

字节增 (INCB) 或字节减 (DECB) 指令把输入字节 (IN) 加 1 或减

1

字节增减指令是无符号的

IN + 1 = OUT

IN - 1 = OUT

在STL中

SM1.1 (溢出)

0006 (间接寻址)

这些指令影响下面的特殊存储器位SM1.1 (溢出)

输入/输出操作数数据类型

IN VB, IB, QB, MB, SB, SMB, LB, AC, 常数, *VD, *AC, *LD BYTE

OUT VB, IB, QB, MB, SB, SMB, LB, AC,*VD, *AC, *LD BYTE

字增和字减

字增 (INCW) 或字减 (DECW) 指令把输入字 (IN) 加1或减1

字增减指令是有符号的 (16#7FFF > 16#8000)

IN + 1 = OUT

IN - 1 = OUT

在STL中

SM1.1 (溢出)

0006 (间接寻址)

这些指令影响下面的特殊存储器位SM1.1 (溢

出)

双字增和双字减

字增或双字减指令把输入字 (IN) 加1或减1

在 LAD 和 FBD 中

 

在 STL中

SM1.1 (溢出)

0006 (间接寻址)

这些指令影响下面的特殊存储器位SM1.0(零)

SM1.2 (负)

输入/输出操作数数据类型IN VD, ID, QD, MD, SD, SMD, LD, AC, HC, 常数, *VD, *AC, *LD DINT

OUT VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *AC, *LD DINT

增减举例

DEC_DW

ENO

VD100

图 9-26 增/ LAD

9.7SIMATIC 实数数学运算指令

实数的加减

实数的加减指令把两个 32 位实数相加或相减

在 LAD 和 FBD 中

IN1 + OUT = OUT

OUT - IN1 = OUT

使 ENO = 0 的错误条件是SM4.3 (运行时

间)

SM1.0 (零)

SM1.2 (负)

SM1.1 用来指示溢出错误和非法值SM1.0

和 SM1.2 的状态就无效如果 SM1.1 不

置位

输入/输出操作数数据类型

IN1, IN2 VD, ID, QD, MD, SD, SMD, AC, LD, 常数, *VD, *AC, *LD REAL

OUT VD, ID, QD, MD, SD, SMD, AC, LD, *VD, *AC, *LD REAL

注意

单精度若要得到更多信息

实数的乘

产生 32 位实数结果

(OUT)

μ?μ?32位实数商

IN1*IN2 = OUT

IN1/ IN2 = OUT

在 STL 中

SM1.1 (溢出)

0006 (间接寻址)

这些指令影响下面的特殊存储器位SM1.1 (溢

出或发现输入参数非法)

SM1.3 (被 0 除)

如果在除法操作过程中 SM1.3 被置位

原始输入操作数也不变

如果 SM1.1 置位原

始操作数不改变

SM1.0 和 SM1.2 的状态反映算术操作的结果

实数或浮点数在 ANSI/IEEE 754 1958 标准中有描述请参阅该标准

算术运算举例

9-

27 实数算术运算指令的 LAD

9.8 SIMATIC数学功能指令

平方根

实数的开方指令 (SQRT) 把一个 32 位的实数 (IN) 开方

如下面等式所示

SM1.1 (溢出)

0006 (间接寻址)

这些指令影响下面的特殊存储器位SM1.1 (溢

出)

è?1? SM1.1 置位

原始操作数不改变SM1.0 和 SM1.2的状态反映算术操作的结果

结果放入输出 OUT

ó? DIV_R (/R) 指令将自然对数除以 2.302585 即可(其值近似于以 10 为底的对数值)

SM1.1 (溢出)

该指令影响下列的特殊存储器位SM1.1 (溢出)

SM4.3 (运行时间)

输入/输出操作数数据类型

IN VD, ID, QD, MD, SMD, SD, LD, AC, 常数, *VD, *AC, *LD REAL

OUT VD, ID, QD, MD, SMD, SD, LD, AC, *VD, *AC, *LD REAL

指数

指数指令将输入 IN 的值取以e为底的指数 

使 ENO=0的出错条件0006 (间接寻址)

SM1.0 (零位)

SM1.2 (负数)

该指令可与前面的自然对数指令相配合任意数为指数计算

5的3次方=5^3=EXP=125

125的3次方根=125^(1/3)=EXP=5

输入/输出操作数数据类型IN VD, ID, QD, MD, SMD, SD, LD, AC, 常数, *VD, *AC, *LD REAL

OUT VD, ID, QD, MD, SMD, SD, LD, AC, *VD, *AC, *LD REAL

正弦正切

正弦指令将输入 IN 的弧度值取正弦输入值为弧度值使用 MUL_R (*R) 将该角度值乘以π /180 以将其转换为弧度值

结果放入输出 OUT è?1?ê?è??a???è?μ

正切指令将输入 IN 的弧度值取正切输入值为弧度值则将该角度值乘以π /180 以将其转换为弧度值

SM1.1 (溢出)

这个功能影响下列的特殊存储器位SM1.1 (溢出)

SM4.3 (运行时间)

相关主题
文本预览
相关文档 最新文档