您现在所在的是:

西门子SIEMENS

回帖:9个,阅读:1104 [上一页] [1] [下一页]
2294
byf394127375
文章数:416
年度积分:99
历史总积分:2294
注册时间:2010/12/14
发站内信
发表于:2020/10/29 17:34:52
#0楼
S7-300中  DB2数据块中建立的 名称“A的数据类型是DINT”,但是为什么程序中浮点数加法运算时候,他的浮点数加法引脚是浮点数类型,为什么DB2.DBD2是DINT类型,还可以填进去,还可以传送浮点数??????

为什么呢?按我想的数据类型不匹配就会报错啊?

大神么解释下谢谢了
附件 DB2.jpg

附件 DB2-2.jpg
[此贴子已经被作者于2020/10/29 17:36:07编辑过]
18808
pqsh 版主
文章数:7377
年度积分:638
历史总积分:18808
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2020/10/29 19:50:34
#1楼
它认为你双整当浮点用.
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
2294
byf394127375
文章数:416
年度积分:99
历史总积分:2294
注册时间:2010/12/14
发站内信
发表于:2020/10/29 21:01:14
#2楼
以下是引用pqsh2020/10/29 19:50:34的发言:
它认为你双整当浮点用.
双整数问题与浮点数数据类型都不一样呢,双整数写不了浮点数!
s7-200里数据类型不同就是报错,
此帖发自手机工控论坛
50
yinguiyao
文章数:156
年度积分:50
历史总积分:50
注册时间:2019/1/31
发站内信
发表于:2020/10/29 22:56:07
#3楼
输入接口给的是地址,双字地址
2294
byf394127375
文章数:416
年度积分:99
历史总积分:2294
注册时间:2010/12/14
发站内信
发表于:2020/10/30 8:30:44
#4楼
以下是引用yinguiyao2020/10/29 22:56:07的发言:
输入接口给的是地址,双字地址
虽然是双字存储,但是我DB1.DBD2已经定义为双整数类型了,而ADD-R加法是需要浮点数类型,即便去做加法现在是双整数不是浮点数,为什么不报错呢?
哪怕是DB1.DBD2转换为浮点数再计算也可以理解,因为数据类型一致了,但是问题没有转换现在
[此贴子已经被作者于2020/10/30 8:32:11编辑过]
此帖发自手机工控论坛
18808
pqsh 版主
文章数:7377
年度积分:638
历史总积分:18808
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2020/10/30 9:17:04
#5楼
以下是引用byf3941273752020/10/29 21:01:14的发言:
以下是引用pqsh2020/10/29 19:50:34的发言:
它认为你双整当浮点用.
双整数问题与浮点数数据类型都不一样呢,双整数写不了浮点数!
s7-200里数据类型不同就是报错,

编程里有一种叫强类型检验.看似高大上,但是少了灵活性.对比的是C和后现代编程语言.
提2个问题,你当怎么解决:
1.不是你说的db.dbd, md没类型定义, 既作为dword,又是dint,还可以是real(float). 当然有的地方区分了, dword写成mdw, dint写成mdi, 浮点写成mf.
2.当我把一个dword组装成一个浮点, 记住组装和转换是不一样的, 那就得增加一条move(dword,real)的指令, 要不然实现不了.
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
20250
bnnyygy
文章数:5793
年度积分:916
历史总积分:20250
注册时间:2012/3/15
发站内信
2018论坛分享达人
发表于:2020/10/31 10:48:57
#6楼
最近玩欧姆龙NJ,全局变量定义一个变量D_0,WORD,如果我想用其中一个位还不行,在CJ CP编程是随意的,感觉太严格好麻烦的.

只有做个联合体,表情


还是比较怀念CP CJ 编程,绝对地址编程,bit word dword随意组合用
2594
zxw978
文章数:168
年度积分:59
历史总积分:2594
注册时间:2005/6/4
发站内信
发表于:2020/10/31 20:05:12
#7楼
数据类型的隐形转换吧。梯形图的PLC程序指令很多支持变量数据类型的自动隐形转换功能。这大概与PLC操作系统有关。
S7-300/400、1200、1500好像都支持。
2021
381250356
文章数:233
年度积分:50
历史总积分:2021
注册时间:2011/6/21
发站内信
发表于:2020/11/2 18:28:46
#8楼
这是地址编程的方式,DB2.DBD2当成绝对地址在使用,只要符合它的长度类型,它都可以使用的。
如果你使用符号编程"aa".A,我想它不会让你编译通过或者直接显示红色吧。
852
拍案不再惊奇
文章数:7
年度积分:50
历史总积分:852
注册时间:2012/12/11
发站内信
发表于:2020/11/3 16:24:19
#9楼
建议按照要求的数据类型。好像又有碰到过这种情况:有时候更改了东西或者什么操作,再保存,就会变成“红色”框了。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

93.6006