在S7-300中,怎么对任意数字开根号,PLC程序怎么写.任意数字(整数),开根号出来的数字可能是浮点数,请大家帮忙.
最佳答案
STEP7中有浮点算术运算指令-扩展指令:
SQR :浮点数平方运算(32 位);
SQRT: 浮点数开方运算(32 位)。
使用 SQRT(对 32 位 IEEE 浮点数求平方根)指令,可以对累加器 1 中的浮点数(32 位,IEEE-FP)求平方根。其结果保存在累加器 1 中。输入值必须大于或等于“0”。结果为正值。“-0”的平方根为“–0”例外。
该指令会影响 CC 1、CC 0、OV 和 OS 状态字位。
累加器 2 的内容(以及累加器 3 和累加器 4 的内容,对于具有 4 个累加器的CPU)保持不变。
L MD10// 将存储双字 MD10 的值装入累加器 1 中。(该值必须为浮点数格式)。
SQRT// 在累加器1 中求浮点数(32 位,IEEE FP)的平方根。结果保存到累加器 1 中。
AN OV// 扫描状态字中的 OV 位是否为“0”。
JC OK// 如果在 SQRT 执行过程中没有出现错误,则跳转到 OK 跳转标号。
BEU// 如果在 SQRT 执行过程中出现错误,则块无条件结束。
OK: T MD20// 将累加器 1 中的内容(结果)传送到存储双字 MD20。
详见《用于S7-300 和S7-400 的语句表(STL)编程手册》下载:
http://www2.ad.siemens.com.cn/download/Upload/AS/manual/1008[1].pdf
原帖链接地址:http://www.ad.siemens.com.cn/service/answer/solution.asp?Q_id=57213&cid=1029
提问者对于答案的评价:
描述的比较详细,谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc249710.html