寄存器实验室

目标:

寄存器按钮是Alicat设备的重要组成部分。在本实验室中,您应了解什么是寄存器,并熟悉利用RS-232串行终端读取/写入/使用寄存器的方法。

材料:

软件和文件:

实验室设备:

  • 带RS-232的MFC
  • USB-MD8-232

理论:

寄存器的核心是与特定位置的数据类型相对应的数值。可存储在寄存器中的数据包括显示选项、皮重设置和校准参数。使用Alicat串行终端,可确保寄存器易于读取和写入。《16 Plus编程指南》中提供了每个寄存器的详细说明。

本实验室中的串行通信通过RS-232完成。RS-232有三根通信数据电缆:发送、接收和接地电缆。数据传输按ASCII编码,并以波特率(每秒脉冲数)设置为一系列1和0。大多数Alicat设备的标准波特率为19200,包括本实验中的设备。尽管RS-232是单一的单元通信,但Alicat可通过编程解决这个问题。为做到这一点,我们从A-Z标记每台设备。在轮询模式下,该标识用于查询数据、读/写寄存器和更改设定点(用于控制器)。在流模式下,该标识将更改为@,所有数据快速流至计算机,而不必编写命令提出请求。即使处于流模式的设备正在发送连续数据,仍可向该设备发出请求并且其可理解请求。

有些寄存器(如寄存器19皮重设置)包括若干个比特位,这些比特位构成整个寄存器值。比特位就像一个切换开/关,以2为基数。1-128比特位是“低比特位”,256-32768比特位是“高比特位”。如将所有单个比特位相加,则任何寄存器的最大值都是65535。寄存器19有几个选项,可通过启用某些比特位“打开”和“关闭”。假设您读取了寄存器19,其值为8704。如需找出切换的比特位,则应减去小于等于当前值的最高比特位,直到获得零。

在本示例中,

8704-8192=512,bit 8192

512-512=0,bit 512

因此,根据《16 Plus编程指南》,该寄存器上的设置将在显示屏上显示体积皮重,并启用体积流量的远程皮重。

有些寄存器(如寄存器20)有7或192这样的“比特位”,它们实际上不是比特位,而是组成数值的几个比特位的组合。一个比特位并不等于一项功能,是比特位的特定组合实现了一项功能。这使寄存器值的解密不太直观,但仍可做到。关键在于知道只有低比特位才会进行这样的组合,提前了解设备配置也有助于了解正在运行的功能。

      如何使用串行地址转储:   

串行地址转储是一个工具,它将在.txt文件中记录设备上的所有当前寄存器值。更改寄存器时,建议运行此程序以防出错。以下步骤将引导您完成整个流程:

  1. 从网站下载串行地址转储
  2. 确定COM端口。在Windows计算机上,可从设备管理器中找到COM端口。查看端口,设备应连接到USB串行端口。如使用COM5,则输入5。
  3.  确定设备的波特率。前面板:菜单-高级设置-通信设置。您还需要设备标识,您可在相同屏幕上确定该标识。
  4. 按回车键,运行程序。txt文件应存储在计算机上程序所在的相同文件夹中。

如何使用串行终端/发送串行命令:

串行地址终端用于实际更改寄存器,向Alicat设备发送串行命令。按照以下步骤设置串行终端并发送一些基本命令。

  1. 从网站下载串行终端。
  2. 与先前一样,输入COM端口和波特率。假设COM端口是COM5,请输入COM5,而非单独一个数字5。
  3. 在终端中输入设备标识,然后按回车键。应出现数据字符串;从左到右分别是:单位标识、绝对压力、温度、体积流量、质量流量、设定点、气体。
  4. 现在输入[Unit ID]s1 <Enter>。将出现相同数据行,设定点更改为1 SLPM(或SCCM,如设备在SCCM中)
  5. 输入[Unit ID]L <Enter>。现在,气体旁边有一个状态代码,表示前面板已锁定。这也将出现在前面的显示屏上。输入[Unit ID]U撤消此操作。
  6. 输入[Unit ID]H <Enter>。这是一个覆盖命令,使阀门保持在当前位置(不管设定点如何)。输入[Unit ID]C <Enter>可取消此操作。尝试同时进行显示锁定和阀门固定!

