- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
s7300教程11
3.6.1 整数数学运算指令
L IW10 //IW10的内容装入累加器1的低字
L MW14 //累加器1的内容装入累加器2,MW14的值装入累加器1的低字
/I //累加器2低字的值除以累加器1低字的值,结果在累加器1的低字
T DB1.DBW2 //累加器1低字中的运算结果传送到数据块DB1的DBW2中
表3-16 整数数学运算指令
语句表 梯形图 描 述 +I
(I
*I
/ I
+
+D
(D
*D
/ D
MOD ADD_I
SUB_I
MUL_I
DIV_I
——
ADD_DI
SUB_DI
MUL_DI
DIV_DI
MOD_DI 将累加器1,2低字中的整数相加,运算结果在累加器1的低字中
累加器2中的整数减去累加器1中的整数,运算结果在累加器1的低字
将累加器1,2低字中的整数相乘,32位双整数运算结果在累加器1中
累加器2的整数除以累加器1的整数,商在累加器1的低字,余数在累加器1的高字
累加器的内容与16位或32位常数相加,运算结果在累加器1中
将累加器1,2中的双整数相加,双整数运算结果在累加器1中
累加器2中的双整数减去累加器1中的双整数运算结果在累加器1中
将累加器1,2中的双整数相乘,32位双整数运算结果在累加器1中
累加器2中的双整数除以累加器1中的双整数,32位商在累加器1中,
累加器2中的双整数除以累加器1中的双整数,32位余数在累加器1中 3.6.2 浮点数数学运算指令
表3-17 浮点数数学指令
语句表 梯形图 描述 +R
(R
*R
/R
ABS
SQR
SQRT
EXP
LN
SIN
COS
TAN
ASIN
ACOS
ATAN ADD_R
SUB_R
MUL_R
DIV_R
ABS
SQR
SQRT
EXP
LN
SIN
COS
TAN
ASIN
ACOS
ATAN 将累加器1,2中的浮点数相加,浮点数运算结果在累加器1中
累加器2中的浮点数减去累加器1中的浮点数,运算结果在累加器1中
将累加器1,2中的浮点数相乘,浮点数乘积在累加器1中
累加器2中的浮点数除以累加器1中的浮点数,商在累加器1,余数丢掉
取累加器1中的浮点数的绝对值
求浮点数的平方
求浮点数的平方根
求浮点数的自然指数
求浮点数的自然对数
求浮点数的正弦函数
求浮点数的余弦函数
求浮点数的正切函数
求浮点数的反正弦函数
求浮点数的反余弦函数
求浮点数的反正切函数 OPN DB17 //打开数据块DB17
L DBD0 //数据块DB17的DBD0中的浮点数装入累加器1
SQR//求累加器1中的浮点数的平方,运算结果在累加器1中
AN OV //如果运算时没有出错
JC OK //跳转到标号OK处
BEU //如果运算时出错,功能块无条件结束
OK: T DBD4 //累加器1中的运算结果传送到数据块DB17的DBD4中
求以10为底的对数时,应将自然对数值除以2.302585(10的自然对数值)。例如
lg100=ln100/2.302585=4.605170/2.302585=2
【例3-6】用浮点数对数指令和指数指令求5的立方。计算公式为:
L L#5
DTR
LN
L 3.0
*R
EXP
RND
T MW40
浮点数三角函数指令的输入值为弧度,角度值乘以(/180,可转换为弧度值。
【例3-7】压力变送器的量程为0~10MPa,输出信号为4~20mA,S7-300的模拟量输入模块的量程为4~20mA,转换后的数字量为0~27 648,设转换后的数字为N,试求以kPa为单位的压力值。
解:0~10MPa(0~10 000kPa)对应于转换后的数字0~27 648,转换公式为
P =(10 000 ( N)/ 27 648 (kPa) (3-1)
值得注意的是在运算时一定要先乘后除,否则会损失原始数据的精度。假设A/D转换后的数据N在MD6中,以kPa为单位的运算结果在MW10中。图3-58是实现式(3-1)中的运算的梯形图程序。
图3-58 算术运算指令
语句表中“*I”指令的运算结果为32位整数,梯形图中MUL_I指令的运算结果为16位整数。A/D转换后的最大数字为27 648,所以要使用MUL_DI。双字除法指令DIV_DI的运算结果为双字,运算结果不会超过16位正整数的最大值(32 767)。
3.6.3 移位与循环移位指令
表3-20 移位指令(对累加器1中的数操作,结果在累加器1中)
名称 语句表 梯形图 描述 有符号整数右移
有符号双整数右移
16位字左移
16位字右移
16位双字左移
16位双字右移 SSI
SSD
SLW
SRW
SLD
SRD SHR_
文档评论(0)