功能介绍
# TARS 功能介绍
依据TARS使用手册之界面介绍图示,列举每个功能详细使用说明。
# 1. 界面、功能菜单

工具栏菜单包括:服务、语言、帮助。
服务: 服务选项中包含了启动,停止服务等运行操作方式,点击以后会出现下拉菜单。
- 启动服务: 当此按钮处于非灰色状态时,点击此菜单项后,开启TARS中间件服务。
- 停止服务: 当此按钮处于非灰色状态时,点击此菜单项后,停止TARS中间件服务。
- 退出: 点击此按钮,退出TARS。
语言: 设置选项中包含多语言设置,点击以后会出现下拉菜单。
语言选择: 进行TARS界面内容多语言设置,在二级菜单中选择语言类型来将程序的语言切换成对应选择的语言选项。
添加语言: 点击此项目可添加一个新的语言项目。按下Enter按键换行设置多种语言。
语言配置: 点击此项打开多语言设置页面,该页面中可设置程序字幕在不同语言环境下显示的多语言信息。可设置的语言类型包括程序初始预设的语言类型(简体中文、繁体中文、英语)以及自定义设置的语言类型。
语言翻译器的菜单栏界面包括File
、Edit
、View
、Tools
等,Dictonary
与Help
菜单功能未实装,点击无效。
File
菜单说明如下:
Load...
:选择多语言配置文件(*.sli)以加载多语言设置内容。Export...
:将当前的多语言设置导出为配置文件(*.sli)。Close
:退出设置界面。Close Saved
:退出多语言设置界面同时保存多语言设置。
Edit
菜单说明如下:
Undo
:撤销上一步操作。Cut
:对当前选择的项目内容进行剪切操作。Copy
:对当前选择的项目内容进行复制操作。Paste
:将系统剪切板中的内容粘贴至选择的指定项中。Delete
:删除当前选择的项目行。Multiline Editor
:多行数据编辑器,对于需要执行多行编辑的项目,在选择对应的项目后,选择此选项可打开多行编辑器,其显示结果与双击此项目相同。Comments
:提供注释相关的内容。(当前版本暂不支持此内容)Add Row
:对于可以自行添加行的项目,在选择项目后,点击此菜单项可增加新的一行。Remove Row
:对于可以自行添加行的项目,在选择项目后,点击此菜单项可删除当前选择的行。Clear
:清除当前的所有项目,在清除前会有弹窗提示是否要进行删除操作。Find
:查找按钮,打开查找界面,输入查找的内容进行查找操作。
View
菜单说明如下:
Display
:设置需要显示内容的项目。All entries
:显示所有的项目。Partially translated
:仅显示有部分翻译的项目。Untranslated
:仅显示未进行任何翻译的项目。All InComplete
:显示所有未翻译完全以及未翻译的项目。
Sort
:设置显示项目的显示顺序。by Component
:按照组件名称的顺序进行排序。by Simpleified Chinese
:按照简体中文名称的顺序进行排序。by Traditional Chinese
:按照繁体中文名称的顺序进行排序。by English
:按照英语名称的顺序进行排序。- 除上述的语言排序外,如有其他的新增语言,也会在此处显示。即按照选择的语言名称顺序进行排序。
Tools
菜单说明如下:
Default Fonts...
:为语言项设置默认的字符集与字体。打开的界面显示如下。Language
:填写语言名称,此语言名称与语言列表中的要一致。Font Name
:选择字体的名称。Charset
:选择字符集的名称。[Add]
:选择后,将填写的项目添加至下方的列表中。[Replace]
:将修改后的内容替换掉当前选择的字符集项。[Delete]
:删除当前选择的项目。[Clear]
:清除所有的项目。
Languages
:查看语言名称的列表。打开显示如下图。下侧的列表点击可选择语言名称,在
Name
的编辑框中会显示,可修改语言的名称,修改完成后点击Modify
完成对语言名称的修改。点击[OK]
按钮确认,点击[Cancel]
按钮取消并退出修改。Check Format Settings
:用于检查格式设置是否正确。此选项仅在Strings
下可用。Find in source
:在源码中进行查找。此选项仅在Strings
下可用。Delete Duplicates
:删除在Strings
中的重复项目。Settings
:其他相关的设置选项。
帮助: 点击以后会出现下拉菜单。
点击
[关于…]
,显示TARS的产品版本信息。
界面的底部的状态栏,显示当前的连接情况,服务器的负载情况以及流量统计等相关信息。
- 启动时间:TARS启动服务的时间。
- 活动时间:TARS服务的最近发生活动的时间。
- 通信端口:TARS运行监听服务的端口号。
- 连接总数:TARS服务器当前连接的客户端的数量。
- 请求次数:TARS接收到的服务请求的数量。
- 内存使用:当前TARS服务占用的内存量。
- CPU使用:当前TARS服务占用的CPU百分比。
- 数量流量:当前TARS服务使用的数据流量统计。
# 2. 功能说明
# 2.1. 日志
显示客户端访问服务端的各种日志信息。

其中的功能按钮说明如下:
- 打开: 打开日志文件夹,日志文件夹中包含日志历史的文本文件。
- 复制: 选择一行需要复制的日志信息,点击此按钮可将日志信息复制到系统剪切板。
- 清空: 清空屏幕显示的所有日志信息。
- 滚动: 启用该选项后,日志在刷新时会滚动显示,即日志会定位至最新的一条。
- 查看: 选择日志后,点击此按钮,打开日志界面查看详细的日志信息。
日志列表中的信息说明如下:
- 序号: 日志信息的序号。
- 时间: 日志信息的生成时间。
- 内容: 日志说明详细信息。
推送消息界面显示如下:
该功能需配合网页端的WebSocket
功能来使用,TARS默认已打开消息推送功能,此处可打开WebSocket测试网站 (opens new window)来进行相关测试。
在测试页面的地址框中输入TARS的地址,TARS本机的IP地址为127.0.0.1
,开放的端口号为8809
,消息提示函数名称为message
,则对应的WebSocket
地址设置为ws://127.0.0.1:8809/message
。点击[连接]
。待服务端回应Hello,Web Socket Client!
时表示连接成功。此时可在网页页面底部的待发信息栏中输入要发送的信息,点击[发送]
按钮。

在日志列表中会显示此客户端发送的消息。

在WebSocket客户端连接的情况下,我们在TARS的消息推送界面的编辑框中输入要推送的消息,点击推送消息
即可实现向此客户端推送编辑的消息。

# 2.2. 数据库设置
管理数据库连接配置,支持多种数据库以及多联方式。

图中按钮部分内容说明如下:
[新建]
打开编辑窗口新增数据库连接设置。[编辑]
选择列表中的连接设置,编辑数据库连接设置。[删除]
删除选中的数据库设置。[测试]
测试选中的数据库设置是否正确。
列表中各表名称释义如下:
- 序号: 连接设置的序号名称。
- 连接名称: TARS的连接设置的名称,此名称作为连接参数使用,用于指定要连接的数据库等信息。
- 数据库类型: 连接设置指定的此连接的数据库的类型,例如
MySQL
、SQLite
等。 - 数据库: 设置连接的数据库的名称。
- 连接池: 是否为此连接设置设立连接池,设置连接池可提高连接的利用率。
- 最大值: 连接池中允许的连接线程的最大数目。
- 删除权限: 该连接设置是否对数据库有删除权限,当删除权限被禁用后,使用此连接设置连接的客户端不能对表执行
DELETE
语句操作。存储过程除外。 - 插入权限: 该连接设置是否对数据库有插入权限,当插入权限被禁用后,使用此连接设置连接的客户端不能对表执行
INSERT
语句操作。存储过程除外。 - 更新权限: 该连接设置是否对数据库有更新权限,当插入权限被禁用后,使用此连接设置连接的客户端不能对表执行
INSERT
语句操作。存储过程除外。 - DDL权限: 该连接设置是否对数据库是否有DDL(数据库定义)权限,比如创建表,删除表,更改表结构等权限,当此权限被禁用后,使用此连接设置连接的客户端不能对执行表结构更新的相关操作。存储过程除外。
- 启用: 连接设置是否启用,只有在启用状态下可以通过此连接涉资连接至数据库。如果设置为禁用,则该连接设置不可用。
- 更新时间: 连接设置的更新时间,在经过编辑修改后时间会更新。
- 备注: 连接设置的备注信息,在纺织印染业ERP中备注信息会作为产品版本区分的依据。
# 2.2.1. 使用TARS连接至MSSQL Server
TARS支持 Microsoft SQL Server Standard 和 Express 版本 2000 及更高版本,以及 Microsoft SQL Azure。支持连接的MSSQL类型包括Microsoft SQL Server
与Microsofot SQL Server 2000
,这两种数据库类型均可使用以下的连接方式进行连接。
点击[新建]
按钮,出现数据库类型下拉菜单图。
点击下拉列表中的数据库类型,当选择类型为Microsoft SQL Server
或者Microsoft SQL Server 2000
时,出现数据库连接设置窗体图,请根据对应参数进行设置即可。修改连接设置的名称,标注红色的项目为必填项目,其余项目可视情况选择填写。填写完成后,点击[确定]
按钮以新增连接设置。
注意,每次新增或修改连接设置后,请先点击程序左上角的图标以关闭TARS服务然后再点击此图标重新启动TARS服务使连接设置生效。

图中部分内容说明如下:
连接:
- 连接名称: 数据库连接的别名,图中显示为
MSSQL20200725
的就是连接设置名称的编辑库,客户端访问数据库时候,需要以此名称作为唯一指定对象。 - 备注: 连接的备注,在纺织印染业ERP解决方案中,此项作为不同功能的产品区分参数。
- DriverID: 数据连接的类型,在选择新建数据库类型时创建,创建后不能修改。如果在创建时选择的类型为
Microsoft SQL Server
,此处显示的类型为MSSQL
,如果选择的类型为Microsoft SQL Server 2000
,此处显示的类型为MSSQL2000
。 - Pooled: 是否设置连接池,连接池的设置可以提高连接线程的利用率,提高运行效率。
- DataBase: 数据库的名称,需设置数据库的连接。
- User_Name: 连接的数据库用户名称。
- Password: 连接的数据库用户密码。
- MonirotBy: 设定监控类型。
FlatFile
:将跟踪输出到纯文本文件。 当应用程序完成时,它会显示生成的跟踪文件列表。Remote
:将跟踪输出到FDMonitor 实用程序并允许监视应用程序。 在激活跟踪输出之前,FDMonitor必须正在运行。Custom
:将跟踪输出到自定义事件处理程序。
- Pool_Cleanup Timeout: 连接池清理的超时时间,以ms为单位。
- Pool_Expire Timeout: 连接池超时的时间,以ms为单位。
- POOL_MaximumItems: 连接池设定的最大连接数。
- ODBC_Advanced: 允许您指定ODBC连接参数,设置方式为 参数名称=值,各取值对以";"分隔,MSSQL不需要设置此参数值。
- Login Timeout: 控制尝试建立连接时应用程序超时之前的时间量(以秒为单位), 0 指定无限等待(默认值)。
- Server: 设置连接的服务器的名称。
- Network: 网络库动态链接库的名称,该名称不需要包含路径,并且不得包含 .dll 文件扩展名。
- Address: 运行 SQL Server 实例的服务器的网络地址。 地址通常是服务器的网络名称,但也可以是其他名称,例如管道或 TCP/IP 端口和套接字地址。
- OSAuthent: 设置OS验证。如果此项设置为
Yes
则在连接本地的使用用户账户连接的数据库时不需要提供用户名和密码。 - MARS: 设置数据库是否使用连接复用。
- Workstation: 工作站 ID。通常为应用程序所在计算机的网络名称(可不填)。 如果指定,此值存储在
master.dbo.sysprocesses
列主机名中,并由sp_who
和Transact-SQL HOST_NAME
函数返回。 - Language: SQL Server 语言名称(可选)。 连接到具有多种语言的 SQL Server 时,Language指定用于连接的消息集。
- Encrypt: 设置网络连接是否进行加密。
Yes
:网络连接加密。No
:网络连接不加密。
- VariantFormat: 控制 SQL_VARIANT 数据类型表示。
String
:数据类型表示为 dtWideString。 字符串值作为十六进制字符串返回,数字作为字符串返回,依此类推。 这是默认值。Binary
:数据类型表示为带有原始数据表示的 dtByteString。 字符串值作为具有原始编码、二进制格式的数字等的字符串返回。
- ExtendedMetaData: 设置查询结果集的扩展描述。
True
:获取除其他列属性之外的字段原始表和列。 将此选项设置为 True 可能会减慢数据集的打开速度。False
:使用有关查询列的受限信息。 这是默认值。
- ApplicationName: 应用程序的名称。 如果指定,此值存储在
master.dbo.sysprocesses
的列program_name
中,并由sp_who
和Transact-SQL APP_NAME
函数返回。 - MetaDefCatalog: 默认数据库名称。 如果目录名称等于 MetaDefCatalog,则设计时代码会从对象名称中排除目录名称。
- MetaDefSchema: 默认架构名称。 如果架构名称等于 MetaDefSchema,则设计时代码会从对象名称中排除架构名称。默认的数据库中架构名称为
dbo
。 - MetaCurCatalog: 指定应用程序的当前目录。 如果未指定,则从数据库管理系统中接收其值。 如果应用程序要求提供元数据而您没有指定目录名称,则会隐式使用当前目录。
- MetaCurSchema: 指定应用程序的当前架构。 如果未指定,则从数据库管理系统中接收其值。 如果应用程序要求提供元数据而您没有指定架构名称,则 FireDAC 会隐式使用当前架构。
- MetaCaseIns: 设置元数据是否区分大小写。
True
:使用不区分大小写的元数据搜索。False
:取决于数据库的设置,此项为默认设置。
- MetaCaseInsCat: 设置 SQL Server 目录名称区分大小写。
Choose
:自动监测目录名称区分大小写,此项为默认值。False
:目录名称区分大小写。True
:目录名称不区分大小写
- EnableDelete: 启用删除权限,如果此项被禁用,用户在执行
DELETE
脚本以删除数据的操作时会被阻止执行。 - EnableInsert: 启用插入权限,如果此项被禁用,用户在执行
INSERT
脚本以插入数据的操作时会被阻止执行。 - EnableUpdate: 启用更新权限,如果此项被禁用,用户在执行
UPDATE
脚本以更新数据的操作时会被阻止执行。 - EnableDDL: 启用表结构操作权限,如果此项被禁用,用户在执行表结构更新的操作时会被阻止执行。
- Available: 是否启用此连接设置,如果此项被禁用,则用户无法使用此连接设置连接至数据库。
如果对连接设置中以上几项的相关数据操作权限进行禁用后,在客户端执行相关操作时会提示更新失败。
[恢复默认]
:当连接的参数需要清空时,点击此按钮将参数恢复成默认的状态。[确定]
:确认连接设置并保存。[取消]
:取消连接设置的更改并退出页面。
- 连接名称: 数据库连接的别名,图中显示为
信息: 以文本列表方式显示数据库连接配置信息。
SQL脚本: 可以执行此连接设置下适用的SQL脚本。
下图则是SQL脚本使用示例图,三个操作按钮从左至右依次为执行语句、执行下一条语句以及跳过下一条语句。

