移位和循环指令
STEP7-Micro/WIN提供的移位指令能将存储器的内容逐位向左或者向右移动。移动的位数由N决定。
向左移N位相当于累加器的内容乘2ⁿ,向右移相当于累加器的内容除以2ⁿ。
1、字左移
当字左移指令的EN位为高电平“1”时,执行移位指令,将IN端指定的内容左移N端指定的位数,然后写入OUT端指定的目的地址中。如果移位数目(N)大于或等于16,则数值最多被移位16次。最后一次移出的位保存在SM1.1中。
2、字右移
当字右移指令的EN位为高电平“1”时,执行移位指令,将IN端指定的内容右移N端指定的位数,然后写入OUT端指定的目的地址中。如果移位数目(N)大于或等于16,则数值最多被移位16次。最后一次移出的位保存在SM1.1中。
3、双字循环左移
当双字循环左移的EN位为高电平“1”时,将执行双字循环左移指令,将IN端指令的内容循环左移N端指定的位数,然后写入OUT端指令的目的地址中。如果移位数目( N)大于或等于32,执行旋转之前在移动位数(N)上执行模数32操作。从而使位数在0~31之间,例如当N=34时,通过模运算,实际移位为2。
4、双字循环右移
当双字循环右移的EN位为高电平“1”时,将执行双字循环右移指令,将IN端指令的内容向右循环移动N端指定的位数,然后写入OUT端指令的目的地址中。如果移位数目( N)大于或等于32,执行旋转之前在移动位数(N)上执行模数32操作。从而使位数在0~31之间,例如当N=34时,通过模运算,实际移位为2。
算术运算指令
1、整数算术运算指令
S7-200的整数算术运算分为加法运算、减法运算、乘法运算和除法运算,其中每种运算方式又有整数型和双整数型两种。
整数加 当允许输入端EN为高电平时,输入端IN1和IN2中的整数相加,结果送入OUT中。IN1和IN2中的数可以是常数。整数加的表达式是:IN1+IN2=OUT。
双整数减 当允许输入端EN为高电平时,输入端IN1和IN2中的双整数相减,结果送入OUT中。IN1和IN2中的数可以是常数。双整数减的表达式是:IN1-IN2=OUT。
整数乘 当允许输入端EN为高电平时,输入端IN1和IN2中的整数相乘,结果送入OUT中。IN1和IN2中的数可以是常数。整数乘的表达式是:IN1×IN2=OUT。
双整数除 当允许输入端EN为高电平时,输入端IN1中的双整数除以IN2中的双整数,结果为双整数,送入OUT中,不保留余数。IN1和IN2中的数可以是常数。
递增/递减运算指令 递增/递减运算指令,在输入端(IN)上加1或减1,并将结果置入OUT。递增/递减指令的操作数类型为字节、字和双字。
浮点数运算指令
浮点数函数有浮点算术运算函数、三角函数、对角函数、幂运函数和PID等。
浮点算术函数又分为加法运算、减法运算、乘法运算和除法运算。
当允许输入端EN为高电平时,输入端IN1和IN2中的实数相加,结果送入OUT中。IN1和IN2中的数可以是常数。实数加的表达式是:IN1+IN2=OUT。
转换指令
转换指令是将一种数据格式转换成另外一种格式进行存储。
1、整数转换成双整数
整数转换成双整数指令是将IN端指定的内容以整数的格式读入,然后将其转换为双整数码格式输出到OUT端。
2、双整数转换成实数
双整数转换成实数指令是将IN端指定的内容以双整数的格式读入,然后将其转换为实数码格式输出到OUT端。
3、实数四舍五入为双整数
ROUND指令是将实数进行四舍五入取整后转换成双整数的格式。
今天的分享就到这里,欢迎大家在下方留言,交流!
閱讀更多 程序世界 的文章