技术论坛

 回复:编程过程中的数据类型转换问题

返回主题列表
作者 主题
小明哥
侠客

经验值:872
发帖数:429
精华帖:1
楼主    2010-06-09 11:40:41
主题:编程过程中的数据类型转换问题
如下指令:
LD Always_On
MOVR 100.0, 实型数
AENO
MOVD 实型数, 双整型数
其中,实型数、双整型数为符号表中定义的符号,字长均为DW。
编译后无问题。根据帮助内容,MOVR指令操作数数据类型(IN或OUT)要求为R型,MOVD指令操作数数据类型(IN或OUT)要求为双字、双整型。编程模式为SIMATIC。
请问指令将怎样处理该符号呢?按照怎样的数据类型来执行指令呢?
小明哥
侠客

经验值:872
发帖数:429
精华帖:1
4楼    2010-06-10 10:27:08
精华帖  主题:回复:编程过程中的数据类型转换问题
嗯,昨天我查了step7 micro/win的帮助,有一篇关于数据类型的帮助文件。大概了解了一下,上面说在SIMATIC编程模式下,符号编辑器是不进行数据类型检查,在该模式中,所有相同大小的数据类型被自动指定给符号。
我考虑了一下,认为变量的数据类型取决于使用它的指令,如果一个指令支持字和整型两种数据类型,在指令执行过程中,输入数值时,如果带符号,则step7 micro/win认为它是一个整型数,如果不带符号则认为为字型(无符号整数),他们的取值范围应当符合相应数据类型的范围。
如果是IEC编程模式,则操作数必须只有一种确定了的数据类型,可以采用显式声明或者隐式声明以确保变量有唯一的数据类型
SIMATIC仅执行简单的数据类型检查,所以在编程过程中应当确保不会发生错误
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。