# 2.2.2. 使用TARS连接至MySQL Server
TARS支持连接的MySQL Server包括:
- MySQL Server Community, Enterprise, and Embedded editions version 3.21 以及更高版本。
- MariaDB 5.5以及更高版本。
点击[新建]
按钮,出现数据库类型下拉菜单图。
点击下拉列表中的数据库类型,当选择类型为MySQL Server
时,出现数据库连接设置窗体图,请根据对应参数进行设置即可。标注红色的项目为必填项目,其余项目可视情况选择填写。注意,每次新增或修改连接设置后,请先关闭TARS服务然后再重新启动TARS服务使连接设置生效。

连接:
- 连接名称: 数据库连接的别名,图中显示为
MySQL20210626
的就是连接设置名称的编辑库,客户端访问数据库时候,需要以此名称作为唯一指定对象。 - 备注: 连接的备注信息。
- DriverID: 数据连接的类型,在选择新建数据库类型时创建,创建后不能修改。如果在创建时选择的类型为
MySQL Server
,此处显示的类型为MySQL
。 - Pooled: 是否设置连接池,连接池的设置可以提高连接线程的利用率,提高运行效率。
- DataBase: 数据库的名称,需设置数据库的连接。
- User_Name: 连接的数据库用户名称。
- Password: 连接的数据库用户密码。
- MonirotBy: 设定监控类型。
FlatFile
:将跟踪输出到纯文本文件。 当应用程序完成时,它会显示生成的跟踪文件列表。Remote
:将跟踪输出到FDMonitor 实用程序并允许监视应用程序。 在激活跟踪输出之前,FDMonitor 必须正在运行。Custom
:将跟踪输出到自定义事件处理程序。
- Pool_Cleanup Timeout: 连接池清理的超时时间,以ms为单位。
- Pool_Expire Timeout: 连接池超时的时间,以ms为单位。
- POOL_MaximumItems: 连接池设定的最大连接数。
- Server: 设置连接的服务器的名称。
- Port: 设置连接的服务器的端口信息。
- Compress: 指定为
True
以启用网络流量压缩,False
表示为不启用网络流量压缩。 - UseSSL: 指定
True
以启用SSL连接。 默认情况下,它设置为False
。 设置UseSSL=True
需要您额外指定连接定义参数:- SSL_key -- 密钥文件的路径名。
- SSL_cert -- 证书文件的路径名。
- SSL_ca -- 证书颁发机构文件的路径名。
- SSL_capath -- 包含 pem 格式的可信 SSL CA 证书的目录的路径名。
- SSL_cipher -- 用于 SSL 加密的允许密码列表。
- LoginTimeout: 设置尝试建立连接时应用程序超时之前的时间量(以秒为单位)。
- ReadTimeout: 尝试从服务器读取的超时时间(以秒为单位)。 每次尝试都使用此超时值,并且在必要时进行重试,因此总有效超时值是选项值的三倍。 您可以设置该值,以便在
TCP/IP Close_Wait_Timeout
设定值的10 分钟之前检测到丢失的连接。 此选项仅适用于 TCP/IP 连接,并且在Windows 版本的MySQL 5.1.12 之前。 默认情况下该选项未设置。 - WriteTimeout: 尝试写入服务器的超时(以秒为单位)。 每次尝试都使用此超时值,如有必要,还会进行
net_retry_count
重试,因此总有效超时值是net_retry_count
乘以选项值。 此选项仅适用于 TCP/IP 连接,并且在Windows 版本的MySQL 5.1.12 之前。 默认情况下未设置。 - ResultMode: 对客户端的结果集的获取。 默认值为
Store
。Store
:在查询执行后立即获取所有行并将它们存储在客户端上,使服务器进程为新请求做好准备。Use
:根据需要从客户端获取行。 在获取结果集中的所有行之前,服务器无法处理新请求。 它允许您减少非常大的结果集的内存使用量。Choose
:自动选择一种模式。
- CharacterSet: 连接的默认字符集。 连接排序规则成为字符集的默认排序规则。 有关详细信息,请参阅MySQL
SET NAMES
语句。通常情况下此选项设置为utf8mb4
。 - TinyIntFormat: 设置 TinyInt(1)数据类型表示。 默认值为
Boolean
。Boolean
: TinyInt(1)列表示为dtBoolean
。Integer
:TinyInt(1) 列表示为dtSByte
或dtByte
。
- MetaDefCatalog: 默认数据库名称。 如果目录名称等于 MetaDefCatalog,则设计时代码会从对象名称中排除目录名称。
- MetaCurCatalog: 指定应用程序的当前目录。 如果未指定,则从 DBMS 接收其值。 如果应用程序要求提供元数据而您没有指定目录名称,则会隐式使用当前目录。
- EnableDelete: 启用删除权限,如果此项被禁用,用户在执行
DELETE
脚本以删除数据的操作时会被阻止执行。 - EnableInsert: 启用插入权限,如果此项被禁用,用户在执行
INSERT
脚本以插入数据的操作时会被阻止执行。 - EnableUpdate: 启用更新权限,如果此项被禁用,用户在执行
UPDATE
脚本以更新数据的操作时会被阻止执行。 - EnableDDL: 启用表结构操作权限,如果此项被禁用,用户在执行表结构更新的操作时会被阻止执行。
- Available: 是否启用此连接设置,如果此项被禁用,则用户无法使用此连接设置连接至数据库。
如果对连接设置中以上几项的相关数据操作权限进行禁用后,在客户端执行相关操作时会提示更新失败。
[恢复默认]
:当连接的参数需要清空时,点击此按钮将参数恢复成默认的状态。[确定]
:确认连接设置并保存。[取消]
:取消连接设置的更改并退出页面。
- 连接名称: 数据库连接的别名,图中显示为
信息: 以文本列表方式显示数据库连接配置信息。
SQL脚本: 可以执行此连接设置下适用的SQL脚本。
下图则是SQL脚本使用示例图,三个操作按钮从左至右依次为执行语句、执行下一条语句以及跳过下一条语句。

提示
从MySQL 8.0 开始,默认的账号认证方式改为 caching_sha2_password
,如果选用此认证方式,会导致 TARS 无法连接至 MySQL Server。
如需要修改为传统的用户名密码的认证方式,则先使用 MySQL Workbench 等管理工具登录至 MySQL。运行以下SQL 指令。
--请将其中的 {username} 替换为 MySQL 的登录用户, {password} 修改为登录用户的密码
ALTER USER '{username}'@'localhost' IDENTIFIED WITH mysql_native_password BY '{password}';
FLUSH PRIVILEGES;
2
3
4
刷新权限表,更新缓存后,可在客户端使用用户名密码创建连接设置。
# 2.2.3. 使用TARS连接至SQLite
TARS本机驱动程序支持 SQLite 数据库版本 3.0 及更高版本。
点击[新建]
按钮,出现数据库类型下拉菜单图。
点击下拉列表中的数据库类型,当选择类型为SQLite
时,出现数据库连接设置窗体图,请根据对应参数进行设置即可。标注红色的项目为必填项目,其余项目可视情况选择填写。注意,每次新增或修改连接设置后,请先关闭TARS服务然后再重新启动TARS服务使连接设置生效。

连接:
- 连接名称: 数据库连接的别名,图中显示为
SQLite20210626
的就是连接设置名称的编辑库,客户端访问数据库时候,需要以此名称作为唯一指定对象。 - 备注: 连接的备注信息。
- DriverID: 数据连接的类型,在选择新建数据库类型时创建,创建后不能修改。如果在创建时选择的类型为
SQLite
,此处显示的类型为SQLite
。 - Pooled: 是否设置连接池,连接池的设置可以提高连接线程的利用率,提高运行效率。
- DataBase: 数据库的路径。 使用 ':memory:' 或空字符串创建并连接到空的内存数据库。 路径可以包含路径变量。
- User_Name: 连接的数据库用户名称,SQLite中此项不需设置。
- Password: 指定加密数据库的密码。 该值可能具有以下形式:[ aes-128 | aes-192 | aes-256 | aes-ctr-128 | aes-ctr-192 | aes-ctr-256 | aes-ecb-128 | aes-ecb-192 | aes-ecb-256 :] <password> 可选前缀控制要使用的密码算法。 默认值为空字符串,表示未加密模式。
- MonirotBy: 设定监控类型。
FlatFile
:将跟踪输出到纯文本文件。 当应用程序完成时,它会显示生成的跟踪文件列表。Remote
:将跟踪输出到FDMonitor 实用程序并允许监视应用程序。 在激活跟踪输出之前,FDMonitor 必须正在运行。Custom
:将跟踪输出到自定义事件处理程序。
- Pool_Cleanup Timeout: 连接池清理的超时时间,以ms为单位。
- Pool_Expire Timeout: 连接池超时的时间,以ms为单位。
- POOL_MaximumItems: 连接池设定的最大连接数。
- OpenMode: 设定打开数据库的模式:
CreateUTF8
:打开一个数据库来读或写。 如果数据库不存在,将使用 UTF8 默认编码创建。CreateUTF16
:打开一个数据库来读或写。 如果数据库不存在,将使用 UTF16 默认编码创建。ReadWrite
:打开一个数据库来读或写。 如果数据库不存在,则会引发异常。ReadOnly
:打开一个数据库为只读。 如果数据库不存在,则会引发异常。
- Encrypt: 指定数据库的默认加密模式。 可以使用可选的密码前缀覆盖该模式。 如果未指定,则使用此参数指定的模式。 否则,使用
aes-256
。 - BusyTimeout: 当表被锁定时设置一个毫秒时间使进入休眠状态。 零意味着不等待。 默认值为 10000。
- CacheSize: 更改 SQLite 一次保存在内存中的最大数据库磁盘页面数。 每个页面使用大约 1.5K 的内存。 默认值为 10000。
- SharedCache: 启用或禁用 SQLite 共享缓存功能。默认值是
True
。 - LockingMode: 设置数据库连接锁定模式。 该值是以下之一:
Normal
:此模式允许多用户访问数据库文件。Exclusive
:此模式可提供最高性能。 默认值为Exclusive
,因为它允许您获得单用户应用程序的最大读/写速度。
- Synchronous: 设置内存缓存与数据库文件的数据库连接同步模式。 该值是以下之一:
Full
:在每一个关键时刻同步。Normal
:如上所述,但频率较低。Off
:提供最佳性能。 这是默认值。
- JournalMode: 设置日志模式。
Delete
: 默认模式。在该模式下,在事务结束时,日志文件将被删除。Truncate
:日志文件被截断为零字节长度。Persist
:日志文件被留在原地,但头部被重写,表明日志不再有效。Memory
: 日志记录保留在内存中,而不是磁盘上。WAL
:日志记录被单独写入至更改文件中。Off
:关闭日志文件的功能。
- ForeignKeys: 当应用程序使用 SQLite v 3.6.19 或更高版本时,为数据库连接启用外键使用。 该值是以下之一:
On
:启用会话中的外键。 这是默认值。Off
:会话中的外键被禁用。
- StringFormat: 定义如何表示字符串值:
Choose
:表示为ftString / ftWideString / ftMemo / ftWideMemo
,取决于声明的数据类型名称(默认);Unicode
:表示为ftWideString / ftWideMemo
;ANSI
:始终表示为ftString / ftMemo
。
- GUIDFormat: 定义如何存储 GUID 值:
String
:将 GUID 存储为字符串值(默认)。Binary
:将 GUID 存储为二进制字符串值。
- DateTimeFormat: 定义如何存储日期和时间值:
String
:使用 YYYY-MM-DD 和 HH:MM:SS.XXX 格式(默认)将日期和时间存储为字符串值。Binary
:将日期和时间存储为实数,即儒略日期。DateTime
:将日期和时间存储为一个实数,它是一个TDateTime
值。
- Extensions: 启用、禁用或指定要加载的 SQLite 引擎扩展:
True
:启用扩展。False
:禁用扩展(默认)。 否则,使用扩展列表以 <library>[=<entry point>][;...] 的形式加载。
- SQLiteAdvanced: 其他 SQLite 数据库连接选项。参考SQLite参数说明 (opens new window)文档进行填写。
- MetaDefCatalog: 默认数据库名称。 如果目录名称等于 MetaDefCatalog,则设计时代码会从对象名称中排除目录名称。
- MetaCurCatalog: 指定应用程序的当前目录。 如果未指定,则从数据库管理系统中接收其值。 如果应用程序要求提供元数据而您没有指定目录名称,则会隐式使用当前目录。
- EnableDelete: 启用删除权限,如果此项被禁用,用户在执行
DELETE
脚本以删除数据的操作时会被阻止执行。 - EnableInsert: 启用插入权限,如果此项被禁用,用户在执行
INSERT
脚本以插入数据的操作时会被阻止执行。 - EnableUpdate: 启用更新权限,如果此项被禁用,用户在执行
UPDATE
脚本以更新数据的操作时会被阻止执行。 - EnableDDL: 启用表结构操作权限,如果此项被禁用,用户在执行表结构更新的操作时会被阻止执行。
- Available: 是否启用此连接设置,如果此项被禁用,则用户无法使用此连接设置连接至数据库。
如果对连接设置中以上几项的相关数据操作权限进行禁用后,在客户端执行相关操作时会提示更新失败。
[恢复默认]
:当连接的参数需要清空时,点击此按钮将参数恢复成默认的状态。[确定]
:确认连接设置并保存。[取消]
:取消连接设置的更改并退出页面。
- 连接名称: 数据库连接的别名,图中显示为
信息: 以文本列表方式显示数据库连接配置信息。
SQL脚本: 可以执行此连接设置下适用的SQL脚本。
下图则是SQL脚本使用示例图,三个操作按钮从左至右依次为执行语句、执行下一条语句以及跳过下一条语句。

