使用打印机驱动程序的数据传输

时间:2021-07-30点击次数:155

使用打印机驱动程序的数据传输

有关协议与通信模块的分配关系,请参见: 组件和接口概述

简介

打印机驱动程序允许您将带有日期和时间的消息文本输出到打印机。 这使得您能够进行监视简单进程、打印错误或故障消息或者向操作人员发布指令等操作。

打印机驱动程序包含物理层(* 1 层)。

用于打印输出的消息文本和参数

在模块的属性对话框中,可为打印输出组态消息文本并设置参数(页面布局、字符集、控制字符)。 消息文本和打印输出参数将连同模块参数一起在通信模块启动时传输到该通信模块。

消息文本:

可以使用变量和控制指令(例如,粗体、窄体、宽体或斜体以及加下划线)来组态消息文本。 在参数分配期间会给每个消息文本都分配一个编号。 对于 CP 441 模块,通过在指令的发送参数 SD_1 至 SD_4 中*引用(指向包含消息文本号的存储单元),可以打印输出特定的消息文本。 对于 CP 34x 模块,在调用指令时通过*格式字符串中的消息文本号完成该操作。

还可以将组态消息文本保存到外部文本文件(SDB 名,较多 8 个 ASCII 字符),并通过合适的编辑器对其进行编辑。 例如,可以此种方式翻译并读回文本。

消息文本文件结构:

<版本号>

<消息号>:<消息内容>

页面布局:

您可以组态页面布局的页边距、可选的换行符以及页眉和页脚。

字符集:

STEP 7 通过字符转换表将 ANSI 字符集转换为打印机字符集。 例如,可以更改针对打印机类型建议的字符转换表,从而包括特定语言所需的特殊字符。

控制字符:

通过控制字符表,可以更改用于打印机模拟的消息文本中的控制指令,从而启用和禁用粗体、窄体、宽体或斜体和下划线以及添加控制字符。

变量

一个消息文本中较多显示 4 个变量(3 + 文本消息号)。 可将变量值从 CPU 传输到通信模块。 可以显示以下变量:

用户程序的计算值(例如填充量)

日期和时间

字符串(字符串变量)

其它消息文本

必须为组态的消息文本或格式字符串中的每个变量*一个转换指令,其中变量值的含义和输出格式经过加密。

格式字符串

可以使用格式字符串定义消息文本的外观和布局。 格式字符串可以包括:

文本(任何可打印字符,如填充量 l 达到 ...!)

变量的转换指令(例如 %N = 消息文本号 x 的指针,其中 x 为变量值(请参见下面的示例 2))

对于每个变量,格式字符串或组态的消息文本中必须恰好存在一个转换指令。 转换指令将根据其顺序应用到变量。

具有用于粗体、窄体、宽体、斜体、下划线(如 \B = 启用粗体)的控制字符或您已定义的附加控制字符的控制指令

将这些字符输入到模块的属性对话框中的控制字符表内和组态新的通信模块时,可以使用附加的控制字符。

其它功能

除输出消息文本外,还可以对打印输出使用以下功能。 可以通过格式字符串运行这些功能。

设置页码(格式字符串 = %P)

开始新页(格式字符串 = \F)

换行/不换行打印(格式字符串末尾的 \x)

请注意,对于每个打印输出,默认执行换行。

示例

示例 1: 填充量“200”l 在“5:30 pm”达到!

格式字符串 = 填充量 %i l 在 %Z 达到!
变量 1 = 时间
变量 2 = 填充量

示例 2: 燃烧室压力“下降”

格式字符串 = %N %S
变量 1 = 17(消息文本号 17: 燃烧室压力 ...)
变量 2 = 引用字符串(字符串变量: ... 下降)

示例 3: (设置页码为 10)

格式字符串 = %P
变量 1 = 10(页码:10) 10)

打印输出

要将 n 个字节的用户数据输出到打印机,在调用指令时必须将消息文本的格式字符串和变量作为参数*。

在输出期间编辑数据以进行打印。 按照模块的属性对话框中的参数来为打印执行准备工作(页面布局、字符集、控制字符等)。

打印输出期间不接收字符。 此处,已组态的任意流控制字符是个例外。 接收到的任何字符都不会被采用。

消息文本输出

下图说明了打印输出的操作顺序。


图片: 打印输出的流程图

软件握手/硬件握手

握手用于控制两个通信伙伴之间的数据流。 握手可以确保数据在以不同速度运行的设备之间传输时不会丢失。

还可以通过流控制发送打印输出数据。 握手有两种基本类型:

软件握手(例如 XON/XOFF)

硬件握手(例如 RTS/CTS)

在通信模块上按以下方式为打印输出执行流控制:

一旦通信模块通过组态切换到使用流控制的工作模式,模块便会发送 XON 字符或将 RTS 线路设置为 ON。

如果通信模块接收到 XOFF 字符或 CTS 控制信号设置为 OFF,通信模块将中断字符的输出。 如果经过组态时间后未接收到 XON 或 CTS 未设置为 ON,将中断打印输出并在指令的 STATUS 输出中生成一个相应的错误消息 (0708H)。


提示

如果组态 RTS/CTS 流控制,请确保在插头连接过程中全部接线信号所使用的接口。



BUSY 信号

通信模块可评估打印机的“BUSY”控制信号。 打印机向 CP 34x1 报告其已准备好接收

对于 CP 34x 20mA-TTY: 通过接通 RxD 线路的电源。

对于 CP 34x RS232C 和 CP 34x RS422/485: 通过 CTS =“ON”信号。


提示

如果组态 RTS/CTS 流控制,则必须按如下方式设置打印机上 BUSY 信号的极性:

-

BUSY 信号: CTS =“OFF”

请注意,有些打印机使用 DTR 信号显示 BUSY 信号。 在这种情况下,您需要相应地将电缆重新接线到通信模块。


http://shtxjd.cn.b2b168.com

产品推荐