加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线15915421161

SIEMENS西门子河南省新乡市(授权)伺服电机一级代理商——西门子华中总代理

更新时间
2024-11-26 07:00:00
价格
请来电询价
西门子总代理
PLC
西门子一级代
驱动
西门子代理商
伺服电机
联系电话
15903418770
联系手机
15915421161
联系人
张经理
立即询价

详细介绍

在在这种情况下,已定义数据类型的常数决定了这个加法的执行方式。数值 50000 首先被转换成 Int 数据类型,这将产生一个负的十进制数值 ("-15536")。然后运算结果 ("-15535") 被转化成 DInt 数据类型,再被分配给变量  "dint_var"。

  • dint_var := int#1 + 50000;

  • 使用菜单命令 "Software (rebuild all blocks)" 编译之后,这个加法结果会得到信息 “常数值超出允许范围”。

    解决
    在指令中改变常数的数据类型,要么都是未定义数据类型,要么都是定义数据类型。在未定义 数据类型的条件下,这些常数会被定义成当前 CPU Zui常用的数据类型 (例如 S7-1500 中常用"LInt" ) 。随后执行加法,如果必要就转换为 DInt 类型。如果都定义了数据类型,Zui常用的数据格式决定了运算结果。所以在这个例子中,Int#1 首先被转换成 DInt#1,然后按照 DInt 进行运算。 



    上述运算结果也可以使用一个整数变量和一个未定义数据类型的常数。数值 50000 转换成一个整数 (结果是 -15535),以 "int_var" 格式相加再转化为 "dint_var"。




    相关产品

    联系方式

    • 电  话:15903418770
    • 联系人:张经理
    • 手  机:15915421161
    • 微  信:15915421161