# 2.2.4. 使用TARS连接至Access
TARS本机驱动程序支持 Microsoft Access 95、97、2000、2003、2007 和 2010 数据库。
点击[新建]
按钮,出现数据库类型下拉菜单图。
点击下拉列表中的数据库类型,当选择类型为Microsoft Access
时,出现数据库连接设置窗体图,请根据对应参数进行设置即可。标注红色的项目为必填项目,其余项目可视情况选择填写。注意,每次新增或修改连接设置后,请先关闭TARS服务然后再重新启动TARS服务使连接设置生效。

连接:
- 连接名称: 数据库连接的别名,图中显示为
MsAcc
的就是连接设置名称的编辑库,客户端访问数据库时候,需要以此名称作为唯一指定对象。 - 备注: 连接的备注信息。
- DriverID: 数据连接的类型,在选择新建数据库类型时创建,创建后不能修改。如果在创建时选择的类型为
Microsoft Access
,此处显示的类型为MsAcc
。 - Pooled: 是否设置连接池,连接池的设置可以提高连接线程的利用率,提高运行效率。
- DataBase: MDB 文件的路径。 路径可以包括路径变量。
- User_Name: 连接的数据库用户名称。
- Password: 指定加密数据库的密码。
- MonirotBy: 设定监控类型。
FlatFile
:将跟踪输出到纯文本文件。 当应用程序完成时,它会显示生成的跟踪文件列表。Remote
:将跟踪输出到FDMonitor 实用程序并允许监视应用程序。 在激活跟踪输出之前,FDMonitor 必须正在运行。Custom
:将跟踪输出到自定义事件处理程序。
- Pool_Cleanup Timeout: 连接池清理的超时时间,以ms为单位。
- Pool_Expire Timeout: 连接池超时的时间,以ms为单位。
- POOL_MaximumItems: 连接池设定的最大连接数。
- ODBCAdvanced: 允许您指定任何其他附加 ODBC 连接参数值。 默认值为“ExtendedAnsiSQL=1”。
- LoginTimeout: 设置尝试建立连接时应用程序超时之前的时间量(以秒为单位)。
- SystemDB: 系统数据库文件的路径。 路径可以包括路径变量。
- ReadOnly: 指定
True
以只读模式打开数据库。False
是默认值。 - StringFormat: 定义如何表示字符串值:
Choose
:表示为ftString / ftWideString / ftMemo / ftWideMemo
,取决于声明的数据类型名称(默认);Unicode
:表示为ftWideString / ftWideMemo
;ANSI
:始终表示为ftString / ftMemo
。
- EnableDelete: 启用删除权限,如果此项被禁用,用户在执行
DELETE
脚本以删除数据的操作时会被阻止执行。 - EnableInsert: 启用插入权限,如果此项被禁用,用户在执行
INSERT
脚本以插入数据的操作时会被阻止执行。 - EnableUpdate: 启用更新权限,如果此项被禁用,用户在执行
UPDATE
脚本以更新数据的操作时会被阻止执行。 - EnableDDL: 启用表结构操作权限,如果此项被禁用,用户在执行表结构更新的操作时会被阻止执行。
- Available: 是否启用此连接设置,如果此项被禁用,则用户无法使用此连接设置连接至数据库。
如果对连接设置中以上几项的相关数据操作权限进行禁用后,在客户端执行相关操作时会提示更新失败。
[恢复默认]
:当连接的参数需要清空时,点击此按钮将参数恢复成默认的状态。[确定]
:确认连接设置并保存。[取消]
:取消连接设置的更改并退出页面。
- 连接名称: 数据库连接的别名,图中显示为
信息: 以文本列表方式显示数据库连接配置信息。
SQL脚本: 可以执行此连接设置下适用的SQL脚本。
下图则是SQL脚本使用示例图,三个操作按钮从左至右依次为执行语句、执行下一条语句以及跳过下一条语句。

# 2.3. 参数设置
包括常规设置、Web服务、消息服务、MQTT服务、短信验证、REST/SSL
、驱动类型、黑白名单、日志、雪花算法、微信公众平台、数据备份、日志、其它等内容。
# 2.3.1. 常规设置

图中内容说明如下:
[常规设置]
-常规- HTTP端口: HTTP协议代理服务器端口,默认的端口号为9981。
- HTTTPS端口: HTTPS协议代理服务器端口,只有在配置了SSL的情况下才可启用该选项,默认的端口号为443。
- 数据压缩级别: 数据压缩后,客户端调用数据相对会提高效率。可选择项包括:不压缩(
cNone
)、快速压缩(cFast
)、缺省压缩(cDefault
)、最大压缩(cMax
)4种。 - 线程池最大数: 设定数据连接的线程数目,通常设定为CPU个数 * 25,超过这个值系统的运行可能会不稳定(仅限于服务器,普通PC的上限数值更低)。
- 下行最大速度: 设定下行数据传输的最大速率,默认设置为0,表示为不限制下行速率。
- IP版本: IP地址类型,包括:rct_IPv4、rct_IPvOS4、rct_IPv6、rct_IPvOS6。
- 最大连接数: 程序允许的客户端同时在线连接数。
- 上行最大速度: 设定上行数据传输的最大速率,默认设置为0,表示为不限制上行速率。
- 客户端空闲时间: 客户端连接状态保持时间。对于网络不稳定的环境可将数值设置小一些。
[常规设置]
-远程函数- 模块文件名: 自定义的远程模块函数名称,默认为
/RemoteFunction
。 - 加密数据: 中间件进行数据交互时采用加密传输,默认未勾选。
- 通讯安全码: 客户端与中间件交互时,需要提供通讯安全码。此项需要勾选
[加密数据]
才有效。 - 验证用户身份: 勾选表示客户端与中间件交互时,需要进行身份验证。
- 用户数据库: 指用验证用户所在数据库的连接名称。此项在
验证用户身份
勾选时可用。 - 全局MD5盐值: MD5加盐值,使数据库更加安全。
- Token有效期: Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。
- Token锁类型: 设定Token锁的类型,有无锁(
SesNoLock
)、IP锁(SesIPLock
)、请求锁(SesFwdLock
)、倍乘锁(SesIPFwdLock
)等类型。
- 模块文件名: 自定义的远程模块函数名称,默认为
[常规设置]
-文件传输- 存储目录: 文件根目录。
- 文件不超过MB: 可指定文件大小限制,防止大文件传输,造成服务器压力。
- 使用单一根目录: 勾选此项,以文件根目录为文件目录。
[常规设置]
- FastERP 超级管理员账号- 用户名称:FastERP 用作超级管理员登录的用户名称。
- 用户密码:FastERP 用作超级管理员登录的用户密码。
示例: 在上述常规设置完成后,可以使用客户端来验证连接的可用性。比如我们可以打开Smart的用户界面,选择
工具-数据库设置
。
在TARS的标签页中的数据库设置界面中,输入相关的信息,比如服务器地址,端口号,用户名、密码,如果在TARS中选择了连接加密并设置了通讯安全码,则在此处也相应填写相关内容。
填写后,点击[获取数据库]
按钮,如果能看到下拉选项框,则说明连接设置填写正确,已与TARS服务器连接成功。

[常规设置]
- FastERP超级管理员账号- 用户名称: FastERP超级管理员用户的名称。
- 用户密码: FastERP超级管理员用户的密码。
# 2.3.2. Web服务
TARS的Web服务支持小型WEB网站架构,支持JS、HTML网页。

图中内容说明如下:
[Web服务]
-常用- 开启Web服务: 勾选以启用Web服务。
- 根目录: Web网站内容目录。
- 虚拟目录: 设置网站虚拟目录绑定的实际路径位置。
- Response Headers: 填写请求头的类型。

[Web服务]
-内容类型- 默认首页:设定自动打开的默认首页的文件名称类型。
- Content Types:设定显示内容的类型。
示例: 按照以上方式开启Web服务后,可将静态的网页项目文件放置至
D:\IsoFace\TARS\Web
目录下。然后打开本机浏览器,输入http://localhost:8809/ (opens new window)打开对应的网页页面。页面显示类似如下。

# 2.3.3. WebSocket服务
WebSocket消息服务。

图中内容说明如下:
WebSocket消息服务: 勾选启用WebSocket消息服务。
模块文件名称: WebSocket消息服务模块文件名,设置后,可使用
ws://<host>:<port>/message
来发起WebSocket连接。远程函数消息服务: 勾选启用远程函数消息服务。
模块文件名称: 远程函数消息服务模块文件名。
示例:
该功能需配合网页端的WebSocket
功能来使用,此处可打开WebSocket测试网站 (opens new window)来进行相关测试。
在测试页面的地址框中输入TARS的地址,比如TARS本机的IP地址为127.0.0.1
,开放的端口号为8809
,消息提示函数名称为message
,则对应的WebSocket
地址设置为ws://127.0.0.1:8809/message
。点击[连接]
。待服务端回应Hello,Web Socket Client!
时表示连接成功。此时可在网页页面底部的待发信息栏中输入要发送的信息,点击[发送]
按钮。

在日志列表中会显示此客户端发送的消息。

在WebSocket客户端连接的情况下,我们在TARS的消息推送界面的编辑框中输入要推送的消息,点击推送消息
即可实现向此客户端推送编辑的消息。

注册会话
连接至WebSocket服务器后,需注册会话才可使用WebSocket消息传送功能。注册会话的格式如下:
{"action":"login","sid":"test"}
发送字符串消息
向其它连接的客户端发送字符串消息,使用以下格式进行发送。
{"action":"msg","sid":"{SID}","text":"{TEXT}"}
{SID}
为目标客户端的注册会话ID,{TEXT}
为发送的文本信息。目标客户端接收的消息内容为 {TEXT}
处填写的内容。
# 2.3.4. MQTT服务
勾选开启MQTT服务
,可启动TARS中间件MQTT Broker,供MQTT Client连接使用,默认端口1883。

图中内容说明如下:
开启MQTT服务: 勾选是否开启MQTT的服务,默认为开启。
端口: MQTT服务的端口,默认为1883。
监视客户端: 勾选后,可查看连接的客户端的状态。
允许客户端匿名访问: 勾选后允许客户端不提供用户名密码进行MQTT连接访问。如取消勾选,则MQTT连接时需提供认证的用户名与密码。
开启SSL: 启用 SSL 访问。如启用 SSL 设置后,请退出 TARS 进程,并重新启动 TARS 以使 SSL 设置生效。
- 证书文件: SSL 证书文件的名称,建议置于 TARS 的安装目录中。
- 私钥文件: SSL 私钥文件的名称,建议置于 TARS 的安装目录中。
- CA文件: SSL CA文件的名称,建议置于 TARS 的安装目录中。
- 证书密码: SSL 证书的密码,如证书有设置密码请在此处提供。
示例: 按照上述方式设置完成后,可使用Smart的MQTTClient控件使用范例进行MQTT的连接测试,运行范例后,将MQTT服务端的地址更改为TARS服务端的地址,点击
连接
启用连接。输入要发送的内容,点击下方的发送按钮,如果弹出消息提示框则MQTT连接成功。

注意
- 取消
允许客户端匿名访问
勾选,则需要在连接 MQTT 服务器时提供用户名与密码,用户名与密码来源于 用户管理 中设置的项目,其中密码为经过 md5 加密后的32位密码,如使用了盐值,则需要使用加盐的计算结果作为密码。 - TARS MQTT 服务端 Client ID 最多支持 18 个字符,超出这个长度的 Client ID 的客户端连接,会被视为无效连接。
# 2.3.5. 短信验证
短信验证采用新版的阿里云通信短信接口,账号申请、获取Access Key Id 与Access Key Secret,以及短信模板的配置方式请在阿里云短信平台文档 (opens new window)查阅。此处设置的内容后,在客户端使用RFSmsSender
类型的控件时,如不填写内容运行则默认使用此设置中的内容进行填充。

图中内容说明如下:
[短信验证]
-阿里云通信- Access Key Id: 阿里通信的AccessKey ID,在阿里云官方开通阿里通信得到。
- Access Key Secret: 阿里通信的AccessKey Secret,在阿里云官方网站得到。
- 短信模板ID: 阿里通信短信模板的ID。
- 短信签名: 阿里通信短信签名。
[短信验证]
-阿里大于- App Key: 阿里大于的App Key,在阿里云官方开通阿里通信得到。
- App Secret: 阿里大于的App Secret,在阿里云官方网站得到。
- 短信模板ID: 阿里大于短信模板的ID。
- 短信签名: 阿里大于短信签名。
示例:短信验证设置完成后,可使用Smart中的短信发送范例来进行测试。在Smart中完成帐套设置的相关内容后,填写接收的手机号码,然后直接点击
[TARS发送短信]
,出现“短信下发成功”的提示时表示短信发送成功。

# 2.3.6. REST/SSL
使用SSL证书来加密通信连接,保证通信过程不被第三方窃听。请自行查询申请证书的方式有关内容。