如何读写寄存器:

虽然简单的串行命令很有用,但它们不能执行可从前面板执行的复杂功能,例如更改气体选择。在串行终端中也可更改许多从前面板无法更改的功能。我们使用寄存器从终端操作这些设备设置。假设设备的标识为“M”,如从前面板所见,我们希望使用寄存器将该标识更改为“S”。以下步骤将为您介绍如何通过读写寄存器执行该功能。注:您的设备可能具有标识“A”而非“M”。如有需要,在以下所有命令中将“M”替换为“A”。

  1. 根据《16 Plus编程指南》确定保存这些数据的寄存器,并找出该寄存器为寄存器17。根据《16 Plus编程指南》,如波特率为19200,则寄存器17的值是字符的ASCII值乘以256。
  2. 使用命令Mr17 < Enter >读取寄存器17。M为标识,r17指示终端读取寄存器17。我们确定值为19712。
  3. 现在重写寄存器。“S”的ASCII值为83,因此“S”的寄存器值为83*256=21284。如需更改该寄存器,则输入Mw17=21248。M为标识,w17=21248指示终端将寄存器17写入为21248。
  4. 输入“S”而非“M”以查看数据。请注意,命令终端实际上不区分大小写。上述命令终端如下图所示:

现在,您已对串行RS232通信和如何使用寄存器有了一定了解,请按照以下程序自行练习寄存器。

程序:

  1. 如尚未创建,请打开串行地址转储,创建当前寄存器内容的文本文件。关闭串行地址转储以释放COM端口,并打开/连接到串行终端。
  2. 在《16 Plus编程指南》中查找寄存器0,并从串行终端读取寄存器值。现在,再次读取寄存器,同时按下一个Alicat按钮。寄存器将根据您按下的按钮进行更改!
  3. 在前显示屏上隐藏温度。根据《16 Plus编程指南》确定执行此功能的寄存器。然后,从终端读取该寄存器,并解密它所使用的比特位。随后,使用计算器将适当的位添加到该值,并用该新值重写寄存器。您会看到温度从屏幕上消失。
  4. 之前,我们使用串行命令锁定前面板。现在,尝试使用寄存器执行此操作。使用与步骤2相同的过程尝试锁定前面板。
  5. 尝试使用具有更复杂的位的寄存器。阅读《16 Plus编程指南》中有关寄存器20的内容,您会发现许多所谓的“比特位”并不是真正的比特位。读取串行终端中的寄存器20—您能确定启用了哪些位吗?现在,尝试重写寄存器20,使Alicat处于压力控制模式,然后再次使其处于逆控制模式。现在您获得了背压控制器!

更改设备中的所有这些寄存器后,现在可查看已做出的更改。使用寄存器转储比较工具可轻松比较多个寄存器。下面将为您介绍如何使用该工具:

  1. 关闭串行终端并打开串行地址转储。
  2. 获取设备上新寄存器的转储,并将该文件与之前创建的文件加以区分。
  3. 打开寄存器转储比较工具,通过单击文件路径字段旁边的文件图标上传新旧寄存器。完成此操作后,按下“比较寄存器”按钮。
  4. 您可看到对每个寄存器所做的更改。

最后一步,再次打开串行终端,复制粘贴原始地址转储的全部内容。现在设备上的一切都已恢复正常。

结论:

寄存器值是串行通信的重要组成部分。虽然有些寄存器的功能可通过前面板访问,但更多功能是设备校准和固有功能的组成部分。

更多产品信息请查看质量流量计质量流量控制器压力控制器压力传感器

WordPress Video Lightbox Plugin