发表于:2013/2/7 9:01:13
#0楼
有网友说:“WORD是数据类型,但不是数值类型,而是16位长度的位串。和byte、time、date、tod、dt以及string一样,可以没有数值的内涵的,所以取值范围也用0-16#ffff表示,而不是 -32768~32767”。
“前段时间用LAD写OB86时,需要做判断,很周折。但一想,进入事件、离开事件、地址代号只是个代码而已,不是数值,无法做数值比较,也就释然了”。
下面是我的观点:
在SFC和SFB中,数据类型WORD常用于连接的编号、模块地址和站地址等。这些东西显然不能理解为位串,它们都有普通的“数值的内涵”。
我们对数值不能简单地理解为用数据类型INT、DINT运算得到的数值。TIME、DATA(日期)、TOD(实时时间)、DT(日期时间)都是用于特殊场合的数,怎么会没有“数值的内涵”呢?二进制的一位(bit)当然也有它的数据(0或1),将WORD视为“位串”,它是一个多位二进制数,也有它的数值。
“进入事件、离开事件、地址代号只是个代码而已,不是数值,无法做数值比较”,数据类型WORD、DWORD不能用于比较指令,并不是因为它不是数值。将它们传送到没有定义数据类型的地址或累加器中,就可以使用比较指令。
综上所述,数据类型WORD是用于数据的,是数据就有数值,如果连这个都否认,就有点“白马不是马”了。
[/URL] [/URL]
“前段时间用LAD写OB86时,需要做判断,很周折。但一想,进入事件、离开事件、地址代号只是个代码而已,不是数值,无法做数值比较,也就释然了”。
下面是我的观点:
在SFC和SFB中,数据类型WORD常用于连接的编号、模块地址和站地址等。这些东西显然不能理解为位串,它们都有普通的“数值的内涵”。
我们对数值不能简单地理解为用数据类型INT、DINT运算得到的数值。TIME、DATA(日期)、TOD(实时时间)、DT(日期时间)都是用于特殊场合的数,怎么会没有“数值的内涵”呢?二进制的一位(bit)当然也有它的数据(0或1),将WORD视为“位串”,它是一个多位二进制数,也有它的数值。
“进入事件、离开事件、地址代号只是个代码而已,不是数值,无法做数值比较”,数据类型WORD、DWORD不能用于比较指令,并不是因为它不是数值。将它们传送到没有定义数据类型的地址或累加器中,就可以使用比较指令。
综上所述,数据类型WORD是用于数据的,是数据就有数值,如果连这个都否认,就有点“白马不是马”了。
[/URL] [/URL]
我是廖常初,是一个高校的老师,曾在企业从事机械、电气技术工作,长期从事工业控制和PLC应用的教学、科研和工程应用工作。博客中的日志除注明外均为原创。愿意在此与大家探讨工控的问题!
廖常初工控博客地址:http://blog.gkong.com/blog.asp?name=liaochangchu
我曾写过几本小书: 《PLC编程及应用》第3版(S7-200)、《S7-300/400 PLC应用技术》第3版、《FX系列PLC编程及应用》第2版、《S7-200 PLC编程及应用》、《PLC基础及应用》第2版(FX系列大专教材)、《西门子人机界面(触摸屏)组态与应用技术》、《西门子工业通信网络组态编程与故障诊断》、《S7-1200 PLC编程及应用》第2版、《跟我动手学S7-300/400 PLC》、《跟我动手学FX系列PLC》
机械工业出版社廖常初图书专题:http://www.gkong.com/zt/liaochangchu/
廖常初工控博客地址:http://blog.gkong.com/blog.asp?name=liaochangchu
我曾写过几本小书: 《PLC编程及应用》第3版(S7-200)、《S7-300/400 PLC应用技术》第3版、《FX系列PLC编程及应用》第2版、《S7-200 PLC编程及应用》、《PLC基础及应用》第2版(FX系列大专教材)、《西门子人机界面(触摸屏)组态与应用技术》、《西门子工业通信网络组态编程与故障诊断》、《S7-1200 PLC编程及应用》第2版、《跟我动手学S7-300/400 PLC》、《跟我动手学FX系列PLC》
机械工业出版社廖常初图书专题:http://www.gkong.com/zt/liaochangchu/