图中内容说明如下:
[REST/SSL]
-常规- 开启REST: 勾选以后
[REST API插件]
页签功能可显示。 - 开启用户管理: 勾选以后
[用户管理]
页签功能可显示。 - 开启预设SQL管理: 勾选以后
[预设SQL管理]
页签功能可显示。
- 开启REST: 勾选以后
[REST/SSL]
-REST数据库- 访问方式: 设置REST模式下用户的访问方式。
通过SQL命令(灵活性好)
:用户在REST请求中可直接发送SQL脚本来执行。通过SQL编号(安全性高)
:用户在REST请求中发送SQL编号来执行相应的脚本。根据用户设置
:根据用户管理中的用户访问方式设置来确定访问方式。
- 访问方式: 设置REST模式下用户的访问方式。
[REST/SSL]
-PFX证书- 根证书: 设定根证书文件所在的地址。
- PFX证书: 设定PFX证书文件所在的地址。
- PFX证书密码: 设定PFX证书的密码。
[REST/SSL]
-X509证书- X509证书: 设定X509证书文件所在的地址。
- X509 Key证书: 设定X509 Key证书文件所在的地址。
- 证书密码: 设定X509证书的密码。
示例:
TARS支持上述证书类型,接下来我们介绍如何生成这两类证书以及运用至TARS中。
- 生成pfx证书:
下载pfx证书生成工具(点击下载 (opens new window)),解压文件。
使用鼠标左键双击打开CertManager.exe
。

输入组织相关的信息。填写的项目格式如下:
CN=<公司名称> OU=<单位部门名称> O=<证书持有人名称> L=<地区> C=<国家>
例如:
CN=IsoFace OU=Tec O=IsoFace L=Jiaxing C=CN
2
3
4
5
输入完成后,按下Enter按键,接下来提示要输入pvk(私钥)名称,这个名称可任意命名。
填写完成后,按下Enter按键,接下来输入cer(证书公钥)的名称,名称也是任意命名。
输入完成后,按下Enter按键,弹出对话框以创建私钥的密码,该密码一定要记住,密码以及确认密码请输入两遍。

点击[确定]
按钮,继续提示要输入刚才的密码进行确认。

输入spc(域名空间)名称,此名称也可任意进行设置。
输入完成后,按下Enter按键,提示要输入私钥密码,把刚才设定的私钥密码再次输入。

设定pfx证书的名称,可任意进行设定。

按下Enter按键,输入pfx密码,此密码需要牢记,在TARS设置中需要使用。

输入完成后,按下Enter按键,出现Succeed
字样,表示证书已生成完成。

关闭页面,在程序目录的output目录下可以找到刚才创建的证书。

打开TARS,点击参数设置-REST/SSL
,选择pfx证书。依次选择根证书、pfx证书所在目录,设定刚才创建时使用的pfx密码,点击[应用]
按钮完成设置。

经过设置后,可使用https访问指定的Web页面。
# 2.3.7. 驱动类型
数据库驱动类型管理,可自行勾选。以下项目勾选后可在数据库设置新增时选择。

# 2.3.8. 黑白名单
可设置黑名单IP限制用户访问中间件。每个IP地址设置一行。当指定的IP地址进入至黑名单后,此IP地址将不被允许接入至TARS服务器中。
# 2.3.9. 雪花算法
Twitter的分布式雪花算法 SnowFlake 每秒自增生成26个万个可排序的ID。

图中内容说明如下:
- Worker Id: 分布式系统中机器地址的位数。
- Datacenter Id: 分布式系统中集群地址的位数。
- 起始时间戳: 雪花算法下的起始Id生成的时刻,建议选择为中间件启用日期。
注意
当中间件为数据库启用了雪花算法用于生成主键后,请勿随意更改页面中的设置选项,否则会出现意想不到的错误。
- 示例:
在启用雪花算法后,可在Smart中使用此算法来获取ID。
dm.GetNewID;
# 2.3.10. 微信公众平台
勾选开启微信公众平台并保存设置后,会额外显示微信公众平台
页签。

# 2.3.11. 数据备份
可设定数据库定时自动备份功能,自动压缩成压缩包,可通过FTP上传备份数据库,还可通过邮件提醒用户备份信息。

图中内容说明如下:
[数据备份]
-备份设置- 自动备份: 勾选此项开启自动备份功能。
- 自动压缩: 勾选此项开启自动压缩备份数据库的功能,可将备份好的数据库压缩成压缩包,方便转移存储。
- FTP上传: 勾选此项开启FTP上传功能,可以将备份好的数据库上传到指定FTP目录。
- 邮件发送: 勾选此项开启备份数据库以后发送备份成功的信息到指定email。
- 备份路径: 指定数据库备份目录,用于存储备份好的数据库文件。
- 备份时间: 批定备份时间,服务器时间到达指定的备份时间后,会启动备份数据库的功能。
- 备份天数: 指备份目录下备份数据库的保留天数,如指定6天,那么在备份的时候会清除6天前的备份,以保证电脑存储不会被塞满。
- 数据库列表: 数据库列表信息,来自与
数据库设置
页签。 - 备份库列表: 通过
数据库列表
点选需要备份的数据库到此处。 [立即备份]
:用于测试数据备份
设计有效性。
[数据备份]
-FTP配置- FTP地址: 指定一个用于上传备份数据库的FTP目录。
- 端口: 指定FTP服务器的端口号,默认21。
- 帐号: 指定FTP服务器登录帐号名称,可向管理员获取。
- 密码: 指定FTP服务器登录帐号密码,可向管理员获取。
[测试上传]
:用于测试FTP配置
设计有效性。
[数据备份]
-邮件配置- 邮件服务器: 指定邮件服务器地址,如:smtp.163.com。
- 端口: 指定邮件服务器的端口号,默认25。
- 发件人: 指定一个发送邮件的发件人邮箱。
- 密码: 指定一个发送邮件的发件人邮箱的密码。
- 收件人: 指定一个接收邮件的收件人邮箱。
[测试邮件]
:用于测试邮件配置
设计有效性。
注意
选择备份路径时,请勿选择已有文件的目录作为备份路径,请自行创建一个空白的目录作为备份路径使用,否则可能会导致已有文件丢失。
# 2.3.12. 日志
可设置中间件显示哪些类型的消息日志。

- 日志缓存大小(MB): 设定日志缓存的大小,超过缓存大小后,日志将会被写入至日志文件中。
- 起始时间戳: 设定时间戳的起始数值。
- 日志保留天数: 设定日志信息的保留天数。超过该天数以前的日志信息将会被删除。
- 日志类型: 设定显示在日志列表中的日志类型。
提示信息
:客户端数据交互的相关信息。警告信息
:一些重要操作的提示信息,比如服务停止等相关信息。错误信息
:错误提示的相关信息,比如客户端连接验证错误的提示信息。连接信息
:客户端连接请求发起的相关信息。断开信息
:客户端断开连接的相关信息。SQL信息
:SQL服务端发起的相关信息。其他信息
:其他的一些日志信息。SQLMonitor
:SQL监控的相关信息。当连接设置中SQLMonitorBy
的功能设定为Custom
时可用。Web请求
:客户端发起的Web请求的相关信息。
- SQL Monitor 事件类型: 设置监控的事件类型。以下的监控事项只有在
日志类型
中的SQLMonitor
勾选时才可使用。ekLiveCycle
:生命周期事件。ekError
:错误事件。ekConnConnect
:SQL连接事件。ekConnTransact
:SQL事务事件。ekConnService
:SQL服务事件。ekCmdPrepare
:准备事件。ekCmdExecute
:执行事件。ekCmdDataIn
:数据传入事件。ekCmdDataOut
:数据传出事件。ekAdaptUpdate
:执行更新事件。ekVendor
:第三方执行事件。ekComponent
:组件事件。
- SQL日志明细: 设置日志显示的明细信息。
soDataSetParams
:数据集参数信息。soResourceOptions
:资源选项信息。soFetchOptions
:获取选项信息。soUpdateOptions
:更新选项信息。soFormatOptions
:格式选项信息。
# 2.3.13. 其他
软件标题、自动启动等一些参数设置。

软件标题: 设定软件显示的标题名称。
[设置密码]
:为保持服务端正常运行,设置密码以确保TARS服务不会被意外关闭。启动后,最小化到系统托盘:在程序启动之后,不会打开主界面,以界面最小化的方式运行,在系统托盘处显示程序图标。
关闭程序时,弹出确认对话框:在系统托盘处,找到TARS的图标,使用鼠标右键选择
退出
关闭程序前,会有提示框弹出。最小化后不更新界面,刷新间隔(秒):当TARS处于最小化运行的状态时,不对系统日志进行主动刷新显示。只保持定期时间间隔的刷新方式。
显示本机内外网IP地址:在程序的状态栏处显示当前服务器的本机IP地址以及与外网访问对接的外网IP地址。
统计网络流量(牺牲一点性能):在状态栏处显示当前的网络流量统计信息。
随Windows开机启动:设定TARS是否跟随Windows系统的启动而自动启动,以下有两种启动方式。
普通自启(有界面,需登录Windows)
:TARS以Windows程序的方式运行,在用户登录至Windows后启动并运行。后台自启(无界面,无需登录Windows)
:TARS以Windows服务的方式运行,在系统在启动后就在后台运行,用户登陆后无法看到TARS的图形管理界面。
定时检查数据库服务:TARS定期检查各个数据库设置的连接情况,对于无法连接的数据库设置会弹出相关提示信息。
# 2.4. 客户端列表
显示在线客户端信息列表,对客户端可发信息、发文件、加黑名单、断开等操作,同时显示MQTT 客户端连接信息。


客户端上相关按钮的说明如下。
[发消息]
:该按钮仅对WebSocket客户端有效,在客户端列表中选择WebSocket客户端,点击此按钮进入消息编辑页面。[发文件]
:该按钮仅对WebSocket客户端有效,在客户端列表中选择WebSocket客户端,点击此按钮进入文件发送页面。[断开]
:选择指定的客户端项后,点击此按钮清除选择项客户端的连接。[加黑名单]
:选择指定的客户端项后,点击此按钮,将选择项的IP地址加入至参数设置-黑白名单
中的黑名单中。之后来自此IP地址的TARS连接将被拒绝。常规选项卡表格说明:
- 序号:客户端连接列表的序号名称。
- 用户名:如使用FastERP客户端进行登录,则此处显示的用户名为客户端登录时的用户名称,对于Smart或者PinToo等程序,默认的登录用户名为
admin
。 - 数据库连接名称:显示当前客户端连接使用的数据库设置名称。
- 地址:连接的地址源(包括IP地址以及端口号等信息)。
- 来自:地址的来源,通常设定为局域网连接以及外网连接。
- 连接时间:首次与TARS服务端进行连接的时刻。
- 活动时间:与TARS服务端产生交互的总计运行时长。
- 请求:客户端连接过程中合计发送的连接请求数目。
- WebSocket:当前连接的客户端是否以WebSocket方式进行连接。
- SessionID:当前连接产生的会话ID,有服务端连接时生成。
- UserAgent:如果客户端是以浏览器方式进行连接(Web服务或者WebSocket、RestAPI等方式在浏览器上进行连接)时,此项显示浏览器用户代理(UA)信息。
MQTT选项卡表格说明:
- 序号:客户端连接列表的序号名称。
- ClientID:MQTT连接时客户端指定的唯一ID名称。
- 用户名:客户端连接使用的MQTT用户名称。
- IP地址:MQTT客户端连接的源IP地址。
- 来自:客户端连接的网络来源,分为局域网和互联网两种类型。
- 心跳:是否配置心跳包,心跳包的作用是定期发送数据包以监测MQTT是否还处于连接状态。
- 连接时间:首次与TARS服务端进行连接的时刻。
- 活动时间:与TARS服务端产生交互的总计运行时长。
- 请求(Bytes):客户端连接过程中合计发送的连接请求数据字节数。
- 订阅:客户端订阅的MQTT主题名称。
- 遗嘱:客户端设定的遗嘱主题信息。当发生异常情况时可向其他客户端发送相关主题信息。
# 2.5. RESTful API
主要提供使用C#、JAVA、JS等非Delphi语言开发客户端。客户端和服务端使用JSON交互,通用性极好。内置了用户登录、数据查询、更新、调用存储过程、短信验证等等一些常用接口。支持使用DLL插件进行扩展。详情可参考TARS中间件RestAPI使用手册。

表格中的说明如下。
- 名称:调用的RestAPI名称。
- 方法:RestAPI的调用方式。
- 文件名:调用RestAPI的URL路径格式。
- 参数:调用RestAPI需要携带的参数信息。
- 类型:RestAPI的引用类型。
- 描述:对RestAPI的详细说明。比如参数的要求等相关信息。
- 要求Token:调用参数是否需要携带Token信息。Token由调用用户登录的方法获取生成。
# 2.6. 用户管理
用户管理界面可对RestAPI用户进行管理操作,包括新增、修改用户设置,删除用户等功能。使用此功能前请将数据库名称选择为TARS。

界面说明如下。
[新增]
:点击此按钮,打开用户管理界面并新增用户。[编辑]
:在列表中选择要进行编辑操作的用户,点击打开用户管理界面并加载用户进行编辑。[删除]
:在列表中选择要进行删除操作的用户,点击以执行删除操作。[刷新]
:点击此按钮以刷新表格的显示。[数据库名称]
:选择要配置用户信息的连接设置名称。
表格中的字段说明如下。
用户名
:设定的RestAPI用户名称,数据访问方式
:为用户设定的数据库连接访问的形式,主要有通过SQL命令
与通过SQL编号
两种方式,详见用户管理编辑页面的说明。Insert
:此用户是否有插入数据的权限。Delete
:此用户是否有删除数据的权限。Update
:此用户是否有更新数据的权限。DDL
:此用户是否有操作表的权限。设备锁
:通过设置,可限制账号在设定的设备上登录使用。Andorid通过绑定IMEI,PC通过唯一ID绑定,中间件提供设备唯一ID获取接口。停用
:当前用户是否暂停使用。AppSecret
:应用密钥信息,在设置用户时会自动生成。创建时间
:用户资料的创建时刻。更新时间
:用户资料的最近更新时刻。
点击[新增]
,弹出用户管理窗体,见下图:

