回复:字的比较

荣海

  • 帖子

    371
  • 精华

    0
  • 被关注

    10

论坛等级:侠士

注册时间:2009-04-02

普通 普通 如何晋级?

发布于 2010-08-01 16:40:10

1楼

首先我们区分两个概念,数据类型,数据块的存储结构。
基本数据类型包括:(1)位类数据类型(BOOL、BYTE、WORD、DWORD);(2)字符数据类型(CHAR);(3)数字类数据类型(INT、DINT、REAL);(4)时间类数据类型(TIME、DATE、TIME_OF_DAY、S5TIME)。
DB数据块的存储结构:32 BOOL(1bit)=》4 BYTE(8bits)=》2 WORD(16bits)=》1 DWORD(32bits)。
位类数据类型只能用做布尔表达式,不能用作比较、数学运算等。数字类数据类型用于处理数值(计算算术表达式)。
好了,回答您的问题。
(1)DB10.DBW0、DB10.DBW2 是字,属于位类数据类型,不能用于比较大小。所以如果要进行比较,[方案一]转换为数字类数据型再进行比较。如使用WORD_TO_INT数据类型转换函数,将两个位类数据转换为INT数字类数据类型,再进行比较。[方案二]使用变量进行比较,即在DB10中定义变量M和N,DB10.DBW0(DB10.M,INT),DB10.DBW2(DB10.N,INT),这样的话,就可以比较DB10.M和DB10.N的大小了。
(2)DB10.DBW0 本身是字类型,属于位类数据类型,DB10.DBW0中的数据可以定义为INT类型,具体使用方法与回答(1)类似。
(3)如果你要输入负数,最好在DB10中定义为数字类数据类型,即INT类型。
(4)具体使用方法还需要您慢慢体会,记得区分上述两个概念,您就知道该怎么使用DB块中定义的数据了。
物竞天择,适者生存!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54622条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。