...直接传递给整数么?图里的MD112为DINT,PQW256位INT?这样没问题么_百 ...
发布网友
发布时间:2024-04-04 22:35
我来回答
共1个回答
热心网友
时间:2024-07-21 03:26
1、DINT直接传给INT的话,会存在风险,原因在于DINT通过MOVE指令传给INT时,实际上是抛弃高字内容的,这种情况下,如果原数据的第15位上为1的话,传递给INT后,可能导致INT的值变负数,所以,程序员需要确保DINT的数值在INT能表达的范围之内。
2、同样,你的贴图中需要确保DINT中的数值在INT能表示的范围之内,那么不会有啥问题,否则会产生数据混乱的问题 。
一般,对于DINT转INT的转换,需要做以下步骤来确保转换结果:
1、首先判断DINT的数值在-36768~36767之间,如果在,那么直接传递给INT就可以了。
2、如果不在数据范围内,我们将直接输出最大值或者最小值 。