图中内容说明如下:
用户名
:客户端用户登录名称。密码
:为使用MD5后的哈希值,不保存明文密码。可在参数设置-常规设置
中增加全局MD5盐值
有效防止彩虹表撞库,被暴力破解密码。AppSecret
:借鉴阿里的安全机制,增加验证签名
时使用到,防止REST API调用过程中数据被黑客篡改,提高安全性。手机号码
:用户预留的手机号码信息。描述
:用户的描述信息。数据库访问方式
:支持通过SQL编号和SQL 命令访问。如需要通过SQL编号方式,需要在预设SQL管理
中设置好 SQL编号的内容。通过SQL命令(灵活性好)
:可直接执行相关的SQL脚本。具有较强的灵活性,在严格的用户权限管理中不建议使用这种访问方式。通过SQL编号(安全性高)
:执行预设的SQL编号内容,这种方式的安全性较高。
查询数据总行数
:限制客户端一次查询数据行数,如设置为0,则表示不限制查询行数。文件上传最大值
:允许用户上传的文件的最大数值,如设置为0,则表示不限制文件大小。Insert权限
:是否授予用户向表中插入数据的权限。Update权限
:是否授予用户更新表中数据的权限。Delete权限
:是否授予用户删除表中数据的权限。DDL权限,主要的命令有CREATE、ALTER、DROP等
:是否授予用户对表结构或数据库进行操作。停用账号
:暂停使用账号。设备锁(白名单)
:通过设置,可限制账号在设定的设备上登录使用。Andorid通过绑定IMEI,PC通过唯一ID绑定,中间件提供设备唯一ID获取接口。
# 2.7. 预设SQL管理
预设SQL,可被RestAPI通过SQL编号进行调用,提高可复用性。

界面说明如下。
[新增]
:点击此按钮,打开用户管理界面并新增用户。[编辑]
:在列表中选择要进行编辑操作的用户,点击打开用户管理界面并加载用户进行编辑。[删除]
:在列表中选择要进行删除操作的用户,点击以执行删除操作。[刷新]
:点击此按钮以刷新表格的显示。[数据库名称]
:选择要配置用户信息的连接设置名称。
表格中的列说明如下。
SQL编号
:引用的SQL命令的编号名称。数据库连接名称
:SQL编号对接使用的数据库连接设置的名称。描述
:对SQL编号的详细描述信息。创建时间
:SQL编号信息的创建时间。更新时间
:SQL编号信息最新的更新时间。SQL语句
:SQL编号对应使用的SQL语句信息。
点击[新增]
,弹出预设SQL管理窗体,见下图:

[编辑SQL]
用于定义预设SQL内容,该选项卡中内容说明如下:
- 数据库连接名称: 下拉列表内来自
[数据库连接名称]
。 - SQL编号: 预设SQL的编号,供RestAPI调用。
- 描述: 预设SQL描述说明
- SQL: 预设SQL的SQL语句内容。

[自动生成SQL]
快速生成预设SQL内容。点击[生成]
按钮,可快速构建出Insert(向表中插入数据)、Modify(更新表中数据)、Delete(删除表中数据)、FetchRow(查询表)的SQL内容。点击[添加]
按钮,可将选项卡下的SQL脚本,回传到预定SQL内容处。该选项卡中内容说明如下:
表名称: 数据表名。
Insert: 插入数据SQL。
Modify: 更新数据SQL。
Delete: 删除数据SQL。
FetchRow: 获取SQL数据记录。
示例:根据RestAPI的运行方式,我们按照TARS中提供的方式创建一个用户,并为其创建一个预设SQL,在RestAPI中调用此SQL编号来获取数据信息。
点击用户管理
,切换至用户管理界面,确认使用的数据库为TARS
,点击[新增]
按钮。

在用户管理界面填写设置使用的用户名与密码,比如可以设置登录的用户名为TARS
,密码为123456
,数据访问方式修改为通过SQL编号(安全性高)
。App Secrect
为创建时自动生成,不需要进行修改。

按照上述方式填写完成后,点击[保存(S)]
以完成用户的添加。
将TARS切换至预设SQL管理
,查看当前选择的数据库名称是否为TARS,如不是的话切换为TARS,然后点击[新增]
按钮。
设置使用的数据库连接名称以及SQL编号,SQL信息以及查询的SQL语句。可按照下图的方式进行设置。设置完成后点击[保存(S)]
按钮即可。
接下来使用浏览器进行RestAPI访问。
TARS的页签切换至REST API插件
,查询可知首先要进行用户登录,使用到的访问方式为/rest/user/login
,使用的参数为db_name
、user_name
、password
。
根据上述方式拼接完成后请求的URL示例如下:
http:/rest/user/login?db_name=TARS&user_name=TARS&password=e10adc3949ba59abbe56e057f20f883e
其中请求的地址中的地址以及端口号信息请修改为自己实际设定的地址。请求地址与请求参数之间使用?
进行分隔,各个请求参数之间使用&
进行分隔。password
参数的值为密码经过md5加密后的数值,比如密码123456
经过md5加密后的32位值为e10adc3949ba59abbe56e057f20f883e
,点击此处 (opens new window)可查询密码经md5加密后的数值。
将上述请求地址修改后置入浏览器地址栏,访问后可获得以下信息。其中的token
在后续的运行过程中会使用到,作为登录的身份凭证使用。

接下来使用编号来查询语句。
查询REST API可知使用发方法为/rest/db/opensql
,参数为data
与token
。
一个请求的示例如下:
http:/rest/db/opensql?data={"db_name": "TARS","sql_command_id": "Customers","page_size": 10,"page_index": 0}&token=C25EE280FCC746E993BF155C9AE01E2B
其中的data
参数为json,其中的db_name
为连接设置的名称,sql_command_id
为SQL编号的名称,page_size
为每页显示的记录数,page_index
为当前显示页的编号。
上述请求示例中请把请求的地址以及端口号改成自己服务器的地址和端口号,token改为自己测试执行登录时获取的token信息。参考执行的示例如下。

如果对解析以及其他类型的RestAPI使用方式有兴趣可参考Smart示例TARS RestAPI应用,以及Restful API手册。
# 2.8. 微信公众号
微信公众号功能用于管理微信公众号、微信用户、微信消息模板、微信黑名单、公众号菜单等内容。使用本页面的功能前,请先在微信公众号平台 (opens new window)注册微信公众号,并参考微信公众平台开发文档获得本节中有关内容信息。
在TARS参数设置-微信公众平台
中勾选开启微信公众平台
,应用设置后,会在标签页中显示微信公众平台
,点击以进入页面。

界面中的按钮说明如下:
[新增]
:打开账号管理界面,执行公众号的新增操作。[编辑]
:打开账号管理界面,执行公众号的编辑操作。[删除]
:选择当前选中的公众号,点击以执行删除操作。[刷新]
:刷新当前显示的公众号页面。数据库名称
:显示当前选择的数据库的名称。[开发文档]
:打开微信开发文档的页面。[全局返回码]
:打开微信开发文档关于全局返回码的相关页面。
表格中相关的信息说明如下。
公众号名称
:自定义的公众号的名称。公众号ID
:自定义的公众号的编号名称。每个引入的公众号ID应当不能重复。类型
:使用的公众号的类型(订阅号、服务号)。主营行业
:公众号内容的主要分类。AccessToken有效期
:当获取到AccessToken后,此Token的可用时间截至点,在此时刻之后AccessToken失效,需要重新获取。更新时间
:AccessToken获取的时间。服务器地址
:设定的服务器的地址。状态
:设定此公众号是否处于启用状态。备注
:备注的相关信息。
在公众号管理栏,[新增]
、[编辑]
、[删除]
按钮用于维护公众号资料。点击[新增]
按钮,出现下面对话框界面:

图中内容说明如下:
- 公众号名称: 公众号的名称。
- 类型: 公众号类型,订阅号、服务号、小程序。
- 主营行业: 公众号适用在哪个行业。
- 副营行业: 公众号适用在哪个副行业。
- 开发者ID(AppId): AppID来自到微信公众号平台,需要在微信公众平台注册并开启开发相关的功能。
- 公众号ID: 给公众号编号。
- 开发者密码(AppSecret): 来自微信公众号平台。需要在微信公众平台注册并开启开发相关的功能。
- 服务器地址(URL): 微信回调地址。
- 令牌(Token): 与微信公众号交互时用到的令牌。
- 消息加密解密(EncodingAESKey): 在微信公众号平台中设置。用于加密,可保障信息传递的安全性。
- 备注: 公众号备注说明。
- 启用: 勾选启用公众号。
# 2.8.1. 用户管理
用户管理页面显示当前选择的公众号所有关注的用户信息。

用户分组界面的按钮说明如下:
[新增]
:新增用户分组。选择分组中的一个项目,点击按钮在其中增加一个分组。[编辑]
:选择分组后,点击按钮编辑分组名称信息。[删除]
:选择分组后,点击以删除选择的分组。[刷新]
:选择分组后,点击以刷新显示。
用户列表界面的按钮说明如下。
[编辑]
:打开用户信息页面查看用户的相关信息。[发消息]
:向指定的用户发送消息。[拉黑]
:对用户进行拉黑,拉黑后用户无法在公众号中进行互动操作。[刷新]
:刷新用户列表的显示。
表格中显示的内容说明如下。
- 头像:显示关注用户的头像图片。
- 昵称:显示关注用户的微信名称。
- 备注:关注用户的备注信息。
- 国家:关注用户所属的国家。
- 省份:关注用户所属的省份。
- 城市:关注用户所属的城市。
- 性别:关注用户的性别。
- 标签ID:关注用户的标签ID信息。
- 是否订阅:关注用户是否订阅公众号。通常显示为
已订阅
。 - 关注来源:关注来源。比如有
公众号搜索
、其他
、扫描二维码
等。 - 关注时间:关注用户的关注时间。
- 所属公众号:关注用户关注的公众号名称。
- 更新时间:用户列表的更新时间。
可通过[新增]
、[编辑]
、[删除]
按钮进行用户分组资料的维护。
点击[拉黑]
按钮,可将选中的用户拉入黑名单。
选中用户记录,点击[编辑]
按钮,或者直接点击显示微信用户资料编辑对话框,可对用户的标签、备注进行维护。

界面中的标签说明如下。
- 昵称:显示关注用户的微信名称。
- 性别:关注用户的性别。
- 地区:关注用户所在的地区。
- 是否订阅:当前用户是否订阅此公众号。
- 来源:关注公众号的方式。
- 关注时间:关注用户的关注时间。
- 标签:关注用户的标签信息。
- 备注:关注用户的备注信息。
- OpenID:用户的OpenID信息,每个用户都有此唯一ID,在用户注册微信号后自动生成分配,是作为微信用户的唯一标识使用。
# 2.8.2. 黑名单管理
黑名单中显示的是在用户管理中被拉黑的用户,选择用户,点击[取消拉黑]
按钮,可将选中微信的用户恢复正常。

界面中的按钮说明如下。
[取消拉黑]
:选择对应的用户,点击按钮将此用户从订阅号黑名单中除名。[刷新]
:刷新显示的黑名单内容。[帮助]
:打开微信开发文档黑名单部分的内容。
表格界面中的内容说明如下。
- 头像:显示关注用户的头像图片。
- 昵称:显示关注用户的微信名称。
- 备注:关注用户的备注信息。
- 国家:关注用户所属的国家。
- 省份:关注用户所属的省份。
- 城市:关注用户所属的城市。
- 性别:关注用户的性别。
- 语言:关注用户使用的语言。
- 分组:关注用户所在的分组。
- 关注时间:关注用户的关注时间。
- 关注来源:关注来源。比如有
公众号搜索
、其他
、扫描二维码
等。 - 更新时间:最近更改黑名单信息的时刻。
- OpenID:客户的ID信息。
# 2.8.3. 模板管理
模板为微信发动给用户的消息模板,此类消息模板需经过微信公众平台进行创建。
点击[刷新]
按钮,可同步微信公众号平台新增的模板内容到本地。
点击[删除]
按钮,将选中的模板删除,同时也将微信公众号平台中的模板也删除。

界面中的按钮说明如下。
[查看]
:查看模板信息。[删除]
:删除当前选择的模板信息。[刷新]
:刷新显示模板信息。[帮助]
:打开微信开发文档模板管理的相关网页。
界面中的表格字段说明如下。
- 所属公众号:消息模板所属的公众号。
- 模板ID:消息模板的ID。
- 模板标题:消息模板的标题。
- 模板内容:消息模板的内容,包含显示的格式内容等信息。
# 2.8.4. 菜单管理
通过开发平台,设置,可以为每一个用户设定不同类型的菜单。

图中内容说明如下:
[查询菜单]
:下载微信公众号的菜单,以json格式组成。[创建菜单]
:将json菜单内容上传到微信公众号。[创建个性菜单]
:可定制每个微信用户的个性菜单。将json菜单内容赋予给指定的用户[个性化菜单匹配结果]
:对比微信用户个人菜单是否与当前编辑的菜单内容一致。[删除个性化菜单]
:删除微信用户个人菜单。[删除全部菜单]
:删除微信公众号全部菜单。
# 2.8.5. 使用示例
- 消息推送
TARS微信公众平台的使用需要用户拥有一个经过认证的微信公众号,只有经过微信认证的公众号才可以开启开发相关的功能。如果暂时没有相关的公众号可使用的话可以使用测试号进行测试。
点击https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login (opens new window)根据页面操作获取测试账号,并得到测试号信息中的appID
与appsecret
。
点击微信公众号列表界面的[新增]
按钮,打开新增页面,在页面中输入公众号名称
、开发者ID(AppId)
、开发者密码(AppSecret)
,前者可任意起名,后两者填写在测试账号中看到的信息。

使用手机打开微信客户端,扫一扫测试号的二维码关注此测试号。
TARS点击至用户管理界面,点击用户列表的刷新
按钮刷新刚才关注的用户列表,选择此用户,点击发消息
按钮,打开发送界面。
在发送消息
界面输入消息,点击[发送]
。在消息列表中会看到此消息提示。

以上仅用于测试微信公众平台的配置是否可用,微信公众平台的相关功能需结合其他产品一起使用。如有需要请查阅产品的微信公众平台对接示例。FastERP
由于微信公众平台的限制,公众号只能主动回复两个小时内用户回复的消息,因此如果是后续再次使用此功能进行测试的,需要使用对应用户的微信账号向此公众号发送文本消息后,才可以进行文本消息发送的测试。
- 模板消息推送
模板消息是微信公众号实现消息推送的一个重要功能,我们还是以上面使用的测试号为例来说明模板消息推送的完整流程。关于模板消息推送的功能的具体实现方式可参考微信开放文档 (opens new window)。
首先需要制作一个模板消息。打开https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login (opens new window),按照网页指引登录测试号并在模板消息接口中点击新增测试模板
。
模板的标题可以起名为异常报警
。模板的内容根据参数说明进行排列设置。

