• 沒有找到結果。

CREAD

在文檔中 软 件 (頁 42-48)

2 参数部分

2.2 命令索引

2.2.11 CREAD

2.2.11.1 摘要信息

从通道中读取数据。

应用的例子: 在KRC1和外围数据(PC,智能传感器...) 数据交换(读语句)。

“CREAD”语句用于从打开的通道中读取数据。在这有两个区别::

主动读入

程序请求通过通道进行输入。通道驱动器提出输入请求并将接受到的数据作为 结果返回到CREAD语句 。

被动读入

预先确定的变量(INT$DATA_SER1orINT$DATA_SER2),未被请求的数据到达 后通过增加通道驱动器,每个通道都是这样的。当执行热启动或当打开/关闭通 道时变量初始化为0。在系统等待读入请求的反馈信号方面也是有差别的:绝对 的或有条件的。绝对的意思是系统等待直到通道给出请求的数据。在有条件的 情况下,系统检查数据是否有效。

2.2.11.2 语句

自变量 类型 解释

Handle INT

长沙工控帮教育科技有限公司

由“COPEN”转移变量。注意:变量“$CMD”将被拒绝

43 量的列举类型第一个元素。

“CMD_STAT”能有与“CREAD”有关的下列值:

CMD_OK 命令顺利的执行; Mode MODUS_T “MODUS_T”是列举类型,它有与下列“CREAD”有

关的值:

ABS 激活读入通道。函数等待到通道产生一个可用的 数据块或等待到“Timeout”失败。

COND 未被请求的通道读入。

SEQ 从以前被请求使用“ABS”或“COND”或作为 结果返回“CWRITE”的字节补偿读入完成了的数据块

长沙工控帮教育科技有限公司

44 Timeout REAL 参数“TIMOUT”可被用于指定时间,在等待数据块失败之后。

Timeout的值0.0允许无止境的等待。.

一个值大于60或是为负值,则数值是无效的。与系统有关的错误在等

“SER_1”和“SER_2”。

INT $DATA_SER1 或 INT $DATA_SER2,

在未被请求的数据到达后,这些数据通过通道驱动增加。当系统启动或通道打开或关闭 认信息“INVALIDHANDLE”被显示。

长沙工控帮教育科技有限公司

45 其它方式的规定或非初始化的变量导致一个被变量“STATUS”发现错误 。如果读“ABS”“COND”

成功,那么数据块的数据是先前被承认的,就像他们完全的读出。

文本是按照格式规定的程序段返回的。值决定被分配的适当的变量,系统检查值之否在任何区 域有效。“变量FOMAT”转换支持由“Kernighan/Ritchie”指定的格式规定(C语言1978),O,P,

N,U和【list】出外。

字符长度规范“H”和“L”不能使用。

只有9个格式参数可用于指定“CREAD”语句。如果几个变量是格式化可用到的,则必须在“#SEQ”

模式下读入。

系统不能区别大小写字符。在发生一个错误后读入失败(不符合格式或无效的值)。

转换字符“R”,当读入任何一个字节指定的字符长度次序 (与写入类似,例如“%2.5r”)或这所有 字节在结束信息之前,他也同样传入。

不像其它格式,单独字节的读入必须被“%1r”明确规定。.

没有用“%c格式”指定宽度,这样的格式是不合格的。字节能被分配到INT,REAL,CHAR,BOOL,

ENUM数据类型的变量或这种类型的一维数组。

假定整数数据类型出现在“little endian”格式中,而且是有正负之分的。

Real的数据类型在IEEE754标准格式中用32位表示。

Bit 31 符号, Bit 30—23 指数 Bit 22—0 尾数

长沙工控帮教育科技有限公司

46

hWDHir

(Signal) INT X X X X X X

INT array X X X X X

REAL X X X X

REAL array X X X

(Signal)

BOOL(1) X X X X X X

任何不等于0(zero)的值可以被TURN转换。

系统控制值是否被ENUM值允许。如果不是,读失败。ENUM开始为1。

如果没有足够的格式数据,(例如%2.5r,但只有7位),没有数据从格式读出,CREAD语句失败。被

47 下面列出了所有语句的应用:

--语句总是等待语句完全的执行完成和它返回程序。这是绝对CREAD语句读文本通道的一个显著特 征。

--不注意这些,这些程序会被中断程序打断。任何访问通道的努力都会被中断子程序阻断。.

语句的全部解释和通道指示命令信息都可以在“CHANNEL”中找到。观看2.2.5.部分。

程序完整的范例可以在“CHANNEL”章找到。

长沙工控帮教育科技有限公司

48

在文檔中 软 件 (頁 42-48)