当前位置:机电之家首页 >> PLC技术>> plc资料下载 >> PLC编程软件 >> 西门子s7-200plc编程软件里面的整数相除功能
西门子s7-200plc编程软件里面的整数相除功能

话说一个细心的客户询问我“为什么西门子s7-200编程软件里面除了有div_i指令,还要有div指令,它们不都是实现整数相除的功能吗?”。说的有道理,差异在哪儿呢?先来看看两个指令的功能说明:

1. div指令是将两个16位的整数相除,得出一个32位的结果,其中包括一个16位的余数(高位)和一个16位的商(低位)。

2. div_i指令是将两个16位的整数相除,产生一个16位的商,不保留余数。

哦,看来区别是在结果上面,一起来做个实验看看吧:

其中,vw0是被除数,vw2是除数,vd4的低十六位(即vw6 = 16#000d)是整数相除得到的商(vw6十进制值是13);高十六位(即vw4 = 16#00dc)是整数相除得到的余数(vw4十进制值是220)。

其中,vw0是被除数,vw2是除数,vw10是整数相除得到的商,余数没有保留。

由此,这两个功能块的区别就显而易见了,然后本以为问题到此结束,刚要与客户说再见,但客户接着又抛出了一个问题“s7-300中哪个指令块可以实现s7-200中div指令块的功能啊?”,这个,这个。。。。我得查查。然后,搜遍step7中整数运算的指令块,没有见到与div指令完全相同功能的指令块,但却发现了mod_di功能块是可以单独取余数的。那么,接着实验:

其中,md0为被除数,md4为除数,md8为双整数相除得到的余数 ,不保留商。

其中,md0为被除数,md4为除数,md12为双整数相除得到的商,不保留余数。

看来客户想要实现一个指令块既得商,又得余数的功能不得不分步实施啦。虽然说在step7的编程中不存在div同样功能的指令块,但它的实现更为灵活——将余数与商分开,根据客户的需要单独取之。另外,在s7-200中实现整数取余有一定的局限性,就是div指令块只能实现16位的整数相除取余,而step 7中的mod_di则可以使用32位的双整数直接取余。

通过实验是不是更清楚明了呢?相信您已经牢牢记住了,那么我要给客户回电话去啦。。。

作者:未知 点击:2395次 [打印] [关闭] [返回顶部]
本文标签:西门子s7-200plc编程软件里面的整数相除功能
* 由于无法获得联系方式等原因,本网使用的文字及图片的作品报酬未能及时支付,在此深表歉意,请《西门子s7-200plc编程软件里面的整数相除功能》相关权利人与机电之家网取得联系。
电子样本

低噪音变频发电机组
:张利敏
:18996474224
:重庆贝隆机械设备有限公司
个人求购

彭先生 【求购】  石笼网  2024-8-22
陈丽 【求购】  防爆电磁阀  2024-8-22
杨经理 【求购】  勘察表  2024-8-22
陆生 【求购】  蒸汽发生器  2024-8-21
 【求购】  蜂鸣器  2024-8-21
 【求购】  西门子电源...  2024-8-21
刘经理 【求购】  切割机配件  2024-8-21
 【求购】  热源泵  2024-8-21
VIP公司推荐