在模板消息中所有的参数需以{{
作为开头,以.DATA}}
结尾。其他不在{{}}
内显示的内容会被作为固定内容出现。
{{keyword.DATA}} //内容部分,其中的keyword可以替换为任意的内容,在后续提交的JSON要确保与此处设置的参数一致,根据需要可以设置多行
下面展示一个模板内容与预览示例。

此处我们填写以下示例的模板内容。将此部分的内容作为新增的模板消息,模板标题为异常报警
,点击[提交]
。
{{first.DATA}}
消息时间:{{keyword1.DATA}}
异常数据:{{keyword2.DATA}}
{{remark.DATA}}
2
3
4

在模板消息列表中查看模板ID,此模板ID会在后续的推送中使用。
接下来开始设置推送的JSON。推送的json格式如下。
{
"touser":"OPENID",
"template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY",
"url":"http://weixin.qq.com/download",
"miniprogram":{
"appid":"xiaochengxuappid12345",
"pagepath":"index?foo=bar"
},
"data":{
"first": {
"value":"恭喜你购买成功!",
"color":"#173177"
},
"keyword1":{
"value":"巧克力",
"color":"#173177"
},
"keyword2": {
"value":"39.8元",
"color":"#173177"
},
"keyword3": {
"value":"2014年9月22日",
"color":"#173177"
},
"remark":{
"value":"欢迎再次购买!",
"color":"#173177"
}
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
参数说明如下。
参数 | 是否必填 | 说明 |
---|---|---|
touser | 是 | 接收者的openid,测试号中在用户列表界面可以查看,也可以在TARS的微信公众平台中的用户处查看 |
template_id | 是 | 模板ID |
url | 否 | 模板跳转链接(海外帐号没有跳转能力) |
miniprogram | 否 | 跳小程序所需数据,不需跳小程序可不用传该数据 |
appid | 是 | 所需跳转到的小程序appid(该小程序appid必须与发模板消息的公众号是绑定关联关系,暂不支持小游戏) |
pagepath | 否 | 所需跳转到小程序的具体页面路径,支持带参数,(示例index?foo=bar),要求该小程序已发布,暂不支持小游戏 |
data | 是 | 模板数据 |
color | 否 | 模板内容字体颜色,不填默认为黑色 |
注:url
和miniprogram
都是非必填字段,若都不传则模板无跳转;若都传,会优先跳转至小程序。开发者可根据实际需要选择其中一种跳转方式即可。当用户的微信客户端版本不支持跳小程序时,将会跳转至url
。
根据我们设置的模板消息内容,将JSON设置为如下形式。请注意一定要将touser
与template_id
后面的参数修改为你设置的接收推送消息的用户OpenID与模板ID。
{
"touser":"USEROPENID",
"template_id":"jtBGATt_SaV8ryGPRnxVHaA6oO94pI8g9g53ki8VLfo",
"data":{
"first": {
"value":"异常提醒",
"color":"#173177"
},
"keyword1":{
"value":"2021年12月31日 12:43:52",
"color":"#173177"
},
"keyword2": {
"value":"水温异常,请及时检查",
"color":"#173177"
},
"remark":{
"value":"点击此处查看异常详情!",
"color":"#173177"
}
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
接下来我们使用FastWeb来实现消息推送的功能。使用管理员权限登录进FastWeb的开发模式,点击系统工具-模块列表(WEB)
,在打开的模块列表(WEB)
中点击[添加]
按钮新增一个测试模块,然后选择此测试模块,点击[模块设计]
按钮进入至模块设计界面。
在设计界面放置TUgRFWechatMP
与TUgButton
,两者分别位于服务器
与标准
选项卡中。
点击UgButton01
,在属性查看器中为TUgButton
设置OnClick
事件,切换至脚本编辑界面。

公共单元与权限处(脚本编辑页面的右侧)需勾选pub_js_tarslink
,脚本UgButton01OnClick
中填写的内容如下。
//JScript
function UgButton01OnClick(sender)
//填写时请注意一定要将touser部分的OpenID与template_id改成您获取到的。
{
var vJSON;
UgRFWechatMP01.Connection = UgRFConnection01;
//公众号的名称,需与TARS中设置的名称一致
UgRFWechatMP01.AccountName = "测试号01";
vJSON = "{\"touser\":\"USEROPENID\",\"template_id\":\"jtBGATt_SaV8ryGPRnxVHaA6oO94pI8g9g53ki8VLfo\","+
"\"data\":{\"first\":{\"value\":\"异常提醒\",\"color\":\"#173177\"},\"keyword1\":{\"value\":\"2021年12月31日 12:43:52\",\"color\":"+
"\"#173177\"},\"keyword2\":{\"value\":\"水温异常,请及时检查\",\"color\":\"#173177\"},\"remark\":{\"value\":\"点击此处查看异常详情!" +
"\",\"color\":\"#173177\"}}}";
//发送模板消息
UgRFWechatMP01.SendTemplateMessage(vJSON);
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//PasScript
procedure UgButton01OnClick(sender: tobject);
//填写时请注意一定要将touser部分的OpenID与template_id改成您获取到的。
var
vJSON: String;
begin
UgRFWechatMP01.Connection := GETRFERP;
//公众号的名称,需与TARS中设置的名称一致
UgRFWechatMP01.AccountName := '测试号01';
vJSON := '{"touser":"USEROPENID","template_id":"jtBGATt_SaV8ryGPRnxVHaA6oO94pI8g9g53ki8VLfo",'+
'"data":{"first":{"value":"异常提醒","color":"#173177"},"keyword1":{"value":"2021年12月31日 12:43:52","color":'+
'"#173177"},"keyword2":{"value":"水温异常,请及时检查","color":"#173177"},"remark":{"value":"点击此处查看异常详情!' +
'","color":"#173177"}}}';
//发送模板消息
UgRFWechatMP01.SendTemplateMessage(vJSON);
end;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Make sure to add code blocks to your code group
运行示例,点击按钮后,关注此测试号的目标用户会接收到此消息推送。

# 2.9. 物联网
管理物联网通讯协议、设备监控设备、监控异常及消息推送管理。
# 2.9.1. 数据连接设置
设备物联网连接数据库、刷新时间、显示日志等相关设置。
数据连接设置图中说明如下:
- 连接名称: 物联网监控连接使用的数据库。
- 即时数据刷新时间: 监控数据即时显示的频率。
- 显示即时数据日志: 勾选,即时监控数据可显示在日志中。
- 自动启动监控: 勾选,启动TARS时自动启动监控。
物联网设置使用连接设置的数据库为TARS
,其他的数据库连接设置不支持数据监控功能。
# 2.9.2. 通讯协定设置
管理物联网通讯协议,如串口、Modbus、MQTT、OPC等。
通讯协议栏目中的按钮说明如下。
[新增]
:点击新增通讯协议。[删除]
:删除当前选择的通讯协议。[保存]
:保存通讯协议的设置。[刷新]
:刷新通讯协议列表的显示。
通讯协议栏目中的说明如下:
- 协议编号: 定义协议的编号,方便管理。
- 协议类型: 可使用的通讯协议的类型,包括
ModBus RTU
、ModBus TCP
、OPC
、MQTT
、WIFI
、Bluetooth
。 - 协议名称: 定义协议的描述名称。
- 协议说明: 定义协议的其它说明。
下面展示各通讯协议的协议参数。

ModbusRTU
协议参数说明如下。
- 端口编号:指定用于通过串行网络传输的通信端口,在更改此参数时要先停止监控的运行。比如如填写2的表示为端口号COM2。
- RTS等待时间:指定时间段(以毫秒为单位),在发送完所有缓冲字节后,在降低 RTS(请求发送) 线路之前应等待的时间段。 此属性仅在
流量控制
设定为fcRtsToggle
时适用。 此属性与某些依赖于 RTS 线切换进行数据传输的硬件信号转换器(例如 RS232 到 RS485)结合使用时非常有用。 - 传输速率:串口通信连接速率的设定值。为了确定此属性的正确值,请参阅您的客户端/服务器的参考手册关于串口通信速率的相关信息。 请注意,共享相同端口连接的所有远程 Modbus 客户端/服务器必须使用此参数的相同值。
- Silent Interval:确定在通过串行网络传输 Modbus 帧期间两个连续字符之间允许出现的最大时间间隔。在 Modbus 协议中,整个帧必须作为连续的字符流传输。默认值为4,表示如果在帧完成之前出现超过 4 个字符时间的静默间隔,则接收器应刷新未完成的帧。如果您在等待远程服务器的回复时经常遇到传输错误,且调整过超时以及时延相关的参数后仍未解决问题的,增加此选项的值可能可以帮助您解决问题。
- 数据位数:指定每个串行字符要使用的数据位数。 默认值为8,为了确定此属性的正确值,请参阅您的客户端/服务器的参考手册关于通信数据位数相关的内容。
- 发送超时:指定通过串行网络将 Modbus 帧发送到远程 Modbus 服务器的总超时时间(以毫秒为单位)。 无论出于何种原因,在此期间未能发送帧都被视为传输错误。 默认值为 1000 毫秒(一秒)。
- 停止位:指定每个串行字符要使用的停止位数。 默认值为 1。为了确定此属性的正确值,请参阅您的客户端/服务器的参考手册关于停止位的相关信息。 请注意,共享相同 端口连接的所有远程 Modbus 客户端/服务器必须使用此参数的相同值。一般来说,如果
校验位
的值为psNone
,则应将此参数设置为2。 否则应设置为1。 - 接收超时:指定通过串行网络从远程 Modbus 服务器接收 Modbus 帧的总超时时间(以毫秒为单位)。 无论出于何种原因,在此期间未能接收到帧都被视为传输错误。 默认值为 1000 毫秒(一秒)。 为确保参数的值设置得足够长,以涵盖共享同一Modbus连接的所有远程 Modbus 服务器的最长可能事务处理时间。 如果您在等待远程服务器的回复时遇到传输错误,并且之前的 Modbus 事务不是在广播模式下启动的,则增加此参数的值可能会帮助您消除问题。
- 校验位:校验位的检验方式,有无校验(psNone)、奇校验(psOdd)与偶校验(psEven)三种类型。
- 更新等待时间:指定在执行每个 Modbus 事务之前插入的时间延迟(以毫秒为单位)。 部分设备在串行网络上接收和随后发送 Modbus 帧之间至少存在最小间隙。 如果在等待远程服务器回复时遇到传输错误,前提是可能有两个或更多远程 Modbus 服务器共享同一个连接,并且前面的 Modbus 事务是快速连续发起的,增加此参数的值可以帮助您解决问题。
- 流量控制:设定串口数据流量的控制方式。流量控制用于同步发送端与接收端的数据传输总体速率,降低有无流控(fcNone)、请求发送触发流控(fcRtsToggle)、半双工切换流控(fcRtsCts)、数据终端就绪/数据设置就绪(fcDtrDsr)。
- 最多更新次数:如果在执行期间重复检测到传输错误,则确定此连接必须重新执行特定 Modbus 事务的次数。 此项接受任何大于零的整数值。 默认值为3,这意味着每个事务将最多执行三次,无论它在执行期间是如何进行的(即,即使它成功或失败),此项仅适用于在本地客户端模式下工作的情况。
- 查询前先回复:如果该选项被勾选,则可用于处理 RS-232<->RS-485 转换器的数据帧,转换器在接收到数据帧(Modbus 查询)后立即自动将其回送至发起事务的客户端,默认情况下此项不需要勾选,部分RS-232<->RS-485 转换器可能需要此项的支持。
- 广播等待时间:指定发送 Modbus 广播查询后插入的时间延迟(以毫秒为单位),以允许任何远程 Modbus 服务器在发送新查询之前处理当前查询。 确保参数的值设置得足够长,以涵盖共享同一连接的所有远程 Modbus 服务器的最长可能事务处理时间。 如果您在等待远程服务器的回复时遇到传输错误,则增加此项的值可能会帮助您消除问题。
- 可控制线:设置以是否开启RTS(请求发送)功能。

ModbusTCP
协议参数说明如下。
- 连接超时:连接至Modbus设备的超时时间,以毫秒为单位。
- 读取超时:读取Modbus设备的超时时间,以毫秒为单位。
- 超时:设定的操作的总体超时时间,以毫秒为单位。

OPC
协议参数说明如下。
- OPC伺服器:OPC服务器的名称。通过点击下拉按钮查找位于本机的OPC伺服器。
[开始浏览]
:点击按钮查看选择OPC服务器中可用的数据类型。- 快速:
- 数据类型:OPC传递的数据的类型。如果OPC传递的数据类型为整数,选择
vtI2
或者vtI4
,如果传递的数据类型为实数,选择vtR4
或者vtR8
。 - 过滤:用于设置OPC的过滤条件。
- 读取:是否开启读取功能。
- 写入:是否开启写入功能。

MQTT
协议参数说明如下。
- 服务器:MQTT服务器所在的地址。
- 用户名:MQTT连接使用的用户名称。
- SSL:是否启用 SSL 协议的 MQTT 连接。
- 端口号:MQTT连接使用的端口号信息。
- 密码:MQTT连接使用的密码信息。
# 2.9.3. 设备监控设置
设备监控设置界面用于配置设备的通讯协定、监控站点、脚本等配置。
通讯协议栏目中的按钮说明如下。
[新增]
:点击新增通讯设备。[删除]
:删除当前选择的通讯设备。[保存]
:保存通讯设备的设置。[刷新]
:刷新通讯设备列表的显示。
通讯协议栏目中的说明如下:
- 设备编号: 定义的设备的编号。
- 设备名称:定义的设备的名称。

Modbus设置界面如上图所示,其中的参数说明如下。
设备信息
设备编号
:使用设备的编号信息。是否可用
:当选项被勾选时,设备会进入至监控列表实施定时采集。设备名称
:设定使用设备的名称。从机号
:在ModbusRTU
中使用,对于连接在同一个端口的硬件设备,在ModbusRTU
通讯中使用此编号来区分不同的设备,在Modbus通讯帧中置入从机编号,由对应的从机来反馈结果。通讯协定
:设定设备使用的通讯协定设置名称。IP地址
:在ModbusTCP
中使用,设置连接的设备的IP地址信息。端口号
:在ModbusTCP
中使用,设置连接的设备的端口号信息。所属设备
:监控设备所监控的生产设备的名称。设备说明
:对监控设备的相关说明。
站点设置:
站点名称
:监控设备监控的参数名称。比如温度、湿度、电压等。数据类型
:监控设备采集的数据的类型。Binary
:二进制数据。Boolean
:布尔值,当为0时表示为False
,1表示为True
。Integer
:整形值。Float
:浮点数值。String
:字符串类型的取值。
功能代码
:Modbus的功能码,代表不同的取值方式。01ReadCoils(0x)
:读取线圈的状态。02ReadInputStatus(1x)
:读取离散输入寄存器的状态。03ReadHoldingRegisters(4x)
:读取保持寄存器。04ReadInputRegisters(3x)
:读取输入寄存器。
数据地址
:设定读取寄存器的起始地址,在ModbusTCP
中,读取的地址以1开始,在ModbusRTU
中,读取的地址以0开始。数据长度
:设定从数据地址位开始读取的寄存器的数据字节数。活动率
:数据采集过程中响应返回数据与发送数据的比率。监控时间
:设定监控活动发生的时间范围,监控仅在此时间范围内工作。监控周期
:监控设备进行数据采集工作的周期数值,即每隔多长时间进行一次数据采集。保存频率
:对采集的数据信息进行保存的时间间隔,即每隔多长时间进行数据的保存。监控记录
:设定是否对采集的数据进行保存操作。数据上限
:设定采集的数据的警报上限,超过此上限的数据将触发警报。数据下限
:设定采集的数据的警报下限,低于此下限的数据将触发警报。偏移量
:如果采集的数据与实际值是有固定的加减关系的,该值可用于消除两者之间的差异值。实时传值
:此项勾选时,不管检测的数据与上次相比是否发生变化都会传值,否则只在数据发生变化时进行传值操作。备注说明
:对采集的数据信息的说明。仪表类型
:设定采集数据的设备类型。监测类型
:设定设备采集的数据的种类类型。上限警报
:触发数据采集上限的警报的等级。此项会与监控警报中对应设备的警报等级进行比较,如果此处设定的警报等级大于监控警报中的等级,则会触发警报。下限警报
:触发数据采集下限的警报的等级。此项会与监控警报中对应设备的警报等级进行比较,如果此处设定的警报等级大于监控警报中的等级,则会触发警报。站点类型
:站点的数据操作类型,如果需要进行数据采集,此处设置为Read
(读),如果需要实现控制,此处需设置为Write
(写)。[更新设备]
:更新监控设备的参数信息,在更新设备前要先暂停监控设备的运行。[暂停监控]
:暂时停止监控设备的运行。[重启设备]
:重新启动对设备的监控。数据脚本
:部分数据需要在处理后才可以转换为正确的取值,可通过脚本进行转换。消息脚本
:用于触发部分消息推送的脚本信息。数据转存
:用于设置数据转存至其他数据库的方式。
数据转存标签页中可设置转存的数据库以及转存的SQL语句。首先需点击 刷新
按钮刷新数据库列表,然后选择要转存的目标数据库。
图中示例说明如下:
数据库
:设置转存的数据库连接的名称。刷新
:刷新数据库连接设置列表并显示。可用
:设置是否启用数据转存功能。[保存]
:保存数据转存设置。SQL语句
:转存使用的 SQL 语句。Modbus 模式中提供下列参数可供使用:
参数名称 | 参数表达语句 | 参数说明 |
---|---|---|
ModuleNo | :ModuleNo | 设备编号 |
ModuleName | :ModuleName | 设备名称 |
Site | :Site | 站点 |
BeginTime | :BeginTime | 开始时间 |
EndTime | :EndTime | 结束时间 |
DataUpper | :DataUpper | 最大上限值 |
DataLower | :DataLower | 最小下限值 |
Offset | :Offset | 偏移量 |
DataType | :DataType | 数据类型 |
DataValue | :DataValue | 当前值 |
LastValue | :LastValue | 上次值 |
RegValues | :RegValues | 数位字符串 |
BitValues | :BitValues | 类比字符串 |
在MySQL中,参数的使用方式示例如下:
INSERT INTO nodered_data
(id, time, type, value)
VALUES (UUID(), NOW(), 'elec', :DataValue)
2
3
其中的 :DataValue
作为参数插入,在实际运行时会替换为写入的值。如果使用 :
开头引用了上述列表中不存在的参数,则此参数在格式化后会以 NULL
写入。
点击右侧的 自动生成
标签页,可通过向导快速生成插入语句。

图中的字段说明如下:
表名称
:选择要生成插入语句的表的名称。引号列名
:将数据表的列名打上引号。生成 MySQL 适用的 SQL 语句可勾选此选项。引号表名
:将数据表的表名打上引号。生成 MySQL 适用的 SQL 语句可勾选此选项。优雅的
:以优雅模式生成,已设定为默认必选项。生成
:生成插入数据表的语句。添加
:将生成的语句添加至数据转存SQL语句中。SQL语句
:自动生成的 SQL 语句。

OPC监控设置界面如上图所示,其中的参数说明如下。
OPC群组
群组编号
:设定显示OPC群组的编号。是否可用
:群组是否处于可用的状态。群组名称
:设定显示OPC群组的名称。通讯协定
:监控设备使用的通讯协定的名称。所属设备
:监控设备所监控的生产设备的名称。设备说明
:对监控设备的相关说明。
项目设置
Item项目
:监控的OPC项目的名称。数据类型
:监控设备采集的数据的类型。Binary
:二进制数据。Boolean
:布尔值,当为0时表示为False
,1表示为True
。Integer
:整形值。Float
:浮点数值。String
:字符串类型的取值。
监控时间
:设定监控活动发生的时间范围,监控仅在此时间范围内工作。监控周期
:监控设备进行数据采集工作的周期数值,即每隔多长时间进行一次数据采集。活动率
:数据采集过程中响应返回数据与发送数据的比率。数据上限
:设定采集的数据的警报上限,超过此上限的数据将触发警报。数据下限
:设定采集的数据的警报下限,低于此下限的数据将触发警报。保存频率
:对采集的数据信息进行保存的时间间隔,即每隔多长时间进行数据的保存。监控记录
:设定是否对采集的数据进行保存操作。备注说明
:对采集的数据信息的说明。偏移量
:如果采集的数据与实际值是有固定的加减关系的,该值可用于消除两者之间的差异值。实时传值
:此项勾选时,不管检测的数据与上次相比是否发生变化都会传值,否则只在数据发生变化时进行传值操作。仪表类型
:设定采集数据的设备类型。监测类型
:设定设备采集的数据的种类类型。上限警报
:触发数据采集上限的警报的等级。下限警报
:触发数据采集下限的警报的等级。项目类型
:站点的数据操作类型,通常均为read
(读取)。[添加Item项目]
:新增数据采集的项目。数据脚本
:部分数据需要在处理后才可以转换为正确的取值,可通过脚本进行转换。消息脚本
:用于触发部分消息推送的脚本信息。数据转存
:用于设置数据转存至其他数据库的方式。
数据转存标签页中可设置转存的数据库以及转存的SQL语句。首先需点击 刷新
按钮刷新数据库列表,然后选择要转存的目标数据库。
图中示例说明如下:
数据库
:设置转存的数据库连接的名称。刷新
:刷新数据库连接设置列表并显示。可用
:设置是否启用数据转存功能。[保存]
:保存数据转存设置。SQL语句
:转存使用的 SQL 语句。Modbus 模式中提供下列参数可供使用:
参数名称 | 参数表达语句 | 参数说明 |
---|---|---|
ModuleNo | :ModuleNo | 群组编号 |
ModuleName | :ModuleName | 群组名称 |
Site | :Site | 站点 |
BeginTime | :BeginTime | 开始时间 |
EndTime | :EndTime | 结束时间 |
DataUpper | :DataUpper | 最大上限值 |
DataLower | :DataLower | 最小下限值 |
Offset | :Offset | 偏移量 |
DataType | :DataType | 数据类型 |
DataValue | :DataValue | 当前值 |
LastValue | :LastValue | 上次值 |
在MySQL中,参数的使用方式示例如下:
INSERT INTO nodered_data
(id, time, type, value)
VALUES (UUID(), NOW(), 'elec', :DataValue)
2
3
其中的 :DataValue
作为参数插入,在实际运行时会替换为写入的值。如果使用 :
开头引用了上述列表中不存在的参数,则此参数在格式化后会以 NULL
写入。
点击右侧的 自动生成
标签页,可通过向导快速生成插入语句。

图中的字段说明如下:
表名称
:选择要生成插入语句的表的名称。引号列名
:将数据表的列名打上引号。生成 MySQL 适用的 SQL 语句可勾选此选项。引号表名
:将数据表的表名打上引号。生成 MySQL 适用的 SQL 语句可勾选此选项。优雅的
:以优雅模式生成,已设定为默认必选项。生成
:生成插入数据表的语句。添加
:将生成的语句添加至数据转存SQL语句中。SQL语句
:自动生成的 SQL 语句。

MQTT监控设置界面如上图所示,其中的参数说明如下。
MQTT群组:
群组编号
:设定显示MQTT群组的编号。是否可用
:群组是否处于可用的状态。群组名称
:设定显示MQTT群组的名称。通讯协定
:监控设备使用的通讯协定的名称。所属设备
:监控设备所监控的生产设备的名称。设备说明
:对监控设备的相关说明。
项目设置:
Item主题
:设定监控订阅的主题名称。数据类型
:监控设备采集的数据的类型。Binary
:二进制数据。Boolean
:布尔值,当为0时表示为False
,1表示为True
。Integer
:整形值。Float
:浮点数值。String
:字符串类型的取值。
监控时间
:设定监控活动发生的时间范围,监控仅在此时间范围内工作。监控周期
:监控设备进行数据采集工作的周期数值,即每隔多长时间进行一次数据采集。活动率
:数据采集过程中响应返回数据与发送数据的比率。数据上限
:设定采集的数据的警报上限,超过此上限的数据将触发警报。数据下限
:设定采集的数据的警报下限,低于此下限的数据将触发警报。保存频率
:对采集的数据信息进行保存的时间间隔,即每隔多长时间进行数据的保存。监控记录
:设定是否对采集的数据进行保存操作。备注说明
:对采集的数据信息的说明。偏移量
:如果采集的数据与实际值是有固定的加减关系的,该值可用于消除两者之间的差异值。实时传值
:此项勾选时,不管检测的数据与上次相比是否发生变化都会传值,否则只在数据发生变化时进行传值操作。仪表类型
:设定采集数据的设备类型。监测类型
:设定设备采集的数据的种类类型。上限警报
:触发数据采集上限的警报的等级。此项会与监控警报中对应设备的警报等级进行比较,如果此处设定的警报等级大于监控警报中的等级,则会触发警报。下限警报
:触发数据采集下限的警报的等级。此项会与监控警报中对应设备的警报等级进行比较,如果此处设定的警报等级大于监控警报中的等级,则会触发警报。项目类型
:站点的数据操作类型,通常均为sub
(订阅)。如设置为pub
需配合 RestAPI 使用。数据脚本
:部分数据需要在处理后才可以转换为正确的取值,可通过脚本进行转换。数据脚本中可使用Payload
、Topic
等参数。消息脚本
:用于触发部分消息推送的脚本信息。数据转存
:用于设置数据转存至其他数据库的方式。

数据转存标签页中可设置转存的数据库以及转存的SQL语句。首先需点击 刷新
按钮刷新数据库列表,然后选择要转存的目标数据库。
图中示例说明如下:
数据库
:设置转存的数据库连接的名称。刷新
:刷新数据库连接设置列表并显示。可用
:设置是否启用数据转存功能。[保存]
:保存数据转存设置。SQL语句
:转存使用的 SQL 语句。Modbus 模式中提供下列参数可供使用:
参数名称 | 参数表达语句 | 参数说明 |
---|---|---|
ModuleNo | :ModuleNo | 群组编号 |
ModuleName | :ModuleName | 群组名称 |
Site | :Site | Item主题 |
BeginTime | :BeginTime | 开始时间 |
EndTime | :EndTime | 结束时间 |
DataUpper | :DataUpper | 最大上限值 |
DataLower | :DataLower | 最小下限值 |
Offset | :Offset | 偏移量 |
DataType | :DataType | 数据类型 |
DataValue | :DataValue | 当前值 |
LastValue | :LastValue | 上次值 |
在MySQL中,参数的使用方式示例如下:
INSERT INTO nodered_data
(id, time, type, value)
VALUES (UUID(), NOW(), 'elec', :DataValue)
2
3
其中的 :DataValue
作为参数插入,在实际运行时会替换为写入的值。如果使用 :
开头引用了上述列表中不存在的参数,则此参数在格式化后会以 NULL
写入。
点击右侧的 自动生成
标签页,可通过向导快速生成插入语句。

图中的字段说明如下:
表名称
:选择要生成插入语句的表的名称。引号列名
:将数据表的列名打上引号。生成 MySQL 适用的 SQL 语句可勾选此选项。引号表名
:将数据表的表名打上引号。生成 MySQL 适用的 SQL 语句可勾选此选项。优雅的
:以优雅模式生成,已设定为默认必选项。生成
:生成插入数据表的语句。添加
:将生成的语句添加至数据转存SQL语句中。SQL语句
:自动生成的 SQL 语句。
# 2.9.4. 监控记录查看
监控记录查看页面可以对各监控设备的监控数据进行查询。

界面说明如下。
- 日期:设定查询的数据采集时间范围。
- 设备名称:查看采集的数据的设备名称。
[查询]
:点击按钮后,根据设定的日期以及设备名称进行查询。
监控记录表格页面的说明如下。
设备编号
:采集监控设备的编号信息。设备名称
:采集监控设备的名称。站点名称
:采集的数据信息表示名称。数据类型
:采集的数据显示的类型。采集时间
:采集数据发生的时间。十六进制(HEX)数据
:如果采集的数据是以十六进制展示的,则显示对应的十六进制原始数据。十进制(DEC)数据
:如果采集的数据是以十进制展示的,则显示对应的十进制原始数据。数据值
:经过进制转换后显示的目标数据值。
监控记录的详细信息的说明如下。
设备编号
:采集监控设备的编号信息。设备名称
:采集监控设备的名称。站点名称
:采集的数据信息表示名称。数据类型
:采集的数据显示的类型。采集时间
:采集数据发生的时间。数据1
-数据8
:采集的原始数值的表示形式,用于不同类型的数据转换使用。
# 2.9.5. 异常消息推送
管理设备异常日志的消息推送配置,可将异常日志通过Email或微信消息模板推送至指定用户。

图中内容说明如下:
[刷新]
:刷新异常日志。[已处理]
:改变异常日志的状态为已处理,已处理的异常日志将不再显示。[消息设置]
:显示消息设置对话框。[启动消息监控]
:启动异常日志监控,如果有异常日志将会根据消息设置内容进行消息推送。[停止消息监控]
:停止异常日志监控,异常消息将不会被推送。
表格中显示的内容说明如下。
设备编号
:采集监控设备的编号信息。设备名称
:采集监控设备的名称。站点名称
:采集的数据信息表示名称。数据类型
:采集的数据显示的类型。采集时间
:采集数据发生的时间。机台
:采集数据设备所在的生产机器。等级
:数据警报的等级设定,此项与监控设置内的等级相关。数据值
:触发数据警报的数据值。说明
:数据显示的异常信息。
点击[消息设置]
出现下方的消息设置窗体,可进行各监控站点的消息推送设置。
当使用wechat(微信)消息类型时,内容说明如下:

- 公众号名称: 消息推送所用到的公众号的名称,内容来自于中间件
[微信公众号]
页中显示的公众号名称。 - 模板ID: 消息推送所用到的消息模版,内容来自于中间件
[微信公众号]
下面的[模板管理]
。 - 可用: 是否启用该警报。
- 上限发送等级: 异常信息的设备设置的警报等级如果超过所设置的上限等级,才发送消息。
- 下限发送等级: 异常日志达到所设置的警报等级如果超过所设置的下限等级,才发送消息。
- 间隔: 间隔多久发送一次消息。
当使用email(邮件)消息类型时,内容说明如下:

- 消息标题: 邮件标题。
- 上限发送等级: 异常日志达到所设置的上限等级,才发送消息。
- 下限发送等级: 异常日志达到所设置的下限等级,才发送消息。
- 间隔: 间隔多久发送一次消息。
- 接收消息的用户设置: 用户Id必填,此处为用户的邮件地址。
表格类型的说明如下。
- 设备编号:采集监控设备的编号信息。
- 设备名称:采集监控设备的名称。
- 站点名称:采集的数据信息表示名称。
- 消息类型:设定的消息提示的类型,有
email
(邮件)与wechat
(微信)可选。 - 公众号ID:设定的公众号的编号信息,ID信息位于微信公众号中的ID信息
- 消息标题:设定推送的消息的标题信息。
- 模板ID:推送消息使用的消息模板的ID编号信息。
- 间隔时间:推送消息的时间间隔。
推送用户的表格类型说明如下。
- 序号:推送用户的序号。
- 用户Id:推送用户的编号,在微信用户中此项设置为用户的
OpenID
,OpenID
可在[微信公众号]
中的在邮箱中此项设置为电子邮箱的地址。 - 用户名称:推送用户的名称。
- 备注:推送用户的备注信息。
# 2.10. 邮件服务
邮件服务用于设置为TARS平台使用的邮件发送的邮箱地址。
# 2.10.1. 邮箱设置
邮箱设置界面用于设置邮件发送使用的邮箱的验证信息。使用此邮箱需要确认为邮箱开启SMTP/IMAP服务。
邮箱设置的说明如下:
- 服务器:电子邮箱服务器的网络地址,由邮箱服务商提供。
- 端口:电子邮箱服务器的连接端口,通常为25端口;如使用STARTTLS协议来发送邮件,此处填写端口号为587;如使用SSL/TLS协议发送邮件,此处填写端口号为465。
- 发件人:TARS发送相关邮件使用的主体邮箱地址。
- 密码:发件使用的邮箱的密码。
- 收件人:设置收件的邮箱地址,此地址仅作为测试邮箱设置正确性使用,不作其他用途。
[邮件测试]
:当以上设置均填写完成后,可点击此按钮来测试邮件服务是否正确设置,如设置正确,收件人的邮箱可以接收到此邮件。
# 2.10.2. 定制消息
定制消息是为FastERP专门设计的功能,此处是用于启动邮件监控相关的功能。
图中内容说明如下:
- 链接名称:定制消息使用的连接设置的名称。
[刷新配置]
:刷新配置文件。- 刷新时间:监控设置定时监测的时间间隔。
[启动监控]
:开启定制消息的邮件监控功能。[停止监控]
:关闭定制消息的邮件监控功能。
# 2.11. 物联网综合示例
通过微信公众号、邮箱以及物联网的相关设置,可以实现物联网的数据采集与相关设备控制。接下来我们会分别设置各种通讯协议下的连接,实现数据采集以及消息监控的功能。
# 2.11.1. ModbusTCP采集设置
ModbusTCP部分采用Smart之ModbusTCP读取温湿度中使用的Arduino硬件,将其通电并连接至网络。
如果TARS中已经开启了物联网监控功能,则先进入至物联网
界面,点击页面下方的[停止监控(C)]
停止物联网监控的功能。
在TARS的物联网-通讯协定设置
中,点击[新增(N)]
新增通讯协议,协议的类型设置为ModbusTCP
,其他的设置可参考图示进行,填写完成后点击[保存(S)]
。

点击左侧的设备监控设置
,切换至设备监控设置页面,确认下方选择的页面标签为Modbus
,然后点击上侧的[新增(N)]
按钮,新增设备信息,设备信息部分按照下图所示的内容进行填写,请注意此处的IP地址要与Arduino中设置的IP地址要一致。TARS与采集的硬件设备要处于同一局域网中。

下方点击[+]
按钮新增一行,站点名称按照下述内容进行填写。注意在ModbusTCP中数据地址是以1开头的。


由于Modbus不能传递小数点,所有的数据采集都是以整数的形式采集得到的,此处的数据脚本需要进行处理重新转换为小数进行存储。点击分别点击温度与湿度的站点名称,然后点击数据脚本
页签,在其中分别输入以下内容。温度与湿度站点设置的数据脚本中都要填写此内容。
begin
this.DataValue := this.GetRegValues(0)*0.01;
end.
2
3
填写完成后,点击[保存(S)]
按钮保存设置。
接下来可以开始测试采集。点击右下角的[启动监控(A)]
按钮,等待此按钮变成灰色,且日志列表中显示Modbus监控:已启动
,则监控启动成功,可以在日志列表中查看到采集的数据信息。
点击物联网-监控记录查看
,选择日期事件范围,点击[查询]
按钮可以看到采集的数据记录。

# 2.11.2. ModbusRTU采集设置
ModbusRTU部分采用Smart之ModbusRTU读取温湿度中使用的Arduino硬件,将RS485端的串口与Arduino的供电USB连接至TARS所在的本机。
按下键盘上的Windows+R,在打开的运行对话框中输入devmgmt.msc
,点击[确定]
打开计算机管理。

点击端口
,在展开的页面中查看连接的端口号信息,比如在此页面中,USB转串口连接的端口为COM8。在之后新增的要以此为基础。

如果TARS中已经开启了物联网监控功能,则先进入至物联网
界面,点击页面下方的[停止监控(C)]
停止物联网监控的功能。
在TARS的物联网-通讯协定设置
中,点击[新增(N)]
新增通讯协议,协议的类型设置为Modbus RTU
,其他的设置可参考图示进行,填写完成后点击[保存(S)]
。

点击左侧的设备监控设置
,切换至设备监控设置页面,确认下方选择的页面标签为Modbus
,然后点击上侧的[新增(N)]
按钮,新增设备信息,设备信息部分按照下图所示的内容进行填写。

下方点击[+]
按钮新增行,站点名称按照下述内容进行填写。


由于Modbus不能传递小数点,所有的数据采集都是以整数的形式采集得到的,此处的数据脚本需要进行处理重新转换为小数进行存储。点击分别点击温度与湿度的站点名称,然后点击数据脚本
页签,在其中分别输入以下内容。温度与湿度站点设置的数据脚本中都要填写此内容。
begin
this.DataValue := this.GetRegValues(0)*0.01;
end.
2
3
填写完成后,点击[保存(S)]
按钮保存设置。
接下来可以开始测试采集。点击右下角的[启动监控(A)]
按钮,等待此按钮变成灰色,且日志列表中显示Modbus监控:已启动
,则监控启动成功,可以在日志列表中查看到采集的数据信息。
点击物联网-监控记录查看
,选择日期事件范围,点击[查询]
按钮可以看到采集的数据记录。

# 2.11.3. MQTT采集设置
MQTT部分采用Smart之MQTT读取温湿度中使用的Arduino硬件,将其通电并连接至网络。
如果TARS中已经开启了物联网监控功能,则先进入至物联网
界面,点击页面下方的[停止监控(C)]
停止物联网监控的功能。
在TARS的物联网-通讯协定设置
中,点击[新增(N)]
新增通讯协议,协议的类型设置为MQTT
,其他的设置可参考图示进行,填写完成后点击[保存(S)]
。注意Arduino中的MQTT服务器地址需与此处填写的服务器地址一致,可使用TARS自带的MQTT服务器来连接测试。

点击左侧的设备监控设置
,切换至设备监控设置页面,确认下方选择的页面标签为MQTT
,然后点击上侧的[新增(N)]
按钮,新增设备信息,设备信息部分按照下图所示的内容进行填写。
下方点击[+]
按钮新增行,订阅主题名称按照下述内容进行填写。


填写完成后,点击[保存(S)]
按钮保存设置。
接下来可以开始测试采集。点击右下角的[启动监控(A)]
按钮,等待此按钮变成灰色,且日志列表中显示MQTT监控:已启动
,则监控启动成功,可以在日志列表中查看到采集的数据信息。
点击物联网-监控记录查看
,选择日期事件范围,点击[查询]
按钮可以看到采集的数据记录。

# 2.11.4. OPC采集设置
OPC部分采用Smart之OPCDA读取温湿度中使用的Arduino硬件,将其通电并连接至网络。同时按照此手册中的内容配置好Arduino OPC Server。
如果TARS中已经开启了物联网监控功能,则先进入至物联网
界面,点击页面下方的[停止监控(C)]
停止物联网监控的功能。
在TARS的物联网-通讯协定设置
中,点击[新增(N)]
新增通讯协议,协议的类型设置为OPC
,注意在OPC伺服器
中请选择含有ArdunioOPCServer
字样的选项,点击[开始浏览]
加载OPC服务器中的列表。其他的设置可参考图示进行,填写完成后点击[保存(S)]
。

点击左侧的设备监控设置
,切换至设备监控设置页面,确认下方选择的页面标签为OPC
,然后点击上侧的[新增(N)]
按钮,新增设备信息,设备信息部分按照下图所示的内容进行填写。
下方点击[添加Item项目]
,打开项目编辑器。

此设置中的两项项目分别选择,然后点击[Open]
加载至列表中。
修改部分属性设置,如下图所示,然后点击[保存(S)]
。
接下来可以开始测试采集。点击右下角的[启动监控(A)]
按钮,等待此按钮变成灰色,且日志列表中显示OPC监控:已启动
,则监控启动成功,可以在日志列表中查看到采集的数据信息。
点击物联网-监控记录查看
,选择日期事件范围,点击[查询]
按钮可以看到采集的数据记录。

# 2.11.5. 监控设置
接下来为数据设置监控的功能。我们以MQTT采集设置为例。按照上述章节中关于MQTT采集的部分设置。根据上述方式,我们为湿度设置了上限50,为温度设置了40的上限。
接下来设置邮箱异常信息推送。
点击邮件服务-邮箱设置
,在页面中设置邮箱,这个邮箱在后续的物联网异常消息推送时会使用到用来发送相关的异常信息。比如此处测试使用到163的邮箱来发送邮件,服务器的名称为smtp.163.com
,端口号为25,163邮箱需要开启SMTP/IMAP服务,根据其指引申请专用的授权码,填写至此处的密码栏位。填写完成后,可以点击[邮件测试]
来测试邮件的功能。测试无误后,点击[应用(A)]
按钮。
点击物联网-异常信息推送
,然后在异常信息页面中点击消息设置
按钮,进入至消息设置页面。在页面中找到设置的MQTT
,站点名称为HUM
的项,按照下述的方式进行设置,消息类型选择的是email
,右侧表格中用户Id
栏填写收件的邮箱地址。填写完成后,点击[保存]
。

返回至异常信息推送界面,点击下方的[启动监控(A)]
,然后点击[启动消息推送]
。如果当湿度超过50时,会向邮箱发送消息。

接下来设置微信公众号推送,按照微信公众号小节的内容设置好微信号,登录进入微信公众号的后台页面,创建一个模板消息,名称为异常信息
,模板内容为:
{{first.DATA}}
并保存此模板消息。
点击微信公众号-模板管理
,点击[刷新]
按钮刷新获取到模板ID,并记下此ID,之后会使用到。
点击微信公众号-用户管理
,点击右侧的[刷新]
按钮刷新用户列表,选择要接收推送的用户,双击打开用户信息对话框,复制其opeid
。
点击物联网-异常信息推送
,然后在异常信息页面中点击消息设置
按钮,进入至消息设置页面。在页面中找到设置的MQTT
,站点名称为TMP
的项,按照下述的方式进行设置,消息类型选择的是wechat
,界面上方的模板ID
更改为你获取到的模板ID,右侧表格中用户Id
栏填写刚才的openid
。填写完成后,点击[保存]
。

返回至异常信息推送界面,点击下方的[启动监控(A)]
,然后点击[启动消息推送]
。如果当温度超过40时,会向指定的用户发送此模板消息。
