P#DB11.DBX240.0什么数据类型,要怎样使用
刘玉蓉
发布于2014-10-28 17:42
13
0
标签:
我在调用CFS1,读取系统时钟的时候,在块的-CDT处,赋予了这个地址,在DB块中也声明了DBX240.0的数据类型是DATE_AND_TIME,但是,我复制别的程序中的这个块就没问题,但自己写就显示红色,有错误
问题补充:
那为什么我复制过来的就没有问题,而我完全按照我所复制的那个原来的正确的程序写的就报错呢?我确定数据块的声明和符号表的声明都是对的。还有,此处为什么要用指针呢?我直接用DB11.DBX240.0写在地指出也报错?
佳答案
首先DATE_AND_TIME是复合数据类型,必须要预先定义,其变量只能在全局数据块中声明,可以作为参数或逻辑块的局部变量。检查你定义的数据块DB11是否为共享数据块类型(Shared Block)。如果自己在调用CFS1时参数显示红色,表示没有给形式参数赋予实参,而系统块没有其背景数据块,必须指定实际值,可以是共享数据块中某个地址,为避免错误,在使用数据块之前,必须建立数据块,并在块中定义变量(包括变量符号名、数据类型以及初始值等)。数据块中变量的顺序及类型决定了数据块的结构,变量的数量决定了数据块的大小。而且数据块建立后,还必须同程序块一起下载到CPU中,才能被程序块访问。
指针(POINTER)是指向一个变量的地址,即用地址作为实参,如P#DB11.DBX240.0表示指向数据块DB11的数据块字节240中位号为0的位地址指针,用指针数据类型可以处理批量处理模拟量、数据复制数据寻址比较简单