文章目录

  • 第二十四章 Caché 变量大全 $ZA 变量
  • 大纲
  • 描述
  • 注意
    • `$ZA`,带终端I / O
    • 带磁带I / O的$ZA

第二十四章 Caché 变量大全 $ZA 变量

包含当前设备上最后一次读取的状态。

大纲

$ZA

描述

$ZA包含当前设备上最后一次读取的状态。

不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。

注意

$ZA,带终端I / O

$ZA被实现为一系列位标志,每个位表示一条特定的信息。下表显示了可能的值、它们的含义,以及如何使用模(#)和整数除(\)运算符测试它们:

测试 含义
0 $ZA#2 <CTRL-C>已到达,无论是否启用中断。
1 $ZA\2#2 读取超时。
2 $ZA\4#2 I/O错误。
8 $ZA\256#2 Caché检测到无效的转义序列。
9 $ZA\512#2 硬件检测到奇偶校验或成帧错误。
11 $ZA\2048#2 进程已与其主设备断开连接。
12 $ZA\4096#2 对于COM端口:CTS(清除发送)。从调制解调器发送到其计算机的信号,表示传输可以进行。对于TCP设备:设备在服务器模式下运行。
13 $ZA\8192#2 对于COM端口:DSR(数据集就绪)。从调制解调器发送到其计算机的信号,表示调制解调器已准备好运行。对于TCP设备:设备当前处于与远程主机通话的已连接状态。
14 $ZA\16384#2 如果为真,则设置振铃。
15 $ZA\32768#2 载波检测设置为真。
16 $ZA\65536#2 CE_BREAK COM端口错误状态。
17 $ZA\131072#2 CE_FRAME COM端口错误状态。
18 $ZA\262144#2 CE_IOE COM端口错误状态。
19 $ZA\524288#2 CE_OVERRUN COM端口错误状态。
20 $ZA\1048576#2 CE_RXPARITY COM端口错误状态。
21 $ZA\2097152#2 CE_TXFULL COM端口错误状态。
22 $ZA\4194304#2 TXHOLD通讯端口错误状态。在ClearCommError()返回的错误掩码中,如果下列任一字段为真,则设置为:fCtsHold、fDsrHold、fRlsdHold、fXoffHold、fXoffSent。
24 & 25 |$ZA\16777216#4|Caché请求DTR(数据终端就绪)设置:0 = DTR关闭。 1 = DTR =开。 2 = DTR握手。设置为(1)时,表示已准备好发送和接收数据。

尽管$ZA显示的许多条件都是错误,但它们不会通过捕获$ZTRAP来中断程序的流程。 (具有中断功能的<CTRL-C>会陷阱到$ZTRAP。)与这些错误有关的程序在每次读取后必须检查$ZA

COM端口使用位12至15、24和25报告调制解调器控制引脚的状态。无论端口的Caché调制解调器控制检查是打开还是关闭,都可以执行此操作。用户可以通过设置OPENUSE命令portstate参数(具体为字节8)来启用或禁用COM端口的$ZA错误报告。如果启用了错误报告,则端口错误状态将在位16到22中报告。

可以使用%SYSTEM.Process类的DisconnectErr()方法来检测当前进程的调制解调器断开连接。可以通过设置Config.Miscellaneous类的DisconnectErr属性来建立系统范围的默认行为。

带磁带I / O的$ZA

对于磁带I / O,$ZA中的位字段指示错误和特殊情况。在每个引用磁带设备的命令之后,Caché更新$ZA

下表显示了磁带I/O的$ZA位的含义。请注意Trap列。字母Y表示<MAGTAPE>错误。如果设置了$ZTRAP变量,则Caché会发出相关的$ZTRAP错误代码。

陷阱 含义注意
0 1 Y 逻辑错误(读写混合),用于在读取和写入之间切换,或者关闭然后打开设备,或者发出前进空格、退格键或倒带命令。
2 4 N 写保护始终反映OPENUSE只读参数的状态。此位不反映磁带的物理写保护状态(写环或写锁定),因为许多版本的UNIX®在尝试实际写入磁带之前不会通知磁带写保护。如果尝试打开不带只读参数的写保护9磁道磁带,则Caché会设置此位并以只读方式打开磁带。未出现错误。
3 8 Y 错误摘要错误摘要是导致Caché错误的所有条件(在Trap下标记为Y的所有条件)的逻辑或。
5 32 N 磁带的开始[BOT]在UNIX®系统上,该位在倒带时设置,并在打开磁带时清除。
6 64 N On Line
7 128 Y 控制器或驱动器错误。
10 1024 N 磁带结尾[EOT]在大多数UNIX®平台上不支持。
14 16384 Y Tape MarkCaché在遇到Read,Read Block,Forward Space或Backspace上的磁带标记时将Tape Mark位置1。这会将“错误摘要”位置1,并在“读取”,“读取标签”和“读取块”上将陷阱陷阱为$ZTRAP
15 32768 Y 磁带未准备好

一些位指示错误条件,而另一些位指示不一定产生错误的条件。为了监视这些非错误情况,程序必须在每次磁带操作后测试$ZA的相应位。例如,如果程序可能写在磁带末尾之外,则它必须检查位10(磁带末尾)。

要测试某个位,请将$ZA除以表中该位列出的值,然后执行模2运算。例如,以下命令检查是否设置了位14(磁带标记):

USE 47 IF $ZA\16384#2 {DO Endfile}

其中16384等于2等于14的幂,而#2表示模2运算。由于任何等于0的幂等于1,因此无需除数即可检查位0(逻辑错误)。例如:

USE 47 GOTO Logerr:$ZA#2

第二十四章 Caché 变量大全 $ZA 变量相关推荐

  1. 第二十五章 Caché 变量大全 $ZB 变量

    文章目录 第二十五章 Caché 变量大全 $ZB 变量 大纲 描述 文件结束行为 从终端或文件读取 命令行上的$ZB `$ZB`,带磁带I/O 第二十五章 Caché 变量大全 $ZB 变量 包含当 ...

  2. 第八十四章 Caché 函数大全 $ZDATEH 函数

    文章目录 第八十四章 Caché 函数大全 $ZDATEH 函数 大纲 参数 描述 简单的$ZDATEH格式 可自定义的$ZDATEH格式 参数 date dformat dformat Defaul ...

  3. 第二十四章 并发编程

    第二十四章 并发编程 爱丽丝:"但是我不想进入疯狂的人群中" 猫咪:"oh,你无能为力,我们都疯了,我疯了,你也疯了" 爱丽丝:"你怎么知道我疯了&q ...

  4. 第六十四章 Caché 函数大全 $STACK 函数

    文章目录 第六十四章 Caché 函数大全 $STACK 函数 大纲 参数 描述 `$ECODE` 与 `$STACK` `$STACK`的单参数形式 `$STACK`的两个参数形式 示例 注意 跨命 ...

  5. 微信小程序(第二十四章)- 数据交互前置

    微信小程序(第二十四章)- 数据交互前置 讲解微信小程序前置的原因 参考文档 理解微信小程序 小程序简介 作用 提问 针对提问--uni-app介绍 小程序和普通网页开发的区别 小程序代码构成 文件个 ...

  6. 【正点原子MP157连载】第二十四章 设备树下的LED驱动实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7

    1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...

  7. matlab的meadian函数_24 第二十四章 时间序列模型_W

    <24 第二十四章 时间序列模型_W>由会员分享,可在线阅读,更多相关<24 第二十四章 时间序列模型_W(31页珍藏版)>请在人人文库网上搜索. 1.第二十四章时间序列模型 ...

  8. 鸟哥的Linux私房菜(基础篇)- 第二十四章、 X Window 配置介绍

    第二十四章. X Window 配置介绍 最近升级日期:2009/08/07 在 Linux 上头的图形介面我们称之为 X Window System,简称为 X 或 X11 罗!为何称之为系统呢?这 ...

  9. ​第二十四章:皮衣大卖

    第二十四章:皮衣大卖 店铺掌柜说:"准备原材料?我这边都有原材料啊!还准备什么?" "不不不,这原材料必须本人亲自去准备."李丽质说道. "为何?&q ...

最新文章

  1. 是北京晚报!不,是中国最大的讽刺!!!
  2. ANTS医学影像配准+Li‘s 核磁共振影像数据处理
  3. Node.js API参考文档(目录)
  4. PHP 通过随机数获得ASCII 值返回字符。
  5. echarts setoption方法_在Vue和React中使用ECharts的多种方法
  6. 2021-10-15 红黑树 概念和平衡操作理解以及与AVL对比分析 恋上数据结构笔记
  7. iOS - 沙盒文件操作指南
  8. 网络套接字(Network socket)
  9. python 分离整数与小数_Python编程:离不开算术运算符的顺序结构
  10. android 如何修改百度导航诱导界面,Android 百度导航SDK
  11. 潘石屹接连带货 Python,要来抢我们的饭碗?
  12. django1.9的static文件配置
  13. Map对象,Set对象使用(1)
  14. cad插入块_CAD图块全攻略第三期——高级技巧动态块,快来提升逼格!
  15. MAC下面安装使用Nginx_飘云羽逸_新浪博客
  16. python panda是什么_如何最简单、通俗地理解Python的pandas库?
  17. python口算训练出题
  18. 学习fortran77基础语法
  19. 关于Service抛出异常事务不回滚的原因和解决方法
  20. 单代号网络图计算例题_最新(免锁版)网络图横道图绘制软件,内附安装教程,制图做更快...

热门文章

  1. 软件产品与项目开发的区别
  2. 一文读懂链上身份(DID):赛道及项目一览
  3. uni-app 页面组件生命周期
  4. Maven 中文文档
  5. 【算力网络】算力网络的发展趋势
  6. 节日贺卡python制作
  7. 一起摇摆html5游戏,和 transformjs 一起摇摆
  8. 又一个 狸猫赚用
  9. 基于matlab的禁止无功补偿,基于MATLAB的TSC-TCR型静止无功补偿器仿真研究.zip
  10. 如何满足实验室认可对不确定度评定的相关要求