自学西门子200PLC加乘除指令 看不懂

俺以前是水电工,现在换工作了并自学PLC到了运算指令,好多几乎都想不懂,周围又没有懂的人,好烦!问题挺多的,谢谢大家了!
1.

这里为什么是VW0+VW2=VW4?字+字等于双字,VW0+VW2=VD0为什么不行?
2.

MUL表示的是16位IN1乘以16位IN2,结果为32位的OUT,VW0=10,VW2=20,I0.0接通VD4=200,如何得到VD4这个地址的,为什么不是VD0=200?

3.

MUL_I表示16位IN1乘以16位IN2,结果放到16位OUT中,VW0=10,VW2=20,I0.0接通VW10=200,同上,也是搞不懂VW10是怎么来的?可按我的理解是VW4=200?

4.

MUL_DI表示32位IN1乘以32位IN2,结果放到32位OUT,VD4=200,I0.0接通,VD20=2000,为什么不是VD8=2000?

5.

DIV_I表示16位IN1乘以16位IN2,结果放到16位OUT,VW0=5,VW2=2,I0.0接通,VW8=2,为什么5除2,商2放低位VW6,余数1放高位VW4不是这样的呢?怎么得VW8的?

第1个回答  2015-05-18
西门子对数学运算规定是比较死的,比如整数就只与整数运行,拿整数与实数直接运算就不行。整数还分INT和DINT。这些是比较基本的东西。
你的问题主要是对西门子的地址的理解,运算得到的结果不是你理解的只能是VW0与VW2运算一定要放到VW4,VW2与VW4运行要放要VW6。只要这个地址的类型与拿来计算的类型一致,然后又在PLC的地址范围内就可以了。比如你VW0+VW0可以放到VW0、VW4、VW100放到VW1000都可以。可以拿VW0和数字10相加,放到VW0表示VW0给它自己加上10得到新的VW0;放到VW100,表示VW100是VW0加上10的结果。本回答被提问者和网友采纳
第2个回答  2015-05-18
水电工的工资是按天算!应该不低于150一天吧!比一般水平搞PLC的工厂电工工资高多了嘛!
相似回答