关于S7-300 word和int的区别 点击:5593 | 回复:7



ruandejin

    
  • 精华:0帖
  • 求助:12帖
  • 帖子:12帖 | 44回
  • 年度积分:0
  • 历史总积分:407
  • 注册:2011年4月25日
发表于:2013-02-28 13:05:43
楼主
大家好:
 
 最近有一个问题一直困扰着我,我有一个小程序;其中有SHL_W和整数比较指令,两个指令均要需要字MW10;
 现在的问题是如果我在符号表中对MW10未做任何命名和注释,那么程序是ok的;
 可是一旦我在符号表中对MW10进行命名和注释,那么就会出现错误 错误的信息是  type conflict with
 entry.
 比如 如果MW10在符号表中定义的数据类型为word 那么就会在比较指令中出现错误
 还有 谁能说说word和int之间的区别和联系 
 请问一下 这个问题该怎么解决?



狼牙精神

  • 精华:6帖
  • 求助:5帖
  • 帖子:468帖 | 5379回
  • 年度积分:119
  • 历史总积分:62906
  • 注册:2020年3月27日
发表于:2013-02-28 13:12:59
1楼

word是无符号的,取值范围0-65535
int是有符号的,最高位为1表示负数,0表示正数 取值范围-32768-32767

一般情况下word用于逻辑运算,int用于数学运算,

梯形图或SCL语言编程时区分较严格,而STL中不严格区分int和word格式,

可以用STL编程。

秦君_1

  • 精华:8帖
  • 求助:22帖
  • 帖子:148帖 | 4867回
  • 年度积分:1651
  • 历史总积分:39896
  • 注册:2005年6月28日
发表于:2013-02-28 15:33:20
2楼
整数比较指令应该是有符号的,数据类型应该是INT而不是WORD.

ruandejin

  • 精华:0帖
  • 求助:12帖
  • 帖子:12帖 | 44回
  • 年度积分:0
  • 历史总积分:407
  • 注册:2011年4月25日
发表于:2013-03-01 11:10:46
3楼

回复内容:
对:狼牙精神关于word是无符号的,取值范围0-65535int是有符号的,最高位为1表示负数,0表示正数 取值范围-32768-32767一般情况下word用于逻辑运算,int用于数学运算,梯形图或SCL语言编程时区分较严格,而STL中不严格区分int和word格式,可以用STL编程。内容的回复:



谢谢你的回复! 现在我想问的是 在S7-300中 利用梯形图编程  在OB1中指令 SHL_W和CMP==D均要用到MW10

那么在符号表中如何定义MW10呢  如果将MW10的数据格式定义为word或是int 在保存和编译程序中均会提示类型冲突

你有什么比较好的解决办法吗?谢

银光人生—华

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 13597回
  • 年度积分:0
  • 历史总积分:52877
  • 注册:2007年11月23日
发表于:2013-03-01 11:30:50
4楼

word是无符号的,取值范围0-65535
int是有符号的,最高位为1表示负数,0表示正数 取值范围-32768-32767

一般情况下word用于逻辑运算,int用于数学运算

狼牙精神

  • 精华:6帖
  • 求助:5帖
  • 帖子:468帖 | 5379回
  • 年度积分:119
  • 历史总积分:62906
  • 注册:2020年3月27日
发表于:2013-03-01 15:00:10
5楼
引用 ruandejin 的回复内容:回复内容:对:狼牙精神关于word是无符号的,取值范围0-65535int是有符号的,最高位为1表示负数,0表示正数 取值范围-32768-32767一般情况下word用于逻辑运算,int用于数学运算,梯形图或SCL语言编程时区分较严格,而STL中不严格区分int和word格式,可以用STL编程。内容的回复:谢谢你的回复! 现在我想问的是 在S7-300中 利用梯形图编程  在OB1中指令 SHL_W和CMP==D均要用到MW10那么在符号表中如何定义MW10呢  如果将MW10的数据格式定义为word或是int 在保存和编译程序中均会提示类型冲突你有什么比较好的解决办法吗?谢

好的办法就是这部分程序用STL编写。

dingxiang964

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 583回
  • 年度积分:4
  • 历史总积分:2500
  • 注册:2008年5月02日
发表于:2013-03-01 15:09:38
6楼

!!!!!!!!!!!!!!!!!

 

411462119

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 9回
  • 年度积分:0
  • 历史总积分:57
  • 注册:2014年8月24日
发表于:2018-06-02 14:05:14
7楼

CMP==D用于比较mw10?CMP==D是32位整数比较吧,MW10只有16位。CMP==I试没试?


热门招聘
相关主题

官方公众号

智造工程师