永发信息网

西门子PLC200的指令问题

答案:3  悬赏:0  手机版
解决时间 2021-11-17 16:37
  • 提问者网友:情歌越听越心酸
  • 2021-11-17 02:52
西门子PLC200的指令问题
最佳答案
  • 五星知识达人网友:笑迎怀羞
  • 2021-11-17 03:33
要搞清指令的含义,第一个I_DI,是将整数型(16位)数据转换为双整型(32位)数据,顾名思义输入的是16位的整数,输出是32位的整数,第二个DI_R是将双整型(32 位)数据转换成实数型(32位)数据,顾名思义输入的是32位整型数据,输出是32位实数也就是浮点数。由于西门子200PLC没有直接将整数 (16位)转换成实数的指令,所以一般要用两条指令实现整数变实数!你所说的变回来时牵涉到模拟量模块时,由于模拟量模数转换的是16位整型数据,而PID运算工程标量是-32000~32000或0 ~32000的范围,运算时的数据都是小于1的实数,所以需要将模数转换的16位数据转换成实数,运算完成后又需要将实数转换成16位的整数通过数模转换输出。
全部回答
  • 1楼网友:想偏头吻你
  • 2021-11-17 04:41
这里的IV_INT 和OV_R应该之前有定义。因为他要把I型的转换为R型的,但是不能直接转,所以分两步走,先转成DI再转成R。
  • 2楼网友:十年萤火照君眠
  • 2021-11-17 04:00
#IV_INT和#OV_R是两个定义好的变量,也就是一个整型变量和一个实数变量,这两个是不同的数据类型,至于为什么要变来变去的呢,这是模拟量数据处理的过程,比如通过电位调节器给定PLC速度信号,PLC再控制变频器的速度,电位调节器通过电信号转换成模拟量被程序读,程序读到的是一个整型数,我们要把这个整形数作为一个速度信号输送到变频器,那么这个模拟量要转化成输出的的电信号,这个模拟量必须是个实数(这样才会有带小数点的转速),所以整形数先要转换成双整型数(整型占一个字,双整占两个字,注意是不同的数据类型),然后双整形数才能转化成实数(整形和实数都占用两个字),不能把整形直接转化成实数,没有这个指令。感兴趣可以来这个技术群讨论52093396
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