diff --git a/Src/HslCommunication.dll b/Src/HslCommunication.dll index 2748308..7e17de7 100644 Binary files a/Src/HslCommunication.dll and b/Src/HslCommunication.dll differ diff --git a/Src/HslCommunication.xml b/Src/HslCommunication.xml index 05d95be..d17df2a 100644 --- a/Src/HslCommunication.xml +++ b/Src/HslCommunication.xml @@ -4,6 +4,40 @@ HslCommunication + + + 基于设备通信的连接池信息
+ Connection pool information based on device communication +
+
+ + + 使用指定的设备来实例化一个对象
+ Use the specified device to instantiate an object +
+ 指定的设备通信 +
+ + + 获取当前实际的设备通信对象
+ Gets the actual device communication object at present +
+
+ + + + + + + + + + + + + + + 一个连接池管理器,负责维护多个可用的连接,并且自动清理,扩容,用于快速读写服务器或是PLC时使用。
@@ -78,40 +112,6 @@ The current peak value of the number of connections used can be used to measure the upper limit of the applicable connection pool of the current system.
- - - 基于设备通信的连接池信息
- Connection pool information based on device communication -
-
- - - 使用指定的设备来实例化一个对象
- Use the specified device to instantiate an object -
- 指定的设备通信 -
- - - 获取当前实际的设备通信对象
- Gets the actual device communication object at present -
-
- - - - - - - - - - - - - - - 连接池的接口,连接池的管理对象必须实现此接口 @@ -216,6 +216,20 @@ 实数部分 变换后的数组值 + + + 获取FFT变换后的显示图形,需要指定图形的相关参数 + + 实数部分的值 + 图形的宽度 + 图形的高度 + 线条颜色 + 是否开两次根,显示的噪点信息会更新明显 + 等待呈现的图形 + + .net standrard2.0 下不支持。 + + 快速傅立叶变换 @@ -437,6 +451,341 @@ + + + 用来测试版软件授权的窗口 + + + + + 实例化授权注册窗口 + + + 提示关于怎么获取注册码的信息 + 加密的方法 + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + 一个用于消息弹出显示的类 + + + + + 新增一个显示的弹出窗口 + + + + + + 重置所有弹出窗口的位置 + + + + + 实例化一个窗口信息弹出的对象 + + + + + 实例化一个窗口信息弹出的对象 + + 需要显示的文本 + + + + 实例化一个窗口信息弹出的对象 + + 需要显示的文本 + 文本的颜色 + + + + 实例化一个窗口信息弹出的对象 + + 需要显示的文本 + 文本的颜色 + 指定窗口多少时间后消失,单位毫秒 + + + + 窗体的位置进行向上调整 + + + + + 窗体的位置进行向上调整 + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + 系统框架支持的一些常用的动画特效 + + + + + 最小的时间片段 + + + + + 调整控件背景色,采用了线性的颜色插补方式,实现了控件的背景色渐变,需要指定控件,颜色,以及渐变的时间 + + 控件 + 设置的颜色 + 时间 + + + + 软件授权类,可以获取本机的唯一机器码信息,将根据cpu号,主板号, + + + + + 实例化一个软件授权类 + + 是否使用管理员模式 + 是否使用硬盘信息 + + + + 注册码描述文本 + + + + + 最终的注册秘钥信息,注意是只读的。 + + + 时间:2018年9月1日 23:01:54,来自 洛阳-LYG 的建议,公开了本属性信息,只读。 + + + + + 是否正式发行版,是的话就取消授权 + + + + + 获取或设置当前计算机器码的时候,会否报文硬盘的基本信息 + + + + + 指示是否加载过文件信息 + + + + + 指示系统是否处于试用运行 + + + + + 获取本机的机器码 + + 机器码字符串 + + + + 获取需要保存的数据内容 + + 实际保存的内容 + + + + 从字符串加载数据 + + 文件存储的数据 + + + + 使用特殊加密算法加密数据 + + + + + 使用特殊解密算法解密数据 + + + + + 检查该注册码是否是正确的注册码 + + 注册码信息 + 数据加密的方法,必须用户指定 + 是否注册成功 + + + + 检测授权是否成功 + + 数据加密的方法,必须用户指定 + 是否成功授权 + + + + 获取本地计算机唯一的机器码,将由bios编码,cpu编码,hdd编码结合出来的 + + 是否使用了管理员模式 + 是否使用硬盘,在部分的情况下,使用硬盘会受U盘插拔影响 + 字符串形式的机器码 + + + + 获得硬盘信息 + + 硬盘序号 + 硬盘信息 + + by sunmast for everyone + thanks lu0 for his great works + 在Windows Array8/ME中,S.M.A.R.T并不缺省安装,请将SMARTVSD.VXD拷贝到%SYSTEM%\IOSUBSYS目录下。 + 在Windows 2000/2003下,需要Administrators组的权限。 + + + AtapiDevice.GetHddInfo() + + + + + 执行打开/建立资源的功能。 + + 指定要打开的设备或文件的名称。 + + Win32 常量,用于控制对设备的读访问、写访问或读/写访问的常数。内容如下表: +

+ + 名称 + 说明 + + + GENERIC_READ指定对设备进行读取访问。 + + + GENERIC_WRITE指定对设备进行写访问。 + + 0如果值为零,则表示只允许获取与一个设备有关的信息。 +

+
+ + 指定打开设备时的文件共享模式 + + Win32 常量,指定操作系统打开文件的方式。内容如下表: +

+ + 名称说明 + + CREATE_NEW + 指定操作系统应创建新文件。如果文件存在,则抛出 异常。 + + CREATE_ALWAYS指定操作系统应创建新文件。如果文件已存在,它将被改写。 + +

+ + + + 使用函数打开的设备的句柄。 + + 本函数可以执行打开或建立文件、文件流、目录/文件夹、物理磁盘、卷、系统控制的缓冲区、磁带设备、 + 通信资源、邮件系统和命名管道。 + +
+ + + 关闭一个指定的指针对象指向的设备。。 + + 要关闭的句柄 对象。 + 成功返回 0 ,不成功返回非零值。 + + + + 对设备执行指定的操作。 + + 要执行操作的设备句柄。 + Win32 API 常数,输入的是以 FSCTL_ 为前缀的常数,定义在 + WinIoCtl.h 文件内,执行此重载方法必须输入 SMART_GET_VERSION 。 + 当参数为指针时,默认的输入值是 0 。 + 输入缓冲区的字节数量。 + 一个 GetVersionOutParams ,表示执行函数后输出的设备检查。 + 输出缓冲区的字节数量。 + 实际装载到输出缓冲区的字节数量。 + 同步操作控制,一般不使用,默认值为 0 。 + 非零表示成功,零表示失败。 + + + + 对设备执行指定的操作。 + + 要执行操作的设备句柄。 + Win32 API 常数,输入的是以 FSCTL_ 为前缀的常数,定义在 + WinIoCtl.h 文件内,执行此重载方法必须输入 SMART_SEND_DRIVE_COMMANDSMART_RCV_DRIVE_DATA 。 + 一个 SendCmdInParams 结构,它保存向系统发送的查询要求具体命令的数据结构。 + 输入缓冲区的字节数量。 + 一个 SendCmdOutParams 结构,它保存系统根据命令返回的设备相信信息二进制数据。 + 输出缓冲区的字节数量。 + 实际装载到输出缓冲区的字节数量。 + 同步操作控制,一般不使用,默认值为 0 。 + 非零表示成功,零表示失败。 + + + + 硬盘信息 + + + + + 型号 + + + + + 固件版本 + + + + + 序列号 + + + + + 容量,以M为单位 + + 支持字符串信息加载存储的接口,定义了几个通用的方法 @@ -577,6 +926,18 @@ 编码信息 Md5字符串 + + + 获取内存图片的md5码
+ Get the MD5 code of the memory picture +
+ 内存图片 + Md5字符串 + + 下面举例实现获取一个图像的md5码 + + +
从一个字节大小返回带单位的描述,主要是用于显示操作
@@ -813,6 +1174,25 @@ 解析后的值 解析失败的异常 + + + 显示一个完整的错误信息
+ Displays a complete error message +
+ 异常对象 + 调用本方法可以显示一个异常的详细信息 + +
+ + + 显示一个完整的错误信息,和额外的字符串描述信息
+ Displays a complete error message, and additional string description information +
+ 额外的描述信息 + 调用本方法可以显示一个异常的详细信息 + 异常对象 + +
获取一个异常的完整错误信息
@@ -2188,6 +2568,142 @@ + + + 图形的方向 + + + + + 向上 + + + + + 向下 + + + + + 向左 + + + + + 向右 + + + + + 包含整型和字符串描述的数据类型 + + + + + 数量 + + + + + 描述 + + + + + 图形的呈现方式 + + + + + 直方图 + + + + + 饼图 + + + + + 折线图 + + + + + 静态类,包含了几个常用的画图方法,获取字符串,绘制小三角等 + + + + + 获取一个直方图 + + 数据数组 + 宽度 + 高度 + 刻度划分等级 + 线条颜色 + + + + + 计算绘图时的相对偏移值 + + 0-100分的最大值,就是指准备绘制的最大值 + 0-100分的最小值,就是指准备绘制的最小值 + 实际绘图区域的高度 + 需要绘制数据的当前值 + 相对于0的位置,还需要增加上面的偏值 + + + + 计算绘图时的相对偏移值 + + 0-100分的最大值,就是指准备绘制的最大值 + 0-100分的最小值,就是指准备绘制的最小值 + 实际绘图区域的高度 + 需要绘制数据的当前值 + 相对于0的位置,还需要增加上面的偏值 + + + + 绘制坐标系中的刻度线 + + + + + + + + + + + + + + + + + + + + 根据指定的方向绘制一个箭头 + + + + + + + + + + 根据数据生成一个可视化的图形 + + 数据集合 + 需要绘制图形的宽度 + 需要绘制图形的高度 + 指定绘制成什么样子的图形 + 返回一个bitmap对象 + 字符串加密解密相关的自定义类 @@ -2223,6 +2739,115 @@ 密钥,长度为8,英文或数字 返回原密码,如果解密失败,返回‘解密失败’ + + + 数据库操作的相关类,包含了常用的方法,避免大量的重复代码 + + + + + 普通的执行SQL语句,并返回影响行数,该方法应该放到try-catch代码块中 + + 数据库的连接字符串 + sql语句,适合插入,更新,删除 + 返回受影响的行数 + + + + + 普通的执行SQL语句,并返回影响行数,该方法应该放到try-catch代码块中 + + 数据库的连接对象 + sql语句,适合插入,更新,删除 + 返回受影响的行数 + + + + + 选择数据表的执行SQL语句,并返回最终数据表,该方法应该放到try-catch代码块中 + + 数据库的连接字符串 + sql语句,选择数据表的语句 + 结果数据表 + + + + + + 选择数据表的执行SQL语句,并返回最终数据表,该方法应该放到try-catch代码块中 + + 数据库连接对象 + sql语句,选择数据表的语句 + 结果数据表 + + + + + 选择指定类型数据集合执行SQL语句,并返回指定类型的数据集合,该方法应该放到try-catch代码块中 + + 数据库的连接字符串 + sql语句,选择数据表的语句 + 结果数据集合 + + + + + + 选择指定类型数据集合执行SQL语句,并返回指定类型的数据集合,该方法应该放到try-catch代码块中 + + 数据库的连接对象 + sql语句,选择数据表的语句 + 结果数据集合 + + + + + + 更新指定类型数据执行SQL语句,并返回指定类型的数据集合,该方法应该放到try-catch代码块中 + + 数据库的连接字符串 + sql语句,选择数据表的语句 + 结果数据 + + + + + + 更新指定类型数据执行SQL语句,并返回指定类型的数据集合,该方法应该放到try-catch代码块中 + + 数据库的连接对象 + sql语句,选择数据表的语句 + 结果数据 + + + + + + 用于选择聚合函数值的方法,例如Count,Average,Max,Min,Sum等最终只有一个结果值的对象 + + 数据库的连接字符串 + sql语句,选择数据表的语句 + 返回的int数据 + + + + 用于选择聚合函数值的方法,例如Count,Average,Max,Min,Sum等最终只有一个结果值的对象 + + 数据库的连接对象 + sql语句,选择数据表的语句 + 返回的int数据 + + + + 数据库对应类的读取接口 + + + + + 根据sdr对象初始化数据的方法 + + 数据库reader对象 + 系统版本类,由三部分组成,包含了一个大版本,小版本,修订版,还有一个开发者维护的内部版
@@ -3745,6 +4370,32 @@ 长度信息 成功地址 + + + Lsis的Cnet协议的地址信息 + + + + + 地址类型信息 + + + + + 获取报文里需要的地址格式信息 + + 报文地址 + + + + 从实际三菱的地址里面解析出我们需要的地址类型
+ Resolve the type of address we need from the actual Mitsubishi address +
+ 三菱的地址数据信息 + 读取的数据长度 + 是否读写bool的操作 + 是否成功的结果对象 +
三菱的数据地址表示形式
@@ -3861,6 +4512,250 @@ 是否位 memobus的地址信息 + + + 欧姆龙的Fins协议的地址类对象 + + + + + 进行位操作的指令 + + + + + 进行字操作的指令 + + + + + 从指定的地址信息解析成真正的设备地址信息 + + 地址信息 + 数据长度 + + + + 从实际的欧姆龙的地址里面解析出地址对象
+ Resolve the address object from the actual Omron address +
+ 欧姆龙的地址数据信息 + 是否成功的结果对象 +
+ + + 从实际的欧姆龙的地址里面解析出地址对象
+ Resolve the address object from the actual Omron address +
+ 欧姆龙的地址数据信息 + 读取的数据长度 + PLC的类型信息 + 是否成功的结果对象 +
+ + + 西门子的地址数据信息,主要包含数据代码,DB块,偏移地址(偏移地址对于不是CT类型而已,是位为单位的),当处于写入时,Length无效
+ Address data information of Siemens, mainly including data code, DB block, offset address, when writing, Length is invalid +
+
+ + + 实例化一个默认的对象
+ Instantiate a default object +
+
+ + + 从另一个 对象进行实例化
+ Instantiate from another object +
+ S7地址对象 +
+ + + 获取或设置等待读取的数据的代码
+ Get or set the code of the data waiting to be read +
+
+ + + 获取或设置PLC的DB块数据信息
+ Get or set PLC DB data information +
+
+ + + 从指定的地址信息解析成真正的设备地址信息 + + 地址信息 + 数据长度 + + + + + + + 计算特殊的地址信息
+ Calculate Special Address information +
+ 字符串地址 -> String address + 是否是定时器和计数器的地址 + 实际值 -> Actual value +
+ + + 从实际的西门子的地址里面解析出地址对象
+ Resolve the address object from the actual Siemens address +
+ 西门子的地址数据信息 + 是否成功的结果对象 +
+ + + 从实际的西门子的地址里面解析出地址对象
+ Resolve the address object from the actual Siemens address +
+ 西门子的地址数据信息 + 读取的数据长度 + 是否成功的结果对象 +
+ + + 丰田工机PLC的地址类对象 + + + + + 获取或设置等待读取的地址的PRG编号,如果小于0,则表示不使用。
+ Gets or sets the PRG number of the address waiting to be read, if less than 0, it means that it is not used. +
+
+ + + + + + 从实际的丰田PLC的地址里面解析出地址对象
+ Resolve the address object from the actual Vigor address +
+ 丰田的地址数据信息 + 读取的数据长度 + 是否是对位进行访问的 + 是否成功的结果对象 +
+ + + 丰炜PLC的地址类对象 + + + + + 获取或设置等待读取的数据的代码
+ Get or set the code of the data waiting to be read +
+
+ + + + + + 从实际的丰炜PLC的地址里面解析出地址对象
+ Resolve the address object from the actual Vigor address +
+ 丰炜的地址数据信息 + 读取的数据长度 + 是否是对位进行访问的 + 是否成功的结果对象 +
+ + + 信捷内部协议的地址类对象
+ The address class object of Xinjie internal protocol +
+
+ + + 实例化一个默认的对象
+ instantiate a default object +
+
+ + + 指定类型,地址偏移,临界地址来实例化一个对象
+ Specify the type, address offset, and critical address to instantiate an object +
+ 数据的类型代号 + 偏移地址信息 + 临界地址信息 + 站号信息 +
+ + + 获取或设置等待读取的数据的代码
+ Get or set the code of the data waiting to be read +
+
+ + + 获取或设置当前的站号信息
+ Get or set the current station number information +
+
+ + + 获取或设置协议升级时候的临界地址信息
+ Get or set the critical address information when the protocol is upgraded +
+
+ + + + + + 从实际的信捷PLC的地址里面解析出地址对象
+ Resolve the address object from the actual XinJE address +
+ 信捷的地址数据信息 + 读取的长度信息 + 默认的站号信息 + 是否成功的结果对象 +
+ + + + + + 横河PLC的地址表示类
+ Yokogawa PLC address display class +
+
+ + + 获取或设置等待读取的数据的代码
+ Get or set the code of the data waiting to be read +
+
+ + + 获取当前横河PLC的地址的二进制表述方式
+ Obtain the binary representation of the current Yokogawa PLC address +
+ 二进制数据信息 +
+ + + + + + + + + 从普通的PLC的地址转换为HSL标准的地址信息 + + 地址信息 + 数据长度 + 是否成功的地址结果 + Modbus协议地址格式,可以携带站号,功能码,地址信息
@@ -3935,250 +4830,6 @@ - - - 欧姆龙的Fins协议的地址类对象 - - - - - 进行位操作的指令 - - - - - 进行字操作的指令 - - - - - 从指定的地址信息解析成真正的设备地址信息 - - 地址信息 - 数据长度 - - - - 从实际的欧姆龙的地址里面解析出地址对象
- Resolve the address object from the actual Omron address -
- 欧姆龙的地址数据信息 - 是否成功的结果对象 -
- - - 从实际的欧姆龙的地址里面解析出地址对象
- Resolve the address object from the actual Omron address -
- 欧姆龙的地址数据信息 - 读取的数据长度 - PLC的类型信息 - 是否成功的结果对象 -
- - - 西门子的地址数据信息,主要包含数据代码,DB块,偏移地址(偏移地址对于不是CT类型而已,是位为单位的),当处于写入时,Length无效
- Address data information of Siemens, mainly including data code, DB block, offset address, when writing, Length is invalid -
-
- - - 实例化一个默认的对象
- Instantiate a default object -
-
- - - 从另一个 对象进行实例化
- Instantiate from another object -
- S7地址对象 -
- - - 获取或设置等待读取的数据的代码
- Get or set the code of the data waiting to be read -
-
- - - 获取或设置PLC的DB块数据信息
- Get or set PLC DB data information -
-
- - - 从指定的地址信息解析成真正的设备地址信息 - - 地址信息 - 数据长度 - - - - - - - 计算特殊的地址信息
- Calculate Special Address information -
- 字符串地址 -> String address - 是否是定时器和计数器的地址 - 实际值 -> Actual value -
- - - 从实际的西门子的地址里面解析出地址对象
- Resolve the address object from the actual Siemens address -
- 西门子的地址数据信息 - 是否成功的结果对象 -
- - - 从实际的西门子的地址里面解析出地址对象
- Resolve the address object from the actual Siemens address -
- 西门子的地址数据信息 - 读取的数据长度 - 是否成功的结果对象 -
- - - 丰田工机PLC的地址类对象 - - - - - 获取或设置等待读取的地址的PRG编号,如果小于0,则表示不使用。
- Gets or sets the PRG number of the address waiting to be read, if less than 0, it means that it is not used. -
-
- - - - - - 从实际的丰田PLC的地址里面解析出地址对象
- Resolve the address object from the actual Vigor address -
- 丰田的地址数据信息 - 读取的数据长度 - 是否是对位进行访问的 - 是否成功的结果对象 -
- - - 丰炜PLC的地址类对象 - - - - - 获取或设置等待读取的数据的代码
- Get or set the code of the data waiting to be read -
-
- - - - - - 从实际的丰炜PLC的地址里面解析出地址对象
- Resolve the address object from the actual Vigor address -
- 丰炜的地址数据信息 - 读取的数据长度 - 是否是对位进行访问的 - 是否成功的结果对象 -
- - - 信捷内部协议的地址类对象
- The address class object of Xinjie internal protocol -
-
- - - 实例化一个默认的对象
- instantiate a default object -
-
- - - 指定类型,地址偏移,临界地址来实例化一个对象
- Specify the type, address offset, and critical address to instantiate an object -
- 数据的类型代号 - 偏移地址信息 - 临界地址信息 - 站号信息 -
- - - 获取或设置等待读取的数据的代码
- Get or set the code of the data waiting to be read -
-
- - - 获取或设置当前的站号信息
- Get or set the current station number information -
-
- - - 获取或设置协议升级时候的临界地址信息
- Get or set the critical address information when the protocol is upgraded -
-
- - - - - - 从实际的信捷PLC的地址里面解析出地址对象
- Resolve the address object from the actual XinJE address -
- 信捷的地址数据信息 - 读取的长度信息 - 默认的站号信息 - 是否成功的结果对象 -
- - - - - - 横河PLC的地址表示类
- Yokogawa PLC address display class -
-
- - - 获取或设置等待读取的数据的代码
- Get or set the code of the data waiting to be read -
-
- - - 获取当前横河PLC的地址的二进制表述方式
- Obtain the binary representation of the current Yokogawa PLC address -
- 二进制数据信息 -
- - - - - - - - - 从普通的PLC的地址转换为HSL标准的地址信息 - - 地址信息 - 数据长度 - 是否成功的地址结果 - 所有设备的基类信息 @@ -4680,6 +5331,12 @@ 需要在服务器启动之前设置为有效 + + + 当服务器同时启动TCP及UDP服务的时候,获取当前的UDP服务的端口号
+ When the server starts TCP and UDP services at the same time, it obtains the port number of the current UDP service +
+
获取或设置服务器是否支持IPv6的地址协议信息
@@ -4730,9 +5387,9 @@ Get the number of clients online
- + - 获取当前的服务器是TCP的服务器还是UDP的服务器
+ 当前服务器的模式,0:TCP服务器,1:UDP服务器,2:TCP及UDP服务器
Gets whether the current server is a TCP server or a UDP server
@@ -4761,6 +5418,9 @@ + + + 使用已经配置好的端口启动服务器的引擎,并且使用TCP模式
@@ -5095,584 +5755,245 @@ - + - 文件的基础信息 + 文件服务器的目录管理类的基本信息 - + - 文件名称 + 实例化一个默认的对象 - + - 文件大小 + 文件目录的名称信息 - + - 文件的标识,注释 + 获取或设置文件的总大小 - + - 文件上传人的名称 + 获取或设置文件的总数量 - + - 文件的分类信息 + 获取或设置最后一次文件更新的时间,如果不存在文件,则为理论最小值 - + - 命令码 + 获取或设置最后一次更新的文件的基本信息,如果该目录不存在文件,则本值为空 - - - 文件名 - + + - + - 文件名列表 + 当前MQTT服务器文件操作的对象类
+ Object class of current MQTT server file operation
- + - 第一级分类信息 + 指示上传还是下载的操作,Upload上传,Download下载,Delete删除文件,DeleteFolder删除目录
+ Indicate upload or download operation, "Upload": upload, "Download": download, "Delete": delete file, "DeleteFolder": delete directory
- + - 第二级分类信息 + 文件上传或是下载的类别 - + - 第三级分类信息 + 上传,下载或是删除的文件名
+ File name uploaded, downloaded or deleted
- + - 文件在服务器上的信息 + 操作的文件映射的名称 - + - 文件的真实路径 + 当前操作消耗的时间
+ Time consumed by current operation
- + - 文件标记对象类,标记了一个文件的当前状态,是否处于下载中,删除的操作信息
- File tag object class, which marks the current status of a file, whether it is downloading, or delete operation information + 监控上传和下载文件的信息
- + - 实例化一个文件标记对象,需要传入日志信息和文件名
- To instantiate a file tag object, you need to pass in log information and file name + 实例化一个默认的对象
- 日志对象 - 完整的文件名称
- + - 当前的对象创建的时间
- Current object creation time + 增加一个文件监控的对象信息
+ 文件监控对象
- + - 当前的对象最后一次活跃的时间
- Last active time of the current object + 根据唯一的ID信息,移除相关的文件监控对象
+
- + - 当前的文件的读取次数,通常也是下载次数。
- The current number of reads of the file, usually also the number of downloads. + 获取当前所有的监控文件数据的快照
+ 文件监控列表
- + - 新增一个对当前的文件的操作,如果没有读取,就直接执行,如果有读取,就等待读取完成的时候执行。
- Add an operation on the current file. If there is no read, it will be executed directly. If there is a read, it will be executed when the read is completed. + 单个的监控文件对象,用来监控客户端的信息以及上传下载的速度
- 对当前文件的操作内容
- + - 获取该对象是否能被清除
- Gets whether the object can be cleared + 实例化一个默认的对象
- 是否能够删除
- + - 进入文件的读取状态
- Enter the read state of the file + 当前对象的唯一ID信息
- + - 离开本次的文件读取状态,如果没有任何的客户端在读取了,就执行缓存队列里的操作信息。
- Leaving the current file reading status, if no client is reading, the operation information in the cache queue is executed. + 当前对象的远程的IP及端口
- - - - + - 文件集容器,绑定一个文件夹的文件信息组,提供了文件夹的文件信息的获取,更新接口
- File set container, which binds the file information group of a folder, provides the file information acquisition and update interface of the folder + 当前对象的客户端ID
- + - 实例化一个新的指定目录的文件管理容器
- Instantiates a new file management container for the specified directory + 当前对象的客户端用户名
- 日志记录对象,可以为空 - 文件的路径
- + - 包含所有文件列表信息的json文本缓存
- JSON text cache containing all file list information + 当前的操作,Upload是上传,Download是下载
- + - 获取文件的数量
- Get the number of files + 当前的操作的目录信息
- + - 获取当前目录中所有子文件的下载次数统计
- Get the download count of all subfiles in the current directory + 当前操作的文件名
- + - 当前的目录信息
- Current catalog information + 当前操作文件的映射的名称
- + - 获取当前目录所有文件的大小之和
- Get the sum of the size of all files in the current directory + 上传或下载的速度
- 是否携带最新的文件信息
- + - 文件数量变化的委托信息
- Order information for changes in the number of files + 当前操作的起始时间
- 文件列表容器 - 文件的数量
- + - 当文件数量发生变化的时候触发的事件
- Event triggered when the number of files changes + 最后一次更新数据的时间
- + - 下载文件时调用,根据当前的文件名称,例如 123.txt 获取到在文件服务器里映射的文件名称,例如返回 b35a11ec533147ca80c7f7d1713f015b7909
- Called when downloading a file. Get the file name mapped in the file server according to the current file name, such as 123.txt. - For example, return b35a11ec533147ca80c7f7d1713f015b7909. + 文件的总大小
- 文件的实际名称 - 文件名映射过去的实际的文件名字
- + - 上传文件时掉用,通过比对现有的文件列表,如果没有,就重新创建列表信息
- Used when uploading files, by comparing existing file lists, if not, re-creating list information + 上一次的更新数据时的进度信息
- 文件名,带后缀,不带任何的路径 - 文件的大小 - 文件映射名称 - 文件的拥有者 - 文件的额外描述 - 映射的文件名称
- + - 根据文件的名称获取对应的文件信息
- Get the corresponding file information according to the file name + 更新当前的文件的状态
- 文件的真实名称 - 是否获取成功的结果对象 + 当前的进度信息 + 当前的总大小
- + - 删除一个文件信息,传入文件实际的名称,例如 123.txt 返回被删除的文件的guid名称,例如返回 b35a11ec533147ca80c7f7d1713f015b7909 此方法存在同名文件删除的风险
- Delete a file information. Pass in the actual name of the file. For example, 123.txt returns the guid name of the deleted file. For example, it returns b35a11ec533147ca80c7f7d1713f015b7909. There is a risk of deleting the file with the same name + 倍福的ADS协议的信息
- 实际的文件名称,如果 123.txt - 映射之后的文件名,例如 b35a11ec533147ca80c7f7d1713f015b7909
- + + + + + + + - 判断当前的文件名是否在文件的列表里,传入文件实际的名称,例如 123.txt,如果文件存在,返回 true, 如果不存在,返回 false
- Determine whether the current file name is in the file list, and pass in the actual file name, such as 123.txt, - if it exists, return true, if it does not exist, return false + 异形消息对象,用于异形客户端的注册包接收以及验证使用
- 实际的文件名称,如果 123.txt - 如果文件存在,返回 true, 如果不存在,返回 false
- + + + + + + + + + + - 删除一个文件信息,传入文件唯一的guid的名称,例如 b35a11ec533147ca80c7f7d1713f015b7909 返回被删除的文件的guid名称
- Delete a file information, pass in the unique GUID name of the file, for example b35a11ec533147ca80c7f7d1713f015b7909 return the GUID name of the deleted file + 用于和 AllenBradley PLC 交互的消息协议类
- 实际的文件名称,如果 b35a11ec533147ca80c7f7d1713f015b7909 - 映射之后的文件名,例如 b35a11ec533147ca80c7f7d1713f015b7909
- + + + + + + + - 删除当前目录下所有的文件信息,返回等待被删除的文件列表,是映射文件名:b35a11ec533147ca80c7f7d1713f015b7909
- Delete all file information in the current directory, and return to the list of files waiting to be deleted, - which is the mapping file name: b35a11ec533147ca80c7f7d1713f015b7909 + 用于和 AllenBradley PLC 交互的消息协议类
- 原始的文件名称 - 映射之后的文件列表,例如 b35a11ec533147ca80c7f7d1713f015b7909
- + + + + + + + - 获取当前目录的下所有文件信息,返回所有映射的文件名:b35a11ec533147ca80c7f7d1713f015b7909
- Gets the current directory under all file information, return all mapping file name: b35a11ec533147ca80c7f7d1713f015b7909 + CJT188的协议信息
- 原始的文件名称 - 映射之后的文件列表,例如 b35a11ec533147ca80c7f7d1713f015b7909
- + - 删除当前的目录信息 + 根据是否进行站号检查来实例化一个对象 - - - - 重命名当前的目录信息 - - 路径名称 - - - - 缓存JSON文本的方法,该机制使用乐观并发模型完成
- Method for caching JSON text, which is done using an optimistic concurrency model -
-
- - - 从目录进行加载数据,必须实例化的时候加载,加载失败会导致系统异常,旧的文件丢失
- Load data from the directory, it must be loaded when instantiating. Failure to load will cause system exceptions and old files will be lost -
- 当前的文件夹路径信息 -
- - - - - - 文件服务器的目录管理类的基本信息 - - - - - 实例化一个默认的对象 - - - - - 文件目录的名称信息 - - - - - 获取或设置文件的总大小 - - - - - 获取或设置文件的总数量 - - - - - 获取或设置最后一次文件更新的时间,如果不存在文件,则为理论最小值 - - - - - 获取或设置最后一次更新的文件的基本信息,如果该目录不存在文件,则本值为空 - - - - - - - - 单个文件的存储信息,用来表示在文件目录管理器里表示所有的文件信息的
- Storage information of a single file, used to represent all file information in the file directory manager -
-
- - - 文件的名称 - - - - - 文件的大小 - - - - - 文件的映射名称 - - - - - 文件的下载次数 - - - - - 文件的上传时间 - - - - - 文件的上传人,拥有者 - - - - - 文件的额外描述 - - - - - 获取文件的大小描述
- Get file size description -
- 文件大小的字符串描述形式 -
- - - - - - 当前MQTT服务器文件操作的对象类
- Object class of current MQTT server file operation -
-
- - - 指示上传还是下载的操作,Upload上传,Download下载,Delete删除文件,DeleteFolder删除目录
- Indicate upload or download operation, "Upload": upload, "Download": download, "Delete": delete file, "DeleteFolder": delete directory -
-
- - - 文件上传或是下载的类别 - - - - - 上传,下载或是删除的文件名
- File name uploaded, downloaded or deleted -
-
- - - 操作的文件映射的名称 - - - - - 当前操作消耗的时间
- Time consumed by current operation -
-
- - - 监控上传和下载文件的信息 - - - - - 实例化一个默认的对象 - - - - - 增加一个文件监控的对象信息 - - 文件监控对象 - - - - 根据唯一的ID信息,移除相关的文件监控对象 - - - - - - 获取当前所有的监控文件数据的快照 - - 文件监控列表 - - - - 单个的监控文件对象,用来监控客户端的信息以及上传下载的速度 - - - - - 实例化一个默认的对象 - - - - - 当前对象的唯一ID信息 - - - - - 当前对象的远程的IP及端口 - - - - - 当前对象的客户端ID - - - - - 当前对象的客户端用户名 - - - - - 当前的操作,Upload是上传,Download是下载 - - - - - 当前的操作的目录信息 - - - - - 当前操作的文件名 - - - - - 当前操作文件的映射的名称 - - - - - 上传或下载的速度 - - - - - 当前操作的起始时间 - - - - - 最后一次更新数据的时间 - - - - - 文件的总大小 - - - - - 上一次的更新数据时的进度信息 - - - - - 更新当前的文件的状态 - - 当前的进度信息 - 当前的总大小 - - - - 倍福的ADS协议的信息 - - - - - - - - - - - 异形消息对象,用于异形客户端的注册包接收以及验证使用 - - - - - - - - - - - - - - 用于和 AllenBradley PLC 交互的消息协议类 - - - - - - - - - - - 用于和 AllenBradley PLC 交互的消息协议类 - - - - - - - - - - - CJT188的协议信息 - - - - - 根据是否进行站号检查来实例化一个对象 - - 是否进行站号检查 + 是否进行站号检查 @@ -6447,1537 +6768,994 @@ - + - 所有的和设备或是交互类统一读写标准,公开了如何读写对方的一些api接口,并支持基于特性的读写操作
- All unified read and write standards for devices and interaction classes, - expose how to read and write some API interfaces of each other, and support feature-based read and write operations + 用于读写的设备接口,相较于,额外增加的一个站号信息的属性,参见
+ Device interface for reading and writing, with an additional attribute for Station number information compared to , see
- - Modbus类,PLC类均实现了本接口,可以基于本接口实现统一所有的不同种类的设备的数据交互 - - - 此处举例实现modbus,三菱,西门子三种设备的统一的数据交互 - -
- + - 组件的日志工具,支持日志记录,只要实例化后,当前网络的基本信息,就以等级进行输出
- The component's logging tool supports logging. As long as the instantiation of the basic network information, the output will be output at + 获取或设置当前设备站号信息,一般来说,需要在实例化之后设置本站号信息,在通信的时候也可以动态修改当前的站号信息
+ To obtain or set the station number information of the current device, in general, the station number information needs to be set after instantiation, + and the current station number information can also be dynamically modified during communication
- - 只要实例化即可以记录日志,实例化的对象需要实现接口 ,本组件提供了三个日志记录类,你可以实现基于 的对象。 - - 如下的实例化适用于所有的Network及其派生类,以下举两个例子,三菱的设备类及服务器类 - - -
- + - 当前连接的唯一ID号,默认为长度20的guid码加随机数组成,方便列表管理,也可以自己指定
- The unique ID number of the current connection. The default is a 20-digit guid code plus a random number. + 所有的机器人的统一读写标准,统一的基本的读写操作
+ Unified reading and writing standards for all robots, unified basic reading and writing operations
- - 当前的唯一连接ID信息在DTU的模式下,将发挥关键作用,标记唯一的DTU ID -
- + + + + - 批量读取字节数组信息,需要指定地址和长度,返回原始的字节数组
- Batch read byte array information, need to specify the address and length, return the original byte array + 根据地址读取机器人的原始的字节数据信息
+ Read the robot's original byte data information according to the address
- 数据地址 - 数据长度 + 指定的地址信息,对于某些机器人无效 带有成功标识的byte[]数组
- + - 写入原始的byte数组数据到指定的地址,返回是否写入成功
- Write the original byte array data to the specified address, and return whether the write was successful + 根据地址读取机器人的字符串的数据信息
+ Read the string data information of the robot based on the address
- 起始地址 - 写入值 - 是否写入成功 + 地址信息 + 带有成功标识的字符串数据
- + - 批量读取数组信息,需要指定地址和长度,返回 数组
- Batch read array information, need to specify the address and length, return array + 根据地址,来写入设备的相关的字节数据
+ According to the address, to write the device related bytes data
- 数据地址 - 数据长度 - 带有成功标识的 bool[] 数组 + 指定的地址信息,有些机器人可能不支持 + 原始的字节数据信息 + 是否成功的写入
- + - 读取单个的数据信息
- Read a single data message + 根据地址,来写入设备相关的字符串数据
+ According to the address, to write the device related string data
- 数据地址 - 带有成功标识的 bool 值 + 指定的地址信息,有些机器人可能不支持 + 字符串的数据信息 + 是否成功的写入
- + + + + + + + + + + + + + - 批量写入数组数据,返回是否成功
- Batch write array data, return whether the write was successful + 二进制通信类,默认直接
- 起始地址 - 写入值 - 是否写入成功
- + - 写入单个的数据,返回是否成功
- Write a single data, and return whether the write was successful + 默认的无参构造函数
+ Default no-parameter constructor
- 起始地址 - 写入值 - 是否写入成功
- + - 读取16位的有符号的整型数据
- Read 16-bit signed integer data + 设置日志记录报文是否二进制,如果为False,那就使用ASCII码
+ Set whether the log message is binary, if it is False, then use ASCII code
- 起始地址 - 带有成功标识的short数据 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + + 默认值为 true +
- + - 读取16位的有符号整型数组
- Read 16-bit signed integer array + 获取一个新的消息对象的方法,需要在继承类里面进行重写
+ The method to get a new message object needs to be overridden in the inheritance class
- 起始地址 - 读取的数组长度 - 带有成功标识的short数组 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 消息类对象
- + - 读取16位的无符号整型
- Read 16-bit unsigned integer + 决定当前的消息是否是用于问答机制返回的消息,默认直接返回 true, 实际的情况需要根据协议进行重写方法
+ To determine whether the current message is the message returned by the question answering mechanism, + the default is true. In actual cases, the rewriting method needs to be performed according to the protocol
- 起始地址 - 带有成功标识的ushort数据 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 管道信息 + 接收的数据信息 + 是否是问答的数据
- + - 读取16位的无符号整型数组
- Read 16-bit unsigned integer array + 根据实际的协议选择是否重写本方法,有些协议在创建连接之后,需要进行一些初始化的信号握手,才能最终建立网络通道。
+ Whether to rewrite this method is based on the actual protocol. Some protocols require some initial signal handshake to establish a network channel after the connection is created.
- 起始地址 - 读取的数组长度 - 带有成功标识的ushort数组 + 是否初始化成功,依据具体的协议进行重写 - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - + 有些协议不需要握手信号,比如三菱的MC协议,Modbus协议,西门子和欧姆龙就存在握手信息,此处的例子是继承本类后重写的西门子的协议示例 +
- + - 读取32位的有符号整型
- Read 32-bit signed integer + 根据实际的协议选择是否重写本方法,有些协议在断开连接之前,需要发送一些报文来关闭当前的网络通道
+ Select whether to rewrite this method according to the actual protocol. Some protocols need to send some packets to close the current network channel before disconnecting.
- 起始地址 - 带有成功标识的int数据 - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - + 目前暂无相关的示例,组件支持的协议都不用实现这个方法。 + 当断开连接时额外的操作结果
- + - 读取32位有符号整型数组
- Read 32-bit signed integer array + 和服务器交互完成的时候调用的方法,可以根据读写结果进行一些额外的操作,具体的操作需要根据实际的需求来重写实现
+ The method called when the interaction with the server is completed can perform some additional operations based on the read and write results. + The specific operations need to be rewritten according to actual needs.
- 起始地址 - 数组长度 - 带有成功标识的int数组 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 读取结果
- + + + + + + + + + + - 读取32位的无符号整型
- Read 32-bit unsigned integer + 获取或设置在发送通信报文前追加发送的字节信息,HEX格式,通常用于lora组网时,需要携带 00 00 00 02 四个字节的站地址功能。
+ Obtain or set the byte information sent before sending communication packets, HEX format, usually used for LORA networking, you need to carry 00 00 00 02 four-byte station address function.
- 起始地址 - 带有成功标识的uint数据 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 读取32位的无符号整型数组
- Read 32-bit unsigned integer array + 获取或设置当前的管道信息,管道类型为的继承类,内置了管道,管道,管道等
- 起始地址 - 数组长度 - 带有成功标识的uint数组 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 读取64位的有符号整型
- Read 64-bit signed integer + 组件的日志工具,支持日志记录,只要实例化后,当前网络的基本信息,就以等级进行输出
+ The component's logging tool supports logging. As long as the instantiation of the basic network information, the output will be output at
- 起始地址 - 带有成功标识的long数据 + + 只要实例化即可以记录日志,实例化的对象需要实现接口 ,本组件提供了三个日志记录类,你可以实现基于 的对象。 - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - + 如下的实例化适用于所有的Network及其派生类,以下举两个例子,三菱的设备类及服务器类 + +
- + - 读取64位的有符号整型数组
- Read 64-bit signed integer array + 获取或设置接收服务器反馈的时间,如果为负数,则不接收反馈
+ Gets or sets the time to receive server feedback, and if it is a negative number, does not receive feedback
- 起始地址 - 数组长度 - 带有成功标识的long数组 - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - + 设置1秒的接收超时的示例 + + + 超时的通常原因是服务器端没有配置好,导致访问失败,为了不卡死软件,所以有了这个超时的属性。 +
- + + + + - 读取64位的无符号整型
- Read 64-bit unsigned integer + 对当前的命令进行打包处理,通常是携带命令头内容,标记当前的命令的长度信息,需要进行重写,否则默认不打包
+ The current command is packaged, usually carrying the content of the command header, marking the length of the current command, + and it needs to be rewritten, otherwise it is not packaged by default
- 起始地址 - 带有成功标识的ulong数据 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + + 对发送的命令打包之后,直接发送给真实的对方设备了,例如在AB-PLC里面,就重写了打包方法,将当前的会话ID参数传递给PLC设备
+ After packaging the sent command, it is directly sent to the real counterpart device. For example, in AB-PLC, + the packaging method is rewritten and the current session ID parameter is passed to the PLC device. +
+ 发送的数据命令内容 + 打包之后的数据结果信息
- + - 读取64位的无符号整型的数组
- Read 64-bit unsigned integer array + 根据对方返回的报文命令,对命令进行基本的拆包,例如各种Modbus协议拆包为统一的核心报文,还支持对报文的验证
+ According to the message command returned by the other party, the command is basically unpacked, for example, + various Modbus protocols are unpacked into a unified core message, and the verification of the message is also supported
- 起始地址 - 数组长度 - 带成功标志的结果数据对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + + 在实际解包的操作过程中,通常对状态码,错误码等消息进行判断,如果校验不通过,将携带错误消息返回
+ During the actual unpacking operation, the status code, error code and other messages are usually judged. If the verification fails, the error message will be returned. +
+ 发送的原始报文数据 + 设备方反馈的原始报文内容 + 返回拆包之后的报文信息,默认不进行任何的拆包操作
- + + + + + + + - 读取单浮点数据
- Read single floating point data + 将二进制的数据发送到管道中去,然后从管道里接收二进制的数据回来,并返回是否成功的结果对象。
+ Send binary data to the pipeline, and then receive binary data back from the pipeline, and return whether the success of the result object
- 起始地址 - 带有成功标识的float数据 + 发送的完整的报文信息 + 是否有等待的数据返回 + 是否需要对命令重新打包,在重写方法后才会有影响 + 接收的完整的报文信息 + + 本方法用于实现本组件还未实现的一些报文功能,例如有些modbus服务器会有一些特殊的功能码支持,需要收发特殊的报文,详细请看示例 + - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - + 此处举例有个modbus服务器,有个特殊的功能码0x09,后面携带子数据0x01即可,发送字节为 0x00 0x00 0x00 0x00 0x00 0x03 0x01 0x09 0x01 +
- + - 读取单浮点精度的数组
- Read single floating point array + 使用指定的管道来进行数据通信,发送原始数据到管道,然后从管道接收相关的数据返回,本方法无锁
- 起始地址 - 数组长度 - 带有成功标识的float数组 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 管道信息 + 等待发送的数据 + 是否需要返回的数据 + 是否进行封包,拆包操作 + 是否成功的结果对象
- + + + + + + + + + + + + + - 读取双浮点的数据
- Read double floating point data + 获取当前的报文进行日志记录的时候,是否使用二进制的格式记录,默认返回 ,重写可以根据对象分别返回不同记录模式
+ Whether to log the current packet in binary format, the default return is . If you want to override it, + different recording modes can be returned according to
- 起始地址 - 带有成功标识的double数据 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 会话对象 + 等待记录的字节消息内容 + 是否二进制记录报文格式
- + + + + - 读取双浮点数据的数组
- Read double floating point data array + 使用日志记录一个发送的报文信息
+ Logs are used to record information about a send packet
- 起始地址 - 数组长度 - 带有成功标识的double数组 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 接收的报文信息 + 会话对象信息
- + + + + - 读取字符串数据,默认为最常见的ASCII编码
- Read string data, default is the most common ASCII encoding + 使用日志记录一个接收的报文信息
` + Logs are used to record information about a received packet
- 起始地址 - 数据长度 - 带有成功标识的string数据 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 接收的报文信息 + 会话对象信息
- + - 使用指定的编码,读取字符串数据
- Reads string data using the specified encoding + 将当前的通信对象设置DTU模式,允许传入现成的管道,并返回初始化结果,如果该设备重写了握手报文,就是返回握手结果
+ Set the current communication object to DTU mode, allow the existing pipe to be passed in, and return the initialization result, + if the device rewrites the handshake packet, the handshake result is returned
- 起始地址 - 数据长度 - 指定的自定义的编码 - 带有成功标识的string数据 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + DTU的管道信息 + 是否设置管道并初始化成功
- + + + + - 等待指定地址的值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
- Waiting for the value of the specified address to be the specified value, you can specify the frequency of refreshing the data, - and the timeout time to wait. If the timeout time is -1, it is an indefinite wait. + 通信的服务器实现,包含了TCP服务器,UDP服务器,串口服务器操作
- 其实地址 - 等待检测是值 - 读取的频率 - 等待的超时时间,如果超时时间为-1的话,则是无期限等待。 - 是否等待成功的结果对象,一旦通信失败,或是等待超时就返回失败。否则返回成功,并告知调用方等待了多久。
- + - 等待指定地址的值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
- Waiting for the value of the specified address to be the specified value, you can specify the frequency of refreshing the data, - and the timeout time to wait. If the timeout time is -1, it is an indefinite wait. + 实例化一个默认的对象
- 其实地址 - 等待检测是值 - 读取的频率 - 等待的超时时间,如果超时时间为-1的话,则是无期限等待。 - 是否等待成功的结果对象,一旦通信失败,或是等待超时就返回失败。否则返回成功,并告知调用方等待了多久。
- + + + + + + + - 等待指定地址的值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
- Waiting for the value of the specified address to be the specified value, you can specify the frequency of refreshing the data, - and the timeout time to wait. If the timeout time is -1, it is an indefinite wait. + 检查串口接收到的数据是否完整
- 其实地址 - 等待检测是值 - 读取的频率 - 等待的超时时间,如果超时时间为-1的话,则是无期限等待。 - 是否等待成功的结果对象,一旦通信失败,或是等待超时就返回失败。否则返回成功,并告知调用方等待了多久。
- + - 等待指定地址的值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
- Waiting for the value of the specified address to be the specified value, you can specify the frequency of refreshing the data, - and the timeout time to wait. If the timeout time is -1, it is an indefinite wait. + 指定端口号来启动服务器的引擎
+ Specify the port number to start the server's engine
- 其实地址 - 等待检测是值 - 读取的频率 - 等待的超时时间,如果超时时间为-1的话,则是无期限等待。 - 是否等待成功的结果对象,一旦通信失败,或是等待超时就返回失败。否则返回成功,并告知调用方等待了多久。 + 指定一个端口号 + 是否使用TCP格式,如果需要UDP,则为 false
- + - 等待指定地址的值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
- Waiting for the value of the specified address to be the specified value, you can specify the frequency of refreshing the data, - and the timeout time to wait. If the timeout time is -1, it is an indefinite wait. + 指定一个TCP端口及UDP端口,同时启动两种模式的服务器
+ Specify a TCP port and a UDP port to start the server in both modes at the same time
- 其实地址 - 等待检测是值 - 读取的频率 - 等待的超时时间,如果超时时间为-1的话,则是无期限等待。 - 是否等待成功的结果对象,一旦通信失败,或是等待超时就返回失败。否则返回成功,并告知调用方等待了多久。 + tcp端口 + udp端口
- + + + + - 等待指定地址的值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
- Waiting for the value of the specified address to be the specified value, you can specify the frequency of refreshing the data, - and the timeout time to wait. If the timeout time is -1, it is an indefinite wait. + 设置当前的服务器接收的消息信息
- 其实地址 - 等待检测是值 - 读取的频率 - 等待的超时时间,如果超时时间为-1的话,则是无期限等待。 - 是否等待成功的结果对象,一旦通信失败,或是等待超时就返回失败。否则返回成功,并告知调用方等待了多久。 + 消息对象
- + - 等待指定地址的值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
- Waiting for the value of the specified address to be the specified value, you can specify the frequency of refreshing the data, - and the timeout time to wait. If the timeout time is -1, it is an indefinite wait. + 表示客户端状态变化的委托信息
+ Delegate information representing the state change of the client
- 其实地址 - 等待检测是值 - 读取的频率 - 等待的超时时间,如果超时时间为-1的话,则是无期限等待。 - 是否等待成功的结果对象,一旦通信失败,或是等待超时就返回失败。否则返回成功,并告知调用方等待了多久。 -
- - - - - - - - - - - - - - + 当前的服务器对象信息 + 当前的客户端会话信息 - - + + + 当客户端上线时候的触发的事件
+ Event triggered when the client goes online +
- - + + + 当客户端下线时候的触发的事件
+ Event triggered when the client goes offline +
- + - 写入short数据,返回是否成功
- Write short data, returns whether success + 新增加一个管道会话信息
+ A new pipeline session information has been added
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 管道会话
- + - 写入short数组,返回是否成功
- Write short array, return whether the write was successful + 移除一个管道会话
+ Remove a pipeline session
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 管道会话 + 移除的原因
- + - 写入ushort数据,返回是否成功
- Write ushort data, return whether the write was successful + 获取或设置当前允许登录的最大客户端数量,默认为 uint.MaxValue = 4294967295
+ Gets or sets the maximum number of clients that are currently allowed to log in, which defaults to uint.MaxValue = 4294967295
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 写入ushort数组,返回是否成功
- Write ushort array, return whether the write was successful + 获取管道会话的列表
+ Get a list of pipeline sessions
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 会话列表
- + - 写入int数据,返回是否成功
- Write int data, return whether the write was successful + 指定超时时间移除当前的会话列表,只有是TCP的管道()才需要被移除。
+ Specify a timeout to remove the current session list. Only TCP pipe () need to be removed.
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 指定的超时时间
- + - 写入int[]数组,返回是否成功
- Write int array, return whether the write was successful + 新增一个主动连接的请求,将不会收到是否连接成功的信息,当网络中断及奔溃之后,会自动重新连接。
+ A new active connection request will not receive a message whether the connection is successful. When the network is interrupted and crashed, it will automatically reconnect.
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 对方的Ip地址 + 端口号 + 使用自定义的DTU数据报文
- + - 写入uint数据,返回是否成功
- Write uint data, return whether the write was successful + 创建一个指定的异形客户端连接,使用Hsl协议来发送注册包
+ Create a specified profiled client connection and use the Hsl protocol to send registration packets
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + Ip地址 + 端口号 + 设备唯一ID号,最长11 + 密码信息 + 是否需要返回注册结果报文 + 是否成功连接
- + - 写入uint[]数组,返回是否成功
- Write uint array, return whether the write was successful + 当线程检查后,进行登录之前的检查,通常用于自定义的握手包校验操作。仅对TCP通信的时候有效。
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 写入long数据,返回是否成功
- Write long data, return whether the write was successful + 创建会话状态的委托对象,也就可以自己指定创建自定义的会话
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 写入long数组,返回是否成功
- Write long array, return whether the write was successful + 当客户端连接到服务器,并听过额外的检查后,进行回调的方法
+ Callback method when the client connects to the server and has heard additional checks
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + socket对象 + 远程的终结点
- + - 写入ulong数据,返回是否成功
- Write ulong data, return whether the write was successful + 接收管道消息的事件
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 管道的会话,可能是TCP管道,可能是UDP管道,可能是串口管道 + 接收到的数据信息
- + - 写入ulong数组,返回是否成功
- Write ulong array, return whether the write was successful + 当管道接收到消息时触发
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 写入float数据,返回是否成功
- Write float data, return whether the write was successful + 获取或设置串口模式下,接收一条数据最短的时间要求,当设备发送的数据非常慢的时候,或是分割发送数据的时候,就需要将本值设置的大一点,默认为20ms
+ Get or set the shortest time required to receive a piece of data in serial port mode. + When the data sent by the device is very slow, or when the data is divided and sent, you need to set this value to a larger value, the default is 20ms
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 写入float数组,返回是否成功
- Write float array, return whether the write was successful + 获取或设置当前的服务器接收串口数据时候,是否强制只接收一次数据,默认为false,适合点对点通信,如果你总线形式的连接,则需要设置 True
+ Get or set whether to force the data to be received only once when the current server receives serial port data. The default value is false, + which is suitable for point-to-point communication. If you have a bus connection, you need to set True
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 写入double数据,返回是否成功
- Write double data, return whether the write was successful + 启动串口的从机服务,使用默认的参数进行初始化串口,9600波特率,8位数据位,无奇偶校验,1位停止位
+ Start the slave service of serial, initialize the serial port with default parameters, 9600 baud rate, 8 data bits, no parity, 1 stop bit
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + + com支持格式化的方式,例如输入 COM3-9600-8-N-1,COM5-19200-7-E-2,其中奇偶校验的字母可选,N:无校验,O:奇校验,E:偶校验,停止位可选 0, 1, 2, 1.5 四种选项 + + 串口信息
- + - 写入double数组,返回是否成功
- Write double array, return whether the write was successful + 启动串口的从机服务,使用默认的参数进行初始化串口,8位数据位,无奇偶校验,1位停止位
+ Start the slave service of serial, initialize the serial port with default parameters, 8 data bits, no parity, 1 stop bit
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 串口信息 + 波特率
- + - 写入字符串信息,编码为ASCII
- Write string information, encoded as ASCII + 启动串口的从机服务,使用指定的参数进行初始化串口,指定数据位,指定奇偶校验,指定停止位
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 串口信息 + 波特率 + 数据位 + 奇偶校验 + 停止位
- + - 写入字符串信息,需要指定的编码信息
- Write string information, need to specify the encoding information + 启动串口的从机服务,使用自定义的初始化方法初始化串口的参数
+ Start the slave service of serial and initialize the parameters of the serial port using a custom initialization method
- 起始地址 - 写入值 - 指定的编码信息 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 初始化信息的委托
- + - 写入指定长度的字符串信息,如果超出,就截断字符串,如果长度不足,那就补0操作,编码为ASCII
- Write string information of the specified length. If it exceeds the value, the string is truncated. - If the length is not enough, it is filled with 0 and the encoding is ASCII. + 关闭提供从机服务的串口对象
+ Close the serial port object that provides slave services
- 起始地址 - 写入值 - 字符串的长度 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 写入指定长度的字符串信息,如果超出,就截断字符串,如果长度不足,那就补0操作,编码为指定的编码信息
- Write string information of the specified length. If it exceeds the value, the string is truncated. If the length is not enough, - then the operation is complemented with 0 , you should specified the encoding information + 接收到串口数据的时候触发
- 起始地址 - 写入值 - 字符串的长度 - 指定的编码信息 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 串口对象 + 消息
- + - 读取自定义的数据类型,需要继承自IDataTransfer接口,返回一个新的类型的实例对象。
- To read a custom data type, you need to inherit from the IDataTransfer interface and return an instance object of a new type. + 检查串口接收的数据是否完成的方法,如果接收完成,则返回True
- 自定义的类型 - 起始地址 - 带有成功标识的自定义类型数据 - - 需要是定义一个类,选择好相对于的ByteTransform实例,才能调用该方法。 - - - 此处演示三菱的读取示例,先定义一个类,实现接口 - - 接下来就可以实现数据的读取了 - - + 缓存的数据信息 + 当前已经接收的数据长度信息 + 是否接收完成
- + + + + + + + - 读取自定义的数据类型,需要继承自IDataTransfer接口,传入一个实例,对这个实例进行赋值,并返回该实例的对象。
- To read a custom data type, you need to inherit from the IDataTransfer interface, pass in an instance, - assign a value to this instance, and return the object of the instance. + DTU远程连接的一些信息
- 自定义的类型 - 起始地址 - 实例 - 带有成功标识的自定义类型数据 - - 需要是定义一个类,选择好相对于的ByteTransform实例,才能调用该方法。 - - - 此处演示三菱的读取示例,先定义一个类,实现接口 - - 接下来就可以实现数据的读取了 - -
- + - 写入自定义类型的数据,该类型必须继承自IDataTransfer接口
- Write data of a custom type, which must inherit from the IDataTransfer interface + 实例化一个远程连接信息对象
- 类型对象 - 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 需要是定义一个类,选择好相对于的实例,才能调用该方法。 - - - 此处演示三菱的读取示例,先定义一个类,实现接口 - - 接下来就可以实现数据的读取了 - - + IP地址 + 端口号 + dtu的注册包
- + - 读取支持Hsl特性的数据内容,该特性为,详细参考api文档说明
- Read the data content of the Hsl attribute. The attribute is , please refer to the api documentation for details. + 实例化一个远程连接信息对象
- 自定义的数据类型对象 - 包含是否成功的结果对象 - - 此处演示西门子的读取示例,先定义一个类,重点是将需要读取的数据,写入到属性的特性中去。 - - 接下来就可以实现数据的读取了 - - + IP地址 + 端口号 + DTU信息 + 密码 + 是否需要返回注册结果
- + - 写入支持Hsl特性的数据,返回是否写入成功,该特性为,详细参考api文档说明
- Write data that supports the Hsl attribute, and return whether the write was successful. The attribute is , please refer to the api documentation for details. + 远程端口号信息
- 自定义的数据类型对象 - 包含是否成功的结果对象 - - 此处演示西门子的读取示例,先定义一个类,重点是将需要读取的数据,写入到属性的特性中去。 - - 接下来就可以实现数据的写入了 - - -
- + - 读取结构体类型的数据,根据结构体自身的定义,读取原始字节数组,然后解析出实际的结构体数据,结构体需要实现特性 + 会话信息 - 类型对象信息 - PLC的地址信息 - 读取的地址长度信息 - 如果成功,返回成功的结构体对象 - - 此处演示西门子的读取示例,先定义一个类,重点是将需要读取的数据,写入到属性的特性中去。 - - 接下来就可以实现数据的读取了 - - - + - 异步批量读取字节数组信息,需要指定地址和长度,返回原始的字节数组
- Asynchronous batch read byte array information, need to specify the address and length, return the original byte array + DTU的注册包
- 数据地址 - 数据长度 - 带有成功标识的byte[]数组
- + - 异步写入原始的byte数组数据到指定的地址,返回是否写入成功
- Asynchronously writes the original byte array data to the specified address, and returns whether the write was successful + 是否需要返回
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 异步批量读取数组信息,需要指定地址和长度,返回 数组
- Asynchronously batch read array information, need to specify the address and length, return array + 仅仅包含 TCP 服务器
- 数据地址 - 数据长度 - 带有成功标识的byte[]数组
- + - 异步读取单个的数据信息
- Asynchronously read a single data message + 实例化一个默认的对象
- 数据地址 - 带有成功标识的byte[]数组
- + + + + + + + + + + + + + + + + - 异步批量写入数组数据,返回是否成功
- Asynchronously batch write array data, return success + 记录一些调试日志的委托,将会进行输出调试文本。
+ The delegate that records some debug logs will output debug text.
- 起始地址 - 写入值 - 带有成功标识的结果类对象
- + - 异步批量写入数组数据,返回是否成功
- Asynchronously batch write array data, return success + 使用SSL通信,传递一个证书的对象
- 起始地址 - 写入值 - 带有成功标识的结果类对象 + 证书对象
- + - 异步读取16位的有符号的整型数据
- Asynchronously read 16-bit signed integer data + 使用SSL通信,传递一个证书的路径,以及证书的密码
- 起始地址 - 带有成功标识的short数据 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 传递一个证书 + 证书的密码
- + - 异步读取16位的有符号整型数组
- Asynchronously read 16-bit signed integer array + 指定端口号来启动服务器的引擎
+ Specify the port number to start the server's engine
- 起始地址 - 读取的数组长度 - 带有成功标识的short数组 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 指定一个端口号
- + + + + - 异步读取16位的无符号整型
- Asynchronously read 16-bit unsigned integer + 关闭服务器的引擎
+ Shut down the server's engine
- 起始地址 - 带有成功标识的ushort数据 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 异步读取16位的无符号整型数组
- Asynchronously read 16-bit unsigned integer array + 设置并启动受信任的客户端登录并读写,如果为null,将关闭对客户端的ip验证
+ Set and start the trusted client login and read and write, if it is null, the client's IP verification will be turned off
- 起始地址 - 读取的数组长度 - 带有成功标识的ushort数组 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 受信任的客户端列表
- + - 异步读取32位的有符号整型
- Asynchronously read 32-bit signed integer + 检查该Ip地址是否是受信任的
+ Check if the IP address is trusted
- 起始地址 - 带有成功标识的int数据 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + Ip地址信息 + 是受信任的返回True,否则返回False
- + - 异步读取32位有符号整型数组
- Asynchronously read 32-bit signed integer array + 获取受信任的客户端列表
+ Get a list of trusted clients
- 起始地址 - 数组长度 - 带有成功标识的int数组 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 字符串数据信息
- + - 异步读取32位的无符号整型
- Asynchronously read 32-bit unsigned integer + 当客户端连接到服务器,并听过额外的检查后,进行回调的方法
+ Callback method when the client connects to the server and has heard additional checks
- 起始地址 - 带有成功标识的uint数据 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + socket对象 + 远程的终结点
- + - 异步读取32位的无符号整型数组
- Asynchronously read 32-bit unsigned integer array + 关闭的时候额外执行的功能代码
- 起始地址 - 数组长度 - 带有成功标识的uint数组 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 异步读取64位的有符号整型
- Asynchronously read 64-bit signed integer + 服务器启动的时候额外执行的功能代码
- 起始地址 - 带有成功标识的long数据 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 异步读取64位的有符号整型数组
- Asynchronously read 64-bit signed integer array + 当客户端的socket登录的时候额外检查的操作,并返回操作的结果信息。
+ The operation is additionally checked when the client's socket logs in, and the result information of the operation is returned.
- 起始地址 - 数组长度 - 带有成功标识的long数组 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 套接字 + 终结点 + 验证的结果
- + - 异步读取64位的无符号整型
- Asynchronously read 64-bit unsigned integer + 记录当前的日志信息
- 起始地址 - 带有成功标识的ulong数据 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 消息文本
- + - 异步读取64位的无符号整型的数组
- Asynchronously read 64-bit unsigned integer array + 核心的socket服务器
- 起始地址 - 数组长度 - 带有成功标识的ulong数组 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 异步读取单浮点数据
- Asynchronously read single floating point data + 异形客户端的基类,提供了基础的异形操作
+ The base class of the profiled client provides the basic profiled operation
- 起始地址 - 带有成功标识的float数据 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 异步读取单浮点精度的数组
- Asynchronously read single floating point array + 默认的无参构造方法
+ The default parameterless constructor
- 起始地址 - 数组长度 - 带有成功标识的float数组 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 异步读取双浮点的数据
- Asynchronously read double floating point data + 当接收到了新的请求的时候执行的操作
+ An action performed when a new request is received
- 起始地址 - 带有成功标识的double数据 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 管道对象 + 终结点
- + - 异步读取双浮点数据的数组
- Asynchronously read double floating point data array + 在DTU设备发送了注册报文的时候,指示是否返回响应报文,用来通知DTU设备是否登录成功,默认为 True
+ When a DTU sends a registration packet, it indicates whether to return a response packet to notify the DTU whether the DTU is logged in, The default is True
- 起始地址 - 数组长度 - 带有成功标识的double数组 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 异步读取字符串数据,默认为最常见的ASCII编码
- Asynchronously read string data, default is the most common ASCII encoding + 是否统一检查密码,如果每个会话需要自己检查密码,就需要设置为false
+ Whether to check the password uniformly, if each session needs to check the password by itself, it needs to be set to false
- 起始地址 - 数据长度 - 带有成功标识的string数据 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 异步使用指定的编码,读取字符串数据
- Asynchronously reads string data using the specified encoding + 远程连接的客户端上线的委托事件
+ The delegate event for the client to which the remote connection goes online
- 起始地址 - 数据长度 - 指定的自定义的编码 - 带有成功标识的string数据 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 异形客户端的会话信息
- + - 异步写入short数据,返回是否成功
- Asynchronously write short data, returns whether success + 当有服务器连接上来的时候触发
+ Triggered when a server is connected
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 异步写入short数组,返回是否成功
- Asynchronously write short array, return whether the write was successful + 获取取返回的命令信息
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 状态 + 回发的指令信息
- + - 异步写入ushort数据,返回是否成功
- Asynchronously write ushort data, return whether the write was successful + 检测当前的DTU是否在线
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 当前的会话信息 + 当前的会话是否在线
- + - 异步写入ushort数组,返回是否成功
- Asynchronously write ushort array, return whether the write was successful + 检测当前的dtu是否允许登录
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 当前的会话信息 + 当前的id是否可允许登录
- + - 异步写入int数据,返回是否成功
- Asynchronously write int data, return whether the write was successful + 设置密码,需要传入长度为6的字节数组
+ To set the password, you need to pass in an array of bytes of length 6
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 密码信息
- + - 异步写入int[]数组,返回是否成功
- Asynchronously write int array, return whether the write was successful + 设置可信任的客户端列表,传入一个DTU的列表信息
+ Set up the list of trusted clients, passing in the list information for a DTU
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 客户端列表
- + - 异步写入uint数据,返回是否成功
- Asynchronously write uint data, return whether the write was successful + 释放当前的对象
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - +
- + + + + + + + - 异步写入uint[]数组,返回是否成功
- Asynchronously write uint array, return whether the write was successful + 状态登录成功
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 异步写入long数据,返回是否成功
- Asynchronously write long data, return whether the write was successful + 重复登录
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 异步写入long数组,返回是否成功
- Asynchronously write long array, return whether the write was successful + 禁止登录
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 异步写入ulong数据,返回是否成功
- Asynchronously write ulong data, return whether the write was successful + 密码错误
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 异步写入ulong数组,返回是否成功
- Asynchronously write ulong array, return whether the write was successful + 获取错误的描述信息
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + dtu信息 + 错误码 + 其他消息 + 错误信息
- + - 异步写入float数据,返回是否成功
- Asynchronously write float data, return whether the write was successful + 带登录认证的服务器类,可以对连接的客户端进行筛选,放行用户名密码正确的连接,并支持对在线的客户端对象进行管理
+ The server class with login authentication can filter connected clients, allow connections with correct username and password, and support online client objects
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 异步写入float数组,返回是否成功
- Asynchronously write float array, return whether the write was successful + 实例化一个默认的对象
+ instantiate a default object
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 异步写入double数据,返回是否成功
- Asynchronously write double data, return whether the write was successful + 当客户端的socket登录的时候额外检查的信息,检查当前会话的用户名和密码
+ Additional check information when the client's socket logs in, check the username and password of the current session
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 套接字 + 终结点 + 验证的结果
- + - 异步写入double数组,返回是否成功
- Asynchronously write double array, return whether the write was successful + 获取或设置是否对客户端启动账号认证
+ Gets or sets whether to enable account authentication on the client
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - -
- + - 异步写入字符串信息,编码为ASCII
- Asynchronously write string information, encoded as ASCII + 新增账户,如果想要启动账户登录,必须将设置为True
+ Add an account. If you want to activate account login, you must set to True
- 起始地址 - 写入值 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 账户名称 + 账户名称
- + - 异步写入字符串信息,需要指定的编码信息
- Asynchronously write string information, need to specify the encoding information + 删除一个账户的信息
+ Delete an account's information
- 起始地址 - 写入值 - 指定的编码信息 - 带有成功标识的结果类对象 - - 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: - - + 账户名称
- + - 异步写入指定长度的字符串信息,如果超出,就截断字符串,如果长度不足,那就补0操作,编码为ASCII
- Asynchronously write string information of the specified length. If it exceeds the value, the string is truncated. - If the length is not enough, it is filled with 0 and the encoding is ASCII. + 当客户端登录后,在Ip信息的过滤后,然后触发本方法,进行后续的数据接收,处理,并返回相关的数据信息
+ When the client logs in, after filtering the IP information, this method is then triggered to perform subsequent data reception, + processing, and return related data information
- 起始地址 - 写入值 - 字符串的长度 - 带有成功标识的结果类对象 + 网络套接字 + 终端节点
- + - 异步写入指定长度的字符串信息,如果超出,就截断字符串,如果长度不足,那就补0操作,编码为指定的编码信息
- Asynchronously write string information of the specified length. If it exceeds the value, the string is truncated. If the length is not enough, - then the operation is complemented with 0 , you should specified the encoding information + 从远程Socket异步接收的数据信息
- 起始地址 - 写入值 - 字符串的长度 - 指定的编码信息 - 带有成功标识的结果类对象 -
- - - - 此处演示三菱的读取示例,先定义一个类,实现接口 - - 接下来就可以实现数据的读取了 - - - - - - - 此处演示三菱的读取示例,先定义一个类,实现接口 - - 接下来就可以实现数据的读取了 - - - - - - - 此处演示三菱的读取示例,先定义一个类,实现接口 - - 接下来就可以实现数据的读取了 - - + 异步接收的对象 - + - 异步读取支持Hsl特性的数据内容,该特性为,详细参考api文档说明
- Asynchronously read the data content of the Hsl attribute. The attribute is , please refer to the api documentation for details. + 当接收到了新的请求的时候执行的操作,此处进行账户的安全验证
+ The operation performed when a new request is received, and the account security verification is performed here
- 自定义的数据类型对象 - 包含是否成功的结果对象 - - 此处演示西门子的读取示例,先定义一个类,重点是将需要读取的数据,写入到属性的特性中去。 - - 接下来就可以实现数据的读取了 - - + 异步对象 + 终结点
- + - 异步写入支持Hsl特性的数据,返回是否写入成功,该特性为,详细参考api文档说明
- Asynchronously write data that supports the Hsl attribute, and return whether the write was successful. The attribute is , please refer to the api documentation for details. + 设置并启动受信任的客户端登录并读写,如果为null,将关闭对客户端的ip验证
+ Set and start the trusted client login and read and write, if it is null, the client's IP verification will be turned off
- 自定义的数据类型对象 - 包含是否成功的结果对象 - - 此处演示西门子的读取示例,先定义一个类,重点是将需要读取的数据,写入到属性的特性中去。 - - 接下来就可以实现数据的写入了 - - - -
- - + 受信任的客户端列表 - + - 所有的机器人的统一读写标准,统一的基本的读写操作
- Unified reading and writing standards for all robots, unified basic reading and writing operations + 检查该Ip地址是否是受信任的
+ Check if the IP address is trusted
+ Ip地址信息 + 是受信任的返回True,否则返回False
- - - - + - 根据地址读取机器人的原始的字节数据信息
- Read the robot's original byte data information according to the address + 获取受信任的客户端列表
+ Get a list of trusted clients
- 指定的地址信息,对于某些机器人无效 - 带有成功标识的byte[]数组 + 字符串数据信息
- + + + + - 根据地址读取机器人的字符串的数据信息
- Read the string data information of the robot based on the address + 获取在线的客户端的数量
+ Get the number of clients online
- 地址信息 - 带有成功标识的字符串数据
- + - 根据地址,来写入设备的相关的字节数据
- According to the address, to write the device related bytes data + 表示客户端状态变化的委托信息
+ Delegate information representing the state change of the client
- 指定的地址信息,有些机器人可能不支持 - 原始的字节数据信息 - 是否成功的写入 + 当前的服务器对象信息 + 当前的客户端会话信息
- + - 根据地址,来写入设备相关的字符串数据
- According to the address, to write the device related string data + 当客户端上线时候的触发的事件
+ Event triggered when the client goes online
- 指定的地址信息,有些机器人可能不支持 - 字符串的数据信息 - 是否成功的写入 -
- - - - - - - - - - - - + - 二进制通信类,默认直接 + 当客户端下线时候的触发的事件
+ Event triggered when the client goes offline
- + - 默认的无参构造函数
- Default no-parameter constructor + 获取当前所有在线的客户端信息,包括IP地址和端口号信息
+ Get all current online client information, including IP address and port number information
- + - 设置日志记录报文是否二进制,如果为False,那就使用ASCII码
- Set whether the log message is binary, if it is False, then use ASCII code + 获取或设置两次数据交互时的最小时间间隔,默认为24小时。如果超过该设定的时间不进行数据交互,服务器就会强制断开当前的连接操作。
+ Get or set the minimum time interval between two data interactions, the default is 24 hours. + If the data exchange is not performed for more than the set time, the server will forcibly disconnect the current connection operation.
- 默认值为 true + 举例设置为10分钟,ActiveTimeSpan = TimeSpan.FromMinutes( 10 );
- - - 获取一个新的消息对象的方法,需要在继承类里面进行重写
- The method to get a new message object needs to be overridden in the inheritance class -
- 消息类对象 -
- - - 决定当前的消息是否是用于问答机制返回的消息,默认直接返回 true, 实际的情况需要根据协议进行重写方法
- To determine whether the current message is the message returned by the question answering mechanism, - the default is true. In actual cases, the rewriting method needs to be performed according to the protocol -
- 管道信息 - 接收的数据信息 - 是否是问答的数据 -
- + - 根据实际的协议选择是否重写本方法,有些协议在创建连接之后,需要进行一些初始化的信号握手,才能最终建立网络通道。
- Whether to rewrite this method is based on the actual protocol. Some protocols require some initial signal handshake to establish a network channel after the connection is created. + 新增一个在线的客户端信息
+ Add an online client information
- 是否初始化成功,依据具体的协议进行重写 - - 有些协议不需要握手信号,比如三菱的MC协议,Modbus协议,西门子和欧姆龙就存在握手信息,此处的例子是继承本类后重写的西门子的协议示例 - - + 会话内容
- + - 根据实际的协议选择是否重写本方法,有些协议在断开连接之前,需要发送一些报文来关闭当前的网络通道
- Select whether to rewrite this method according to the actual protocol. Some protocols need to send some packets to close the current network channel before disconnecting. + 移除一个在线的客户端信息
+ Remove an online client message
- - 目前暂无相关的示例,组件支持的协议都不用实现这个方法。 - - 当断开连接时额外的操作结果 + 会话内容 + 下线的原因
- + - 和服务器交互完成的时候调用的方法,可以根据读写结果进行一些额外的操作,具体的操作需要根据实际的需求来重写实现
- The method called when the interaction with the server is completed can perform some additional operations based on the read and write results. - The specific operations need to be rewritten according to actual needs. + 释放当前的对象
- 读取结果 -
- - + 是否托管对象 - - + + - - + + - + - 获取或设置在发送通信报文前追加发送的字节信息,HEX格式,通常用于lora组网时,需要携带 00 00 00 02 四个字节的站地址功能。
- Obtain or set the byte information sent before sending communication packets, HEX format, usually used for LORA networking, you need to carry 00 00 00 02 four-byte station address function. + 本系统所有网络类的基类,该类为抽象类,无法进行实例化,如果想使用里面的方法来实现自定义的网络通信,请通过继承使用。
+ The base class of all network classes in this system. This class is an abstract class and cannot be instantiated. + If you want to use the methods inside to implement custom network communication, please use it through inheritance.
+ + 本类提供了丰富的底层数据的收发支持,包含消息的接收,MQTT以及Redis,websocket协议的实现 +
- + - 获取或设置当前的管道信息,管道类型为的继承类,内置了管道,管道,管道等 + 实例化一个NetworkBase对象,令牌的默认值为空,都是0x00
+ Instantiate a NetworkBase object, the default value of the token is empty, both are 0x00
- + 组件的日志工具,支持日志记录,只要实例化后,当前网络的基本信息,就以等级进行输出
The component's logging tool supports logging. As long as the instantiation of the basic network information, the output will be output at @@ -7990,3021 +7768,3585 @@ - + - 获取或设置接收服务器反馈的时间,如果为负数,则不接收反馈
- Gets or sets the time to receive server feedback, and if it is a negative number, does not receive feedback + 网络类的身份令牌,在hsl协议的模式下会有效,在和设备进行通信的时候是无效的
+ Network-type identity tokens will be valid in the hsl protocol mode and will not be valid when communicating with the device
- - 设置1秒的接收超时的示例 - - - 超时的通常原因是服务器端没有配置好,导致访问失败,为了不卡死软件,所以有了这个超时的属性。 + 适用于Hsl协议相关的网络通信类,不适用于设备交互类。 + + 此处以 服务器类及 客户端类的令牌设置举例 + + +
- - + + + 文件传输的时候的缓存大小,直接影响传输的速度,值越大,传输速度越快,越占内存,默认为100K大小
+ The size of the cache during file transfer directly affects the speed of the transfer. The larger the value, the faster the transfer speed and the more memory it takes. The default size is 100K. +
- + - 对当前的命令进行打包处理,通常是携带命令头内容,标记当前的命令的长度信息,需要进行重写,否则默认不打包
- The current command is packaged, usually carrying the content of the command header, marking the length of the current command, - and it needs to be rewritten, otherwise it is not packaged by default + 接收固定长度的字节数组,允许指定超时时间,默认为60秒,当length大于0时,接收固定长度的数据内容,当length小于0时,buffer长度的缓存数据
+ Receiving a fixed-length byte array, allowing a specified timeout time. The default is 60 seconds. When length is greater than 0, + fixed-length data content is received. When length is less than 0, random data information of a length not greater than 2048 is received.
- - 对发送的命令打包之后,直接发送给真实的对方设备了,例如在AB-PLC里面,就重写了打包方法,将当前的会话ID参数传递给PLC设备
- After packaging the sent command, it is directly sent to the real counterpart device. For example, in AB-PLC, - the packaging method is rewritten and the current session ID parameter is passed to the PLC device. -
- 发送的数据命令内容 - 打包之后的数据结果信息 + 网络通讯的套接字
Network communication socket + 等待接收的数据缓存信息 + 开始接收数据的偏移地址 + 准备接收的数据长度,当length大于0时,接收固定长度的数据内容,当length小于0时,接收不大于1024长度的随机数据信息 + 单位:毫秒,超时时间,默认为60秒,如果设置小于0,则不检查超时时间 + 当前接收数据的进度报告,有些协议支持传输非常大的数据内容,可以给与进度提示的功能 + 包含了字节数据的结果类
- + - 根据对方返回的报文命令,对命令进行基本的拆包,例如各种Modbus协议拆包为统一的核心报文,还支持对报文的验证
- According to the message command returned by the other party, the command is basically unpacked, for example, - various Modbus protocols are unpacked into a unified core message, and the verification of the message is also supported + 接收固定长度的字节数组,允许指定超时时间,默认为60秒,当length大于0时,接收固定长度的数据内容,当length小于0时,接收不大于2048长度的随机数据信息
+ Receiving a fixed-length byte array, allowing a specified timeout time. The default is 60 seconds. When length is greater than 0, + fixed-length data content is received. When length is less than 0, random data information of a length not greater than 2048 is received.
- - 在实际解包的操作过程中,通常对状态码,错误码等消息进行判断,如果校验不通过,将携带错误消息返回
- During the actual unpacking operation, the status code, error code and other messages are usually judged. If the verification fails, the error message will be returned. -
- 发送的原始报文数据 - 设备方反馈的原始报文内容 - 返回拆包之后的报文信息,默认不进行任何的拆包操作 + 网络通讯的套接字
Network communication socket + 准备接收的数据长度,当length大于0时,接收固定长度的数据内容,当length小于0时,接收不大于1024长度的随机数据信息 + 单位:毫秒,超时时间,默认为60秒,如果设置小于0,则不检查超时时间 + 当前接收数据的进度报告,有些协议支持传输非常大的数据内容,可以给与进度提示的功能 + 包含了字节数据的结果类
- - + + - - + + - + - 将二进制的数据发送到管道中去,然后从管道里接收二进制的数据回来,并返回是否成功的结果对象。
- Send binary data to the pipeline, and then receive binary data back from the pipeline, and return whether the success of the result object + 接收一行命令数据,需要自己指定这个结束符,默认超时时间为60秒,也即是60000,单位是毫秒
+ To receive a line of command data, you need to specify the terminator yourself. The default timeout is 60 seconds, which is 60,000, in milliseconds.
- 发送的完整的报文信息 - 是否有等待的数据返回 - 是否需要对命令重新打包,在重写方法后才会有影响 - 接收的完整的报文信息 - - 本方法用于实现本组件还未实现的一些报文功能,例如有些modbus服务器会有一些特殊的功能码支持,需要收发特殊的报文,详细请看示例 - - - 此处举例有个modbus服务器,有个特殊的功能码0x09,后面携带子数据0x01即可,发送字节为 0x00 0x00 0x00 0x00 0x00 0x03 0x01 0x09 0x01 - - + 网络套接字 + 结束符信息 + 超时时间,默认为60000,单位为毫秒,也就是60秒 + 带有结果对象的数据信息
- + - 使用指定的管道来进行数据通信,发送原始数据到管道,然后从管道接收相关的数据返回,本方法无锁 + 接收一行命令数据,需要自己指定这个结束符,默认超时时间为60秒,也即是60000,单位是毫秒
+ To receive a line of command data, you need to specify the terminator yourself. The default timeout is 60 seconds, which is 60,000, in milliseconds.
- 管道信息 - 等待发送的数据 - 是否需要返回的数据 - 是否进行封包,拆包操作 - 是否成功的结果对象 -
- - - - - - - - - - - + 网络套接字 + 结束符1信息 + 结束符2信息 + /// 超时时间,默认无穷大,单位毫秒 + 带有结果对象的数据信息 - + - 获取当前的报文进行日志记录的时候,是否使用二进制的格式记录,默认返回 ,重写可以根据对象分别返回不同记录模式
- Whether to log the current packet in binary format, the default return is . If you want to override it, - different recording modes can be returned according to + 接收一条完整的 数据内容,需要指定超时时间,单位为毫秒。
+ Receive a complete data content, Need to specify a timeout period in milliseconds
- 会话对象 - 等待记录的字节消息内容 - 是否二进制记录报文格式 -
- - + 网络的套接字 + 超时时间,单位:毫秒 + 消息的格式定义 + 接收消息的时候的进度报告 + 带有是否成功的byte数组对象 - + - 使用日志记录一个发送的报文信息
- Logs are used to record information about a send packet + 发送消息给套接字,直到完成的时候返回,经过测试,本方法是线程安全的。
+ Send a message to the socket until it returns when completed. After testing, this method is thread-safe.
- 接收的报文信息 - 会话对象信息 -
- - + 网络套接字 + 字节数据 + 发送是否成功的结果 - + - 使用日志记录一个接收的报文信息
` - Logs are used to record information about a received packet + 发送消息给套接字,直到完成的时候返回,经过测试,本方法是线程安全的。
+ Send a message to the socket until it returns when completed. After testing, this method is thread-safe.
- 接收的报文信息 - 会话对象信息 + 网络套接字 + 字节数据 + 偏移的位置信息 + 发送的数据总数 + 发送是否成功的结果
- - - 将当前的通信对象设置DTU模式,允许传入现成的管道,并返回初始化结果,如果该设备重写了握手报文,就是返回握手结果
- Set the current communication object to DTU mode, allow the existing pipe to be passed in, and return the initialization result, - if the device rewrites the handshake packet, the handshake result is returned -
- DTU的管道信息 - 是否设置管道并初始化成功 + + - - + + - + - 通信的服务器实现,包含了TCP服务器,UDP服务器,串口服务器操作 + 创建一个新的socket对象并连接到远程的地址,默认超时时间为10秒钟,需要指定ip地址以及端口号信息
+ Create a new socket object and connect to the remote address. The default timeout is 10 seconds. You need to specify the IP address and port number.
+ Ip地址 + 端口号 + 返回套接字的封装结果对象 + + +
- + - 实例化一个默认的对象 + 创建一个新的socket对象并连接到远程的地址,需要指定ip地址以及端口号信息,还有超时时间,单位是毫秒
+ To create a new socket object and connect to a remote address, you need to specify the IP address and port number information, and the timeout period in milliseconds
+ Ip地址 + 端口号 + 连接的超时时间 + 返回套接字的封装结果对象 + + +
- - - - - - - + - 检查串口接收到的数据是否完整 + 创建一个新的socket对象并连接到远程的地址,需要指定远程终结点,超时时间(单位是毫秒),如果需要绑定本地的IP或是端口,传入 local对象
+ To create a new socket object and connect to the remote address, you need to specify the remote endpoint, + the timeout period (in milliseconds), if you need to bind the local IP or port, pass in the local object
+ 连接的目标终结点 + 连接的超时时间 + 如果需要绑定本地的IP地址,就需要设置当前的对象 + 返回套接字的封装结果对象 + + +
- + - 指定端口号来启动服务器的引擎
- Specify the port number to start the server's engine + 检查当前的头子节信息的令牌是否是正确的,仅用于某些特殊的协议实现
+ Check whether the token of the current header subsection information is correct, only for some special protocol implementations
- 指定一个端口号 - 是否使用TCP格式,如果需要UDP,则为 false -
- - + 头子节数据 + 令牌是验证成功 - + - 设置当前的服务器接收的消息信息 + [自校验] 发送字节数据并确认对方接收完成数据,如果结果异常,则结束通讯
+ [Self-check] Send the byte data and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
- 消息对象 + 网络套接字 + 头指令 + 用户指令 + 发送的数据 + 是否发送成功
- + - 表示客户端状态变化的委托信息
- Delegate information representing the state change of the client + [自校验] 发送字节数据并确认对方接收完成数据,如果结果异常,则结束通讯
+ [Self-check] Send the byte data and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
- 当前的服务器对象信息 - 当前的客户端会话信息 + 网络套接字 + 用户指令 + 发送的数据 + 是否发送成功
- + - 当客户端上线时候的触发的事件
- Event triggered when the client goes online + [自校验] 直接发送字符串数据并确认对方接收完成数据,如果结果异常,则结束通讯
+ [Self-checking] Send string data directly and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
+ 网络套接字 + 用户指令 + 发送的数据 + 是否发送成功
- + - 当客户端下线时候的触发的事件
- Event triggered when the client goes offline + [自校验] 直接发送字符串数组并确认对方接收完成数据,如果结果异常,则结束通讯
+ [Self-check] Send string array directly and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
+ 网络套接字 + 用户指令 + 发送的字符串数组 + 是否发送成功
- + - 新增加一个管道会话信息
- A new pipeline session information has been added + [自校验] 直接发送字符串数组并确认对方接收完成数据,如果结果异常,则结束通讯
+ [Self-check] Send string array directly and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
- 管道会话 -
- - - 移除一个管道会话
- Remove a pipeline session -
- 管道会话 - 移除的原因 + 网络套接字 + 用户指令 + 用户名 + 密码 + 是否发送成功
- + - 获取或设置当前允许登录的最大客户端数量,默认为 uint.MaxValue = 4294967295
- Gets or sets the maximum number of clients that are currently allowed to log in, which defaults to uint.MaxValue = 4294967295 + [自校验] 接收一条完整的同步数据,包含头子节和内容字节,基础的数据,如果结果异常,则结束通讯
+ [Self-checking] Receive a complete synchronization data, including header subsection and content bytes, basic data, if the result is abnormal, the communication ends
+ 套接字 + 超时时间设置,如果为负数,则不检查超时 + 包含是否成功的结果对象 + result
- + - 获取管道会话的列表
- Get a list of pipeline sessions + [自校验] 从网络中接收一个字符串数据,如果结果异常,则结束通讯
+ [Self-checking] Receive a string of data from the network. If the result is abnormal, the communication ends.
- 会话列表 + 套接字 + 接收数据的超时时间 + 包含是否成功的结果对象
- + - 指定超时时间移除当前的会话列表,只有是TCP的管道()才需要被移除。
- Specify a timeout to remove the current session list. Only TCP pipe () need to be removed. + [自校验] 从网络中接收一个字符串数组,如果结果异常,则结束通讯
+ [Self-check] Receive an array of strings from the network. If the result is abnormal, the communication ends.
- 指定的超时时间 + 套接字 + 接收数据的超时时间 + 包含是否成功的结果对象
- + - 新增一个主动连接的请求,将不会收到是否连接成功的信息,当网络中断及奔溃之后,会自动重新连接。
- A new active connection request will not receive a message whether the connection is successful. When the network is interrupted and crashed, it will automatically reconnect. + [自校验] 从网络中接收一串字节数据,如果结果异常,则结束通讯
+ [Self-checking] Receive a string of byte data from the network. If the result is abnormal, the communication ends.
- 对方的Ip地址 - 端口号 - 使用自定义的DTU数据报文 + 套接字的网络 + 超时时间 + 包含是否成功的结果对象
- + - 创建一个指定的异形客户端连接,使用Hsl协议来发送注册包
- Create a specified profiled client connection and use the Hsl protocol to send registration packets + 从网络中接收Long数据
+ Receive Long data from the network
- Ip地址 - 端口号 - 设备唯一ID号,最长11 - 密码信息 - 是否需要返回注册结果报文 - 是否成功连接 + 套接字网络 + long数据结果
- + - 当线程检查后,进行登录之前的检查,通常用于自定义的握手包校验操作。仅对TCP通信的时候有效。 + 将long数据发送到套接字
+ Send long data to the socket
+ 网络套接字 + long数据 + 是否发送成功
- + - 创建会话状态的委托对象,也就可以自己指定创建自定义的会话 + 发送一个流的所有数据到指定的网络套接字,需要指定发送的数据长度,支持按照百分比的进度报告
+ Send all the data of a stream to the specified network socket. You need to specify the length of the data to be sent. It supports the progress report in percentage.
+ 套接字 + 内存流 + 发送的数据长度 + 进度报告的委托 + 进度报告是否按照百分比报告 + 是否成功的结果对象
- + - 当客户端连接到服务器,并听过额外的检查后,进行回调的方法
- Callback method when the client connects to the server and has heard additional checks + 从套接字中接收所有的数据然后写入到指定的流当中去,需要指定数据的长度,支持按照百分比进行进度报告
+ Receives all data from the socket and writes it to the specified stream. The length of the data needs to be specified, and progress reporting is supported in percentage.
- socket对象 - 远程的终结点 + 套接字 + 数据流 + 所有数据的长度 + 进度报告 + 进度报告是否按照百分比 + 是否成功的结果对象
- - - 接收管道消息的事件 - - 管道的会话,可能是TCP管道,可能是UDP管道,可能是串口管道 - 接收到的数据信息 + + - - - 当管道接收到消息时触发 - + + - - - 获取或设置串口模式下,接收一条数据最短的时间要求,当设备发送的数据非常慢的时候,或是分割发送数据的时候,就需要将本值设置的大一点,默认为20ms
- Get or set the shortest time required to receive a piece of data in serial port mode. - When the data sent by the device is very slow, or when the data is divided and sent, you need to set this value to a larger value, the default is 20ms -
+ + - - - 获取或设置当前的服务器接收串口数据时候,是否强制只接收一次数据,默认为false,适合点对点通信,如果你总线形式的连接,则需要设置 True
- Get or set whether to force the data to be received only once when the current server receives serial port data. The default value is false, - which is suitable for point-to-point communication. If you have a bus connection, you need to set True -
+ + - - - 启动串口的从机服务,使用默认的参数进行初始化串口,9600波特率,8位数据位,无奇偶校验,1位停止位
- Start the slave service of serial, initialize the serial port with default parameters, 9600 baud rate, 8 data bits, no parity, 1 stop bit -
- - com支持格式化的方式,例如输入 COM3-9600-8-N-1,COM5-19200-7-E-2,其中奇偶校验的字母可选,N:无校验,O:奇校验,E:偶校验,停止位可选 0, 1, 2, 1.5 四种选项 - - 串口信息 + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - 启动串口的从机服务,使用默认的参数进行初始化串口,8位数据位,无奇偶校验,1位停止位
- Start the slave service of serial, initialize the serial port with default parameters, 8 data bits, no parity, 1 stop bit + 接收一条完整的MQTT协议的报文信息,包含控制码和负载数据
+ Receive a message of a completed MQTT protocol, including control code and payload data
- 串口信息 - 波特率 + 网络套接字 + 超时时间 + 进度报告,第一个参数是已完成的字节数量,第二个参数是总字节数量。 + 结果数据内容
- + + + + - 启动串口的从机服务,使用指定的参数进行初始化串口,指定数据位,指定奇偶校验,指定停止位
+ 使用MQTT协议从socket接收指定长度的字节数组,然后全部写入到流中,可以指定进度报告
+ Use the MQTT protocol to receive a byte array of specified length from the socket, and then write all of them to the stream, and you can specify a progress report
- 串口信息 - 波特率 - 数据位 - 奇偶校验 - 停止位 + 网络套接字 + 数据流 + 数据大小 + 超时时间 + 进度报告,第一个参数是已完成的字节数量,第二个参数是总字节数量。 + AES数据加密对象,如果为空,则不进行加密 + 取消的令牌操作信息 + 是否操作成功
- + - 启动串口的从机服务,使用自定义的初始化方法初始化串口的参数
- Start the slave service of serial and initialize the parameters of the serial port using a custom initialization method + 使用MQTT协议将流中的数据读取到字节数组,然后都写入到socket里面,可以指定进度报告,主要用于将文件发送到网络。
+ Use the MQTT protocol to read the data in the stream into a byte array, and then write them all into the socket. + You can specify a progress report, which is mainly used to send files to the network.
- 初始化信息的委托 + 网络套接字 + 流 + 总的数据大小 + 超时信息 + 进度报告,第一个参数是已完成的字节数量,第二个参数是总字节数量。 + AES数据加密对象,如果为空,则不进行加密 + 取消操作的令牌信息 + 是否操作成功
- + - 关闭提供从机服务的串口对象
- Close the serial port object that provides slave services + 使用MQTT协议将一个文件发送到网络上去,需要指定文件名,保存的文件名,可选指定文件描述信息,进度报告
+ To send a file to the network using the MQTT protocol, you need to specify the file name, the saved file name, + optionally specify the file description information, and the progress report
+ 网络套接字 + 文件名称 + 对方接收后保存的文件名 + 文件的描述信息 + 进度报告,第一个参数是已完成的字节数量,第二个参数是总字节数量。 + AES数据加密对象,如果为空,则不进行加密 + 用户取消的令牌 + 是否操作成功
- + - 接收到串口数据的时候触发 + 使用MQTT协议将一个数据流发送到网络上去,需要保存的文件名,可选指定文件描述信息,进度报告
+ Use the MQTT protocol to send a data stream to the network, the file name that needs to be saved, optional file description information, progress report
- 串口对象 - 消息 + 网络套接字 + 数据流 + 对方接收后保存的文件名 + 文件的描述信息 + 进度报告,第一个参数是已完成的字节数量,第二个参数是总字节数量。 + AES数据加密对象,如果为空,则不进行加密 + 用户取消的令牌信息 + 是否操作成功
- + - 检查串口接收的数据是否完成的方法,如果接收完成,则返回True + 使用MQTT协议从网络接收字节数组,然后写入文件或流中,支持进度报告
+ Use MQTT protocol to receive byte array from the network, and then write it to file or stream, support progress report
- 缓存的数据信息 - 当前已经接收的数据长度信息 - 是否接收完成 + 网络套接字 + 文件名或是流 + 进度报告 + AES数据加密对象,如果为空,则不进行加密 + 用户取消的令牌信息 + 是否操作成功,如果成功,携带文件基本信息
- - + + - - + + - - - DTU远程连接的一些信息 - + + - - - 实例化一个远程连接信息对象 - - IP地址 - 端口号 - dtu的注册包 + + - - - 实例化一个远程连接信息对象 - - IP地址 - 端口号 - DTU信息 - 密码 - 是否需要返回注册结果 + + - + + + + + + + - 远程端口号信息 + 接收一行基于redis协议的字符串的信息,需要指定固定的长度
+ Receive a line of information based on the redis protocol string, you need to specify a fixed length
+ 网络套接字 + 字符串的长度 + 带有结果对象的数据信息
- + - 会话信息 + 从网络接收一条完整的redis报文的消息
+ Receive a complete redis message from the network
+ 网络套接字 + 接收的结果对象
- + + + + + + + - DTU的注册包 + 接收一条hsl协议的数据信息,自动解析,解压,解码操作,获取最后的实际的数据,接收结果依次为暗号,用户码,负载数据
+ Receive a piece of hsl protocol data information, automatically parse, decompress, and decode operations to obtain the last actual data. + The result is a opCode, user code, and payload data in order.
+ 网络套接字 + 接收结果,依次为暗号,用户码,负载数据
- + + + + - 是否需要返回 + 删除一个指定的文件,如果文件不存在,直接返回 True,如果文件存在则直接删除,删除成功返回 True,如果发生了异常,返回False
+ Delete a specified file, if the file does not exist, return True directly, if the file exists, delete it directly, + if the deletion is successful, return True, if an exception occurs, return False
+ 完整的文件路径 + 是否删除成功
- + + + + - 仅仅包含 TCP 服务器 + 基于连接的CIP协议的基类 - + 实例化一个默认的对象 - - + + - - + + - - + + - - + + - - + + - + + + + + + + - 记录一些调试日志的委托,将会进行输出调试文本。
- The delegate that records some debug logs will output debug text. + O -> T Network Connection ID
- + - 使用SSL通信,传递一个证书的对象 + T -> O Network Connection ID - 证书对象 - + - 使用SSL通信,传递一个证书的路径,以及证书的密码 + 将多个的CIP命令打包成一个服务的命令 - 传递一个证书 - 证书的密码 + CIP命令列表 + 服务命令 - + - 指定端口号来启动服务器的引擎
- Specify the port number to start the server's engine + 获取数据通信的前置打开命令,不同的PLC的信息不一样。
- 指定一个端口号 -
- - + 连接的ID信息 + 原始命令数据 - + - 关闭服务器的引擎
- Shut down the server's engine + 获取数据通信的后置关闭命令,不同的PLC的信息不一样。
+ 原始命令数据
- + - 设置并启动受信任的客户端登录并读写,如果为null,将关闭对客户端的ip验证
- Set and start the trusted client login and read and write, if it is null, the client's IP verification will be turned off + 从PLC反馈的数据解析出真实的数据内容,结果内容分别是原始字节数据,数据类型代码,是否有很多的数据
+ The real data content is parsed from the data fed back by the PLC. The result content is the original byte data, + the data type code, and whether there is a lot of data.
- 受信任的客户端列表 + PLC的反馈数据 + 是否是返回的操作 + 带有结果标识的最终数据
- + - 检查该Ip地址是否是受信任的
- Check if the IP address is trusted + 支持长连接,短连接两个模式的通用客户端基类
+ Universal client base class that supports long connections and short connections to two modes
- Ip地址信息 - 是受信任的返回True,否则返回False + + 无,请使用继承类实例化,然后进行数据交互,当前的类并没有具体的实现。 +
- + - 获取受信任的客户端列表
- Get a list of trusted clients + 默认的无参构造函数
+ Default no-parameter constructor
- 字符串数据信息
- + - 当客户端连接到服务器,并听过额外的检查后,进行回调的方法
- Callback method when the client connects to the server and has heard additional checks + 当前的网络的管道信息
- socket对象 - 远程的终结点
- + - 关闭的时候额外执行的功能代码 + 是否是长连接的状态
+ Whether it is a long connection state
- + - 服务器启动的时候额外执行的功能代码 + 设置日志记录报文是否二进制,如果为False,那就使用ASCII码
+ Set whether the log message is binary, if it is False, then use ASCII code
- + - 当客户端的socket登录的时候额外检查的操作,并返回操作的结果信息。
- The operation is additionally checked when the client's socket logs in, and the result information of the operation is returned. + 获取或设置当前的连接是否激活从服务器主动推送的功能
- 套接字 - 终结点 - 验证的结果
- + - 记录当前的日志信息 + 获取一个新的消息对象的方法,需要在继承类里面进行重写
+ The method to get a new message object needs to be overridden in the inheritance class
- 消息文本 + 消息类对象
- + - 核心的socket服务器 + 当前的数据变换机制,当你需要从字节数据转换类型数据的时候需要。
+ The current data transformation mechanism is required when you need to convert type data from byte data.
+ + 在HSL里提供了三种数据变换机制,分别是 , , + ,各自的属性也可以自定调整,基本满足所有的情况使用。
+ Three data transformation mechanisms are provided in HSL, namely , , + , and their respective property can also be adjusted by itself, basically satisfying all situations. +
+ + 主要是用来转换数据类型的,下面仅仅演示了2个方法,其他的类型转换,类似处理。 + +
- + - 异形客户端的基类,提供了基础的异形操作
- The base class of the profiled client provides the basic profiled operation + 获取或设置连接的超时时间,单位是毫秒
+ Gets or sets the timeout for the connection, in milliseconds
+ + 设置1秒的超时的示例 + + + + 不适用于异形模式的连接。 +
- + - 默认的无参构造方法
- The default parameterless constructor + 获取或设置接收服务器反馈的时间,如果为负数,则不接收反馈
+ Gets or sets the time to receive server feedback, and if it is a negative number, does not receive feedback
+ + 设置1秒的接收超时的示例 + + + + 超时的通常原因是服务器端没有配置好,导致访问失败,为了不卡死软件,所以有了这个超时的属性。 +
- + - 当接收到了新的请求的时候执行的操作
- An action performed when a new request is received + 获取或是设置远程服务器的IP地址,如果是本机测试,那么需要设置为127.0.0.1
+ Get or set the IP address of the remote server. If it is a local test, then it needs to be set to 127.0.0.1
- 管道对象 - 终结点 + + 最好实在初始化的时候进行指定,当使用短连接的时候,支持动态更改,切换;当使用长连接后,无法动态更改
+ 支持使用域名的网址方式,例如:www.hslcommunication.cn +
+ + 以下举例modbus-tcp的短连接及动态更改ip地址的示例 + +
- + - 在DTU设备发送了注册报文的时候,指示是否返回响应报文,用来通知DTU设备是否登录成功,默认为 True
- When a DTU sends a registration packet, it indicates whether to return a response packet to notify the DTU whether the DTU is logged in, The default is True + 获取或设置服务器的端口号,具体的值需要取决于对方的配置
+ Gets or sets the port number of the server. The specific value depends on the configuration of the other party.
+ + 最好实在初始化的时候进行指定,当使用短连接的时候,支持动态更改,切换;当使用长连接后,无法动态更改 + + + 动态更改请参照 属性的更改。 +
- + + + + - 是否统一检查密码,如果每个会话需要自己检查密码,就需要设置为false
- Whether to check the password uniformly, if each session needs to check the password by itself, it needs to be set to false + 获取或设置在正式接收对方返回数据前的时候,需要休息的时间,当设置为0的时候,不需要休息。
+ Get or set the time required to rest before officially receiving the data from the other party. When it is set to 0, no rest is required.
- + - 远程连接的客户端上线的委托事件
- The delegate event for the client to which the remote connection goes online + 获取或设置绑定的本地的IP地址和端口号信息,如果端口设置为0,代表任何可用的端口
+ Get or set the bound local IP address and port number information, if the port is set to 0, it means any available port
- 异形客户端的会话信息 + + 默认为NULL, 也即是不绑定任何本地的IP及端口号信息,使用系统自动分配的方式。
+ The default is NULL, which means that no local IP and port number information are bound, and the system automatically assigns it. +
- + - 当有服务器连接上来的时候触发
- Triggered when a server is connected + 当前的异形连接对象,如果设置了异形连接的话,仅用于异形模式的情况使用
+ The current alien connection object, if alien connection is set, is only used in the case of alien mode
+ + 具体的使用方法请参照Demo项目中的异形modbus实现。 +
- + + + + - 获取取返回的命令信息 + 获取或设置在发送通信报文前追加发送的字节信息,HEX格式,通常用于lora组网时,需要携带 00 00 00 02 四个字节的站地址功能。
+ Obtain or set the byte information sent before sending communication packets, HEX format, usually used for LORA networking, you need to carry 00 00 00 02 four-byte station address function.
- 状态 - 回发的指令信息
- + - 检测当前的DTU是否在线 + 设置一个新的网络管道,一般来说不需要调用本方法,当多个网口设备共用一个网络连接时才需要使用本方法进行设置共享的管道。
+ To set up a new network channel, generally speaking, you do not need to call this method. This method is only needed to set up a shared channel when multiple network port devices share a network connection.
- 当前的会话信息 - 当前的会话是否在线 + + 如果需要设置共享的网络管道的话,需要是设备类对象实例化之后立即进行设置。
+ If you need to set up a shared network pipe, you need to set it immediately after the device class object is instantiated. +
+ 共享的网络通道
- + - 检测当前的dtu是否允许登录 + 获取当前用于通信的管道信息
+ Get the current pipe information used for communication
- 当前的会话信息 - 当前的id是否可允许登录 + 管道对象
- + - 设置密码,需要传入长度为6的字节数组
- To set the password, you need to pass in an array of bytes of length 6 + 在读取数据之前可以调用本方法将客户端设置为长连接模式,相当于跳过了ConnectServer的结果验证,对异形客户端无效,当第一次进行通信时再进行创建连接请求。
+ Before reading the data, you can call this method to set the client to the long connection mode, which is equivalent to skipping the result verification of ConnectServer, + and it is invalid for the alien client. When the first communication is performed, the connection creation request is performed.
- 密码信息 + + 以下的方式演示了另一种长连接的机制 + +
- + - 设置可信任的客户端列表,传入一个DTU的列表信息
- Set up the list of trusted clients, passing in the list information for a DTU + 对当前设备的IP地址进行PING的操作,返回PING的结果,正常来说,返回
+ PING the IP address of the current device and return the PING result. Normally, it returns
- 客户端列表 + 返回PING的结果
- + - 释放当前的对象 + 尝试连接远程的服务器,如果连接成功,就切换短连接模式到长连接模式,后面的每次请求都共享一个通道,使得通讯速度更快速
+ Try to connect to a remote server. If the connection is successful, switch the short connection mode to the long connection mode. + Each subsequent request will share a channel, making the communication speed faster.
- + 返回连接结果,如果失败的话(也即IsSuccess为False),包含失败信息 + + 简单的连接示例,调用该方法后,连接设备,创建一个长连接的对象,后续的读写操作均公用一个连接对象。 + + 如果想知道是否连接成功,请参照下面的代码。 + +
- - + + + 使用指定的套接字创建异形客户端,在异形客户端的模式下,网络通道需要被动创建。
+ Use the specified socket to create the alien client. In the alien client mode, the network channel needs to be created passively. +
+ 异形客户端对象,查看类型创建的客户端 + 通常都为成功 + + 简单的创建示例。 + + 如果想知道是否创建成功。通常都是成功。 + + + + 不能和之前的长连接和短连接混用,详细参考 Demo程序 +
- - + + + 使用一个MQTT中转服务器来连接设备对象,并进行相关的读取操作 + + MQTT客户端信息 + 获取数据的主题 + 写入数据的主题信息 + 是否成功 - + - 状态登录成功 + 手动断开与远程服务器的连接,如果当前是长连接模式,那么就会切换到短连接模式
+ Manually disconnect from the remote server, if it is currently in long connection mode, it will switch to short connection mode
+ 关闭连接,不需要查看IsSuccess属性查看 + + 直接关闭连接即可,基本上是不需要进行成功的判定 + +
- + - 重复登录 + 决定当前的消息是否是应答机制的消息内容,需要在客户端进行重写实现,如果是应答机制,返回 True, 否则返回 False
+ To determine whether the current message is the message content of the response mechanism, + it needs to be rewritten on the client side. If it is the response mechanism, return True, otherwise return False
+ 通信使用的网络套接字 + 服务器返回的内容 + 是否应答机制的数据报文
- + - 禁止登录 + 根据实际的协议选择是否重写本方法,有些协议在创建连接之后,需要进行一些初始化的信号握手,才能最终建立网络通道。
+ Whether to rewrite this method is based on the actual protocol. Some protocols require some initial signal handshake to establish a network channel after the connection is created.
+ 网络套接字 + 是否初始化成功,依据具体的协议进行重写 + + 有些协议不需要握手信号,比如三菱的MC协议,Modbus协议,西门子和欧姆龙就存在握手信息,此处的例子是继承本类后重写的西门子的协议示例 + +
- + - 密码错误 + 根据实际的协议选择是否重写本方法,有些协议在断开连接之前,需要发送一些报文来关闭当前的网络通道
+ Select whether to rewrite this method according to the actual protocol. Some protocols need to send some packets to close the current network channel before disconnecting.
+ 网络套接字 + + 目前暂无相关的示例,组件支持的协议都不用实现这个方法。 + + 当断开连接时额外的操作结果
- + - 获取错误的描述信息 + 和服务器交互完成的时候调用的方法,可以根据读写结果进行一些额外的操作,具体的操作需要根据实际的需求来重写实现
+ The method called when the interaction with the server is completed can perform some additional operations based on the read and write results. + The specific operations need to be rewritten according to actual needs.
- dtu信息 - 错误码 - 其他消息 - 错误信息 + 读取结果
- + - 带登录认证的服务器类,可以对连接的客户端进行筛选,放行用户名密码正确的连接,并支持对在线的客户端对象进行管理
- The server class with login authentication can filter connected clients, allow connections with correct username and password, and support online client objects + 是否使用账号登录,这个账户登录的功能是HSL组件创建的服务器特有的功能。
+ Whether to log in using an account. The function of this account login is a server-specific function created by the HSL component.
- + - 实例化一个默认的对象
- instantiate a default object + 设置当前的登录的账户名和密码信息,并启用账户验证的功能,账户名为空时设置不生效
+ Set the current login account name and password information, and enable the account verification function. The account name setting will not take effect when it is empty
+ + 当对方的服务器是使用HslCommunication创建的虚拟服务器时,例如modbus服务器,西门子s7服务器等等,就支持进行账户名验证操作,此时的客户端连接之前,就需要调用本方法设置账户密码信息。
+ When the other party's server is a virtual server created by HslCommunication, such as modbus server, Siemens s7 server, etc., + it supports account name verification operation. At this time, before the client connects, you need to call this method to set account password information. +
+ 账户名 + 密码
- + - 当客户端的socket登录的时候额外检查的信息,检查当前会话的用户名和密码
- Additional check information when the client's socket logs in, check the username and password of the current session + 认证账号,根据已经设置的用户名和密码,进行发送服务器进行账号认证。
+ Authentication account, according to the user name and password that have been set, sending server for account authentication.
套接字 - 终结点 - 验证的结果 + 认证结果
- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - 获取或设置是否对客户端启动账号认证
- Gets or sets whether to enable account authentication on the client + 检查当前从网口接收的数据是否是完整的,如果是完整的,则需要返回 True,表示数据接收立即完成,默认返回 True
+ Check whether the data currently received from the network port is complete, and if it is complete, + you need to return True, indicating that the data reception is completed immediately, and the default value is True
+ + 在默认情况下,网口在接收数据之后,直接认为本次的数据接收已经完成,如果碰到有结束标记的协议,则可以重写本方法,然后加入额外的验证信息,直到全部数据接收完成。
+ By default, after receiving data, the network port directly believes that the data reception has been completed, + if it encounters a protocol with an end tag, you can override this method, and then add additional verification information until all data is received. +
+ 当前发送的数据信息 + 目前已经接收到数据流 + 如果数据接收完成,则返回True, 否则返回False
- + - 新增账户,如果想要启动账户登录,必须将设置为True
- Add an account. If you want to activate account login, you must set to True + 对当前的命令进行打包处理,通常是携带命令头内容,标记当前的命令的长度信息,需要进行重写,否则默认不打包
+ The current command is packaged, usually carrying the content of the command header, marking the length of the current command, + and it needs to be rewritten, otherwise it is not packaged by default
- 账户名称 - 账户名称 + + 对发送的命令打包之后,直接发送给真实的对方设备了,例如在AB-PLC里面,就重写了打包方法,将当前的会话ID参数传递给PLC设备
+ After packaging the sent command, it is directly sent to the real counterpart device. For example, in AB-PLC, + the packaging method is rewritten and the current session ID parameter is passed to the PLC device. +
+ 发送的数据命令内容 + 打包之后的数据结果信息
- + - 删除一个账户的信息
- Delete an account's information + 根据对方返回的报文命令,对命令进行基本的拆包,例如各种Modbus协议拆包为统一的核心报文,还支持对报文的验证
+ According to the message command returned by the other party, the command is basically unpacked, for example, + various Modbus protocols are unpacked into a unified core message, and the verification of the message is also supported
- 账户名称 + + 在实际解包的操作过程中,通常对状态码,错误码等消息进行判断,如果校验不通过,将携带错误消息返回
+ During the actual unpacking operation, the status code, error code and other messages are usually judged. If the verification fails, the error message will be returned. +
+ 发送的原始报文数据 + 设备方反馈的原始报文内容 + 返回拆包之后的报文信息,默认不进行任何的拆包操作
- + - 当客户端登录后,在Ip信息的过滤后,然后触发本方法,进行后续的数据接收,处理,并返回相关的数据信息
- When the client logs in, after filtering the IP information, this method is then triggered to perform subsequent data reception, - processing, and return related data information + 获取本次操作的可用的网络通道,如果是短连接,就重新生成一个新的网络通道,如果是长连接,就复用当前的网络通道。
+ Obtain the available network channels for this operation. If it is a short connection, a new network channel is regenerated. + If it is a long connection, the current network channel is reused.
- 网络套接字 - 终端节点 + 是否成功,如果成功,使用这个套接字
- + - 从远程Socket异步接收的数据信息 + 尝试连接服务器,如果成功,并执行的初始化方法,并返回最终的结果。
+ Attempt to connect to the server, if successful, and execute the initialization method of , and return the final result.
- 异步接收的对象 + 带有socket的结果对象
- + - 当接收到了新的请求的时候执行的操作,此处进行账户的安全验证
- The operation performed when a new request is received, and the account security verification is performed here + 将数据报文发送指定的网络通道上,根据当前指定的类型,返回一条完整的数据指令
+ Sends a data message to the specified network channel, and returns a complete data command according to the currently specified type
- 异步对象 - 终结点 + 指定的套接字 + 发送的完整的报文信息 + 是否有等待的数据返回,默认为 true + 是否需要对命令重新打包,在重写方法后才会有影响 + + 无锁的基于套接字直接进行叠加协议的操作。 + + + 假设你有一个自己的socket连接了设备,本组件可以直接基于该socket实现modbus读取,三菱读取,西门子读取等等操作,前提是该服务器支持多协议,虽然这个需求听上去比较变态,但本组件支持这样的操作。 + + + 接收的完整的报文信息
- + + + + + + + - 设置并启动受信任的客户端登录并读写,如果为null,将关闭对客户端的ip验证
- Set and start the trusted client login and read and write, if it is null, the client's IP verification will be turned off + 将数据发送到当前的网络通道中,并从网络通道中接收一个指定的完整的报文,网络通道将根据方法自动获取,本方法是线程安全的。
+ Send data to the current network channel and receive a complete message specified by from the network channel. + The network channel will be automatically obtained according to the method This method is thread-safe.
- 受信任的客户端列表 + 发送的完整的报文信息 + 是否有等待的数据返回,默认为 true + 是否需要对命令重新打包,在重写方法后才会有影响 + 接收的完整的报文信息 + + 本方法用于实现本组件还未实现的一些报文功能,例如有些modbus服务器会有一些特殊的功能码支持,需要收发特殊的报文,详细请看示例 + + + 此处举例有个modbus服务器,有个特殊的功能码0x09,后面携带子数据0x01即可,发送字节为 0x00 0x00 0x00 0x00 0x00 0x03 0x01 0x09 0x01 + +
- + - 检查该Ip地址是否是受信任的
- Check if the IP address is trusted + 释放当前的资源,并自动关闭长连接,如果设置了的话
- Ip地址信息 - 是受信任的返回True,否则返回False + 是否释放托管的资源信息
- + - 获取受信任的客户端列表
- Get a list of trusted clients + 释放当前的资源,如果调用了本方法,那么该对象再使用的时候,需要重新实例化。
+ Release the current resource. If this method is called, the object needs to be instantiated again when it is used again.
- 字符串数据信息
- + - + - 获取在线的客户端的数量
- Get the number of clients online + 文件服务器类的基类,为直接映射文件模式和间接映射文件模式提供基础的方法支持,主要包含了对文件的一些操作的功能
+ The base class of the file server class, which provides basic method support for the direct mapping file mode and the indirect mapping file mode, and mainly includes the functions of some operations on files
- + - 表示客户端状态变化的委托信息
- Delegate information representing the state change of the client + 实例化一个默认的对象
- 当前的服务器对象信息 - 当前的客户端会话信息
- + - 当客户端上线时候的触发的事件
- Event triggered when the client goes online + 获取当前文件的读写锁,如果没有会自动创建,文件名应该是guid文件名,例如 b35a11ec533147ca80c7f7d1713f015b7909
+ Acquire the read-write lock of the current file. If not, it will be created automatically. + The file name should be the guid file name, for example, b35a11ec533147ca80c7f7d1713f015b7909
+ 完整的文件路径 + 返回携带文件信息的读写锁
- + - 当客户端下线时候的触发的事件
- Event triggered when the client goes offline + 接收本次操作的信息头数据
+ 网络套接字 + 是否成功的结果对象
- + - 获取当前所有在线的客户端信息,包括IP地址和端口号信息
- Get all current online client information, including IP address and port number information + 接收本次操作的信息头数据
+ 网络套接字 + 是否成功的结果对象
- + - 获取或设置两次数据交互时的最小时间间隔,默认为24小时。如果超过该设定的时间不进行数据交互,服务器就会强制断开当前的连接操作。
- Get or set the minimum time interval between two data interactions, the default is 24 hours. - If the data exchange is not performed for more than the set time, the server will forcibly disconnect the current connection operation. + 获取一个随机的文件名,由GUID码和随机数字组成
- - 举例设置为10分钟,ActiveTimeSpan = TimeSpan.FromMinutes( 10 ); - + 文件名
- + - 新增一个在线的客户端信息
- Add an online client information + 返回服务器的绝对路径,包含根目录的信息 [Root Dir][Factory][Group][Id] 信息
- 会话内容 + 第一大类 + 第二大类 + 第三大类 + 是否成功的结果对象
- + - 移除一个在线的客户端信息
- Remove an online client message + 返回服务器的绝对路径,包含根目录的信息 [Root Dir][Factory][Group][Id][FileName] 信息
- 会话内容 - 下线的原因 + 第一大类 + 第二大类 + 第三大类 + 文件名 + 是否成功的结果对象
- + - 释放当前的对象 + 返回相对路径的名称 - 是否托管对象 - - - - - - + 第一大类 + 第二大类 + 第三大类 + 文件名 + 是否成功的结果对象 - + - 本系统所有网络类的基类,该类为抽象类,无法进行实例化,如果想使用里面的方法来实现自定义的网络通信,请通过继承使用。
- The base class of all network classes in this system. This class is an abstract class and cannot be instantiated. - If you want to use the methods inside to implement custom network communication, please use it through inheritance. + 移动一个文件到新的文件去
- - 本类提供了丰富的底层数据的收发支持,包含消息的接收,MQTT以及Redis,websocket协议的实现 - + 旧的文件名称 + 新的文件名称 + 是否成功
- + - 实例化一个NetworkBase对象,令牌的默认值为空,都是0x00
- Instantiate a NetworkBase object, the default value of the token is empty, both are 0x00 + 删除文件并回发确认信息,如果结果异常,则结束通讯
+ 网络套接字 + 完整路径的文件名称 + 是否成功的结果对象
- + - 组件的日志工具,支持日志记录,只要实例化后,当前网络的基本信息,就以等级进行输出
- The component's logging tool supports logging. As long as the instantiation of the basic network information, the output will be output at + 文件上传的委托
- - 只要实例化即可以记录日志,实例化的对象需要实现接口 ,本组件提供了三个日志记录类,你可以实现基于 的对象。 - - 如下的实例化适用于所有的Network及其派生类,以下举两个例子,三菱的设备类及服务器类 - - - + 文件的基本信息
- + - 网络类的身份令牌,在hsl协议的模式下会有效,在和设备进行通信的时候是无效的
- Network-type identity tokens will be valid in the hsl protocol mode and will not be valid when communicating with the device + 文件上传的事件,当文件上传的时候触发。
- - 适用于Hsl协议相关的网络通信类,不适用于设备交互类。 - - - 此处以 服务器类及 客户端类的令牌设置举例 - - -
- + - 文件传输的时候的缓存大小,直接影响传输的速度,值越大,传输速度越快,越占内存,默认为100K大小
- The size of the cache during file transfer directly affects the speed of the transfer. The larger the value, the faster the transfer speed and the more memory it takes. The default size is 100K. + 触发一个文件上传的事件。
+ 文件的基本信息
- + - 接收固定长度的字节数组,允许指定超时时间,默认为60秒,当length大于0时,接收固定长度的数据内容,当length小于0时,buffer长度的缓存数据
- Receiving a fixed-length byte array, allowing a specified timeout time. The default is 60 seconds. When length is greater than 0, - fixed-length data content is received. When length is less than 0, random data information of a length not greater than 2048 is received. + 服务器启动时的操作
- 网络通讯的套接字
Network communication socket - 等待接收的数据缓存信息 - 开始接收数据的偏移地址 - 准备接收的数据长度,当length大于0时,接收固定长度的数据内容,当length小于0时,接收不大于1024长度的随机数据信息 - 单位:毫秒,超时时间,默认为60秒,如果设置小于0,则不检查超时时间 - 当前接收数据的进度报告,有些协议支持传输非常大的数据内容,可以给与进度提示的功能 - 包含了字节数据的结果类
- + - 接收固定长度的字节数组,允许指定超时时间,默认为60秒,当length大于0时,接收固定长度的数据内容,当length小于0时,接收不大于2048长度的随机数据信息
- Receiving a fixed-length byte array, allowing a specified timeout time. The default is 60 seconds. When length is greater than 0, - fixed-length data content is received. When length is less than 0, random data information of a length not greater than 2048 is received. + 检查文件夹是否存在,不存在就创建
- 网络通讯的套接字
Network communication socket - 准备接收的数据长度,当length大于0时,接收固定长度的数据内容,当length小于0时,接收不大于1024长度的随机数据信息 - 单位:毫秒,超时时间,默认为60秒,如果设置小于0,则不检查超时时间 - 当前接收数据的进度报告,有些协议支持传输非常大的数据内容,可以给与进度提示的功能 - 包含了字节数据的结果类 -
- - - - - - + - 接收一行命令数据,需要自己指定这个结束符,默认超时时间为60秒,也即是60000,单位是毫秒
- To receive a line of command data, you need to specify the terminator yourself. The default timeout is 60 seconds, which is 60,000, in milliseconds. + 文件所存储的路径
- 网络套接字 - 结束符信息 - 超时时间,默认为60000,单位为毫秒,也就是60秒 - 带有结果对象的数据信息
- + - 接收一行命令数据,需要自己指定这个结束符,默认超时时间为60秒,也即是60000,单位是毫秒
- To receive a line of command data, you need to specify the terminator yourself. The default timeout is 60 seconds, which is 60,000, in milliseconds. + 获取当前的文件标记的对象数量
+ Get the number of objects marked by the current file
- 网络套接字 - 结束符1信息 - 结束符2信息 - /// 超时时间,默认无穷大,单位毫秒 - 带有结果对象的数据信息
- - - 接收一条完整的 数据内容,需要指定超时时间,单位为毫秒。
- Receive a complete data content, Need to specify a timeout period in milliseconds -
- 网络的套接字 - 超时时间,单位:毫秒 - 消息的格式定义 - 接收消息的时候的进度报告 - 带有是否成功的byte数组对象 + + - + - 发送消息给套接字,直到完成的时候返回,经过测试,本方法是线程安全的。
- Send a message to the socket until it returns when completed. After testing, this method is thread-safe. + 获取文件夹的所有文件列表
- 网络套接字 - 字节数据 - 发送是否成功的结果 + 第一大类 + 第二大类 + 第三大类 + 文件列表
- + - 发送消息给套接字,直到完成的时候返回,经过测试,本方法是线程安全的。
- Send a message to the socket until it returns when completed. After testing, this method is thread-safe. + 获取文件夹的所有文件夹列表
- 网络套接字 - 字节数据 - 偏移的位置信息 - 发送的数据总数 - 发送是否成功的结果 -
- - + 第一大类 + 第二大类 + 第三大类 + 文件夹列表 - - + + - + - 创建一个新的socket对象并连接到远程的地址,默认超时时间为10秒钟,需要指定ip地址以及端口号信息
- Create a new socket object and connect to the remote address. The default timeout is 10 seconds. You need to specify the IP address and port number. + 服务器程序的基础类,提供了启动服务器的基本实现,方便后续的扩展操作。
+ The basic class of the server program provides the basic implementation of starting the server to facilitate subsequent expansion operations.
- Ip地址 - 端口号 - 返回套接字的封装结果对象 - - -
- + - 创建一个新的socket对象并连接到远程的地址,需要指定ip地址以及端口号信息,还有超时时间,单位是毫秒
- To create a new socket object and connect to a remote address, you need to specify the IP address and port number information, and the timeout period in milliseconds + 实例化一个默认的对象
+ Instantiate a default object
- Ip地址 - 端口号 - 连接的超时时间 - 返回套接字的封装结果对象 - - -
- - - 创建一个新的socket对象并连接到远程的地址,需要指定远程终结点,超时时间(单位是毫秒),如果需要绑定本地的IP或是端口,传入 local对象
- To create a new socket object and connect to the remote address, you need to specify the remote endpoint, - the timeout period (in milliseconds), if you need to bind the local IP or port, pass in the local object -
- 连接的目标终结点 - 连接的超时时间 - 如果需要绑定本地的IP地址,就需要设置当前的对象 - 返回套接字的封装结果对象 - - - + + - - - 检查当前的头子节信息的令牌是否是正确的,仅用于某些特殊的协议实现
- Check whether the token of the current header subsection information is correct, only for some special protocol implementations -
- 头子节数据 - 令牌是验证成功 + + - - - [自校验] 发送字节数据并确认对方接收完成数据,如果结果异常,则结束通讯
- [Self-check] Send the byte data and confirm that the other party has received the completed data. If the result is abnormal, the communication ends. -
- 网络套接字 - 头指令 - 用户指令 - 发送的数据 - 是否发送成功 + + - - - [自校验] 发送字节数据并确认对方接收完成数据,如果结果异常,则结束通讯
- [Self-check] Send the byte data and confirm that the other party has received the completed data. If the result is abnormal, the communication ends. -
- 网络套接字 - 用户指令 - 发送的数据 - 是否发送成功 + + - + - [自校验] 直接发送字符串数据并确认对方接收完成数据,如果结果异常,则结束通讯
- [Self-checking] Send string data directly and confirm that the other party has received the completed data. If the result is abnormal, the communication ends. + 异步传入的连接申请请求
+ Asynchronous incoming connection request
- 网络套接字 - 用户指令 - 发送的数据 - 是否发送成功 + 异步对象
- + - [自校验] 直接发送字符串数组并确认对方接收完成数据,如果结果异常,则结束通讯
- [Self-check] Send string array directly and confirm that the other party has received the completed data. If the result is abnormal, the communication ends. + 当客户端连接到服务器,并听过额外的检查后,进行回调的方法
+ Callback method when the client connects to the server and has heard additional checks
- 网络套接字 - 用户指令 - 发送的字符串数组 - 是否发送成功 + socket对象 + 远程的终结点
- + - [自校验] 直接发送字符串数组并确认对方接收完成数据,如果结果异常,则结束通讯
- [Self-check] Send string array directly and confirm that the other party has received the completed data. If the result is abnormal, the communication ends. + 当客户端的socket登录的时候额外检查的操作,并返回操作的结果信息。
+ The operation is additionally checked when the client's socket logs in, and the result information of the operation is returned.
- 网络套接字 - 用户指令 - 用户名 - 密码 - 是否发送成功 + 套接字 + 终结点 + 验证的结果
- + - [自校验] 接收一条完整的同步数据,包含头子节和内容字节,基础的数据,如果结果异常,则结束通讯
- [Self-checking] Receive a complete synchronization data, including header subsection and content bytes, basic data, if the result is abnormal, the communication ends + 服务器启动时额外的初始化信息,可以用于启动一些额外的服务的操作。
+ The extra initialization information when the server starts can be used to start some additional service operations.
- 套接字 - 超时时间设置,如果为负数,则不检查超时 - 包含是否成功的结果对象 - result + 需要在派生类中重写
- + - [自校验] 从网络中接收一个字符串数据,如果结果异常,则结束通讯
- [Self-checking] Receive a string of data from the network. If the result is abnormal, the communication ends. + 指定端口号来启动服务器的引擎
+ Specify the port number to start the server's engine
- 套接字 - 接收数据的超时时间 - 包含是否成功的结果对象 + 指定一个端口号
- + - [自校验] 从网络中接收一个字符串数组,如果结果异常,则结束通讯
- [Self-check] Receive an array of strings from the network. If the result is abnormal, the communication ends. + 使用已经配置好的端口启动服务器的引擎
+ Use the configured port to start the server's engine
- 套接字 - 接收数据的超时时间 - 包含是否成功的结果对象
- + - [自校验] 从网络中接收一串字节数据,如果结果异常,则结束通讯
- [Self-checking] Receive a string of byte data from the network. If the result is abnormal, the communication ends. + 服务器关闭的时候需要做的事情
+ Things to do when the server is down
- 套接字的网络 - 超时时间 - 包含是否成功的结果对象
- + - 从网络中接收Long数据
- Receive Long data from the network + 关闭服务器的引擎
+ Shut down the server's engine
- 套接字网络 - long数据结果
- + - 将long数据发送到套接字
- Send long data to the socket + 创建一个指定的异形客户端连接,使用Hsl协议来发送注册包
+ Create a specified profiled client connection and use the Hsl protocol to send registration packets
- 网络套接字 - long数据 - 是否发送成功 + Ip地址 + 端口号 + 设备唯一ID号,最长11 + 密码信息 + 是否成功连接
- + + + + + + + - 发送一个流的所有数据到指定的网络套接字,需要指定发送的数据长度,支持按照百分比的进度报告
- Send all the data of a stream to the specified network socket. You need to specify the length of the data to be sent. It supports the progress report in percentage. + 基于Udp的应答式通信类
+ Udp - based responsive communication class
- 套接字 - 内存流 - 发送的数据长度 - 进度报告的委托 - 进度报告是否按照百分比报告 - 是否成功的结果对象
- + - 从套接字中接收所有的数据然后写入到指定的流当中去,需要指定数据的长度,支持按照百分比进行进度报告
- Receives all data from the socket and writes it to the specified stream. The length of the data needs to be specified, and progress reporting is supported in percentage. + 实例化一个默认的方法
+ Instantiate a default method
- 套接字 - 数据流 - 所有数据的长度 - 进度报告 - 进度报告是否按照百分比 - 是否成功的结果对象 -
- - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + + 获取或设置一次接收时的数据长度,默认2KB数据长度,特殊情况的时候需要调整
+ Gets or sets the length of data received at a time. The default length is 2KB +
- - + + - - + + - - + + - - + + - - + + - - + + - - + + + 从UDP接收相关的数据信息,允许子类重写实现一些更加特殊的功能验证。 + + 网络套接字 + 超时时间 + 发送的报文信息 + 返回接收到的报文 - - + + + 核心的数据交互读取,发数据发送到通道上去,然后从通道上接收返回的数据
+ The core data is read interactively, the data is sent to the serial port, and the returned data is received from the serial port +
+ 完整的报文内容 + 是否有等待的数据返回,默认为 true + 是否需要对命令重新打包,在重写方法后才会有影响 + 是否成功的结果对象
- - + + - - + + - - + + - - + + - - + + - - + + - + - 接收一条完整的MQTT协议的报文信息,包含控制码和负载数据
- Receive a message of a completed MQTT protocol, including control code and payload data + 基于webapi的数据访问的基类,提供了基本的http接口的交互功能
+ A base class for data access based on webapi that provides basic HTTP interface interaction
- 网络套接字 - 超时时间 - 进度报告,第一个参数是已完成的字节数量,第二个参数是总字节数量。 - 结果数据内容 -
- - + + 当前的基类在.net framework2.0上存在问题,在.net framework4.5及.net standard上运行稳定而且正常 + - + - 使用MQTT协议从socket接收指定长度的字节数组,然后全部写入到流中,可以指定进度报告
- Use the MQTT protocol to receive a byte array of specified length from the socket, and then write all of them to the stream, and you can specify a progress report + 使用指定的ip地址来初始化对象
+ Initializes the object using the specified IP address
- 网络套接字 - 数据流 - 数据大小 - 超时时间 - 进度报告,第一个参数是已完成的字节数量,第二个参数是总字节数量。 - AES数据加密对象,如果为空,则不进行加密 - 取消的令牌操作信息 - 是否操作成功 + Ip地址信息
- + - 使用MQTT协议将流中的数据读取到字节数组,然后都写入到socket里面,可以指定进度报告,主要用于将文件发送到网络。
- Use the MQTT protocol to read the data in the stream into a byte array, and then write them all into the socket. - You can specify a progress report, which is mainly used to send files to the network. + 使用指定的ip地址及端口号来初始化对象
+ Initializes the object with the specified IP address and port number
- 网络套接字 - 流 - 总的数据大小 - 超时信息 - 进度报告,第一个参数是已完成的字节数量,第二个参数是总字节数量。 - AES数据加密对象,如果为空,则不进行加密 - 取消操作的令牌信息 - 是否操作成功 + Ip地址信息 + 端口号信息
- + - 使用MQTT协议将一个文件发送到网络上去,需要指定文件名,保存的文件名,可选指定文件描述信息,进度报告
- To send a file to the network using the MQTT protocol, you need to specify the file name, the saved file name, - optionally specify the file description information, and the progress report + 使用指定的ip地址,端口号,用户名,密码来初始化对象
+ Initialize the object with the specified IP address, port number, username, and password
- 网络套接字 - 文件名称 - 对方接收后保存的文件名 - 文件的描述信息 - 进度报告,第一个参数是已完成的字节数量,第二个参数是总字节数量。 - AES数据加密对象,如果为空,则不进行加密 - 用户取消的令牌 - 是否操作成功 + Ip地址信息 + 端口号信息 + 用户名 + 密码
- + - 使用MQTT协议将一个数据流发送到网络上去,需要保存的文件名,可选指定文件描述信息,进度报告
- Use the MQTT protocol to send a data stream to the network, the file name that needs to be saved, optional file description information, progress report + 针对请求的头信息进行额外的处理,可以重写用来实现一些特殊的信息添加到请求头中
- 网络套接字 - 数据流 - 对方接收后保存的文件名 - 文件的描述信息 - 进度报告,第一个参数是已完成的字节数量,第二个参数是总字节数量。 - AES数据加密对象,如果为空,则不进行加密 - 用户取消的令牌信息 - 是否操作成功 + 头信息
- + - 使用MQTT协议从网络接收字节数组,然后写入文件或流中,支持进度报告
- Use MQTT protocol to receive byte array from the network, and then write it to file or stream, support progress report + 针对请求的头信息进行额外的处理
- 网络套接字 - 文件名或是流 - 进度报告 - AES数据加密对象,如果为空,则不进行加密 - 用户取消的令牌信息 - 是否操作成功,如果成功,携带文件基本信息 -
- - - - - - - - - - - - - - - - - - - - - + - 接收一行基于redis协议的字符串的信息,需要指定固定的长度
- Receive a line of information based on the redis protocol string, you need to specify a fixed length + 使用GET操作从网络中获取到数据信息,地址
- 网络套接字 - 字符串的长度 - 带有结果对象的数据信息 + 除去ip地址和端口的地址 + 返回的数据内容
- + - 从网络接收一条完整的redis报文的消息
- Receive a complete redis message from the network + 使用POST命令去提交数据内容,然后返回相关的数据信息
- 网络套接字 - 接收的结果对象 + 已经去除ip地址,端口号的api信息 + 数据内容 + 从服务器返回的内容
- - + + - - + + - + - 接收一条hsl协议的数据信息,自动解析,解压,解码操作,获取最后的实际的数据,接收结果依次为暗号,用户码,负载数据
- Receive a piece of hsl protocol data information, automatically parse, decompress, and decode operations to obtain the last actual data. - The result is a opCode, user code, and payload data in order. + 获取或设置远程服务器的IP地址
+ Gets or sets the IP address of the remote server
- 网络套接字 - 接收结果,依次为暗号,用户码,负载数据 -
- - - + - 删除一个指定的文件,如果文件不存在,直接返回 True,如果文件存在则直接删除,删除成功返回 True,如果发生了异常,返回False
- Delete a specified file, if the file does not exist, return True directly, if the file exists, delete it directly, - if the deletion is successful, return True, if an exception occurs, return False + 获取或设置远程服务器的端口号信息
+ Gets or sets the port number information for the remote server
- 完整的文件路径 - 是否删除成功 -
- - - + - 基于连接的CIP协议的基类 + 获取或设置当前的用户名
+ Get or set the current username
- + - 实例化一个默认的对象 + 获取或设置当前的密码
+ Get or set the current password
- - - - - - - - - - - - - - - - - - - - + + - + - O -> T Network Connection ID + 是否启用Https的协议访问,对于Https来说,端口号默认为 443
+ Whether to enable Https protocol access, for Https, the port number defaults to 443
- + - T -> O Network Connection ID + 默认的内容类型,如果为空,则不进行设置操作。例如设置为 "text/plain", "application/json", "text/html" 等等。
+ The default content type, if it is empty, no setting operation will be performed. For example, set to "text/plain", "application/json", "text/html" and so on.
- + - 将多个的CIP命令打包成一个服务的命令 + 获取或设置是否使用ISO的编码信息,默认为 False
+ Get or set whether to use ISO encoding information, the default is False
- CIP命令列表 - 服务命令 + + 在访问某些特殊的API的时候,会发生异常"The character set provided in ContentType is invalid....",这时候,只需要将本属性设置为 True 即可。 +
- + - 获取数据通信的前置打开命令,不同的PLC的信息不一样。 + 获取当前的HttpClinet的客户端
+ Get the current HttpClinet client
- 连接的ID信息 - 原始命令数据
- + - 获取数据通信的后置关闭命令,不同的PLC的信息不一样。 + 获取当前的远程服务器的地址,可能是ip,也可能是网址。
+ Get the address of the current remote server, which may be an IP address or a web address.
- 原始命令数据
- - - 从PLC反馈的数据解析出真实的数据内容,结果内容分别是原始字节数据,数据类型代码,是否有很多的数据
- The real data content is parsed from the data fed back by the PLC. The result content is the original byte data, - the data type code, and whether there is a lot of data. -
- PLC的反馈数据 - 是否是返回的操作 - 带有结果标识的最终数据 + + - + - 支持长连接,短连接两个模式的通用客户端基类
- Universal client base class that supports long connections and short connections to two modes + 机器人的基于webapi接口的基础类信息
- - 无,请使用继承类实例化,然后进行数据交互,当前的类并没有具体的实现。 -
- + + + + + + + + + + - 默认的无参构造函数
- Default no-parameter constructor + 等待重写的额外的指令信息的支持。除了url的形式之外,还支持基于命令的数据交互
+ Additional instruction information waiting for rewriting is supported.In addition to the url format, command based data interaction is supported
+ 地址信息 + 是否读取成功的内容
- + + + + - 当前的网络的管道信息 + 读取对方信息的的数据信息,通常是针对GET的方法信息设计的。如果使用了url=开头,就表示是使用了原生的地址访问
+ Read the other side of the data information, usually designed for the GET method information.If you start with url=, you are using native address access
+ 无效参数 + 带有成功标识的byte[]数组
- + - 是否是长连接的状态
- Whether it is a long connection state + 读取对方信息的的字符串数据信息,通常是针对GET的方法信息设计的。如果使用了url=开头,就表示是使用了原生的地址访问
+ The string data information that reads the other party information, usually designed for the GET method information.If you start with url=, you are using native address access
+ 地址信息 + 带有成功标识的字符串数据
- + - 设置日志记录报文是否二进制,如果为False,那就使用ASCII码
- Set whether the log message is binary, if it is False, then use ASCII code + 使用POST的方式来向对方进行请求数据信息,需要使用url=开头,来表示是使用了原生的地址访问
+ Using POST to request data information from the other party, we need to start with url= to indicate that we are using native address access
+ 指定的地址信息,有些设备可能不支持 + 原始的字节数据信息 + 是否成功的写入
- + - 获取或设置当前的连接是否激活从服务器主动推送的功能 + 使用POST的方式来向对方进行请求数据信息,需要使用url=开头,来表示是使用了原生的地址访问
+ Using POST to request data information from the other party, we need to start with url= to indicate that we are using native address access
+ 指定的地址信息 + 字符串的数据信息 + 是否成功的写入
- + + + + + + + + + + + + + + + + - 获取一个新的消息对象的方法,需要在继承类里面进行重写
- The method to get a new message object needs to be overridden in the inheritance class + 包含了主动异步接收的方法实现和文件类异步读写的实现
+ Contains the implementation of the active asynchronous receiving method and the implementation of asynchronous reading and writing of the file class
- 消息类对象
- + - 当前的数据变换机制,当你需要从字节数据转换类型数据的时候需要。
- The current data transformation mechanism is required when you need to convert type data from byte data. + 默认的无参构造方法
+ The default parameterless constructor
- - 在HSL里提供了三种数据变换机制,分别是 , , - ,各自的属性也可以自定调整,基本满足所有的情况使用。
- Three data transformation mechanisms are provided in HSL, namely , , - , and their respective property can also be adjusted by itself, basically satisfying all situations. -
- - 主要是用来转换数据类型的,下面仅仅演示了2个方法,其他的类型转换,类似处理。 - -
- + - 获取或设置连接的超时时间,单位是毫秒
- Gets or sets the timeout for the connection, in milliseconds + [自校验] 将文件数据发送至套接字,如果结果异常,则结束通讯
+ [Self-check] Send the file data to the socket. If the result is abnormal, the communication is ended.
- - 设置1秒的超时的示例 - - - - 不适用于异形模式的连接。 - + 网络套接字 + 完整的文件路径 + 文件的长度 + 进度报告器 + 是否发送成功
- + - 获取或设置接收服务器反馈的时间,如果为负数,则不接收反馈
- Gets or sets the time to receive server feedback, and if it is a negative number, does not receive feedback + [自校验] 将文件数据发送至套接字,具体发送细节将在继承类中实现,如果结果异常,则结束通讯
+ [Self-checking] Send the file data to the socket. The specific sending details will be implemented in the inherited class. If the result is abnormal, the communication will end
- - 设置1秒的接收超时的示例 - - - - 超时的通常原因是服务器端没有配置好,导致访问失败,为了不卡死软件,所以有了这个超时的属性。 - + 套接字 + 文件名称,文件必须存在 + 远程端的文件名称 + 文件的额外标签 + 文件的上传人 + 发送进度报告 + 是否发送成功
- + - 获取或是设置远程服务器的IP地址,如果是本机测试,那么需要设置为127.0.0.1
- Get or set the IP address of the remote server. If it is a local test, then it needs to be set to 127.0.0.1 + [自校验] 将流数据发送至套接字,具体发送细节将在继承类中实现,如果结果异常,则结束通讯
+ [Self-checking] Send stream data to the socket. The specific sending details will be implemented in the inherited class. + If the result is abnormal, the communication will be terminated
- - 最好实在初始化的时候进行指定,当使用短连接的时候,支持动态更改,切换;当使用长连接后,无法动态更改
- 支持使用域名的网址方式,例如:www.hslcommunication.cn -
- - 以下举例modbus-tcp的短连接及动态更改ip地址的示例 - - + 套接字 + 文件名称,文件必须存在 + 远程端的文件名称 + 文件的额外标签 + 文件的上传人 + 发送进度报告 + 是否成功的结果对象
- + - 获取或设置服务器的端口号,具体的值需要取决于对方的配置
- Gets or sets the port number of the server. The specific value depends on the configuration of the other party. + [自校验] 从套接字中接收文件头信息
+ [Self-checking] Receive file header information from socket
- - 最好实在初始化的时候进行指定,当使用短连接的时候,支持动态更改,切换;当使用长连接后,无法动态更改 - - - 动态更改请参照 属性的更改。 - -
- - + 套接字的网络 + 包含文件信息的结果对象 - + - 获取或设置在正式接收对方返回数据前的时候,需要休息的时间,当设置为0的时候,不需要休息。
- Get or set the time required to rest before officially receiving the data from the other party. When it is set to 0, no rest is required. + [自校验] 从网络中接收一个文件,如果结果异常,则结束通讯
+ [Self-checking] Receive a file from the network. If the result is abnormal, the communication ends.
+ 网络套接字 + 接收文件后保存的文件名 + 接收进度报告 + 包含文件信息的结果对象
- + - 获取或设置绑定的本地的IP地址和端口号信息,如果端口设置为0,代表任何可用的端口
- Get or set the bound local IP address and port number information, if the port is set to 0, it means any available port + [自校验] 从网络中接收一个文件,写入数据流,如果结果异常,则结束通讯,参数顺序文件名,文件大小,文件标识,上传人
+ [Self-checking] Receive a file from the network. If the result is abnormal, the communication ends.
- - 默认为NULL, 也即是不绑定任何本地的IP及端口号信息,使用系统自动分配的方式。
- The default is NULL, which means that no local IP and port number information are bound, and the system automatically assigns it. -
+ 网络套接字 + 等待写入的数据流 + 接收进度报告 + 文件头结果
- + + + + + + + + + + + + + + + + + + + - 当前的异形连接对象,如果设置了异形连接的话,仅用于异形模式的情况使用
- The current alien connection object, if alien connection is set, is only used in the case of alien mode + 对客户端而言是的通讯用的套接字,对服务器来说是用于侦听的套接字
+ A communication socket for the client, or a listening socket for the server
- - 具体的使用方法请参照Demo项目中的异形modbus实现。 -
- - + + - + - 获取或设置在发送通信报文前追加发送的字节信息,HEX格式,通常用于lora组网时,需要携带 00 00 00 02 四个字节的站地址功能。
- Obtain or set the byte information sent before sending communication packets, HEX format, usually used for LORA networking, you need to carry 00 00 00 02 four-byte station address function. + 基于TCP、IP通信的类
- + - 设置一个新的网络管道,一般来说不需要调用本方法,当多个网口设备共用一个网络连接时才需要使用本方法进行设置共享的管道。
- To set up a new network channel, generally speaking, you do not need to call this method. This method is only needed to set up a shared channel when multiple network port devices share a network connection. + 实例化一个默认的对象
- - 如果需要设置共享的网络管道的话,需要是设备类对象实例化之后立即进行设置。
- If you need to set up a shared network pipe, you need to set it immediately after the device class object is instantiated. -
- 共享的网络通道
- + - 获取当前用于通信的管道信息
- Get the current pipe information used for communication + 指定IP地址以及端口号信息来初始化对象
- 管道对象 + IP地址信息,可以是IPv4, IPv6, 也可以是域名 + 设备方的端口号信息
- + + + + + + + + + + + + + + + + + + + + + + + + + - 在读取数据之前可以调用本方法将客户端设置为长连接模式,相当于跳过了ConnectServer的结果验证,对异形客户端无效,当第一次进行通信时再进行创建连接请求。
- Before reading the data, you can call this method to set the client to the long connection mode, which is equivalent to skipping the result verification of ConnectServer, - and it is invalid for the alien client. When the first communication is performed, the connection creation request is performed. + 手动断开与远程服务器的连接,如果当前是长连接模式,那么就会切换到短连接模式
+ Manually disconnect from the remote server, if it is currently in long connection mode, it will switch to short connection mode
+ 关闭连接,不需要查看IsSuccess属性查看 - 以下的方式演示了另一种长连接的机制 - + 直接关闭连接即可,基本上是不需要进行成功的判定 +
- - - 对当前设备的IP地址进行PING的操作,返回PING的结果,正常来说,返回
- PING the IP address of the current device and return the PING result. Normally, it returns -
- 返回PING的结果 + + - + + + + - 尝试连接远程的服务器,如果连接成功,就切换短连接模式到长连接模式,后面的每次请求都共享一个通道,使得通讯速度更快速
- Try to connect to a remote server. If the connection is successful, switch the short connection mode to the long connection mode. - Each subsequent request will share a channel, making the communication speed faster. + 读写网络的辅助类
- 返回连接结果,如果失败的话(也即IsSuccess为False),包含失败信息 - - 简单的连接示例,调用该方法后,连接设备,创建一个长连接的对象,后续的读写操作均公用一个连接对象。 - - 如果想知道是否连接成功,请参照下面的代码。 - -
- + - 使用指定的套接字创建异形客户端,在异形客户端的模式下,网络通道需要被动创建。
- Use the specified socket to create the alien client. In the alien client mode, the network channel needs to be created passively. + 写入位到字寄存器的功能,该功能先读取字寄存器的字数据,然后修改其中的位,再写入回去,可能存在脏数据的风险
+ The function of writing bit-to-word registers, which first reads the word data of the word register, then modifies the bits in it, and then writes back, which may be the risk of dirty data
- 异形客户端对象,查看类型创建的客户端 - 通常都为成功 - - 简单的创建示例。 - - 如果想知道是否创建成功。通常都是成功。 - - - 不能和之前的长连接和短连接混用,详细参考 Demo程序 + 关于脏数据风险:从读取数据,修改位,再次写入数据时,大概需要经过3ms~10ms不等的时间,如果此期间内PLC修改了该字寄存器的其他位,再次写入数据时会恢复该点位的数据到读取时的初始值,可能引发设备故障,请谨慎开启此功能。 + 通信对象信息 + 写入的地址信息,需要携带'.'号 + 写入的值信息 + 多少长度的bit位组成一个字地址信息 + 对原始数据是否按照字单位进行反转操作 + 额外指定的位索引,如果为空,则使用中的地址位偏移信息 + 是否写入成功
- - - 使用一个MQTT中转服务器来连接设备对象,并进行相关的读取操作 - - MQTT客户端信息 - 获取数据的主题 - 写入数据的主题信息 - 是否成功 + + - - - 手动断开与远程服务器的连接,如果当前是长连接模式,那么就会切换到短连接模式
- Manually disconnect from the remote server, if it is currently in long connection mode, it will switch to short connection mode -
- 关闭连接,不需要查看IsSuccess属性查看 - - 直接关闭连接即可,基本上是不需要进行成功的判定 - - + + + 通信对象 - - - 决定当前的消息是否是应答机制的消息内容,需要在客户端进行重写实现,如果是应答机制,返回 True, 否则返回 False
- To determine whether the current message is the message content of the response mechanism, - it needs to be rewritten on the client side. If it is the response mechanism, return True, otherwise return False -
- 通信使用的网络套接字 - 服务器返回的内容 - 是否应答机制的数据报文 + + + 通信对象 - - - 根据实际的协议选择是否重写本方法,有些协议在创建连接之后,需要进行一些初始化的信号握手,才能最终建立网络通道。
- Whether to rewrite this method is based on the actual protocol. Some protocols require some initial signal handshake to establish a network channel after the connection is created. -
- 网络套接字 - 是否初始化成功,依据具体的协议进行重写 - - 有些协议不需要握手信号,比如三菱的MC协议,Modbus协议,西门子和欧姆龙就存在握手信息,此处的例子是继承本类后重写的西门子的协议示例 - - + + + 通信对象 - - - 根据实际的协议选择是否重写本方法,有些协议在断开连接之前,需要发送一些报文来关闭当前的网络通道
- Select whether to rewrite this method according to the actual protocol. Some protocols need to send some packets to close the current network channel before disconnecting. -
- 网络套接字 - - 目前暂无相关的示例,组件支持的协议都不用实现这个方法。 - - 当断开连接时额外的操作结果 + + + 通信对象 - - - 和服务器交互完成的时候调用的方法,可以根据读写结果进行一些额外的操作,具体的操作需要根据实际的需求来重写实现
- The method called when the interaction with the server is completed can perform some additional operations based on the read and write results. - The specific operations need to be rewritten according to actual needs. -
- 读取结果 + + + 通信对象 - - - 是否使用账号登录,这个账户登录的功能是HSL组件创建的服务器特有的功能。
- Whether to log in using an account. The function of this account login is a server-specific function created by the HSL component. -
+ + + 通信对象 - - - 设置当前的登录的账户名和密码信息,并启用账户验证的功能,账户名为空时设置不生效
- Set the current login account name and password information, and enable the account verification function. The account name setting will not take effect when it is empty -
- - 当对方的服务器是使用HslCommunication创建的虚拟服务器时,例如modbus服务器,西门子s7服务器等等,就支持进行账户名验证操作,此时的客户端连接之前,就需要调用本方法设置账户密码信息。
- When the other party's server is a virtual server created by HslCommunication, such as modbus server, Siemens s7 server, etc., - it supports account name verification operation. At this time, before the client connects, you need to call this method to set account password information. -
- 账户名 - 密码 + + + 通信对象 - - - 认证账号,根据已经设置的用户名和密码,进行发送服务器进行账号认证。
- Authentication account, according to the user name and password that have been set, sending server for account authentication. -
- 套接字 - 认证结果 + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + 通信对象 - - + + + 通信对象 - - + + + 通信对象 - - + + + 通信对象 - + + + 通信对象 + + + + 通信对象 + + + + 通信对象 + + - 检查当前从网口接收的数据是否是完整的,如果是完整的,则需要返回 True,表示数据接收立即完成,默认返回 True
- Check whether the data currently received from the network port is complete, and if it is complete, - you need to return True, indicating that the data reception is completed immediately, and the default value is True + 异形客户端的连接对象
- - 在默认情况下,网口在接收数据之后,直接认为本次的数据接收已经完成,如果碰到有结束标记的协议,则可以重写本方法,然后加入额外的验证信息,直到全部数据接收完成。
- By default, after receiving data, the network port directly believes that the data reception has been completed, - if it encounters a protocol with an end tag, you can override this method, and then add additional verification information until all data is received. -
- 当前发送的数据信息 - 目前已经接收到数据流 - 如果数据接收完成,则返回True, 否则返回False
- + - 对当前的命令进行打包处理,通常是携带命令头内容,标记当前的命令的长度信息,需要进行重写,否则默认不打包
- The current command is packaged, usually carrying the content of the command header, marking the length of the current command, - and it needs to be rewritten, otherwise it is not packaged by default + 实例化一个默认的参数
- - 对发送的命令打包之后,直接发送给真实的对方设备了,例如在AB-PLC里面,就重写了打包方法,将当前的会话ID参数传递给PLC设备
- After packaging the sent command, it is directly sent to the real counterpart device. For example, in AB-PLC, - the packaging method is rewritten and the current session ID parameter is passed to the PLC device. -
- 发送的数据命令内容 - 打包之后的数据结果信息
- + - 根据对方返回的报文命令,对命令进行基本的拆包,例如各种Modbus协议拆包为统一的核心报文,还支持对报文的验证
- According to the message command returned by the other party, the command is basically unpacked, for example, - various Modbus protocols are unpacked into a unified core message, and the verification of the message is also supported + 网络套接字
- - 在实际解包的操作过程中,通常对状态码,错误码等消息进行判断,如果校验不通过,将携带错误消息返回
- During the actual unpacking operation, the status code, error code and other messages are usually judged. If the verification fails, the error message will be returned. -
- 发送的原始报文数据 - 设备方反馈的原始报文内容 - 返回拆包之后的报文信息,默认不进行任何的拆包操作
- + - 获取本次操作的可用的网络通道,如果是短连接,就重新生成一个新的网络通道,如果是长连接,就复用当前的网络通道。
- Obtain the available network channels for this operation. If it is a short connection, a new network channel is regenerated. - If it is a long connection, the current network channel is reused. + 唯一的标识
- 是否成功,如果成功,使用这个套接字
- + - 尝试连接服务器,如果成功,并执行的初始化方法,并返回最终的结果。
- Attempt to connect to the server, if successful, and execute the initialization method of , and return the final result. + 密码信息
- 带有socket的结果对象
- + - 将数据报文发送指定的网络通道上,根据当前指定的类型,返回一条完整的数据指令
- Sends a data message to the specified network channel, and returns a complete data command according to the currently specified type + 指示当前的网络状态
- 指定的套接字 - 发送的完整的报文信息 - 是否有等待的数据返回,默认为 true - 是否需要对命令重新打包,在重写方法后才会有影响 - - 无锁的基于套接字直接进行叠加协议的操作。 - - - 假设你有一个自己的socket连接了设备,本组件可以直接基于该socket实现modbus读取,三菱读取,西门子读取等等操作,前提是该服务器支持多协议,虽然这个需求听上去比较变态,但本组件支持这样的操作。 - - - 接收的完整的报文信息
- - - - - - - + - 将数据发送到当前的网络通道中,并从网络通道中接收一个指定的完整的报文,网络通道将根据方法自动获取,本方法是线程安全的。
- Send data to the current network channel and receive a complete message specified by from the network channel. - The network channel will be automatically obtained according to the method This method is thread-safe. + 上线时间
- 发送的完整的报文信息 - 是否有等待的数据返回,默认为 true - 是否需要对命令重新打包,在重写方法后才会有影响 - 接收的完整的报文信息 - - 本方法用于实现本组件还未实现的一些报文功能,例如有些modbus服务器会有一些特殊的功能码支持,需要收发特殊的报文,详细请看示例 - - - 此处举例有个modbus服务器,有个特殊的功能码0x09,后面携带子数据0x01即可,发送字节为 0x00 0x00 0x00 0x00 0x00 0x03 0x01 0x09 0x01 - -
- + - 释放当前的资源,并自动关闭长连接,如果设置了的话 + 最后一次下线的时间 - 是否释放托管的资源信息 - + - 释放当前的资源,如果调用了本方法,那么该对象再使用的时候,需要重新实例化。
- Release the current resource. If this method is called, the object needs to be instantiated again when it is used again. + 进行下线操作
- + - + - 文件服务器类的基类,为直接映射文件模式和间接映射文件模式提供基础的方法支持,主要包含了对文件的一些操作的功能
- The base class of the file server class, which provides basic method support for the direct mapping file mode and the indirect mapping file mode, and mainly includes the functions of some operations on files + 当前的网络会话信息,还包含了一些客户端相关的基本的参数信息
+ The current network session information also contains some basic parameter information related to the client
- + + + + + + + - 实例化一个默认的对象 + 远程对象的别名信息
+ Alias information for remote objects
- + - 获取当前文件的读写锁,如果没有会自动创建,文件名应该是guid文件名,例如 b35a11ec533147ca80c7f7d1713f015b7909
- Acquire the read-write lock of the current file. If not, it will be created automatically. - The file name should be the guid file name, for example, b35a11ec533147ca80c7f7d1713f015b7909 + 客户端唯一的标识,在NetPushServer及客户端类里有使用
+ The unique identifier of the client, used in the NetPushServer and client classes
- 完整的文件路径 - 返回携带文件信息的读写锁
- + - 接收本次操作的信息头数据 + UDP通信中的远程端
+ Remote side in UDP communication
- 网络套接字 - 是否成功的结果对象
- + - 接收本次操作的信息头数据 + 数据内容缓存
+ data content cache
- 网络套接字 - 是否成功的结果对象
- + - 获取一个随机的文件名,由GUID码和随机数字组成 + 用于关键字分类使用
+ Used for keyword classification
- 文件名
- + - 返回服务器的绝对路径,包含根目录的信息 [Root Dir][Factory][Group][Id] 信息 + 当前会话绑定的自定义的对象内容
+ The content of the custom object bound to the current session
- 第一大类 - 第二大类 - 第三大类 - 是否成功的结果对象
- + + + + + + + + + + - 返回服务器的绝对路径,包含根目录的信息 [Root Dir][Factory][Group][Id][FileName] 信息 + 传输数据的对象 - 第一大类 - 第二大类 - 第三大类 - 文件名 - 是否成功的结果对象 - + - 返回相对路径的名称 + 发送的数据内容 - 第一大类 - 第二大类 - 第三大类 - 文件名 - 是否成功的结果对象 - + - 移动一个文件到新的文件去 + 已经发送长度 - 旧的文件名称 - 新的文件名称 - 是否成功 - + - 删除文件并回发确认信息,如果结果异常,则结束通讯 + 关键字 - 网络套接字 - 完整路径的文件名称 - 是否成功的结果对象 - + - 文件上传的委托 + 客户端的标识 - 文件的基本信息 - + - 文件上传的事件,当文件上传的时候触发。 + 文件传送的异步对象 - + - 触发一个文件上传的事件。 + 操作的流 - 文件的基本信息 - + - 服务器启动时的操作 + 管道会话信息,包含了一个管道对象,管道可以是TCP,UDP,也可以是串口,甚至是其他自定义的。
+ Pipeline session information, which contains a pipeline object, which can be TCP, UDP, serial port, or even other custom interfaces.
- + - 检查文件夹是否存在,不存在就创建 + 获取当前的客户端的上线时间
+ Get the online time of the current client
- + - 文件所存储的路径 + 获取心跳验证的时间点
+ Get the time point of heartbeat verification
- + - 获取当前的文件标记的对象数量
- Get the number of objects marked by the current file + 当前会话绑定的自定义的对象内容
+ The content of the custom object bound to the current session
- - + + + 当前的会话的管道信息
+ Pipeline information for the current session +
- + - 获取文件夹的所有文件列表 + 获取或设置当前会话的ID信息,某些特殊的会话需要用到该字段
+ Obtain or set the ID information of the current session, which is required for some special sessions
- 第一大类 - 第二大类 - 第三大类 - 文件列表
- + - 获取文件夹的所有文件夹列表 + 关闭当前的会话状态
+ Close the current session state
- 第一大类 - 第二大类 - 第三大类 - 文件夹列表
- + - + - 服务器程序的基础类,提供了启动服务器的基本实现,方便后续的扩展操作。
- The basic class of the server program provides the basic implementation of starting the server to facilitate subsequent expansion operations. + 会话的基类信息
- + - 实例化一个默认的对象
- Instantiate a default object + 实例化一个默认的对象
- - - - - - - - - - - - - + - 异步传入的连接申请请求
- Asynchronous incoming connection request + 通过指定的对象来初始化一个会话内容
- 异步对象 + 连接的Socket对象
- + - 当客户端连接到服务器,并听过额外的检查后,进行回调的方法
- Callback method when the client connects to the server and has heard additional checks + 实际传输数据的对象,除非你清楚自己在收发什么数据信息,否则尽量不直接使用本对象
+ The actual data transmission object, unless you know what data information you are sending and receiving, try not to directly use this object
- socket对象 - 远程的终结点
- + - 当客户端的socket登录的时候额外检查的操作,并返回操作的结果信息。
- The operation is additionally checked when the client's socket logs in, and the result information of the operation is returned. + 获取当前的客户端的上线时间
+ Get the online time of the current client
- 套接字 - 终结点 - 验证的结果
- + - 服务器启动时额外的初始化信息,可以用于启动一些额外的服务的操作。
- The extra initialization information when the server starts can be used to start some additional service operations. + 获取当前的远程连接对象的IP地址
+ Get the IP address of the current remote connection object
- 需要在派生类中重写
- + - 指定端口号来启动服务器的引擎
- Specify the port number to start the server's engine + 获取当前的连接对象连接的远程客户端
+ Get the remote client connected by the current connection object
- 指定一个端口号
- + - 使用已经配置好的端口启动服务器的引擎
- Use the configured port to start the server's engine + 获取心跳验证的时间点
+ Get the time point of heartbeat verification
- + - 服务器关闭的时候需要做的事情
- Things to do when the server is down -
-
- - - 关闭服务器的引擎
- Shut down the server's engine + 更新当前的心跳时间
+ Update the current heartbeat time
- + - 创建一个指定的异形客户端连接,使用Hsl协议来发送注册包
- Create a specified profiled client connection and use the Hsl protocol to send registration packets + 更新当前的连接对象信息
- Ip地址 - 端口号 - 设备唯一ID号,最长11 - 密码信息 - 是否成功连接 -
- - - - - + 连接的对象 - + - 基于Udp的应答式通信类
- Udp - based responsive communication class + 网络中的异步对象
- + - 实例化一个默认的方法
- Instantiate a default method + 实例化一个对象
- - - - - - - - - - - - - + - 获取或设置一次接收时的数据长度,默认2KB数据长度,特殊情况的时候需要调整
- Gets or sets the length of data received at a time. The default length is 2KB + 实例化一个对象,指定接收或是发送的数据长度
+ 数据长度
- - - - - - - - - - - - - - - - - - - + - 从UDP接收相关的数据信息,允许子类重写实现一些更加特殊的功能验证。 + 唯一的一串信息 - 网络套接字 - 超时时间 - 发送的报文信息 - 返回接收到的报文 - + - 核心的数据交互读取,发数据发送到通道上去,然后从通道上接收返回的数据
- The core data is read interactively, the data is sent to the serial port, and the returned data is received from the serial port + 网络套接字
- 完整的报文内容 - 是否有等待的数据返回,默认为 true - 是否需要对命令重新打包,在重写方法后才会有影响 - 是否成功的结果对象 -
- - - - - - - - - - - - - - - - - - + - 基于webapi的数据访问的基类,提供了基本的http接口的交互功能
- A base class for data access based on webapi that provides basic HTTP interface interaction + 是否关闭了通道
- - 当前的基类在.net framework2.0上存在问题,在.net framework4.5及.net standard上运行稳定而且正常 -
- + - 使用指定的ip地址来初始化对象
- Initializes the object using the specified IP address + 清空旧的数据
- Ip地址信息
- + - 使用指定的ip地址及端口号来初始化对象
- Initializes the object with the specified IP address and port number + 携带TaskCompletionSource属性的异步对象
- Ip地址信息 - 端口号信息 + 类型
- + - 使用指定的ip地址,端口号,用户名,密码来初始化对象
- Initialize the object with the specified IP address, port number, username, and password + 实例化一个对象
- Ip地址信息 - 端口号信息 - 用户名 - 密码
- + - 针对请求的头信息进行额外的处理,可以重写用来实现一些特殊的信息添加到请求头中 + 实例化一个对象,指定接收或是发送的数据长度 - 头信息 + 数据长度 - + - 针对请求的头信息进行额外的处理 + 异步消息的对象 - + - 使用GET操作从网络中获取到数据信息,地址 + 本次接收或是发送的数据长度 - 除去ip地址和端口的地址 - 返回的数据内容 - + - 使用POST命令去提交数据内容,然后返回相关的数据信息 + 已经处理的字节长度 - 已经去除ip地址,端口号的api信息 - 数据内容 - 从服务器返回的内容 - - - - - - - + - 获取或设置远程服务器的IP地址
- Gets or sets the IP address of the remote server + 操作完成的信号
- + - 获取或设置远程服务器的端口号信息
- Gets or sets the port number information for the remote server + 缓存器
- + - 获取或设置当前的用户名
- Get or set the current username + 是否发生了错误
- + - 获取或设置当前的密码
- Get or set the current password + 错误消息
- - - - + - 是否启用Https的协议访问,对于Https来说,端口号默认为 443
- Whether to enable Https protocol access, for Https, the port number defaults to 443 + 所有的和设备或是交互类统一读写标准,公开了如何读写对方的一些api接口,并支持基于特性的读写操作
+ All unified read and write standards for devices and interaction classes, + expose how to read and write some API interfaces of each other, and support feature-based read and write operations
+ + Modbus类,PLC类均实现了本接口,可以基于本接口实现统一所有的不同种类的设备的数据交互 + + + 此处举例实现modbus,三菱,西门子三种设备的统一的数据交互 + +
- + - 默认的内容类型,如果为空,则不进行设置操作。例如设置为 "text/plain", "application/json", "text/html" 等等。
- The default content type, if it is empty, no setting operation will be performed. For example, set to "text/plain", "application/json", "text/html" and so on. + 组件的日志工具,支持日志记录,只要实例化后,当前网络的基本信息,就以等级进行输出
+ The component's logging tool supports logging. As long as the instantiation of the basic network information, the output will be output at
+ + 只要实例化即可以记录日志,实例化的对象需要实现接口 ,本组件提供了三个日志记录类,你可以实现基于 的对象。 + + 如下的实例化适用于所有的Network及其派生类,以下举两个例子,三菱的设备类及服务器类 + + +
- + - 获取或设置是否使用ISO的编码信息,默认为 False
- Get or set whether to use ISO encoding information, the default is False + 当前连接的唯一ID号,默认为长度20的guid码加随机数组成,方便列表管理,也可以自己指定
+ The unique ID number of the current connection. The default is a 20-digit guid code plus a random number.
- 在访问某些特殊的API的时候,会发生异常"The character set provided in ContentType is invalid....",这时候,只需要将本属性设置为 True 即可。 + 当前的唯一连接ID信息在DTU的模式下,将发挥关键作用,标记唯一的DTU ID
- + - 获取当前的HttpClinet的客户端
- Get the current HttpClinet client + 批量读取字节数组信息,需要指定地址和长度,返回原始的字节数组
+ Batch read byte array information, need to specify the address and length, return the original byte array
+ 数据地址 + 数据长度 + 带有成功标识的byte[]数组
- + - 获取当前的远程服务器的地址,可能是ip,也可能是网址。
- Get the address of the current remote server, which may be an IP address or a web address. + 写入原始的byte数组数据到指定的地址,返回是否写入成功
+ Write the original byte array data to the specified address, and return whether the write was successful
+ 起始地址 + 写入值 + 是否写入成功
- - - - + - 机器人的基于webapi接口的基础类信息 + 批量读取数组信息,需要指定地址和长度,返回 数组
+ Batch read array information, need to specify the address and length, return array
+ 数据地址 + 数据长度 + 带有成功标识的 bool[] 数组
- - - - - - - - - - + - 等待重写的额外的指令信息的支持。除了url的形式之外,还支持基于命令的数据交互
- Additional instruction information waiting for rewriting is supported.In addition to the url format, command based data interaction is supported + 读取单个的数据信息
+ Read a single data message
- 地址信息 - 是否读取成功的内容 -
- - + 数据地址 + 带有成功标识的 bool 值 - + - 读取对方信息的的数据信息,通常是针对GET的方法信息设计的。如果使用了url=开头,就表示是使用了原生的地址访问
- Read the other side of the data information, usually designed for the GET method information.If you start with url=, you are using native address access + 批量写入数组数据,返回是否成功
+ Batch write array data, return whether the write was successful
- 无效参数 - 带有成功标识的byte[]数组 + 起始地址 + 写入值 + 是否写入成功
- + - 读取对方信息的的字符串数据信息,通常是针对GET的方法信息设计的。如果使用了url=开头,就表示是使用了原生的地址访问
- The string data information that reads the other party information, usually designed for the GET method information.If you start with url=, you are using native address access + 写入单个的数据,返回是否成功
+ Write a single data, and return whether the write was successful
- 地址信息 - 带有成功标识的字符串数据 + 起始地址 + 写入值 + 是否写入成功
- + - 使用POST的方式来向对方进行请求数据信息,需要使用url=开头,来表示是使用了原生的地址访问
- Using POST to request data information from the other party, we need to start with url= to indicate that we are using native address access + 读取16位的有符号的整型数据
+ Read 16-bit signed integer data
- 指定的地址信息,有些设备可能不支持 - 原始的字节数据信息 - 是否成功的写入 + 起始地址 + 带有成功标识的short数据 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 使用POST的方式来向对方进行请求数据信息,需要使用url=开头,来表示是使用了原生的地址访问
- Using POST to request data information from the other party, we need to start with url= to indicate that we are using native address access + 读取16位的有符号整型数组
+ Read 16-bit signed integer array
- 指定的地址信息 - 字符串的数据信息 - 是否成功的写入 -
- - - - - - - - - - - - - - + 起始地址 + 读取的数组长度 + 带有成功标识的short数组 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + + - + - 包含了主动异步接收的方法实现和文件类异步读写的实现
- Contains the implementation of the active asynchronous receiving method and the implementation of asynchronous reading and writing of the file class + 读取16位的无符号整型
+ Read 16-bit unsigned integer
+ 起始地址 + 带有成功标识的ushort数据 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 默认的无参构造方法
- The default parameterless constructor + 读取16位的无符号整型数组
+ Read 16-bit unsigned integer array
+ 起始地址 + 读取的数组长度 + 带有成功标识的ushort数组 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - [自校验] 将文件数据发送至套接字,如果结果异常,则结束通讯
- [Self-check] Send the file data to the socket. If the result is abnormal, the communication is ended. + 读取32位的有符号整型
+ Read 32-bit signed integer
- 网络套接字 - 完整的文件路径 - 文件的长度 - 进度报告器 - 是否发送成功 + 起始地址 + 带有成功标识的int数据 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - [自校验] 将文件数据发送至套接字,具体发送细节将在继承类中实现,如果结果异常,则结束通讯
- [Self-checking] Send the file data to the socket. The specific sending details will be implemented in the inherited class. If the result is abnormal, the communication will end + 读取32位有符号整型数组
+ Read 32-bit signed integer array
- 套接字 - 文件名称,文件必须存在 - 远程端的文件名称 - 文件的额外标签 - 文件的上传人 - 发送进度报告 - 是否发送成功 + 起始地址 + 数组长度 + 带有成功标识的int数组 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - [自校验] 将流数据发送至套接字,具体发送细节将在继承类中实现,如果结果异常,则结束通讯
- [Self-checking] Send stream data to the socket. The specific sending details will be implemented in the inherited class. - If the result is abnormal, the communication will be terminated + 读取32位的无符号整型
+ Read 32-bit unsigned integer
- 套接字 - 文件名称,文件必须存在 - 远程端的文件名称 - 文件的额外标签 - 文件的上传人 - 发送进度报告 - 是否成功的结果对象 + 起始地址 + 带有成功标识的uint数据 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - [自校验] 从套接字中接收文件头信息
- [Self-checking] Receive file header information from socket + 读取32位的无符号整型数组
+ Read 32-bit unsigned integer array
- 套接字的网络 - 包含文件信息的结果对象 + 起始地址 + 数组长度 + 带有成功标识的uint数组 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - [自校验] 从网络中接收一个文件,如果结果异常,则结束通讯
- [Self-checking] Receive a file from the network. If the result is abnormal, the communication ends. + 读取64位的有符号整型
+ Read 64-bit signed integer
- 网络套接字 - 接收文件后保存的文件名 - 接收进度报告 - 包含文件信息的结果对象 + 起始地址 + 带有成功标识的long数据 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - [自校验] 从网络中接收一个文件,写入数据流,如果结果异常,则结束通讯,参数顺序文件名,文件大小,文件标识,上传人
- [Self-checking] Receive a file from the network. If the result is abnormal, the communication ends. + 读取64位的有符号整型数组
+ Read 64-bit signed integer array
- 网络套接字 - 等待写入的数据流 - 接收进度报告 - 文件头结果 -
- - - - - - - - - - - - - - - - - + 起始地址 + 数组长度 + 带有成功标识的long数组 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + + - + - 对客户端而言是的通讯用的套接字,对服务器来说是用于侦听的套接字
- A communication socket for the client, or a listening socket for the server + 读取64位的无符号整型
+ Read 64-bit unsigned integer
+ 起始地址 + 带有成功标识的ulong数据 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- - - - + - 基于TCP、IP通信的类 + 读取64位的无符号整型的数组
+ Read 64-bit unsigned integer array
-
- + 起始地址 + 数组长度 + 带成功标志的结果数据对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + + + + - 实例化一个默认的对象 + 读取单浮点数据
+ Read single floating point data
+ 起始地址 + 带有成功标识的float数据 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 指定IP地址以及端口号信息来初始化对象 + 读取单浮点精度的数组
+ Read single floating point array
- IP地址信息,可以是IPv4, IPv6, 也可以是域名 - 设备方的端口号信息 -
- - - - - - - - - - - - - - - - - - - - - - - + 起始地址 + 数组长度 + 带有成功标识的float数组 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + + - + - 手动断开与远程服务器的连接,如果当前是长连接模式,那么就会切换到短连接模式
- Manually disconnect from the remote server, if it is currently in long connection mode, it will switch to short connection mode + 读取双浮点的数据
+ Read double floating point data
- 关闭连接,不需要查看IsSuccess属性查看 + 起始地址 + 带有成功标识的double数据 - 直接关闭连接即可,基本上是不需要进行成功的判定 - + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: +
- - - - - - - + - 读写网络的辅助类 + 读取双浮点数据的数组
+ Read double floating point data array
+ 起始地址 + 数组长度 + 带有成功标识的double数组 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 写入位到字寄存器的功能,该功能先读取字寄存器的字数据,然后修改其中的位,再写入回去,可能存在脏数据的风险
- The function of writing bit-to-word registers, which first reads the word data of the word register, then modifies the bits in it, and then writes back, which may be the risk of dirty data + 读取字符串数据,默认为最常见的ASCII编码
+ Read string data, default is the most common ASCII encoding
- - 关于脏数据风险:从读取数据,修改位,再次写入数据时,大概需要经过3ms~10ms不等的时间,如果此期间内PLC修改了该字寄存器的其他位,再次写入数据时会恢复该点位的数据到读取时的初始值,可能引发设备故障,请谨慎开启此功能。 - - 通信对象信息 - 写入的地址信息,需要携带'.'号 - 写入的值信息 - 多少长度的bit位组成一个字地址信息 - 对原始数据是否按照字单位进行反转操作 - 额外指定的位索引,如果为空,则使用中的地址位偏移信息 - 是否写入成功 -
- - - - - - 通信对象 - - - - 通信对象 - - - - 通信对象 - - - - 通信对象 - - - - 通信对象 - - - - 通信对象 - - - - 通信对象 + 起始地址 + 数据长度 + 带有成功标识的string数据 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + + - - + + + 使用指定的编码,读取字符串数据
+ Reads string data using the specified encoding +
+ 起始地址 + 数据长度 + 指定的自定义的编码 + 带有成功标识的string数据 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- - + + + 等待指定地址的值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
+ Waiting for the value of the specified address to be the specified value, you can specify the frequency of refreshing the data, + and the timeout time to wait. If the timeout time is -1, it is an indefinite wait. +
+ 其实地址 + 等待检测是值 + 读取的频率 + 等待的超时时间,如果超时时间为-1的话,则是无期限等待。 + 是否等待成功的结果对象,一旦通信失败,或是等待超时就返回失败。否则返回成功,并告知调用方等待了多久。
- - + + + 等待指定地址的值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
+ Waiting for the value of the specified address to be the specified value, you can specify the frequency of refreshing the data, + and the timeout time to wait. If the timeout time is -1, it is an indefinite wait. +
+ 其实地址 + 等待检测是值 + 读取的频率 + 等待的超时时间,如果超时时间为-1的话,则是无期限等待。 + 是否等待成功的结果对象,一旦通信失败,或是等待超时就返回失败。否则返回成功,并告知调用方等待了多久。
- - + + + 等待指定地址的值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
+ Waiting for the value of the specified address to be the specified value, you can specify the frequency of refreshing the data, + and the timeout time to wait. If the timeout time is -1, it is an indefinite wait. +
+ 其实地址 + 等待检测是值 + 读取的频率 + 等待的超时时间,如果超时时间为-1的话,则是无期限等待。 + 是否等待成功的结果对象,一旦通信失败,或是等待超时就返回失败。否则返回成功,并告知调用方等待了多久。
- - + + + 等待指定地址的值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
+ Waiting for the value of the specified address to be the specified value, you can specify the frequency of refreshing the data, + and the timeout time to wait. If the timeout time is -1, it is an indefinite wait. +
+ 其实地址 + 等待检测是值 + 读取的频率 + 等待的超时时间,如果超时时间为-1的话,则是无期限等待。 + 是否等待成功的结果对象,一旦通信失败,或是等待超时就返回失败。否则返回成功,并告知调用方等待了多久。
- - + + + 等待指定地址的值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
+ Waiting for the value of the specified address to be the specified value, you can specify the frequency of refreshing the data, + and the timeout time to wait. If the timeout time is -1, it is an indefinite wait. +
+ 其实地址 + 等待检测是值 + 读取的频率 + 等待的超时时间,如果超时时间为-1的话,则是无期限等待。 + 是否等待成功的结果对象,一旦通信失败,或是等待超时就返回失败。否则返回成功,并告知调用方等待了多久。
- - + + + 等待指定地址的值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
+ Waiting for the value of the specified address to be the specified value, you can specify the frequency of refreshing the data, + and the timeout time to wait. If the timeout time is -1, it is an indefinite wait. +
+ 其实地址 + 等待检测是值 + 读取的频率 + 等待的超时时间,如果超时时间为-1的话,则是无期限等待。 + 是否等待成功的结果对象,一旦通信失败,或是等待超时就返回失败。否则返回成功,并告知调用方等待了多久。
- - + + + 等待指定地址的值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
+ Waiting for the value of the specified address to be the specified value, you can specify the frequency of refreshing the data, + and the timeout time to wait. If the timeout time is -1, it is an indefinite wait. +
+ 其实地址 + 等待检测是值 + 读取的频率 + 等待的超时时间,如果超时时间为-1的话,则是无期限等待。 + 是否等待成功的结果对象,一旦通信失败,或是等待超时就返回失败。否则返回成功,并告知调用方等待了多久。
- + - 通信对象 - + - 通信对象 - + - 通信对象 - + - 通信对象 - + - 通信对象 - + - 通信对象 - + - 通信对象 - + - 异形客户端的连接对象 + 写入short数据,返回是否成功
+ Write short data, returns whether success
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 实例化一个默认的参数 + 写入short数组,返回是否成功
+ Write short array, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 网络套接字 + 写入ushort数据,返回是否成功
+ Write ushort data, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 唯一的标识 + 写入ushort数组,返回是否成功
+ Write ushort array, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 密码信息 + 写入int数据,返回是否成功
+ Write int data, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 指示当前的网络状态 + 写入int[]数组,返回是否成功
+ Write int array, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 上线时间 + 写入uint数据,返回是否成功
+ Write uint data, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 最后一次下线的时间 + 写入uint[]数组,返回是否成功
+ Write uint array, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 进行下线操作 + 写入long数据,返回是否成功
+ Write long data, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- - - - + - 当前的网络会话信息,还包含了一些客户端相关的基本的参数信息
- The current network session information also contains some basic parameter information related to the client + 写入long数组,返回是否成功
+ Write long array, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- - - - - - - + - 远程对象的别名信息
- Alias information for remote objects + 写入ulong数据,返回是否成功
+ Write ulong data, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 客户端唯一的标识,在NetPushServer及客户端类里有使用
- The unique identifier of the client, used in the NetPushServer and client classes + 写入ulong数组,返回是否成功
+ Write ulong array, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - UDP通信中的远程端
- Remote side in UDP communication + 写入float数据,返回是否成功
+ Write float data, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 数据内容缓存
- data content cache + 写入float数组,返回是否成功
+ Write float array, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 用于关键字分类使用
- Used for keyword classification + 写入double数据,返回是否成功
+ Write double data, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 当前会话绑定的自定义的对象内容
- The content of the custom object bound to the current session + 写入double数组,返回是否成功
+ Write double array, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- - - - - - - - - - + - 传输数据的对象 + 写入字符串信息,编码为ASCII
+ Write string information, encoded as ASCII
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 发送的数据内容 + 写入字符串信息,需要指定的编码信息
+ Write string information, need to specify the encoding information
+ 起始地址 + 写入值 + 指定的编码信息 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 已经发送长度 - - - - - 关键字 + 写入指定长度的字符串信息,如果超出,就截断字符串,如果长度不足,那就补0操作,编码为ASCII
+ Write string information of the specified length. If it exceeds the value, the string is truncated. + If the length is not enough, it is filled with 0 and the encoding is ASCII.
+ 起始地址 + 写入值 + 字符串的长度 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 客户端的标识 + 写入指定长度的字符串信息,如果超出,就截断字符串,如果长度不足,那就补0操作,编码为指定的编码信息
+ Write string information of the specified length. If it exceeds the value, the string is truncated. If the length is not enough, + then the operation is complemented with 0 , you should specified the encoding information
+ 起始地址 + 写入值 + 字符串的长度 + 指定的编码信息 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 文件传送的异步对象 + 读取自定义的数据类型,需要继承自IDataTransfer接口,返回一个新的类型的实例对象。
+ To read a custom data type, you need to inherit from the IDataTransfer interface and return an instance object of a new type.
+ 自定义的类型 + 起始地址 + 带有成功标识的自定义类型数据 + + 需要是定义一个类,选择好相对于的ByteTransform实例,才能调用该方法。 + + + 此处演示三菱的读取示例,先定义一个类,实现接口 + + 接下来就可以实现数据的读取了 + +
- + - 操作的流 + 读取自定义的数据类型,需要继承自IDataTransfer接口,传入一个实例,对这个实例进行赋值,并返回该实例的对象。
+ To read a custom data type, you need to inherit from the IDataTransfer interface, pass in an instance, + assign a value to this instance, and return the object of the instance.
+ 自定义的类型 + 起始地址 + 实例 + 带有成功标识的自定义类型数据 + + 需要是定义一个类,选择好相对于的ByteTransform实例,才能调用该方法。 + + + 此处演示三菱的读取示例,先定义一个类,实现接口 + + 接下来就可以实现数据的读取了 + +
- + - 管道会话信息,包含了一个管道对象,管道可以是TCP,UDP,也可以是串口,甚至是其他自定义的。
- Pipeline session information, which contains a pipeline object, which can be TCP, UDP, serial port, or even other custom interfaces. + 写入自定义类型的数据,该类型必须继承自IDataTransfer接口
+ Write data of a custom type, which must inherit from the IDataTransfer interface
+ 类型对象 + 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 需要是定义一个类,选择好相对于的实例,才能调用该方法。 + + + 此处演示三菱的读取示例,先定义一个类,实现接口 + + 接下来就可以实现数据的读取了 + +
- + - 获取当前的客户端的上线时间
- Get the online time of the current client + 读取支持Hsl特性的数据内容,该特性为,详细参考api文档说明
+ Read the data content of the Hsl attribute. The attribute is , please refer to the api documentation for details.
+ 自定义的数据类型对象 + 包含是否成功的结果对象 + + 此处演示西门子的读取示例,先定义一个类,重点是将需要读取的数据,写入到属性的特性中去。 + + 接下来就可以实现数据的读取了 + +
- + - 获取心跳验证的时间点
- Get the time point of heartbeat verification + 写入支持Hsl特性的数据,返回是否写入成功,该特性为,详细参考api文档说明
+ Write data that supports the Hsl attribute, and return whether the write was successful. The attribute is , please refer to the api documentation for details.
+ 自定义的数据类型对象 + 包含是否成功的结果对象 + + 此处演示西门子的读取示例,先定义一个类,重点是将需要读取的数据,写入到属性的特性中去。 + + 接下来就可以实现数据的写入了 + + +
- + - 当前会话绑定的自定义的对象内容
- The content of the custom object bound to the current session + 读取结构体类型的数据,根据结构体自身的定义,读取原始字节数组,然后解析出实际的结构体数据,结构体需要实现特性
+ 类型对象信息 + PLC的地址信息 + 读取的地址长度信息 + 如果成功,返回成功的结构体对象 + + 此处演示西门子的读取示例,先定义一个类,重点是将需要读取的数据,写入到属性的特性中去。 + + 接下来就可以实现数据的读取了 + +
- + - 当前的会话的管道信息
- Pipeline information for the current session + 异步批量读取字节数组信息,需要指定地址和长度,返回原始的字节数组
+ Asynchronous batch read byte array information, need to specify the address and length, return the original byte array
+ 数据地址 + 数据长度 + 带有成功标识的byte[]数组
- + - 获取或设置当前会话的ID信息,某些特殊的会话需要用到该字段
- Obtain or set the ID information of the current session, which is required for some special sessions + 异步写入原始的byte数组数据到指定的地址,返回是否写入成功
+ Asynchronously writes the original byte array data to the specified address, and returns whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 关闭当前的会话状态
- Close the current session state + 异步批量读取数组信息,需要指定地址和长度,返回 数组
+ Asynchronously batch read array information, need to specify the address and length, return array
+ 数据地址 + 数据长度 + 带有成功标识的byte[]数组
- - - - + - 会话的基类信息 + 异步读取单个的数据信息
+ Asynchronously read a single data message
+ 数据地址 + 带有成功标识的byte[]数组
- + - 实例化一个默认的对象 + 异步批量写入数组数据,返回是否成功
+ Asynchronously batch write array data, return success
+ 起始地址 + 写入值 + 带有成功标识的结果类对象
- + - 通过指定的对象来初始化一个会话内容 + 异步批量写入数组数据,返回是否成功
+ Asynchronously batch write array data, return success
- 连接的Socket对象 + 起始地址 + 写入值 + 带有成功标识的结果类对象
- + - 实际传输数据的对象,除非你清楚自己在收发什么数据信息,否则尽量不直接使用本对象
- The actual data transmission object, unless you know what data information you are sending and receiving, try not to directly use this object + 异步读取16位的有符号的整型数据
+ Asynchronously read 16-bit signed integer data
+ 起始地址 + 带有成功标识的short数据 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 获取当前的客户端的上线时间
- Get the online time of the current client + 异步读取16位的有符号整型数组
+ Asynchronously read 16-bit signed integer array
+ 起始地址 + 读取的数组长度 + 带有成功标识的short数组 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 获取当前的远程连接对象的IP地址
- Get the IP address of the current remote connection object + 异步读取16位的无符号整型
+ Asynchronously read 16-bit unsigned integer
+ 起始地址 + 带有成功标识的ushort数据 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 获取当前的连接对象连接的远程客户端
- Get the remote client connected by the current connection object + 异步读取16位的无符号整型数组
+ Asynchronously read 16-bit unsigned integer array
+ 起始地址 + 读取的数组长度 + 带有成功标识的ushort数组 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 获取心跳验证的时间点
- Get the time point of heartbeat verification + 异步读取32位的有符号整型
+ Asynchronously read 32-bit signed integer
+ 起始地址 + 带有成功标识的int数据 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 更新当前的心跳时间
- Update the current heartbeat time + 异步读取32位有符号整型数组
+ Asynchronously read 32-bit signed integer array
+ 起始地址 + 数组长度 + 带有成功标识的int数组 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 更新当前的连接对象信息 + 异步读取32位的无符号整型
+ Asynchronously read 32-bit unsigned integer
- 连接的对象 + 起始地址 + 带有成功标识的uint数据 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 网络中的异步对象 + 异步读取32位的无符号整型数组
+ Asynchronously read 32-bit unsigned integer array
+ 起始地址 + 数组长度 + 带有成功标识的uint数组 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 实例化一个对象 + 异步读取64位的有符号整型
+ Asynchronously read 64-bit signed integer
+ 起始地址 + 带有成功标识的long数据 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 实例化一个对象,指定接收或是发送的数据长度 + 异步读取64位的有符号整型数组
+ Asynchronously read 64-bit signed integer array
- 数据长度 + 起始地址 + 数组长度 + 带有成功标识的long数组 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 唯一的一串信息 + 异步读取64位的无符号整型
+ Asynchronously read 64-bit unsigned integer
+ 起始地址 + 带有成功标识的ulong数据 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 网络套接字 + 异步读取64位的无符号整型的数组
+ Asynchronously read 64-bit unsigned integer array
+ 起始地址 + 数组长度 + 带有成功标识的ulong数组 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 是否关闭了通道 + 异步读取单浮点数据
+ Asynchronously read single floating point data
+ 起始地址 + 带有成功标识的float数据 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 清空旧的数据 + 异步读取单浮点精度的数组
+ Asynchronously read single floating point array
+ 起始地址 + 数组长度 + 带有成功标识的float数组 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 携带TaskCompletionSource属性的异步对象 + 异步读取双浮点的数据
+ Asynchronously read double floating point data
- 类型 + 起始地址 + 带有成功标识的double数据 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 实例化一个对象 + 异步读取双浮点数据的数组
+ Asynchronously read double floating point data array
+ 起始地址 + 数组长度 + 带有成功标识的double数组 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 实例化一个对象,指定接收或是发送的数据长度 + 异步读取字符串数据,默认为最常见的ASCII编码
+ Asynchronously read string data, default is the most common ASCII encoding
+ 起始地址 数据长度 + 带有成功标识的string数据 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 异步消息的对象 + 异步使用指定的编码,读取字符串数据
+ Asynchronously reads string data using the specified encoding
+ 起始地址 + 数据长度 + 指定的自定义的编码 + 带有成功标识的string数据 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 本次接收或是发送的数据长度 + 异步写入short数据,返回是否成功
+ Asynchronously write short data, returns whether success
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 已经处理的字节长度 + 异步写入short数组,返回是否成功
+ Asynchronously write short array, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 操作完成的信号 + 异步写入ushort数据,返回是否成功
+ Asynchronously write ushort data, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 缓存器 + 异步写入ushort数组,返回是否成功
+ Asynchronously write ushort array, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 是否发生了错误 + 异步写入int数据,返回是否成功
+ Asynchronously write int data, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 错误消息 + 异步写入int[]数组,返回是否成功
+ Asynchronously write int array, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 静态的方法支持类,提供一些网络的静态支持,支持从套接字从同步接收指定长度的字节数据,并支持报告进度。
- The static method support class provides some static support for the network, supports receiving byte data of a specified length from the socket from synchronization, and supports reporting progress. + 异步写入uint数据,返回是否成功
+ Asynchronously write uint data, return whether the write was successful
- - 在接收指定数量的字节数据的时候,如果一直接收不到,就会发生假死的状态。接收的数据时保存在内存里的,不适合大数据块的接收。 - + 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - Socket传输中的缓冲池大小
- Buffer pool size in socket transmission + 异步写入uint[]数组,返回是否成功
+ Asynchronously write uint array, return whether the write was successful
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + +
- + - 根据接收数据的长度信息,合理的分割出单次的长度信息 + 异步写入long数据,返回是否成功
+ Asynchronously write long data, return whether the write was successful +
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + + +
+ + + 异步写入long数组,返回是否成功
+ Asynchronously write long array, return whether the write was successful +
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + + +
+ + + 异步写入ulong数据,返回是否成功
+ Asynchronously write ulong data, return whether the write was successful +
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + + +
+ + + 异步写入ulong数组,返回是否成功
+ Asynchronously write ulong array, return whether the write was successful +
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + + +
+ + + 异步写入float数据,返回是否成功
+ Asynchronously write float data, return whether the write was successful +
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + + +
+ + + 异步写入float数组,返回是否成功
+ Asynchronously write float array, return whether the write was successful +
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + + +
+ + + 异步写入double数据,返回是否成功
+ Asynchronously write double data, return whether the write was successful +
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + + +
+ + + 异步写入double数组,返回是否成功
+ Asynchronously write double array, return whether the write was successful +
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + + +
+ + + 异步写入字符串信息,编码为ASCII
+ Asynchronously write string information, encoded as ASCII +
+ 起始地址 + 写入值 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + + +
+ + + 异步写入字符串信息,需要指定的编码信息
+ Asynchronously write string information, need to specify the encoding information +
+ 起始地址 + 写入值 + 指定的编码信息 + 带有成功标识的结果类对象 + + 以下为三菱的连接对象示例,其他的设备读写情况参照下面的代码: + + +
+ + + 异步写入指定长度的字符串信息,如果超出,就截断字符串,如果长度不足,那就补0操作,编码为ASCII
+ Asynchronously write string information of the specified length. If it exceeds the value, the string is truncated. + If the length is not enough, it is filled with 0 and the encoding is ASCII. +
+ 起始地址 + 写入值 + 字符串的长度 + 带有成功标识的结果类对象 +
+ + + 异步写入指定长度的字符串信息,如果超出,就截断字符串,如果长度不足,那就补0操作,编码为指定的编码信息
+ Asynchronously write string information of the specified length. If it exceeds the value, the string is truncated. If the length is not enough, + then the operation is complemented with 0 , you should specified the encoding information +
+ 起始地址 + 写入值 + 字符串的长度 + 指定的编码信息 + 带有成功标识的结果类对象 +
+ + + + 此处演示三菱的读取示例,先定义一个类,实现接口 + + 接下来就可以实现数据的读取了 + + + + + + + 此处演示三菱的读取示例,先定义一个类,实现接口 + + 接下来就可以实现数据的读取了 + + + + + + + 此处演示三菱的读取示例,先定义一个类,实现接口 + + 接下来就可以实现数据的读取了 + + + + + + 异步读取支持Hsl特性的数据内容,该特性为,详细参考api文档说明
+ Asynchronously read the data content of the Hsl attribute. The attribute is , please refer to the api documentation for details. +
+ 自定义的数据类型对象 + 包含是否成功的结果对象 + + 此处演示西门子的读取示例,先定义一个类,重点是将需要读取的数据,写入到属性的特性中去。 + + 接下来就可以实现数据的读取了 + + +
+ + + 异步写入支持Hsl特性的数据,返回是否写入成功,该特性为,详细参考api文档说明
+ Asynchronously write data that supports the Hsl attribute, and return whether the write was successful. The attribute is , please refer to the api documentation for details. +
+ 自定义的数据类型对象 + 包含是否成功的结果对象 + + 此处演示西门子的读取示例,先定义一个类,重点是将需要读取的数据,写入到属性的特性中去。 + + 接下来就可以实现数据的写入了 + + + +
+ + + + + + 静态的方法支持类,提供一些网络的静态支持,支持从套接字从同步接收指定长度的字节数据,并支持报告进度。
+ The static method support class provides some static support for the network, supports receiving byte data of a specified length from the socket from synchronization, and supports reporting progress. +
+ + 在接收指定数量的字节数据的时候,如果一直接收不到,就会发生假死的状态。接收的数据时保存在内存里的,不适合大数据块的接收。 + +
+ + + Socket传输中的缓冲池大小
+ Buffer pool size in socket transmission +
+
+ + + 根据接收数据的长度信息,合理的分割出单次的长度信息 要接收数据的总长度信息 本次接收数据的长度 @@ -12823,6 +13165,11 @@ currently encrypted key information
+ + + SSL相关的类方法名称,本代码来源 https://github.com/thomas-v2/S7CommPlusDriver + + RSA加密解密算法的辅助方法,可以用PEM格式的密钥创建公钥,或是私钥对象,然后用来加解密操作。 @@ -13307,6 +13654,215 @@ 离开锁 + + + 数据转换类的基础,提供了一些基础的方法实现,默认 的顺序,和C#的字节顺序是一致的。
+ The basis of the data conversion class provides some basic method implementations. + The default order of is consistent with the byte order of C#. +
+
+ + + 实例化一个默认的对象
+ Instantiate a default object +
+
+ + + 使用指定的数据解析来实例化对象
+ Instantiate the object using the specified data parsing +
+ 数据规则 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 反转两个字节的数据信息 + + 原始字节数据 + 起始的索引 + 反转后的字节 + + + + 反转多字节的数据信息 + + 数据字节 + 起始索引,默认值为0 + 实际字节信息 + + + + 反转多字节的数据信息 + + 数据字节 + 起始索引,默认值为0 + 实际字节信息 + + + + + + + + + + + + + 所有数据转换类的静态辅助方法
@@ -14088,215 +14644,6 @@ 数据格式 新的对象 - - - 数据转换类的基础,提供了一些基础的方法实现,默认 的顺序,和C#的字节顺序是一致的。
- The basis of the data conversion class provides some basic method implementations. - The default order of is consistent with the byte order of C#. -
-
- - - 实例化一个默认的对象
- Instantiate a default object -
-
- - - 使用指定的数据解析来实例化对象
- Instantiate the object using the specified data parsing -
- 数据规则 -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 反转两个字节的数据信息 - - 原始字节数据 - 起始的索引 - 反转后的字节 - - - - 反转多字节的数据信息 - - 数据字节 - 起始索引,默认值为0 - 实际字节信息 - - - - 反转多字节的数据信息 - - 数据字节 - 起始索引,默认值为0 - 实际字节信息 - - - - - - - - - - - - - 大端顺序的字节的转换类,字节的顺序和C#的原生字节的顺序是完全相反的,高字节在前,低字节在后。
@@ -15015,289 +15362,628 @@ - + - 用于网络传递的信息头,使用上等同于int + 文件的基础信息 - - 通常用于之间的通信,以及通讯 - - - 使用上等同于int,只是本结构体允许将4字节的int拆分成3部分单独访问 - - - + - 赋值操作,可以直接赋值int数据 + 文件名称 - int数值 - 等值的消息对象 - + - 也可以赋值给int数据 + 文件大小 - netHandle对象 - 等值的消息对象 - + - 判断是否相等 + 文件的标识,注释 - 第一个数 - 第二个数 - 等于返回True,否则False - + - 判断是否不相等 + 文件上传人的名称 - 第一个对象 - 第二个对象 - 等于返回False,否则True - + - 两个数值相加 + 文件的分类信息 - 第一个对象 - 第二个对象 - 返回两个指令的和 - + - 两个数值相减 + 命令码 - 第一个对象 - 第二个对象 - 返回两个指令的差 - + - 判断是否小于另一个数值 + 文件名 - 第一个对象 - 第二个对象 - 小于则返回True,否则返回False - + - 判断是否大于另一个数值 + 文件名列表 - 第一个对象 - 第二个对象 - 大于则返回True,否则返回False - + - 初始化一个暗号对象 + 第一级分类信息 - 使用一个默认的数值进行初始化 - + - 根据三个值来初始化暗号对象 + 第二级分类信息 - 主暗号 - 次暗号 - 暗号编号 - + - 完整的暗号值 + 第三级分类信息 - + - 主暗号分类0-255 + 文件在服务器上的信息 - + - 次要的暗号分类0-255 + 文件的真实路径 - + - 暗号的编号分类0-65535 + 文件标记对象类,标记了一个文件的当前状态,是否处于下载中,删除的操作信息
+ File tag object class, which marks the current status of a file, whether it is downloading, or delete operation information
- + - 完整的暗号值 + 实例化一个文件标记对象,需要传入日志信息和文件名
+ To instantiate a file tag object, you need to pass in log information and file name
+ 日志对象 + 完整的文件名称
- + - 主暗号分类0-255 + 当前的对象创建的时间
+ Current object creation time
- + - 次要的暗号分类0-255 + 当前的对象最后一次活跃的时间
+ Last active time of the current object
- + - 暗号的编号分类0-65535 + 当前的文件的读取次数,通常也是下载次数。
+ The current number of reads of the file, usually also the number of downloads.
- + - 获取完整的暗号数据 + 新增一个对当前的文件的操作,如果没有读取,就直接执行,如果有读取,就等待读取完成的时候执行。
+ Add an operation on the current file. If there is no read, it will be executed directly. If there is a read, it will be executed when the read is completed.
- 返回暗号的字符串表示形式 + 对当前文件的操作内容
- + - 判断两个实例是否相同 + 获取该对象是否能被清除
+ Gets whether the object can be cleared
- 对比的对象 - 相同返回True,否则返回False + 是否能够删除
- + - 获取哈希值 + 进入文件的读取状态
+ Enter the read state of the file
- 返回当前对象的哈希值
- + - 用于本程序集访问通信的暗号说明 + 离开本次的文件读取状态,如果没有任何的客户端在读取了,就执行缓存队列里的操作信息。
+ Leaving the current file reading status, if no client is reading, the operation information in the cache queue is executed.
- + + + + - 规定所有的网络传输指令头都为32字节 + 文件集容器,绑定一个文件夹的文件信息组,提供了文件夹的文件信息的获取,更新接口
+ File set container, which binds the file information group of a folder, provides the file information acquisition and update interface of the folder
- + - 所有网络通信中的缓冲池数据信息 + 实例化一个新的指定目录的文件管理容器
+ Instantiates a new file management container for the specified directory
+ 日志记录对象,可以为空 + 文件的路径
- + - 用于心跳程序的暗号信息 + 包含所有文件列表信息的json文本缓存
+ JSON text cache containing all file list information
- + - 客户端退出消息 + 获取文件的数量
+ Get the number of files
- + - 因为客户端达到上限而拒绝登录 + 获取当前目录中所有子文件的下载次数统计
+ Get the download count of all subfiles in the current directory
- + - 允许客户端登录到服务器 + 当前的目录信息
+ Current catalog information
- + - 客户端登录的暗号信息 + 获取当前目录所有文件的大小之和
+ Get the sum of the size of all files in the current directory
+ 是否携带最新的文件信息
- + - 客户端拒绝登录的暗号信息 + 文件数量变化的委托信息
+ Order information for changes in the number of files
+ 文件列表容器 + 文件的数量
- + - 说明发送的只是文本信息 + 当文件数量发生变化的时候触发的事件
+ Event triggered when the number of files changes
- + - 发送的数据就是普通的字节数组 + 下载文件时调用,根据当前的文件名称,例如 123.txt 获取到在文件服务器里映射的文件名称,例如返回 b35a11ec533147ca80c7f7d1713f015b7909
+ Called when downloading a file. Get the file name mapped in the file server according to the current file name, such as 123.txt. + For example, return b35a11ec533147ca80c7f7d1713f015b7909.
+ 文件的实际名称 + 文件名映射过去的实际的文件名字
- + - 发送的数据就是普通的图片数据 + 上传文件时掉用,通过比对现有的文件列表,如果没有,就重新创建列表信息
+ Used when uploading files, by comparing existing file lists, if not, re-creating list information
+ 文件名,带后缀,不带任何的路径 + 文件的大小 + 文件映射名称 + 文件的拥有者 + 文件的额外描述 + 映射的文件名称
- + - 发送的数据是一条异常的数据,字符串为异常消息 + 根据文件的名称获取对应的文件信息
+ Get the corresponding file information according to the file name
+ 文件的真实名称 + 是否获取成功的结果对象
- + - 说明发送的数据是字符串的数组 + 删除一个文件信息,传入文件实际的名称,例如 123.txt 返回被删除的文件的guid名称,例如返回 b35a11ec533147ca80c7f7d1713f015b7909 此方法存在同名文件删除的风险
+ Delete a file information. Pass in the actual name of the file. For example, 123.txt returns the guid name of the deleted file. For example, it returns b35a11ec533147ca80c7f7d1713f015b7909. There is a risk of deleting the file with the same name
+ 实际的文件名称,如果 123.txt + 映射之后的文件名,例如 b35a11ec533147ca80c7f7d1713f015b7909
- + - 请求文件下载的暗号 + 判断当前的文件名是否在文件的列表里,传入文件实际的名称,例如 123.txt,如果文件存在,返回 true, 如果不存在,返回 false
+ Determine whether the current file name is in the file list, and pass in the actual file name, such as 123.txt, + if it exists, return true, if it does not exist, return false
+ 实际的文件名称,如果 123.txt + 如果文件存在,返回 true, 如果不存在,返回 false
- + - 请求文件上传的暗号 + 删除一个文件信息,传入文件唯一的guid的名称,例如 b35a11ec533147ca80c7f7d1713f015b7909 返回被删除的文件的guid名称
+ Delete a file information, pass in the unique GUID name of the file, for example b35a11ec533147ca80c7f7d1713f015b7909 return the GUID name of the deleted file
+ 实际的文件名称,如果 b35a11ec533147ca80c7f7d1713f015b7909 + 映射之后的文件名,例如 b35a11ec533147ca80c7f7d1713f015b7909
- + - 请求删除文件的暗号 + 删除当前目录下所有的文件信息,返回等待被删除的文件列表,是映射文件名:b35a11ec533147ca80c7f7d1713f015b7909
+ Delete all file information in the current directory, and return to the list of files waiting to be deleted, + which is the mapping file name: b35a11ec533147ca80c7f7d1713f015b7909
+ 原始的文件名称 + 映射之后的文件列表,例如 b35a11ec533147ca80c7f7d1713f015b7909
- + - 文件校验成功 + 获取当前目录的下所有文件信息,返回所有映射的文件名:b35a11ec533147ca80c7f7d1713f015b7909
+ Gets the current directory under all file information, return all mapping file name: b35a11ec533147ca80c7f7d1713f015b7909
+ 原始的文件名称 + 映射之后的文件列表,例如 b35a11ec533147ca80c7f7d1713f015b7909
- + - 文件校验失败 + 删除当前的目录信息 - + - 文件保存失败 + 重命名当前的目录信息 + 路径名称 - + - 请求文件列表的暗号 + 缓存JSON文本的方法,该机制使用乐观并发模型完成
+ Method for caching JSON text, which is done using an optimistic concurrency model
- + - 请求子文件的列表暗号 + 从目录进行加载数据,必须实例化的时候加载,加载失败会导致系统异常,旧的文件丢失
+ Load data from the directory, it must be loaded when instantiating. Failure to load will cause system exceptions and old files will be lost
+ 当前的文件夹路径信息
- + + + + - 进度返回暗号 + 单个文件的存储信息,用来表示在文件目录管理器里表示所有的文件信息的
+ Storage information of a single file, used to represent all file information in the file directory manager
- + - 返回的错误信息 + 文件的名称 - + - 请求删除多个文件的暗号 + 文件的大小 - + - 请求删除文件夹的暗号 + 文件的映射名称 - + - 请求当前的文件是否存在 + 文件的下载次数 - + + + 文件的上传时间 + + + + + 文件的上传人,拥有者 + + + + + 文件的额外描述 + + + + + 获取文件的大小描述
+ Get file size description +
+ 文件大小的字符串描述形式 +
+ + + + + + 用于网络传递的信息头,使用上等同于int + + + 通常用于之间的通信,以及通讯 + + + 使用上等同于int,只是本结构体允许将4字节的int拆分成3部分单独访问 + + + + + + 赋值操作,可以直接赋值int数据 + + int数值 + 等值的消息对象 + + + + 也可以赋值给int数据 + + netHandle对象 + 等值的消息对象 + + + + 判断是否相等 + + 第一个数 + 第二个数 + 等于返回True,否则False + + + + 判断是否不相等 + + 第一个对象 + 第二个对象 + 等于返回False,否则True + + + + 两个数值相加 + + 第一个对象 + 第二个对象 + 返回两个指令的和 + + + + 两个数值相减 + + 第一个对象 + 第二个对象 + 返回两个指令的差 + + + + 判断是否小于另一个数值 + + 第一个对象 + 第二个对象 + 小于则返回True,否则返回False + + + + 判断是否大于另一个数值 + + 第一个对象 + 第二个对象 + 大于则返回True,否则返回False + + + + 初始化一个暗号对象 + + 使用一个默认的数值进行初始化 + + + + 根据三个值来初始化暗号对象 + + 主暗号 + 次暗号 + 暗号编号 + + + + 完整的暗号值 + + + + + 主暗号分类0-255 + + + + + 次要的暗号分类0-255 + + + + + 暗号的编号分类0-65535 + + + + + 完整的暗号值 + + + + + 主暗号分类0-255 + + + + + 次要的暗号分类0-255 + + + + + 暗号的编号分类0-65535 + + + + + 获取完整的暗号数据 + + 返回暗号的字符串表示形式 + + + + 判断两个实例是否相同 + + 对比的对象 + 相同返回True,否则返回False + + + + 获取哈希值 + + 返回当前对象的哈希值 + + + + 用于本程序集访问通信的暗号说明 + + + + + 规定所有的网络传输指令头都为32字节 + + + + + 所有网络通信中的缓冲池数据信息 + + + + + 用于心跳程序的暗号信息 + + + + + 客户端退出消息 + + + + + 因为客户端达到上限而拒绝登录 + + + + + 允许客户端登录到服务器 + + + + + 客户端登录的暗号信息 + + + + + 客户端拒绝登录的暗号信息 + + + + + 说明发送的只是文本信息 + + + + + 发送的数据就是普通的字节数组 + + + + + 发送的数据就是普通的图片数据 + + + + + 发送的数据是一条异常的数据,字符串为异常消息 + + + + + 说明发送的数据是字符串的数组 + + + + + 请求文件下载的暗号 + + + + + 请求文件上传的暗号 + + + + + 请求删除文件的暗号 + + + + + 文件校验成功 + + + + + 文件校验失败 + + + + + 文件保存失败 + + + + + 请求文件列表的暗号 + + + + + 请求子文件的列表暗号 + + + + + 进度返回暗号 + + + + + 返回的错误信息 + + + + + 请求删除多个文件的暗号 + + + + + 请求删除文件夹的暗号 + + + + + 请求当前的文件是否存在 + + + 请求删除文件夹的暗号 @@ -20163,12 +20849,18 @@ + + + + + + 上传本地的文件到服务器操作,如果该文件已经存在,那么就更新这个文件。
@@ -20250,6 +20942,31 @@ + + + 上传内存图片到服务器操作 + + 内存图片,不能为空 + 服务器存储的文件名称,带后缀 + 第一大类 + 第二大类 + 第三大类 + 文件的额外描述 + 文件的上传人 + 上传的进度报告 + 是否成功的结果对象 + + + 用于分类的参数中间不需要的可以为空,对应的是服务器上的路径系统。 +

+ + 失败的原因大多数来自于网络的接收异常,或是客户端不存在文件。 + +
+ + + +
@@ -20265,6 +20982,9 @@ + + + 获取指定路径下的所有的文档
@@ -20743,6 +21463,11 @@
字符串
+ + + 当前的推送的会话的基本信息 + + 发布订阅类的客户端,使用指定的关键订阅相关的数据推送信息 @@ -20942,2303 +21667,2331 @@ - - - 这是一个redis的客户端类,支持读取,写入,发布订阅,但是不支持订阅,如果需要订阅,请使用另一个类 - - - 本类库的API指令的参考及注释来源:http://doc.redisfans.com/index.html - - - 基本的操作如下所示,举例了几个比较常见的指令,更多的需要参考api接口描述 - - 如下是基于特性的操作,有必要说明以下: - - 总的来说,当读取的数据种类比较多的时候,读取的关键字比较多的时候,处理起来就比较的麻烦,此处推荐一个全新的写法,为了更好的对比,我们假设实现一种需求 - - 为此我们只需要实现一个特性类即可。代码如下:(注意,实际是很灵活的,类型都是自动转换的) - - - - - - 实例化一个客户端的对象,用于和服务器通信 - - 服务器的ip地址 - 服务器的端口号 - 密码,如果服务器没有设置,密码设置为null - - - - 实例化一个客户端对象,需要手动指定Ip地址和端口 - - 密码,如果服务器没有设置,密码设置为null - - - - - - - - - - - - - - - - - - - - - - 自定义的指令交互方法,该指令用空格分割,举例:LTRIM AAAAA 0 999 就是收缩列表,GET AAA 就是获取键值,需要对返回的数据进行二次分析 - - 举例:LTRIM AAAAA 0 999 就是收缩列表,GET AAA 就是获取键值 - 从服务器返回的结果数据对象 - - - - - - - 向服务器请求指定,并返回数字的结果对象 - - 命令数组 - 数字的结果对象 - - - - 向服务器请求指令,并返回long数字的结果对象 - - 命令数组 - long数字的结果对象 - - - - 向服务器请求指令,并返回字符串的结果对象 - - 命令数组 - 字符串的结果对象 - - - - 向服务器请求指令,并返回字符串数组的结果对象 - - 命令数组 - 字符串数组的结果对象 - - - - 向服务器请求指令,并返回状态的结果对象,通常用于写入的判断,或是请求类型的判断 - - 命令数组 - 是否成功的结果对象 - - - - - - - - - - - - - - - - - - - 删除给定的一个或多个 key 。不存在的 key 会被忽略。 - - 关键字 - 被删除 key 的数量。 - - - - 删除给定的一个或多个 key 。不存在的 key 会被忽略。 - - 关键字 - 被删除 key 的数量。 - - - - 检查给定 key 是否存在。若 key 存在,返回 1 ,否则返回 0 。 - - 关键字 - 若 key 存在,返回 1 ,否则返回 0 。 - - + - 为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除。设置成功返回 1 。当 key 不存在或者不能为 key 设置生存时间时,返回 0 。 + [商业授权] Redis客户端的连接池类对象,用于共享当前的连接池,合理的动态调整连接对象,然后进行高效通信的操作,默认连接数无限大。
+ [Authorization] The connection pool class object of the Redis client is used to share the current connection pool, + reasonably dynamically adjust the connection object, and then perform efficient communication operations, + The default number of connections is unlimited
- 关键字 - 当前key的生存时间,单位为秒 - - 设置成功返回 1 。当 key 不存在或者不能为 key 设置生存时间时,返回 0 。 - - 在 Redis 中,带有生存时间的 key 被称为『易失的』(volatile)。
- 生存时间可以通过使用 DEL 命令来删除整个 key 来移除,或者被 SET 和 GETSET 命令覆写( overwrite),这意味着,如果一个命令只是修改( alter)一个带生存时间的 key 的值而不是用一个新的 key 值来代替( replace)它的话,那么生存时间不会被改变。
- 比如说,对一个 key 执行 INCR 命令,对一个列表进行 LPUSH 命令,或者对一个哈希表执行 HSET 命令,这类操作都不会修改 key 本身的生存时间。
- 另一方面,如果使用 RENAME 对一个 key 进行改名,那么改名后的 key 的生存时间和改名前一样。
- RENAME 命令的另一种可能是,尝试将一个带生存时间的 key 改名成另一个带生存时间的 another_key ,这时旧的 another_key( 以及它的生存时间)会被删除,然后旧的 key 会改名为 another_key ,因此,新的 another_key 的生存时间也和原本的 key 一样。
- 使用 PERSIST 命令可以在不删除 key 的情况下,移除 key 的生存时间,让 key 重新成为一个『持久的』(persistent) key 。
- 更新生存时间
- 可以对一个已经带有生存时间的 key 执行 EXPIRE 命令,新指定的生存时间会取代旧的生存时间。
- 过期时间的精确度
- 在 Redis 2.4 版本中,过期时间的延迟在 1 秒钟之内 —— 也即是,就算 key 已经过期,但它还是可能在过期之后一秒钟之内被访问到,而在新的 Redis 2.6 版本中,延迟被降低到 1 毫秒之内。
- Redis 2.1.3 之前的不同之处
- 在 Redis 2.1.3 之前的版本中,修改一个带有生存时间的 key 会导致整个 key 被删除,这一行为是受当时复制( replication)层的限制而作出的,现在这一限制已经被修复。
+ 本连接池的实现仅对商业授权用户开放,用于提供服务器端的与Redis的并发读写能力。使用上和普通的 没有区别, + 但是在高并发上却高性能的多,占用的连接也更少,这一切都是连接池自动实现的。
- - - 查找所有符合给定模式 pattern 的 key 。 - * 匹配数据库中所有 key。 - h?llo 匹配 hello , hallo 和 hxllo 等。 - h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo 。 - - 给定模式 - 符合给定模式的 key 列表。 - - - - 将当前数据库的 key 移动到给定的数据库 db 当中。 - 如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定 key ,或者 key 不存在于当前数据库,那么 MOVE 没有任何效果。 - 因此,也可以利用这一特性,将 MOVE 当作锁(locking)原语(primitive)。 - - 关键字 - 数据块 - 是否移动成功 - - - - 移除给定 key 的生存时间,将这个 key 从『易失的』(带生存时间 key )转换成『持久的』(一个不带生存时间、永不过期的 key )。 - 当生存时间移除成功时,返回 1 . - 如果 key 不存在或 key 没有设置生存时间,返回 0 。 - - 关键字 - - 当生存时间移除成功时,返回 1 . - 如果 key 不存在或 key 没有设置生存时间,返回 0 。 - - - + - 从当前数据库中随机返回(不删除)一个 key 。 - 当数据库不为空时,返回一个 key 。 - 当数据库为空时,返回 nil 。 + 实例化一个默认的客户端连接池对象,需要指定实例Redis对象时的IP,端口,密码信息
+ To instantiate a default client connection pool object, you need to specify the IP, port, and password information when the Redis object is instantiated
- - 当数据库不为空时,返回一个 key 。 - 当数据库为空时,返回 nil 。 - + IP地址信息 + 端口号信息 + 密码,如果没有,请输入空字符串
- + - 将 key 改名为 newkey 。 - 当 key 和 newkey 相同,或者 key 不存在时,返回一个错误。 - 当 newkey 已经存在时, RENAME 命令将覆盖旧值。 + 实例化一个默认的客户端连接池对象,需要指定实例Redis对象时的IP,端口,密码信息,以及可以指定额外的初始化操作
+ To instantiate a default client connection pool object, you need to specify the IP, port, + and password information when the Redis object is instantiated, and you can specify additional initialization operations
- 旧的key - 新的key - - 改名成功时提示 OK ,失败时候返回一个错误。 - + IP地址信息 + 端口号信息 + 密码,如果没有,请输入空字符串 + 额外的初始化信息,比如修改db块的信息。
- + - 返回 key 所储存的值的类型。none (key不存在),string (字符串),list (列表),set (集合),zset (有序集),hash (哈希表) + 获取当前的连接池管理对象信息
+ Get current connection pool management object information
- 关键字 - 类型
- - - 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。 - - 关键字 - 当 key 不存在时,返回 -2 。当 key 存在但没有设置剩余生存时间时,返回 -1 。否则,以秒为单位,返回 key 的剩余生存时间。 + + - + - + - + - + - + - + - + - + - + - + - + - - - 如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。 - 如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。 - 返回追加 value 之后, key 中字符串的长度。 - - 关键字 - 数值 - - 追加 value 之后, key 中字符串的长度。 - - - - - 将 key 中储存的数字值减一。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。 - 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 - 本操作的值限制在 64 位(bit)有符号数字表示之内。 - 返回执行 DECR 命令之后 key 的值。 - - 关键字 - 执行 DECR 命令之后 key 的值。 - - - - 将 key 所储存的值减去减量 decrement 。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。 - 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 - 本操作的值限制在 64 位(bit)有符号数字表示之内。 - 返回减去 decrement 之后, key 的值。 - - 关键字 - 操作的值 - 返回减去 decrement 之后, key 的值。 - - - - 返回 key 所关联的字符串值。如果 key 不存在那么返回特殊值 nil 。 - 假如 key 储存的值不是字符串类型,返回一个错误,因为 GET 只能用于处理字符串值。 - - 关键字 - 当 key 不存在时,返回 nil ,否则,返回 key 的值。 - - - - 返回 key 中字符串值的子字符串,字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内)。 - 负数偏移量表示从字符串最后开始计数, -1 表示最后一个字符, -2 表示倒数第二个,以此类推。 - 返回截取得出的子字符串。 - - 关键字 - 截取开始的位置 - 截取结束的位置 - 返回截取得出的子字符串。 - - - - 将给定 key 的值设为 value ,并返回 key 的旧值(old value)。当 key 存在但不是字符串类型时,返回一个错误。 - - 关键字 - 新的值 - 返回给定 key 的旧值。当 key 没有旧值时,也即是, key 不存在时,返回 nil 。 - - - - 将 key 中储存的数字值增一。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。 - 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 - 返回执行 INCR 命令之后 key 的值。 - - 关键字 - 返回执行 INCR 命令之后 key 的值。 + + - - - 将 key 所储存的值加上增量 increment 。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。 - 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 - - 关键字 - 增量数据 - 加上 increment 之后, key 的值。 + + - - - 将 key 所储存的值加上增量 increment 。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCRBYFLOAT 操作。 - 如果命令执行成功,那么 key 的值会被更新为(执行加法之后的)新值,并且新值会以字符串的形式返回给调用者 - - 关键字 - 增量数据 - 执行命令之后 key 的值。 + + - - - 返回所有(一个或多个)给定 key 的值。 - 如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 null 。因此,该命令永不失败。 - - 关键字数组 - 一个包含所有给定 key 的值的列表。 + + - - - 同时设置一个或多个 key-value 对。 - 如果某个给定 key 已经存在,那么 MSET 会用新值覆盖原来的旧值,如果这不是你所希望的效果,请考虑使用 MSETNX 命令:它只会在所有给定 key 都不存在的情况下进行设置操作。 - - 关键字数组 - 值数组 - 总是返回 OK (因为 MSET 不可能失败) + + - - - 将字符串值 value 关联到 key 。 - 如果 key 已经持有其他值, SET 就覆写旧值,无视类型。 - 对于某个原本带有生存时间(TTL)的键来说, 当 SET 命令成功在这个键上执行时,这个键原有的 TTL 将被清除。 - - 关键字 - 数据值 - SET 在设置操作成功完成时,才返回 OK 。 + + - - - 将字符串值 value 关联到 key 。并发布一个订阅的频道数据,都成功时,才返回成功 - - 关键字 - 数据值 - 是否成功的结果对象 + + - - - 将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位)。如果 key 已经存在, SETEX 命令将覆写旧值。 - - 关键字 - 数值 - 生存时间,单位秒 - 设置成功时返回 OK 。当 seconds 参数不合法时,返回一个错误。 + + - - - 将 key 的值设为 value ,当且仅当 key 不存在。若给定的 key 已经存在,则 SETNX 不做任何动作。设置成功,返回 1 。设置失败,返回 0 。 - - 关键字 - 数据值 - 设置成功,返回 1 。设置失败,返回 0 。 + + - - - 用 value 参数覆写(overwrite)给定 key 所储存的字符串值,从偏移量 offset 开始。不存在的 key 当作空白字符串处理。返回被 SETRANGE 修改之后,字符串的长度。 - - 关键字 - 数值 - 起始的偏移量 - 被 SETRANGE 修改之后,字符串的长度。 + + - - - 返回 key 所储存的字符串值的长度。当 key 储存的不是字符串值时,返回一个错误。返回符串值的长度。当 key 不存在时,返回 0 。 - - 关键字 - 字符串值的长度。当 key 不存在时,返回 0 。 + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - 将值 value 插入到列表 key 当中,位于值 pivot 之前。 - 当 pivot 不存在于列表 key 时,不执行任何操作。 - 当 key 不存在时, key 被视为空列表,不执行任何操作。 - 如果 key 不是列表类型,返回一个错误。 - - 关键字 - 数值 - 原先的值 - - 如果命令执行成功,返回插入操作完成之后,列表的长度。 - 如果没有找到 pivot ,返回 -1 。 - 如果 key 不存在或为空列表,返回 0 。 - + + - - - 将值 value 插入到列表 key 当中,位于值 pivot 之后。 - 当 pivot 不存在于列表 key 时,不执行任何操作。 - 当 key 不存在时, key 被视为空列表,不执行任何操作。 - 如果 key 不是列表类型,返回一个错误。 - - 关键字 - 数值 - 原先的值 - - 如果命令执行成功,返回插入操作完成之后,列表的长度。 - 如果没有找到 pivot ,返回 -1 。 - 如果 key 不存在或为空列表,返回 0 。 - + + - - - 返回列表 key 的长度。如果 key 不存在,则 key 被解释为一个空列表,返回 0 .如果 key 不是列表类型,返回一个错误。 - - 关键字 - 列表 key 的长度。 + + - - - 返回列表 key 中,下标为 index 的元素。下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。 - 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。如果 key 不是列表类型,返回一个错误。 - - 关键字 - 索引位置 - 列表中下标为 index 的元素。如果 index 参数的值不在列表的区间范围内(out of range),返回 nil 。 + + - - - 移除并返回列表 key 的头元素。列表的头元素。当 key 不存在时,返回 nil 。 - - 关键字信息 - 列表的头元素。 + + - - - 将一个或多个值 value 插入到列表 key 的表头,如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作。当 key 存在但不是列表类型时,返回一个错误。返回执行 LPUSH 命令后,列表的长度。 - - 关键字 - 值 - 执行 LPUSH 命令后,列表的长度。 + + - - - 将一个或多个值 value 插入到列表 key 的表头,如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作。当 key 存在但不是列表类型时,返回一个错误。返回执行 LPUSH 命令后,列表的长度。 - - 关键字 - 值 - 执行 LPUSH 命令后,列表的长度。 + + - - - 将值 value 插入到列表 key 的表头,当且仅当 key 存在并且是一个列表。和 LPUSH 命令相反,当 key 不存在时, LPUSHX 命令什么也不做。 - 返回LPUSHX 命令执行之后,表的长度。 - - 关键字 - 值 - 是否插入数据成功 + + - - - 返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定。 - 下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。 - 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。 - 返回一个列表,包含指定区间内的元素。 - - 关键字 - 开始的索引 - 结束的索引 - 返回一个列表,包含指定区间内的元素。 + + - - - 根据参数 count 的值,移除列表中与参数 value 相等的元素。count 的值可以是以下几种: - count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。 - count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。 - count = 0 : 移除表中所有与 value 相等的值。 - 返回被移除的数量。 - - 关键字 - 移除参数 - 匹配的值 - 被移除元素的数量。因为不存在的 key 被视作空表(empty list),所以当 key 不存在时, LREM 命令总是返回 0 。 + + - - - 设置数组的某一个索引的数据信息,当 index 参数超出范围,或对一个空列表( key 不存在)进行 LSET 时,返回一个错误。 - - 关键字 - 索引位置 - 值 - 操作成功返回 ok ,否则返回错误信息。 + + - - - 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。 - 举个例子,执行命令 LTRIM list 0 2 ,表示只保留列表 list 的前三个元素,其余元素全部删除。 - 下标( index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。 - 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。 - 当 key 不是列表类型时,返回一个错误。 - - 关键字信息 - 起始的索引信息 - 结束的索引信息 - 操作成功返回 ok ,否则返回错误信息。 + + - - - 移除并返回列表 key 的尾元素。当 key 不存在时,返回 nil 。 - - 关键字信息 - 列表的尾元素。 + + - - - 命令 RPOPLPUSH 在一个原子时间内,执行以下两个动作:
- 1. 将列表 source 中的最后一个元素( 尾元素)弹出,并返回给客户端。
- 2. 将 source 弹出的元素插入到列表 destination ,作为 destination 列表的的头元素。

- 举个例子,你有两个列表 source 和 destination , source 列表有元素 a, b, c , destination 列表有元素 x, y, z ,执行 RPOPLPUSH source destination 之后, source 列表包含元素 a, b , destination 列表包含元素 c, x, y, z ,并且元素 c 会被返回给客户端。 - 如果 source 不存在,值 nil 被返回,并且不执行其他动作。 - 如果 source 和 destination 相同,则列表中的表尾元素被移动到表头,并返回该元素,可以把这种特殊情况视作列表的旋转( rotation)操作。 -
- 第一个关键字 - 第二个关键字 - 返回的移除的对象 + + - - - 将一个或多个值 value 插入到列表 key 的表尾(最右边)。 - 如果 key 不存在,一个空列表会被创建并执行 RPUSH 操作。当 key 存在但不是列表类型时,返回一个错误。 - - 关键字 - 值 - 返回执行 RPUSH 操作后,表的长度。 + + - - - 将一个或多个值 value 插入到列表 key 的表尾(最右边)。 - 如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表尾:比如对一个空列表 mylist 执行 RPUSH mylist a b c ,得出的结果列表为 a b c , - 如果 key 不存在,一个空列表会被创建并执行 RPUSH 操作。当 key 存在但不是列表类型时,返回一个错误。 - 返回执行 RPUSH 操作后,表的长度。 - - 关键字 - 值 - 返回执行 RPUSH 操作后,表的长度。 + + - - - 将值 value 插入到列表 key 的表尾,当且仅当 key 存在并且是一个列表。 - 和 RPUSH 命令相反,当 key 不存在时, RPUSHX 命令什么也不做。 - - 关键字 - 值 - RPUSHX 命令执行之后,表的长度。 + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - 删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。 - - 关键字 - 域 - 被成功移除的域的数量,不包括被忽略的域。 + + - - - 删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。返回被成功移除的域的数量,不包括被忽略的域。 - - 关键字 - 所有的域 - 返回被成功移除的域的数量,不包括被忽略的域。 + + - - - 查看哈希表 key 中,给定域 field 是否存在。如果哈希表含有给定域,返回 1 。 - 如果哈希表不含有给定域,或 key 不存在,返回 0 。 - - 关键字 - 域 - 如果哈希表含有给定域,返回 1 。如果哈希表不含有给定域,或 key 不存在,返回 0 。 + + - - - 返回哈希表 key 中给定域 field 的值。当给定域不存在或是给定 key 不存在时,返回 nil - - 关键值 - 域 - - 给定域的值。 - 当给定域不存在或是给定 key 不存在时,返回 nil 。 - + + - - - 返回哈希表 key 中,所有的域和值。在返回值里,紧跟每个域名(field name)之后是域的值(value),所以返回值的长度是哈希表大小的两倍。 - - 关键值 - - 以列表形式返回哈希表的域和域的值。 - 若 key 不存在,返回空列表。 - + + - - - 为哈希表 key 中的域 field 的值加上增量 increment 。增量也可以为负数,相当于对给定域进行减法操作。 - 如果 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令。返回执行 HINCRBY 命令之后,哈希表 key 中域 field 的值。 - - 关键字 - 域 - 增量值 - 返回执行 HINCRBY 命令之后,哈希表 key 中域 field 的值。 + + - - - 为哈希表 key 中的域 field 的值加上增量 increment 。增量也可以为负数,相当于对给定域进行减法操作。 - 如果 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令。返回执行 HINCRBY 命令之后,哈希表 key 中域 field 的值。 - - 关键字 - 域 - 增量值 - 返回执行 HINCRBY 命令之后,哈希表 key 中域 field 的值。 + + - - - 返回哈希表 key 中的所有域。当 key 不存在时,返回一个空表。 - - 关键值 - - 一个包含哈希表中所有域的表。 - 当 key 不存在时,返回一个空表。 - + + - - - 返回哈希表 key 中域的数量。 - - 关键字 - 哈希表中域的数量。当 key 不存在时,返回 0 。 + + - - - 返回哈希表 key 中,一个或多个给定域的值。如果给定的域不存在于哈希表,那么返回一个 nil 值。 - 因为不存在的 key 被当作一个空哈希表来处理,所以对一个不存在的 key 进行 HMGET 操作将返回一个只带有 nil 值的表。 - - 关键值 - 指定的域 - - 一个包含多个给定域的关联值的表,表值的排列顺序和给定域参数的请求顺序一样。 - + + - - - 将哈希表 key 中的域 field 的值设为 value 。 - 如果 key 不存在,一个新的哈希表被创建并进行 HSET 操作。 - 如果域 field 已经存在于哈希表中,旧值将被覆盖。 - 如果 field 是哈希表中的一个新建域,并且值设置成功,返回 1 。 - 如果哈希表中域 field 已经存在且旧值已被新值覆盖,返回 0 。 - - 关键字 - 域 - 数据值 - - 如果 field 是哈希表中的一个新建域,并且值设置成功,返回 1 。 - 如果哈希表中域 field 已经存在且旧值已被新值覆盖,返回 0 。 - + + - - - 同时将多个 field-value (域-值)对设置到哈希表 key 中。 - 此命令会覆盖哈希表中已存在的域。 - 如果 key 不存在,一个空哈希表被创建并执行 HMSET 操作。 - - 关键字 - 域 - 数据值 - - 如果命令执行成功,返回 OK 。 - 当 key 不是哈希表(hash)类型时,返回一个错误 - + + - - - 将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。若域 field 已经存在,该操作无效。 - 设置成功,返回 1 。如果给定域已经存在且没有操作被执行,返回 0 。 - - 关键字 - 域 - 数据值 - 设置成功,返回 1 。如果给定域已经存在且没有操作被执行,返回 0 。 + + - - - 返回哈希表 key 中所有域的值。当 key 不存在时,返回一个空表。 - - 关键值 - - 返回哈希表 key 中所有域的值。 - 当 key 不存在时,返回一个空表。 - + + - + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - 将一个member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。假如 key 不存在,则创建一个只包含 member 元素作成员的集合。当 key 不是集合类型时,返回一个错误。 - - 关键字信息 - 等待添加的元素 - 被添加到集合中的新元素的数量,不包括被忽略的元素。 - - - - 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。假如 key 不存在,则创建一个只包含 member 元素作成员的集合。当 key 不是集合类型时,返回一个错误。 - - 关键字信息 - 等待添加的元素 - 被添加到集合中的新元素的数量,不包括被忽略的元素。 - - - - 返回集合 key 的基数(集合中元素的数量)。当 key 不存在时,返回 0 。 - - 集合 key 的名称 - 集合的基数。 - - - - 返回一个集合的全部成员,该集合是所有给定集合之间的差集。 - - 集合关键字 - 集合关键字 - 交集成员的列表。 - - - - - 返回一个集合的全部成员,该集合是所有给定集合之间的差集。 - - 集合关键字 - 集合关键字 - 交集成员的列表。 - - - - 这个命令的作用和 SDIFF 类似,但它将结果保存到 destination 集合,而不是简单地返回结果集。如果 destination 集合已经存在,则将其覆盖。destination 可以是 key 本身。 - - 目标集合 - 等待操作的集合 - 运算的集合 - 结果集中的元素数量。 - - - - 这个命令的作用和 SDIFF 类似,但它将结果保存到 destination 集合,而不是简单地返回结果集。如果 destination 集合已经存在,则将其覆盖。destination 可以是 key 本身。 - - 目标集合 - 等待操作的集合 - 运算的集合 - 结果集中的元素数量。 - - - - 返回一个集合的全部成员,该集合是所有给定集合的交集。不存在的 key 被视为空集。当给定集合当中有一个空集时,结果也为空集(根据集合运算定律)。 - - 集合关键字 - 运算的集合 - 交集成员的列表。 - - - - 返回一个集合的全部成员,该集合是所有给定集合的交集。不存在的 key 被视为空集。当给定集合当中有一个空集时,结果也为空集(根据集合运算定律)。 - - 集合关键字 - 运算的集合 - 交集成员的列表。 - - - - 这个命令类似于 SINTER 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。如果 destination 集合已经存在,则将其覆盖。destination 可以是 key 本身。 - - 目标集合 - 等待操作的集合 - 运算的集合 - 结果集中的成员数量。 + + - - - 这个命令类似于 SINTER 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。如果 destination 集合已经存在,则将其覆盖。destination 可以是 key 本身。 - - 目标集合 - 等待操作的集合 - 运算的集合 - 结果集中的成员数量。 + + - - - 判断 member 元素是否集合 key 的成员。如果 member 元素是集合的成员,返回 1 。如果 member 元素不是集合的成员,或 key 不存在,返回 0 。 - - 集合key - 元素 - 如果 member 元素是集合的成员,返回 1 。如果 member 元素不是集合的成员,或 key 不存在,返回 0 。 + + - - - 返回集合 key 中的所有成员。不存在的 key 被视为空集合。 - - 集合key - 集合中的所有成员。 + + - - - 将 member 元素从 source 集合移动到 destination 集合。如果 source 集合不存在或不包含指定的 member 元素,则 SMOVE 命令不执行任何操作,仅返回 0 。 - 否则, member 元素从 source 集合中被移除,并添加到 destination 集合中去。当 destination 集合已经包含 member 元素时, SMOVE 命令只是简单地将 source 集合中的 member 元素删除。 - 当 source 或 destination 不是集合类型时,返回一个错误。 - - 原集合 - 目标集合 - 元素 - 如果 member 元素被成功移除,返回 1 。如果 member 元素不是 source 集合的成员,并且没有任何操作对 destination 集合执行,那么返回 0 。 + + - - - 移除并返回集合中的一个随机元素。如果只想获取一个随机元素,但不想该元素从集合中被移除的话,可以使用 SRANDMEMBER 命令。 - - 集合关键字 - 被移除的随机元素。当 key 不存在或 key 是空集时,返回 nil 。 + + - - - 那么返回集合中的一个随机元素。 - - 集合关键字 - 返回一个元素;如果集合为空,返回 nil 。 + + - - - 返回集合中的多个随机元素。
- 如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。如果 count 大于等于集合基数,那么返回整个集合。
- 如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。 -
- 集合关键字 - 元素个数 - 返回一个数组;如果集合为空,返回空数组。 + + - - - 移除集合 key 中的一个元素,不存在的 member 元素会被忽略。 - - 集合关键字 - 等待移除的元素 - 被成功移除的元素的数量,不包括被忽略的元素。 + + - - - 移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。 - - 集合关键字 - 等待移除的元素 - 被成功移除的元素的数量,不包括被忽略的元素。 + + - - - 返回一个集合的全部成员,该集合是所有给定集合的并集。不存在的 key 被视为空集。 - - 集合关键字 - 并集的集合 - 并集成员的列表。 + + - - - 返回一个或多个集合的全部成员,该集合是所有给定集合的并集。不存在的 key 被视为空集。 - - 集合关键字 - 并集的集合 - 并集成员的列表。 + + - - - 这个命令类似于 SUNION 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。如果 destination 已经存在,则将其覆盖。destination 可以是 key 本身。 - - 存储的目标集合 - 集合关键字 - 并集的集合 - 结果集中的元素数量。 + + - - - 这个命令类似于 SUNION 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。如果 destination 已经存在,则将其覆盖。destination 可以是 key 本身。 - - 存储的目标集合 - 集合关键字 - 并集的集合 - 结果集中的元素数量。 + + - + - + - + - + - + - + - + - + - + - + - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - 将一个 member 元素及其 score 值加入到有序集 key 当中。如果某个 member 已经是有序集的成员,那么更新这个 member 的 score 值,并通过重新插入这个 member 元素,来保证该 member 在正确的位置上。 - score 值可以是整数值或双精度浮点数。
- 如果 key 不存在,则创建一个空的有序集并执行 ZADD 操作。当 key 存在但不是有序集类型时,返回一个错误。 -
- 有序集合的关键字 - 有序集合的元素 - 每个元素的得分 - 被成功添加的新成员的数量,不包括那些被更新的、已经存在的成员。 + + - + - 将一个或多个 member 元素及其 score 值加入到有序集 key 当中。如果某个 member 已经是有序集的成员,那么更新这个 member 的 score 值,并通过重新插入这个 member 元素,来保证该 member 在正确的位置上。 - score 值可以是整数值或双精度浮点数。
- 如果 key 不存在,则创建一个空的有序集并执行 ZADD 操作。当 key 存在但不是有序集类型时,返回一个错误。 + 提供了redis辅助类的一些方法
- 有序集合的关键字 - 有序集合的元素 - 每个元素的得分 - 被成功添加的新成员的数量,不包括那些被更新的、已经存在的成员。
- + - 返回有序集 key 的基数。 + 将字符串数组打包成一个redis的报文信息 - 有序集合的关键字 - 当 key 存在且是有序集类型时,返回有序集的基数。当 key 不存在时,返回 0 。 + 字节数据信息 + 结果报文信息 - + - 返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量。 + 生成一个订阅多个主题的报文信息 - 有序集合的关键字 - 最小值,包含 - 最大值,包含 - score 值在 min 和 max 之间的成员的数量。 + 多个的主题信息 + 结果报文信息 - + - 为有序集 key 的成员 member 的 score 值加上增量 increment 。可以通过传递一个负数值 increment ,让 score 减去相应的值,比如 ZINCRBY key -5 member ,就是让 member 的 score 值减去 5 。 - 当 key 不存在,或 member 不是 key 的成员时, ZINCRBY key increment member 等同于 ZADD key increment member 。当 key 不是有序集类型时,返回一个错误。 + 生成一个取消订阅多个主题的报文信息 - 有序集合的关键字 - 成员名称 - 增量数据,可以为负数 - member 成员的新 score 值,以字符串形式表示。 + 多个的主题信息 + 结果报文信息 - + - 返回有序集 key 中,指定区间内的成员。其中成员的位置按 score 值递增(从小到大)来排序。具有相同 score 值的成员按字典序来排列。 - 下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。 + 从原始的结果数据对象中提取出数字数据 - - 超出范围的下标并不会引起错误。比如说,当 start 的值比有序集的最大下标还要大,或是 start > stop 时, ZRANGE 命令只是简单地返回一个空列表。另一方面,假如 stop 参数的值比有序集的最大下标还要大,那么 Redis 将 stop 当作最大下标来处理。 - 可以通过使用 WITHSCORES 选项,来让成员和它的 score 值一并返回,返回列表以 value1,score1, ..., valueN,scoreN 的格式表示。客户端库可能会返回一些更复杂的数据类型,比如数组、元组等。 - - 有序集合的关键字 - 起始的下标 - 结束的下标 - 是否带有 score 返回 - 指定区间内,根据参数 withScore 来决定是否带 score 值的有序集成员的列表。 + 原始的字节数据 + 带有结果对象的数据信息 - + - 返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列。 - min 和 max 可以是 -inf 和 +inf ,这样一来,你就可以在不知道有序集的最低和最高 score 值的情况下,使用 ZRANGEBYSCORE 这类命令。 - 默认情况下,区间的取值使用闭区间 (小于等于或大于等于),你也可以通过给参数前增加 "(" 符号来使用可选的开区间 (小于或大于)。"(5"代表不包含5 + 从原始的结果数据对象中提取出数字数据 - 有序集合的关键字 - 最小值,可以为-inf,代表最高,如果为5,代表大于等于5,如果是(5,代表大于5 - 最大值,可以为+inf,代表最低,如果为10,代表小于等于5,如果是(10,代表小于10 - 是否带有 score 返回 - 指定区间内,带有 score 值(根据参数 withScore 来决定)的有序集成员的列表。 + 原始的字节数据 + 带有结果对象的数据信息 - + - 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递增(从小到大)顺序排列。排名以 0 为底,也就是说, score 值最小的成员排名为 0 。 + 从结果的数据对象里提取字符串的信息 - 有序集合的关键字 - 成员 member 的名称 - 如果 member 是有序集 key 的成员,返回 member 的排名。如果 member 不是有序集 key 的成员,返回 nil 。 + 原始的字节数据 + 带有结果对象的数据信息 - + - 移除有序集 key 中的指定成员,不存在的成员将被忽略。当 key 存在但不是有序集类型时,返回一个错误。 + 从redis的结果数据中分析出所有的字符串信息 - 有序集合的关键字 - 等待被移除的成员 - 被成功移除的成员的数量,不包括被忽略的成员。 + 结果数据 + 带有结果对象的数据信息 - + - 移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。当 key 存在但不是有序集类型时,返回一个错误。 + Redis协议的订阅操作,一个对象订阅一个或是多个频道的信息,当发生网络异常的时候,内部会进行自动重连,并恢复之前的订阅信息。
+ In the subscription operation of the Redis protocol, an object subscribes to the information of one or more channels. + When a network abnormality occurs, the internal will automatically reconnect and restore the previous subscription information.
- 有序集合的关键字 - 等待被移除的成员 - 被成功移除的成员的数量,不包括被忽略的成员。
- + - 移除有序集 key 中,指定排名(rank)区间内的所有成员。区间分别以下标参数 start 和 stop 指出,包含 start 和 stop 在内。 - 下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。 + 实例化一个发布订阅类的客户端,需要指定ip地址,端口。
+ To instantiate a publish and subscribe client, you need to specify the ip address and port.
- 有序集合的关键 - 开始的下标 - 结束的下标 - 被移除成员的数量。 + 服务器的IP地址 + 服务器的端口号
- + - 移除有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。 - min 和 max 可以是 -inf 和 +inf ,这样一来,你就可以在不知道有序集的最低和最高 score 值的情况下,使用 ZRANGEBYSCORE 这类命令。 - 默认情况下,区间的取值使用闭区间 (小于等于或大于等于),你也可以通过给参数前增加 "(" 符号来使用可选的开区间 (小于或大于)。例如"(5"代表不包括5 + 实例化一个发布订阅类的客户端,需要指定ip地址,端口,及订阅关键字。
+ To instantiate a publish-subscribe client, you need to specify the ip address, port, and subscription keyword.
- 有序集合的关键字 - 最小值,可以为-inf,代表最低,如果为5,代表大于等于5,如果是(5,代表大于5 - 最大值,可以为+inf,代表最低,如果为10,代表小于等于5,如果是(10,代表小于10 - 被移除成员的数量。 + 服务器的IP地址 + 服务器的端口号 + 订阅关键字
- + - 返回有序集 key 中,指定区间内的成员。其中成员的位置按 score 值递减(从大到小)来排列。具有相同 score 值的成员按字典序来排列。 - 下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。 + 实例化一个发布订阅类的客户端,需要指定ip地址,端口,及订阅关键字。
+ To instantiate a publish-subscribe client, you need to specify the ip address, port, and subscription keyword.
- - 超出范围的下标并不会引起错误。比如说,当 start 的值比有序集的最大下标还要大,或是 start > stop 时, ZRANGE 命令只是简单地返回一个空列表。另一方面,假如 stop 参数的值比有序集的最大下标还要大,那么 Redis 将 stop 当作最大下标来处理。 - 可以通过使用 WITHSCORES 选项,来让成员和它的 score 值一并返回,返回列表以 value1,score1, ..., valueN,scoreN 的格式表示。客户端库可能会返回一些更复杂的数据类型,比如数组、元组等。 - - 有序集合的关键字 - 起始的下标 - 结束的下标 - 是否带有 score 返回 - 指定区间内,根据参数 withScore 来决定是否带 score 值的有序集成员的列表。 + 服务器的IP地址 + 服务器的端口号 + 订阅关键字
- + - 返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。序集成员按 score 值递减(从大到小)的次序排列。 - min 和 max 可以是 -inf 和 +inf ,这样一来,你就可以在不知道有序集的最低和最高 score 值的情况下,使用 ZRANGEBYSCORE 这类命令。 - 默认情况下,区间的取值使用闭区间 (小于等于或大于等于),你也可以通过给参数前增加 ( 符号来使用可选的开区间 (小于或大于)。(5代表不包含5 + 如果Redis服务器设置了密码,此处就需要进行设置。必须在 方法调用前设置。
+ If the Redis server has set a password, it needs to be set here. Must be set before the method is called.
- 有序集合的关键字 - 最大值,可以为+inf,代表最高,如果为10,代表小于等于5,如果是(10,代表小于10 - 最小值,可以为-inf,代表最低,如果为5,代表大于等于5,如果是(5,代表大于5 - 是否带有 score 返回 - 指定区间内,带有 score 值(根据参数 withScore 来决定)的有序集成员的列表。
- + - 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递减(从大到小)排序。排名以 0 为底,也就是说,score 值最大的成员排名为 0 。 + 获取或设置当前连接超时时间,主要对 方法有影响,默认值为 5000,也即是5秒。
+ Get or set the current connection timeout period, which mainly affects the method. The default value is 5000, which is 5 seconds.
- 有序集合的关键字 - 成员 member 的名称 - 如果 member 是有序集 key 的成员,返回 member 的排名。如果 member 不是有序集 key 的成员,返回 nil 。
- + - 返回有序集 key 中,成员 member 的 score 值。如果 member 元素不是有序集 key 的成员,或 key 不存在,返回 nil 。 + 从Redis服务器订阅一个或多个主题信息
+ Subscribe to one or more topics from the redis server
- 有序集合的关键字 - 成员的名称 - member 成员的 score 值,以字符串形式表示。 -
- - - - - - - - - - - - - - - - - - - - - - - + 主题信息 + 订阅结果 - - + + - - + + + 取消订阅多个主题信息,取消之后,当前的订阅数据就不在接收到。
+ Unsubscribe from multiple topic information. After cancellation, the current subscription data will not be received. +
+ 主题信息 + 取消订阅结果
- - + + + 取消已经订阅的主题信息 + + 主题信息 + 取消订阅结果 - - + + + 连接Redis的服务器,如果已经初始化了订阅的Topic信息,那么就会直接进行订阅操作。 + + 是否创建成功 - - + + + 关闭消息推送的界面 + - - + + + 当接收到Redis订阅的信息的时候触发
+ Triggered when receiving Redis subscription information +
+ 主题信息 + 数据信息
- - + + + 当接收到Redis订阅的信息的时候触发 + - - + + - + - 从设备里读取支持Hsl特性的数据内容, - 该特性为, - - 详细参考代码示例的操作说明。 + 这是一个redis的客户端类,支持读取,写入,发布订阅,但是不支持订阅,如果需要订阅,请使用另一个类 - 自定义的数据类型对象 - 包含是否成功的结果对象 + + 本类库的API指令的参考及注释来源:http://doc.redisfans.com/index.html + - 我们来说明下这个方法到底是怎么用的,当我们需要读取redis好几个数据的时候,我们很可能写如下的代码: + 基本的操作如下所示,举例了几个比较常见的指令,更多的需要参考api接口描述 + + 如下是基于特性的操作,有必要说明以下: 总的来说,当读取的数据种类比较多的时候,读取的关键字比较多的时候,处理起来就比较的麻烦,此处推荐一个全新的写法,为了更好的对比,我们假设实现一种需求 为此我们只需要实现一个特性类即可。代码如下:(注意,实际是很灵活的,类型都是自动转换的) - 当然了,异步也是一样的,异步的代码就不重复介绍了。 - - + - 从设备里写入支持Hsl特性的数据内容, - 该特性为 - 需要注意的是写入并不支持特性,详细参考代码示例的操作说明。 + 实例化一个客户端的对象,用于和服务器通信 - 自定义的数据类型对象 - 等待写入的数据参数 - 包含是否成功的结果对象 - - - - - - - - - + 服务器的ip地址 + 服务器的端口号 + 密码,如果服务器没有设置,密码设置为null - + - SAVE 命令执行一个同步保存操作,将当前 Redis 实例的所有数据快照(snapshot)以 RDB 文件的形式保存到硬盘。 + 实例化一个客户端对象,需要手动指定Ip地址和端口 - 保存成功时返回 OK 。 + 密码,如果服务器没有设置,密码设置为null - + + + + + + + + + + + + + + + + + + + - 在后台异步(Asynchronously)保存当前数据库的数据到磁盘。 - BGSAVE 命令执行之后立即返回 OK ,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出。 + 自定义的指令交互方法,该指令用空格分割,举例:LTRIM AAAAA 0 999 就是收缩列表,GET AAA 就是获取键值,需要对返回的数据进行二次分析 - 反馈信息。 + 举例:LTRIM AAAAA 0 999 就是收缩列表,GET AAA 就是获取键值 + 从服务器返回的结果数据对象 - + + + + - 获取服务器的时间戳信息,可用于本地时间的数据同步问题 + 向服务器请求指定,并返回数字的结果对象 - 带有服务器时间的结果对象 + 命令数组 + 数字的结果对象 - + - 向服务器进行PING的操作,服务器会返回PONG操作 + 向服务器请求指令,并返回long数字的结果对象 - 是否成功 + 命令数组 + long数字的结果对象 - + - 返回当前数据库的 key 的数量。 + 向服务器请求指令,并返回字符串的结果对象 - 当前数据库的 key 的数量。 + 命令数组 + 字符串的结果对象 - + - 清空当前的数据库的key信息 + 向服务器请求指令,并返回字符串数组的结果对象 - 总是返回 OK 。 + 命令数组 + 字符串数组的结果对象 - + - 修改Redis的密码信息,如果不需要密码,则传入空字符串即可 + 向服务器请求指令,并返回状态的结果对象,通常用于写入的判断,或是请求类型的判断 - 密码信息 - 是否更新了密码信息 + 命令数组 + 是否成功的结果对象 - - + + - - + + - - + + - - + + - - + + - + - 将信息 message 发送到指定的频道 channel,返回接收到信息 message 的订阅者数量。 + 删除给定的一个或多个 key 。不存在的 key 会被忽略。 - 频道,和关键字不是一回事 - 消息 - 接收到信息 message 的订阅者数量。 - - - + 关键字 + 被删除 key 的数量。 - + - 切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值。默认使用 0 号数据库。 + 删除给定的一个或多个 key 。不存在的 key 会被忽略。 - 索引值 - 是否切换成功 - - - + 关键字 + 被删除 key 的数量。 - + - 当接收到Redis订阅的信息的时候触发
- Triggered when receiving Redis subscription information + 检查给定 key 是否存在。若 key 存在,返回 1 ,否则返回 0 。
- 主题信息 - 数据信息 + 关键字 + 若 key 存在,返回 1 ,否则返回 0 。
- + - 当接收到Redis订阅的信息的时候触发 + 为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除。设置成功返回 1 。当 key 不存在或者不能为 key 设置生存时间时,返回 0 。 + 关键字 + 当前key的生存时间,单位为秒 + + 设置成功返回 1 。当 key 不存在或者不能为 key 设置生存时间时,返回 0 。 + + + 在 Redis 中,带有生存时间的 key 被称为『易失的』(volatile)。
+ 生存时间可以通过使用 DEL 命令来删除整个 key 来移除,或者被 SET 和 GETSET 命令覆写( overwrite),这意味着,如果一个命令只是修改( alter)一个带生存时间的 key 的值而不是用一个新的 key 值来代替( replace)它的话,那么生存时间不会被改变。
+ 比如说,对一个 key 执行 INCR 命令,对一个列表进行 LPUSH 命令,或者对一个哈希表执行 HSET 命令,这类操作都不会修改 key 本身的生存时间。
+ 另一方面,如果使用 RENAME 对一个 key 进行改名,那么改名后的 key 的生存时间和改名前一样。
+ RENAME 命令的另一种可能是,尝试将一个带生存时间的 key 改名成另一个带生存时间的 another_key ,这时旧的 another_key( 以及它的生存时间)会被删除,然后旧的 key 会改名为 another_key ,因此,新的 another_key 的生存时间也和原本的 key 一样。
+ 使用 PERSIST 命令可以在不删除 key 的情况下,移除 key 的生存时间,让 key 重新成为一个『持久的』(persistent) key 。
+ 更新生存时间
+ 可以对一个已经带有生存时间的 key 执行 EXPIRE 命令,新指定的生存时间会取代旧的生存时间。
+ 过期时间的精确度
+ 在 Redis 2.4 版本中,过期时间的延迟在 1 秒钟之内 —— 也即是,就算 key 已经过期,但它还是可能在过期之后一秒钟之内被访问到,而在新的 Redis 2.6 版本中,延迟被降低到 1 毫秒之内。
+ Redis 2.1.3 之前的不同之处
+ 在 Redis 2.1.3 之前的版本中,修改一个带有生存时间的 key 会导致整个 key 被删除,这一行为是受当时复制( replication)层的限制而作出的,现在这一限制已经被修复。
+
- + - 从Redis服务器订阅一个或多个主题信息
- Subscribe to one or more topics from the redis server + 查找所有符合给定模式 pattern 的 key 。 + * 匹配数据库中所有 key。 + h?llo 匹配 hello , hallo 和 hxllo 等。 + h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo 。
- 主题信息 - 订阅结果 + 给定模式 + 符合给定模式的 key 列表。
- - + + + 将当前数据库的 key 移动到给定的数据库 db 当中。 + 如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定 key ,或者 key 不存在于当前数据库,那么 MOVE 没有任何效果。 + 因此,也可以利用这一特性,将 MOVE 当作锁(locking)原语(primitive)。 + + 关键字 + 数据块 + 是否移动成功 - + - 取消订阅一个或多个主题信息,取消之后,当前的订阅数据就不在接收到。
- Unsubscribe from multiple topic information. After cancellation, the current subscription data will not be received. + 移除给定 key 的生存时间,将这个 key 从『易失的』(带生存时间 key )转换成『持久的』(一个不带生存时间、永不过期的 key )。 + 当生存时间移除成功时,返回 1 . + 如果 key 不存在或 key 没有设置生存时间,返回 0 。
- 主题信息 - 取消订阅结果 -
- - - - - + 关键字 + + 当生存时间移除成功时,返回 1 . + 如果 key 不存在或 key 没有设置生存时间,返回 0 。 + - + - [商业授权] Redis客户端的连接池类对象,用于共享当前的连接池,合理的动态调整连接对象,然后进行高效通信的操作,默认连接数无限大。
- [Authorization] The connection pool class object of the Redis client is used to share the current connection pool, - reasonably dynamically adjust the connection object, and then perform efficient communication operations, - The default number of connections is unlimited + 从当前数据库中随机返回(不删除)一个 key 。 + 当数据库不为空时,返回一个 key 。 + 当数据库为空时,返回 nil 。
- - 本连接池的实现仅对商业授权用户开放,用于提供服务器端的与Redis的并发读写能力。使用上和普通的 没有区别, - 但是在高并发上却高性能的多,占用的连接也更少,这一切都是连接池自动实现的。 - + + 当数据库不为空时,返回一个 key 。 + 当数据库为空时,返回 nil 。 +
- + - 实例化一个默认的客户端连接池对象,需要指定实例Redis对象时的IP,端口,密码信息
- To instantiate a default client connection pool object, you need to specify the IP, port, and password information when the Redis object is instantiated + 将 key 改名为 newkey 。 + 当 key 和 newkey 相同,或者 key 不存在时,返回一个错误。 + 当 newkey 已经存在时, RENAME 命令将覆盖旧值。
- IP地址信息 - 端口号信息 - 密码,如果没有,请输入空字符串 + 旧的key + 新的key + + 改名成功时提示 OK ,失败时候返回一个错误。 +
- + - 实例化一个默认的客户端连接池对象,需要指定实例Redis对象时的IP,端口,密码信息,以及可以指定额外的初始化操作
- To instantiate a default client connection pool object, you need to specify the IP, port, - and password information when the Redis object is instantiated, and you can specify additional initialization operations + 返回 key 所储存的值的类型。none (key不存在),string (字符串),list (列表),set (集合),zset (有序集),hash (哈希表)
- IP地址信息 - 端口号信息 - 密码,如果没有,请输入空字符串 - 额外的初始化信息,比如修改db块的信息。 + 关键字 + 类型
- + - 获取当前的连接池管理对象信息
- Get current connection pool management object information + 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
+ 关键字 + 当 key 不存在时,返回 -2 。当 key 存在但没有设置剩余生存时间时,返回 -1 。否则,以秒为单位,返回 key 的剩余生存时间。
- - - - + - + - + - + - + - + - + - + - + - + - + - - + + + 如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。 + 如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。 + 返回追加 value 之后, key 中字符串的长度。 + + 关键字 + 数值 + + 追加 value 之后, key 中字符串的长度。 + - - + + + 将 key 中储存的数字值减一。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。 + 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 + 本操作的值限制在 64 位(bit)有符号数字表示之内。 + 返回执行 DECR 命令之后 key 的值。 + + 关键字 + 执行 DECR 命令之后 key 的值。 - - + + + 将 key 所储存的值减去减量 decrement 。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。 + 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 + 本操作的值限制在 64 位(bit)有符号数字表示之内。 + 返回减去 decrement 之后, key 的值。 + + 关键字 + 操作的值 + 返回减去 decrement 之后, key 的值。 - - + + + 返回 key 所关联的字符串值。如果 key 不存在那么返回特殊值 nil 。 + 假如 key 储存的值不是字符串类型,返回一个错误,因为 GET 只能用于处理字符串值。 + + 关键字 + 当 key 不存在时,返回 nil ,否则,返回 key 的值。 - - + + + 返回 key 中字符串值的子字符串,字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内)。 + 负数偏移量表示从字符串最后开始计数, -1 表示最后一个字符, -2 表示倒数第二个,以此类推。 + 返回截取得出的子字符串。 + + 关键字 + 截取开始的位置 + 截取结束的位置 + 返回截取得出的子字符串。 - - + + + 将给定 key 的值设为 value ,并返回 key 的旧值(old value)。当 key 存在但不是字符串类型时,返回一个错误。 + + 关键字 + 新的值 + 返回给定 key 的旧值。当 key 没有旧值时,也即是, key 不存在时,返回 nil 。 - - + + + 将 key 中储存的数字值增一。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。 + 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 + 返回执行 INCR 命令之后 key 的值。 + + 关键字 + 返回执行 INCR 命令之后 key 的值。 - - + + + 将 key 所储存的值加上增量 increment 。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。 + 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 + + 关键字 + 增量数据 + 加上 increment 之后, key 的值。 - - + + + 将 key 所储存的值加上增量 increment 。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCRBYFLOAT 操作。 + 如果命令执行成功,那么 key 的值会被更新为(执行加法之后的)新值,并且新值会以字符串的形式返回给调用者 + + 关键字 + 增量数据 + 执行命令之后 key 的值。 - - + + + 返回所有(一个或多个)给定 key 的值。 + 如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 null 。因此,该命令永不失败。 + + 关键字数组 + 一个包含所有给定 key 的值的列表。 - - + + + 同时设置一个或多个 key-value 对。 + 如果某个给定 key 已经存在,那么 MSET 会用新值覆盖原来的旧值,如果这不是你所希望的效果,请考虑使用 MSETNX 命令:它只会在所有给定 key 都不存在的情况下进行设置操作。 + + 关键字数组 + 值数组 + 总是返回 OK (因为 MSET 不可能失败) - + + + 将字符串值 value 关联到 key 。 + 如果 key 已经持有其他值, SET 就覆写旧值,无视类型。 + 对于某个原本带有生存时间(TTL)的键来说, 当 SET 命令成功在这个键上执行时,这个键原有的 TTL 将被清除。 + + 关键字 + 数据值 + SET 在设置操作成功完成时,才返回 OK 。 + + + + 将字符串值 value 关联到 key 。并发布一个订阅的频道数据,都成功时,才返回成功 + + 关键字 + 数据值 + 是否成功的结果对象 + + + + 将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位)。如果 key 已经存在, SETEX 命令将覆写旧值。 + + 关键字 + 数值 + 生存时间,单位秒 + 设置成功时返回 OK 。当 seconds 参数不合法时,返回一个错误。 + + + + 将 key 的值设为 value ,当且仅当 key 不存在。若给定的 key 已经存在,则 SETNX 不做任何动作。设置成功,返回 1 。设置失败,返回 0 。 + + 关键字 + 数据值 + 设置成功,返回 1 。设置失败,返回 0 。 + + + + 用 value 参数覆写(overwrite)给定 key 所储存的字符串值,从偏移量 offset 开始。不存在的 key 当作空白字符串处理。返回被 SETRANGE 修改之后,字符串的长度。 + + 关键字 + 数值 + 起始的偏移量 + 被 SETRANGE 修改之后,字符串的长度。 + + + + 返回 key 所储存的字符串值的长度。当 key 储存的不是字符串值时,返回一个错误。返回符串值的长度。当 key 不存在时,返回 0 。 + + 关键字 + 字符串值的长度。当 key 不存在时,返回 0 。 + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + + 将值 value 插入到列表 key 当中,位于值 pivot 之前。 + 当 pivot 不存在于列表 key 时,不执行任何操作。 + 当 key 不存在时, key 被视为空列表,不执行任何操作。 + 如果 key 不是列表类型,返回一个错误。 + + 关键字 + 数值 + 原先的值 + + 如果命令执行成功,返回插入操作完成之后,列表的长度。 + 如果没有找到 pivot ,返回 -1 。 + 如果 key 不存在或为空列表,返回 0 。 + - - + + + 将值 value 插入到列表 key 当中,位于值 pivot 之后。 + 当 pivot 不存在于列表 key 时,不执行任何操作。 + 当 key 不存在时, key 被视为空列表,不执行任何操作。 + 如果 key 不是列表类型,返回一个错误。 + + 关键字 + 数值 + 原先的值 + + 如果命令执行成功,返回插入操作完成之后,列表的长度。 + 如果没有找到 pivot ,返回 -1 。 + 如果 key 不存在或为空列表,返回 0 。 + - - + + + 返回列表 key 的长度。如果 key 不存在,则 key 被解释为一个空列表,返回 0 .如果 key 不是列表类型,返回一个错误。 + + 关键字 + 列表 key 的长度。 - - + + + 返回列表 key 中,下标为 index 的元素。下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。 + 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。如果 key 不是列表类型,返回一个错误。 + + 关键字 + 索引位置 + 列表中下标为 index 的元素。如果 index 参数的值不在列表的区间范围内(out of range),返回 nil 。 - - + + + 移除并返回列表 key 的头元素。列表的头元素。当 key 不存在时,返回 nil 。 + + 关键字信息 + 列表的头元素。 - - + + + 将一个或多个值 value 插入到列表 key 的表头,如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作。当 key 存在但不是列表类型时,返回一个错误。返回执行 LPUSH 命令后,列表的长度。 + + 关键字 + 值 + 执行 LPUSH 命令后,列表的长度。 - - + + + 将一个或多个值 value 插入到列表 key 的表头,如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作。当 key 存在但不是列表类型时,返回一个错误。返回执行 LPUSH 命令后,列表的长度。 + + 关键字 + 值 + 执行 LPUSH 命令后,列表的长度。 - - + + + 将值 value 插入到列表 key 的表头,当且仅当 key 存在并且是一个列表。和 LPUSH 命令相反,当 key 不存在时, LPUSHX 命令什么也不做。 + 返回LPUSHX 命令执行之后,表的长度。 + + 关键字 + 值 + 是否插入数据成功 - - + + + 返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定。 + 下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。 + 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。 + 返回一个列表,包含指定区间内的元素。 + + 关键字 + 开始的索引 + 结束的索引 + 返回一个列表,包含指定区间内的元素。 - - + + + 根据参数 count 的值,移除列表中与参数 value 相等的元素。count 的值可以是以下几种: + count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。 + count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。 + count = 0 : 移除表中所有与 value 相等的值。 + 返回被移除的数量。 + + 关键字 + 移除参数 + 匹配的值 + 被移除元素的数量。因为不存在的 key 被视作空表(empty list),所以当 key 不存在时, LREM 命令总是返回 0 。 - - + + + 设置数组的某一个索引的数据信息,当 index 参数超出范围,或对一个空列表( key 不存在)进行 LSET 时,返回一个错误。 + + 关键字 + 索引位置 + 值 + 操作成功返回 ok ,否则返回错误信息。 - - + + + 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。 + 举个例子,执行命令 LTRIM list 0 2 ,表示只保留列表 list 的前三个元素,其余元素全部删除。 + 下标( index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。 + 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。 + 当 key 不是列表类型时,返回一个错误。 + + 关键字信息 + 起始的索引信息 + 结束的索引信息 + 操作成功返回 ok ,否则返回错误信息。 - - + + + 移除并返回列表 key 的尾元素。当 key 不存在时,返回 nil 。 + + 关键字信息 + 列表的尾元素。 - - + + + 命令 RPOPLPUSH 在一个原子时间内,执行以下两个动作:
+ 1. 将列表 source 中的最后一个元素( 尾元素)弹出,并返回给客户端。
+ 2. 将 source 弹出的元素插入到列表 destination ,作为 destination 列表的的头元素。

+ 举个例子,你有两个列表 source 和 destination , source 列表有元素 a, b, c , destination 列表有元素 x, y, z ,执行 RPOPLPUSH source destination 之后, source 列表包含元素 a, b , destination 列表包含元素 c, x, y, z ,并且元素 c 会被返回给客户端。 + 如果 source 不存在,值 nil 被返回,并且不执行其他动作。 + 如果 source 和 destination 相同,则列表中的表尾元素被移动到表头,并返回该元素,可以把这种特殊情况视作列表的旋转( rotation)操作。 +
+ 第一个关键字 + 第二个关键字 + 返回的移除的对象
- - + + + 将一个或多个值 value 插入到列表 key 的表尾(最右边)。 + 如果 key 不存在,一个空列表会被创建并执行 RPUSH 操作。当 key 存在但不是列表类型时,返回一个错误。 + + 关键字 + 值 + 返回执行 RPUSH 操作后,表的长度。 - - + + + 将一个或多个值 value 插入到列表 key 的表尾(最右边)。 + 如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表尾:比如对一个空列表 mylist 执行 RPUSH mylist a b c ,得出的结果列表为 a b c , + 如果 key 不存在,一个空列表会被创建并执行 RPUSH 操作。当 key 存在但不是列表类型时,返回一个错误。 + 返回执行 RPUSH 操作后,表的长度。 + + 关键字 + 值 + 返回执行 RPUSH 操作后,表的长度。 - - + + + 将值 value 插入到列表 key 的表尾,当且仅当 key 存在并且是一个列表。 + 和 RPUSH 命令相反,当 key 不存在时, RPUSHX 命令什么也不做。 + + 关键字 + 值 + RPUSHX 命令执行之后,表的长度。 - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - + + + 删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。 + + 关键字 + 域 + 被成功移除的域的数量,不包括被忽略的域。 - - + + + 删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。返回被成功移除的域的数量,不包括被忽略的域。 + + 关键字 + 所有的域 + 返回被成功移除的域的数量,不包括被忽略的域。 - - + + + 查看哈希表 key 中,给定域 field 是否存在。如果哈希表含有给定域,返回 1 。 + 如果哈希表不含有给定域,或 key 不存在,返回 0 。 + + 关键字 + 域 + 如果哈希表含有给定域,返回 1 。如果哈希表不含有给定域,或 key 不存在,返回 0 。 - - + + + 返回哈希表 key 中给定域 field 的值。当给定域不存在或是给定 key 不存在时,返回 nil + + 关键值 + 域 + + 给定域的值。 + 当给定域不存在或是给定 key 不存在时,返回 nil 。 + - - + + + 返回哈希表 key 中,所有的域和值。在返回值里,紧跟每个域名(field name)之后是域的值(value),所以返回值的长度是哈希表大小的两倍。 + + 关键值 + + 以列表形式返回哈希表的域和域的值。 + 若 key 不存在,返回空列表。 + - - + + + 为哈希表 key 中的域 field 的值加上增量 increment 。增量也可以为负数,相当于对给定域进行减法操作。 + 如果 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令。返回执行 HINCRBY 命令之后,哈希表 key 中域 field 的值。 + + 关键字 + 域 + 增量值 + 返回执行 HINCRBY 命令之后,哈希表 key 中域 field 的值。 - - + + + 为哈希表 key 中的域 field 的值加上增量 increment 。增量也可以为负数,相当于对给定域进行减法操作。 + 如果 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令。返回执行 HINCRBY 命令之后,哈希表 key 中域 field 的值。 + + 关键字 + 域 + 增量值 + 返回执行 HINCRBY 命令之后,哈希表 key 中域 field 的值。 - - + + + 返回哈希表 key 中的所有域。当 key 不存在时,返回一个空表。 + + 关键值 + + 一个包含哈希表中所有域的表。 + 当 key 不存在时,返回一个空表。 + - - + + + 返回哈希表 key 中域的数量。 + + 关键字 + 哈希表中域的数量。当 key 不存在时,返回 0 。 - - + + + 返回哈希表 key 中,一个或多个给定域的值。如果给定的域不存在于哈希表,那么返回一个 nil 值。 + 因为不存在的 key 被当作一个空哈希表来处理,所以对一个不存在的 key 进行 HMGET 操作将返回一个只带有 nil 值的表。 + + 关键值 + 指定的域 + + 一个包含多个给定域的关联值的表,表值的排列顺序和给定域参数的请求顺序一样。 + - - + + + 将哈希表 key 中的域 field 的值设为 value 。 + 如果 key 不存在,一个新的哈希表被创建并进行 HSET 操作。 + 如果域 field 已经存在于哈希表中,旧值将被覆盖。 + 如果 field 是哈希表中的一个新建域,并且值设置成功,返回 1 。 + 如果哈希表中域 field 已经存在且旧值已被新值覆盖,返回 0 。 + + 关键字 + 域 + 数据值 + + 如果 field 是哈希表中的一个新建域,并且值设置成功,返回 1 。 + 如果哈希表中域 field 已经存在且旧值已被新值覆盖,返回 0 。 + - - + + + 同时将多个 field-value (域-值)对设置到哈希表 key 中。 + 此命令会覆盖哈希表中已存在的域。 + 如果 key 不存在,一个空哈希表被创建并执行 HMSET 操作。 + + 关键字 + 域 + 数据值 + + 如果命令执行成功,返回 OK 。 + 当 key 不是哈希表(hash)类型时,返回一个错误 + - - + + + 将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。若域 field 已经存在,该操作无效。 + 设置成功,返回 1 。如果给定域已经存在且没有操作被执行,返回 0 。 + + 关键字 + 域 + 数据值 + 设置成功,返回 1 。如果给定域已经存在且没有操作被执行,返回 0 。 - - + + + 返回哈希表 key 中所有域的值。当 key 不存在时,返回一个空表。 + + 关键值 + + 返回哈希表 key 中所有域的值。 + 当 key 不存在时,返回一个空表。 + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + + 将一个member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。假如 key 不存在,则创建一个只包含 member 元素作成员的集合。当 key 不是集合类型时,返回一个错误。 + + 关键字信息 + 等待添加的元素 + 被添加到集合中的新元素的数量,不包括被忽略的元素。 - - + + + 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。假如 key 不存在,则创建一个只包含 member 元素作成员的集合。当 key 不是集合类型时,返回一个错误。 + + 关键字信息 + 等待添加的元素 + 被添加到集合中的新元素的数量,不包括被忽略的元素。 - - + + + 返回集合 key 的基数(集合中元素的数量)。当 key 不存在时,返回 0 。 + + 集合 key 的名称 + 集合的基数。 - - + + + 返回一个集合的全部成员,该集合是所有给定集合之间的差集。 + + 集合关键字 + 集合关键字 + 交集成员的列表。 + - - + + + 返回一个集合的全部成员,该集合是所有给定集合之间的差集。 + + 集合关键字 + 集合关键字 + 交集成员的列表。 - - + + + 这个命令的作用和 SDIFF 类似,但它将结果保存到 destination 集合,而不是简单地返回结果集。如果 destination 集合已经存在,则将其覆盖。destination 可以是 key 本身。 + + 目标集合 + 等待操作的集合 + 运算的集合 + 结果集中的元素数量。 - - + + + 这个命令的作用和 SDIFF 类似,但它将结果保存到 destination 集合,而不是简单地返回结果集。如果 destination 集合已经存在,则将其覆盖。destination 可以是 key 本身。 + + 目标集合 + 等待操作的集合 + 运算的集合 + 结果集中的元素数量。 - - + + + 返回一个集合的全部成员,该集合是所有给定集合的交集。不存在的 key 被视为空集。当给定集合当中有一个空集时,结果也为空集(根据集合运算定律)。 + + 集合关键字 + 运算的集合 + 交集成员的列表。 - - + + + 返回一个集合的全部成员,该集合是所有给定集合的交集。不存在的 key 被视为空集。当给定集合当中有一个空集时,结果也为空集(根据集合运算定律)。 + + 集合关键字 + 运算的集合 + 交集成员的列表。 - - + + + 这个命令类似于 SINTER 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。如果 destination 集合已经存在,则将其覆盖。destination 可以是 key 本身。 + + 目标集合 + 等待操作的集合 + 运算的集合 + 结果集中的成员数量。 - - + + + 这个命令类似于 SINTER 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。如果 destination 集合已经存在,则将其覆盖。destination 可以是 key 本身。 + + 目标集合 + 等待操作的集合 + 运算的集合 + 结果集中的成员数量。 - - + + + 判断 member 元素是否集合 key 的成员。如果 member 元素是集合的成员,返回 1 。如果 member 元素不是集合的成员,或 key 不存在,返回 0 。 + + 集合key + 元素 + 如果 member 元素是集合的成员,返回 1 。如果 member 元素不是集合的成员,或 key 不存在,返回 0 。 - - + + + 返回集合 key 中的所有成员。不存在的 key 被视为空集合。 + + 集合key + 集合中的所有成员。 - - + + + 将 member 元素从 source 集合移动到 destination 集合。如果 source 集合不存在或不包含指定的 member 元素,则 SMOVE 命令不执行任何操作,仅返回 0 。 + 否则, member 元素从 source 集合中被移除,并添加到 destination 集合中去。当 destination 集合已经包含 member 元素时, SMOVE 命令只是简单地将 source 集合中的 member 元素删除。 + 当 source 或 destination 不是集合类型时,返回一个错误。 + + 原集合 + 目标集合 + 元素 + 如果 member 元素被成功移除,返回 1 。如果 member 元素不是 source 集合的成员,并且没有任何操作对 destination 集合执行,那么返回 0 。 - + + + 移除并返回集合中的一个随机元素。如果只想获取一个随机元素,但不想该元素从集合中被移除的话,可以使用 SRANDMEMBER 命令。 + + 集合关键字 + 被移除的随机元素。当 key 不存在或 key 是空集时,返回 nil 。 + + + + 那么返回集合中的一个随机元素。 + + 集合关键字 + 返回一个元素;如果集合为空,返回 nil 。 + + + + 返回集合中的多个随机元素。
+ 如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。如果 count 大于等于集合基数,那么返回整个集合。
+ 如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。 +
+ 集合关键字 + 元素个数 + 返回一个数组;如果集合为空,返回空数组。 +
+ + + 移除集合 key 中的一个元素,不存在的 member 元素会被忽略。 + + 集合关键字 + 等待移除的元素 + 被成功移除的元素的数量,不包括被忽略的元素。 + + + + 移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。 + + 集合关键字 + 等待移除的元素 + 被成功移除的元素的数量,不包括被忽略的元素。 + + + + 返回一个集合的全部成员,该集合是所有给定集合的并集。不存在的 key 被视为空集。 + + 集合关键字 + 并集的集合 + 并集成员的列表。 + + + + 返回一个或多个集合的全部成员,该集合是所有给定集合的并集。不存在的 key 被视为空集。 + + 集合关键字 + 并集的集合 + 并集成员的列表。 + + + + 这个命令类似于 SUNION 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。如果 destination 已经存在,则将其覆盖。destination 可以是 key 本身。 + + 存储的目标集合 + 集合关键字 + 并集的集合 + 结果集中的元素数量。 + + + + 这个命令类似于 SUNION 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。如果 destination 已经存在,则将其覆盖。destination 可以是 key 本身。 + + 存储的目标集合 + 集合关键字 + 并集的集合 + 结果集中的元素数量。 + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + 将一个 member 元素及其 score 值加入到有序集 key 当中。如果某个 member 已经是有序集的成员,那么更新这个 member 的 score 值,并通过重新插入这个 member 元素,来保证该 member 在正确的位置上。 + score 值可以是整数值或双精度浮点数。
+ 如果 key 不存在,则创建一个空的有序集并执行 ZADD 操作。当 key 存在但不是有序集类型时,返回一个错误。 +
+ 有序集合的关键字 + 有序集合的元素 + 每个元素的得分 + 被成功添加的新成员的数量,不包括那些被更新的、已经存在的成员。
- - + + + 将一个或多个 member 元素及其 score 值加入到有序集 key 当中。如果某个 member 已经是有序集的成员,那么更新这个 member 的 score 值,并通过重新插入这个 member 元素,来保证该 member 在正确的位置上。 + score 值可以是整数值或双精度浮点数。
+ 如果 key 不存在,则创建一个空的有序集并执行 ZADD 操作。当 key 存在但不是有序集类型时,返回一个错误。 +
+ 有序集合的关键字 + 有序集合的元素 + 每个元素的得分 + 被成功添加的新成员的数量,不包括那些被更新的、已经存在的成员。
- - + + + 返回有序集 key 的基数。 + + 有序集合的关键字 + 当 key 存在且是有序集类型时,返回有序集的基数。当 key 不存在时,返回 0 。 - - + + + 返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量。 + + 有序集合的关键字 + 最小值,包含 + 最大值,包含 + score 值在 min 和 max 之间的成员的数量。 - - + + + 为有序集 key 的成员 member 的 score 值加上增量 increment 。可以通过传递一个负数值 increment ,让 score 减去相应的值,比如 ZINCRBY key -5 member ,就是让 member 的 score 值减去 5 。 + 当 key 不存在,或 member 不是 key 的成员时, ZINCRBY key increment member 等同于 ZADD key increment member 。当 key 不是有序集类型时,返回一个错误。 + + 有序集合的关键字 + 成员名称 + 增量数据,可以为负数 + member 成员的新 score 值,以字符串形式表示。 - - + + + 返回有序集 key 中,指定区间内的成员。其中成员的位置按 score 值递增(从小到大)来排序。具有相同 score 值的成员按字典序来排列。 + 下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。 + + + 超出范围的下标并不会引起错误。比如说,当 start 的值比有序集的最大下标还要大,或是 start > stop 时, ZRANGE 命令只是简单地返回一个空列表。另一方面,假如 stop 参数的值比有序集的最大下标还要大,那么 Redis 将 stop 当作最大下标来处理。 + 可以通过使用 WITHSCORES 选项,来让成员和它的 score 值一并返回,返回列表以 value1,score1, ..., valueN,scoreN 的格式表示。客户端库可能会返回一些更复杂的数据类型,比如数组、元组等。 + + 有序集合的关键字 + 起始的下标 + 结束的下标 + 是否带有 score 返回 + 指定区间内,根据参数 withScore 来决定是否带 score 值的有序集成员的列表。 - - + + + 返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列。 + min 和 max 可以是 -inf 和 +inf ,这样一来,你就可以在不知道有序集的最低和最高 score 值的情况下,使用 ZRANGEBYSCORE 这类命令。 + 默认情况下,区间的取值使用闭区间 (小于等于或大于等于),你也可以通过给参数前增加 "(" 符号来使用可选的开区间 (小于或大于)。"(5"代表不包含5 + + 有序集合的关键字 + 最小值,可以为-inf,代表最高,如果为5,代表大于等于5,如果是(5,代表大于5 + 最大值,可以为+inf,代表最低,如果为10,代表小于等于5,如果是(10,代表小于10 + 是否带有 score 返回 + 指定区间内,带有 score 值(根据参数 withScore 来决定)的有序集成员的列表。 - - + + + 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递增(从小到大)顺序排列。排名以 0 为底,也就是说, score 值最小的成员排名为 0 。 + + 有序集合的关键字 + 成员 member 的名称 + 如果 member 是有序集 key 的成员,返回 member 的排名。如果 member 不是有序集 key 的成员,返回 nil 。 - - + + + 移除有序集 key 中的指定成员,不存在的成员将被忽略。当 key 存在但不是有序集类型时,返回一个错误。 + + 有序集合的关键字 + 等待被移除的成员 + 被成功移除的成员的数量,不包括被忽略的成员。 - - + + + 移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。当 key 存在但不是有序集类型时,返回一个错误。 + + 有序集合的关键字 + 等待被移除的成员 + 被成功移除的成员的数量,不包括被忽略的成员。 - - + + + 移除有序集 key 中,指定排名(rank)区间内的所有成员。区间分别以下标参数 start 和 stop 指出,包含 start 和 stop 在内。 + 下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。 + + 有序集合的关键 + 开始的下标 + 结束的下标 + 被移除成员的数量。 - - + + + 移除有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。 + min 和 max 可以是 -inf 和 +inf ,这样一来,你就可以在不知道有序集的最低和最高 score 值的情况下,使用 ZRANGEBYSCORE 这类命令。 + 默认情况下,区间的取值使用闭区间 (小于等于或大于等于),你也可以通过给参数前增加 "(" 符号来使用可选的开区间 (小于或大于)。例如"(5"代表不包括5 + + 有序集合的关键字 + 最小值,可以为-inf,代表最低,如果为5,代表大于等于5,如果是(5,代表大于5 + 最大值,可以为+inf,代表最低,如果为10,代表小于等于5,如果是(10,代表小于10 + 被移除成员的数量。 - - + + + 返回有序集 key 中,指定区间内的成员。其中成员的位置按 score 值递减(从大到小)来排列。具有相同 score 值的成员按字典序来排列。 + 下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。 + + + 超出范围的下标并不会引起错误。比如说,当 start 的值比有序集的最大下标还要大,或是 start > stop 时, ZRANGE 命令只是简单地返回一个空列表。另一方面,假如 stop 参数的值比有序集的最大下标还要大,那么 Redis 将 stop 当作最大下标来处理。 + 可以通过使用 WITHSCORES 选项,来让成员和它的 score 值一并返回,返回列表以 value1,score1, ..., valueN,scoreN 的格式表示。客户端库可能会返回一些更复杂的数据类型,比如数组、元组等。 + + 有序集合的关键字 + 起始的下标 + 结束的下标 + 是否带有 score 返回 + 指定区间内,根据参数 withScore 来决定是否带 score 值的有序集成员的列表。 - - + + + 返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。序集成员按 score 值递减(从大到小)的次序排列。 + min 和 max 可以是 -inf 和 +inf ,这样一来,你就可以在不知道有序集的最低和最高 score 值的情况下,使用 ZRANGEBYSCORE 这类命令。 + 默认情况下,区间的取值使用闭区间 (小于等于或大于等于),你也可以通过给参数前增加 ( 符号来使用可选的开区间 (小于或大于)。(5代表不包含5 + + 有序集合的关键字 + 最大值,可以为+inf,代表最高,如果为10,代表小于等于5,如果是(10,代表小于10 + 最小值,可以为-inf,代表最低,如果为5,代表大于等于5,如果是(5,代表大于5 + 是否带有 score 返回 + 指定区间内,带有 score 值(根据参数 withScore 来决定)的有序集成员的列表。 - - + + + 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递减(从大到小)排序。排名以 0 为底,也就是说,score 值最大的成员排名为 0 。 + + 有序集合的关键字 + 成员 member 的名称 + 如果 member 是有序集 key 的成员,返回 member 的排名。如果 member 不是有序集 key 的成员,返回 nil 。 - - + + + 返回有序集 key 中,成员 member 的 score 值。如果 member 元素不是有序集 key 的成员,或 key 不存在,返回 nil 。 + + 有序集合的关键字 + 成员的名称 + member 成员的 score 值,以字符串形式表示。 - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + 从设备里读取支持Hsl特性的数据内容, + 该特性为, + + 详细参考代码示例的操作说明。 + + 自定义的数据类型对象 + 包含是否成功的结果对象 + + 我们来说明下这个方法到底是怎么用的,当我们需要读取redis好几个数据的时候,我们很可能写如下的代码: + + 总的来说,当读取的数据种类比较多的时候,读取的关键字比较多的时候,处理起来就比较的麻烦,此处推荐一个全新的写法,为了更好的对比,我们假设实现一种需求 + + 为此我们只需要实现一个特性类即可。代码如下:(注意,实际是很灵活的,类型都是自动转换的) + + 当然了,异步也是一样的,异步的代码就不重复介绍了。 + + - - + + + 从设备里写入支持Hsl特性的数据内容, + 该特性为 + 需要注意的是写入并不支持特性,详细参考代码示例的操作说明。 + + 自定义的数据类型对象 + 等待写入的数据参数 + 包含是否成功的结果对象 + + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - 提供了redis辅助类的一些方法 + SAVE 命令执行一个同步保存操作,将当前 Redis 实例的所有数据快照(snapshot)以 RDB 文件的形式保存到硬盘。 + 保存成功时返回 OK 。 - + - 将字符串数组打包成一个redis的报文信息 + 在后台异步(Asynchronously)保存当前数据库的数据到磁盘。 + BGSAVE 命令执行之后立即返回 OK ,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出。 - 字节数据信息 - 结果报文信息 + 反馈信息。 - + - 生成一个订阅多个主题的报文信息 + 获取服务器的时间戳信息,可用于本地时间的数据同步问题 - 多个的主题信息 - 结果报文信息 + 带有服务器时间的结果对象 - + - 生成一个取消订阅多个主题的报文信息 + 向服务器进行PING的操作,服务器会返回PONG操作 - 多个的主题信息 - 结果报文信息 + 是否成功 - + - 从原始的结果数据对象中提取出数字数据 + 返回当前数据库的 key 的数量。 - 原始的字节数据 - 带有结果对象的数据信息 + 当前数据库的 key 的数量。 - + - 从原始的结果数据对象中提取出数字数据 + 清空当前的数据库的key信息 - 原始的字节数据 - 带有结果对象的数据信息 + 总是返回 OK 。 - + - 从结果的数据对象里提取字符串的信息 + 修改Redis的密码信息,如果不需要密码,则传入空字符串即可 - 原始的字节数据 - 带有结果对象的数据信息 + 密码信息 + 是否更新了密码信息 - - - 从redis的结果数据中分析出所有的字符串信息 - - 结果数据 - 带有结果对象的数据信息 + + - - - Redis协议的订阅操作,一个对象订阅一个或是多个频道的信息,当发生网络异常的时候,内部会进行自动重连,并恢复之前的订阅信息。
- In the subscription operation of the Redis protocol, an object subscribes to the information of one or more channels. - When a network abnormality occurs, the internal will automatically reconnect and restore the previous subscription information. -
+ + - - - 实例化一个发布订阅类的客户端,需要指定ip地址,端口。
- To instantiate a publish and subscribe client, you need to specify the ip address and port. -
- 服务器的IP地址 - 服务器的端口号 + + - + + + + + + + - 实例化一个发布订阅类的客户端,需要指定ip地址,端口,及订阅关键字。
- To instantiate a publish-subscribe client, you need to specify the ip address, port, and subscription keyword. + 将信息 message 发送到指定的频道 channel,返回接收到信息 message 的订阅者数量。
- 服务器的IP地址 - 服务器的端口号 - 订阅关键字 + 频道,和关键字不是一回事 + 消息 + 接收到信息 message 的订阅者数量。
- + + + + - 实例化一个发布订阅类的客户端,需要指定ip地址,端口,及订阅关键字。
- To instantiate a publish-subscribe client, you need to specify the ip address, port, and subscription keyword. + 切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值。默认使用 0 号数据库。
- 服务器的IP地址 - 服务器的端口号 - 订阅关键字 + 索引值 + 是否切换成功
- + + + + - 如果Redis服务器设置了密码,此处就需要进行设置。必须在 方法调用前设置。
- If the Redis server has set a password, it needs to be set here. Must be set before the method is called. + 当接收到Redis订阅的信息的时候触发
+ Triggered when receiving Redis subscription information
+ 主题信息 + 数据信息
- + - 获取或设置当前连接超时时间,主要对 方法有影响,默认值为 5000,也即是5秒。
- Get or set the current connection timeout period, which mainly affects the method. The default value is 5000, which is 5 seconds. + 当接收到Redis订阅的信息的时候触发
- + 从Redis服务器订阅一个或多个主题信息
Subscribe to one or more topics from the redis server @@ -23246,49 +23999,21 @@ 主题信息 订阅结果 - - + + - + - 取消订阅多个主题信息,取消之后,当前的订阅数据就不在接收到。
+ 取消订阅一个或多个主题信息,取消之后,当前的订阅数据就不在接收到。
Unsubscribe from multiple topic information. After cancellation, the current subscription data will not be received.
- 主题信息 - 取消订阅结果 -
- - - 取消已经订阅的主题信息 - 主题信息 取消订阅结果 - - - 连接Redis的服务器,如果已经初始化了订阅的Topic信息,那么就会直接进行订阅操作。 - - 是否创建成功 - - - - 关闭消息推送的界面 - - - - - 当接收到Redis订阅的信息的时候触发
- Triggered when receiving Redis subscription information -
- 主题信息 - 数据信息 -
- - - 当接收到Redis订阅的信息的时候触发 - + + - + @@ -24686,6 +25411,28 @@ + + + + + + 跳闸功能,需要指定有效截止时间,如果有需要可以指定其他的站号信息 + + 站号信息,如果传入空,将使用本对象的站号 + 有效截止时间 + 是否操作成功 + + + + + + + 合闸允许功能,需要指定有效截止时间,如果有需要可以指定其他的站号信息 + + 站号信息,如果传入空,将使用本对象的站号 + 有效截止时间 + 是否操作成功 + @@ -24822,6 +25569,18 @@ + + + + + + + + + + + + @@ -25314,6 +26073,18 @@ + + + + + + + + + + + + @@ -25408,6 +26179,18 @@ + + + + + + + + + + + + @@ -26391,6 +27174,18 @@ 数据标识,具体需要查找手册来对应 读取的数据长度信息 + + + 功能码1C的操作,主要用来控制跳闸(控制类型1A),合闸允许(控制类型1B) + + DLT通信对象 + 密钥信息 + 操作者代码 + 站号信息 + 控制类型 + 有效截止时间 + 是否操作成功 + 根据指定的数据标识来写入相关的原始数据信息,地址标识根据手册来,从高位到地位,例如 00-00-00-00,分割符可以任意特殊字符或是没有分隔符。
@@ -26844,6 +27639,18 @@ + + + + + + + + + + + + DLT698的接口实现 @@ -28989,6 +29796,98 @@ Get the log statistics object of the current dictionary class itself, count the data analysis times of all elements + + + 日志查看器的窗口类,用于分析统计日志数据,实例化的时候可以直接日志文件,然后直接显示出文件内容出来,然后可以根据日志的等级,或是关键字进行搜索信息
+ The window class of the log viewer is used to analyze the statistical log data, and when instantiating, you can directly log the file, + and then directly display the file content, and then you can search for information according to the level of the log or keyword +
+
+ + + 实例化一个默认的日志查看器的窗口
+ Instantiates a default log viewer window +
+
+ + + 指定一个日志路径实例化一个日志查看界面 + + 日志的路径 + + + + 获取或设置当前日志选择窗口的默认的路径信息
+ Get or set the default path information of the current log selection window +
+
+ + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + 一个用于日志分析的控件 + + + + + 实例化一个控件信息 + + + + + 设置日志的数据源 + + 直接从日志文件中读到的数据或是来自网络的数据 + + + + 从现有的日志中筛选数据 + + 等级 + + + + 底层的数据分析筛选 + + + + + + + + 必需的设计器变量。 + + + + + 清理所有正在使用的资源。 + + 如果应释放托管资源,为 true;否则为 false。 + + + + 设计器支持所需的方法 - 不要修改 + 使用代码编辑器修改此方法的内容。 + + Modbus设备的接口,用来表示Modbus相关的设备对象,, , @@ -29037,6 +29936,37 @@ + + + Modbus的地址映射类 + + + + + 根据台达AS300的PLC的地址,解析出转换后的modbus协议信息,适用AS300系列,当前的地址仍然支持站号指定,例如s=2;D100
+ According to the PLC address of Delta AS300, the converted modbus protocol information is parsed, + and it is applicable to AS300 series. The current address still supports station number designation, for example, s=2;D100 +
+ 台达plc的地址信息 + 原始的对应的modbus信息 + 还原后的modbus地址 +
+ + + 维控的Lx5v的Modbus地址转换方法,主要注入到Modbus类,即可以在Modbus里使用维控的地址进行通信 + + 维控plc的地址信息 + 原始的对应的modbus信息 + 还原后的modbus地址 + + + + 英威腾 TS600 的modbus地址变换 + + 英威腾PLC的地址 + 默认的modbus功能码 + 还原后的modbus地址 + Modbus-Ascii通讯协议的类库,基于rtu类库完善过来,支持标准的功能码,也支持扩展的功能码实现,地址采用富文本的形式,详细见备注说明
@@ -29542,37 +30472,6 @@ - - - Modbus的地址映射类 - - - - - 根据台达AS300的PLC的地址,解析出转换后的modbus协议信息,适用AS300系列,当前的地址仍然支持站号指定,例如s=2;D100
- According to the PLC address of Delta AS300, the converted modbus protocol information is parsed, - and it is applicable to AS300 series. The current address still supports station number designation, for example, s=2;D100 -
- 台达plc的地址信息 - 原始的对应的modbus信息 - 还原后的modbus地址 -
- - - 维控的Lx5v的Modbus地址转换方法,主要注入到Modbus类,即可以在Modbus里使用维控的地址进行通信 - - 维控plc的地址信息 - 原始的对应的modbus信息 - 还原后的modbus地址 - - - - 英威腾 TS600 的modbus地址变换 - - 英威腾PLC的地址 - 默认的modbus功能码 - 还原后的modbus地址 - 服务器端提供的数据监视服务 @@ -31921,86 +32820,6 @@ The message is only sent to the server without triggering publish and subscribe, the message quality level is only valid for the HSL MQTT server - - - Mqtt的同步网络服务的单Api信息描述类
- Single Api information description class of Mqtt's synchronous network service -
-
- - - 当前的Api的路由信息,对于注册服务来说,是类名/方法名 - - - - - 当前的Api的路由说明 - - - - - 当前方法的签名 - - - - - 当前Api的调用次数 - - - - - 示例的 - - - - - 当前Api的调用总耗时,单位是秒 - - - - - 当前Api是否为方法,如果是方法,就为true,否则为false - - - - - 如果当前的API接口是支持Http的请求方式,当前属性有效,例如GET,POST - - - - - 当前的Api的方法是否是异步的Task类型 - - - - - 当前的Api关联的方法反射,本属性在JSON中将会忽略 - - - - - 当前的Api关联的方法反射,本属性在JSON中将会忽略 - - - - - 当前Api的方法的权限访问反射,本属性在JSON中将会忽略 - - - - - 当前Api绑定的对象的,实际的接口请求,将会从对象进行调用,本属性在JSON中将会忽略 - - - - - 使用原子的操作增加一次调用次数的数据信息,需要传入当前的消耗的时间,单位为100倍毫秒 - - 当前调用花费的时间,单位为100倍毫秒 - - - - 基于MRPC实现的远程设备访问的接口,实现了和基础PLC一样的访问功能,适用的设备为 将PLC实际的通信对象注册为 RPC 接口服务。
@@ -32038,6 +32857,12 @@ + + + 获取或设置当前的设备主题信息
+ Get or set the current device theme information. +
+
@@ -33344,6 +34169,31 @@ 取消下载操作的令牌 是否下载成功 + + + [文件引擎] 从远程服务器下载一个文件,生成一个Bitmap图片对象,需要指定文件类别,文件名,进度报告,可用于用户头像的存储
+ [File Engine] Download a file from a remote server and generate a Bitmap image object. You need to specify the file category, file name, and progress report, which can be used to store the user's avatar +
+ 文件的类别,例如 Files/Personal/Admin 按照斜杠来区分 + 文件名称,例如 123.txt + 进度报告,第一个参数是已完成字节数,第二个参数是总字节数 + 取消下载操作的令牌 + 如果下载成功,则携带图片资源对象 +
+ + + [文件引擎] 上传一个Bitmap图片对象到服务器指定的分类下面,需要指定分类信息,服务器保存的文件名,描述信息,支持进度报告
+ [File Engine] Upload a Bitmap image object to the category specified by the server, you need to specify the category information, + the file name saved by the server, description information, and support for progress reports +
+ 图片对象 + 文件的类别,例如 Files/Personal/Admin 按照斜杠来区分 + 在服务器保存的文件名称 + 文件的额外的描述信息 + 进度报告,第一个参数是已完成字节数,第二个参数是总字节数 + 取消上传操作的令牌 + 是否上传成功 +
[文件引擎] 上传文件给服务器,需要指定上传的数据内容,上传到服务器的分类信息,支持进度汇报功能。
@@ -33485,6 +34335,12 @@ + + + + + + @@ -33629,6 +34485,86 @@ + + + Mqtt的同步网络服务的单Api信息描述类
+ Single Api information description class of Mqtt's synchronous network service +
+
+ + + 当前的Api的路由信息,对于注册服务来说,是类名/方法名 + + + + + 当前的Api的路由说明 + + + + + 当前方法的签名 + + + + + 当前Api的调用次数 + + + + + 示例的 + + + + + 当前Api的调用总耗时,单位是秒 + + + + + 当前Api是否为方法,如果是方法,就为true,否则为false + + + + + 如果当前的API接口是支持Http的请求方式,当前属性有效,例如GET,POST + + + + + 当前的Api的方法是否是异步的Task类型 + + + + + 当前的Api关联的方法反射,本属性在JSON中将会忽略 + + + + + 当前的Api关联的方法反射,本属性在JSON中将会忽略 + + + + + 当前Api的方法的权限访问反射,本属性在JSON中将会忽略 + + + + + 当前Api绑定的对象的,实际的接口请求,将会从对象进行调用,本属性在JSON中将会忽略 + + + + + 使用原子的操作增加一次调用次数的数据信息,需要传入当前的消耗的时间,单位为100倍毫秒 + + 当前调用花费的时间,单位为100倍毫秒 + + + + 一个工业物联网的底层架构框架,专注于底层的技术通信及跨平台,跨语言通信功能,实现各种主流的PLC数据读写,实现modbus,机器人的各种协议读写等等, @@ -36188,6 +37124,22 @@ 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。 + + + DeviceSerialPort: 修复当设置了非PipeSerialPort串口管道的时候,调用 IsOpen( ) 结果返回不正确的bug。 + DeviceServer: 新增方法 ServerStart( int tcpPort, int udpPort ), 用来同时启动TCP服务和UDP服务,三菱的DEMO测试增加启动功能测试。 + CommunicationServer: 修复服务器的类再只启动UDP服务器的情况下,服务器侧进行关闭操作时,引发后台线程异常的bug。 + MqttServer: 当客户端连接上来的时候,指定了keepAlive后,客户端的ActiveTimeSpan调整为1.5倍的keepAlive值,防止其他客户端极其特殊情况下可能误判下线。 + DLT645: DLT645-2007的串口网口类新增跳闸方法Trip( DateTime validTime )及合闸允许方法SwitchingOn( DateTime validTime ) + LSCnet: 进行了优化,全部使用连续读取的功能实现,添加携带站号的接口IReadWriteDeviceStation, LSCnet实现了该接口。 + SecsValue: 新增加ToSourceCode( )方法,获取获取该对象的源代码表示方式,用于DEMO程序自动生成发数据的源代码。 + Demo: 在PLC测试界面上的管道的功能当选择了DTU管道时,设备连接上来的时候,修复ID匹配不正确的bug。 + Demo: PLC测试界面上的读写按钮操作,都会在下面的示例代码里面显示出实际的代码情况,一些特殊功能测试的界面全部添加点击按钮生成示例代码,包括机床,机器人界面。 + SecsGem: Secs的服务器测试界面和客户端测试界面,功能码列表均支持了编辑和添加删除,然后点击保存连接的时候,自动将全部的功能码列表进行了存储,方便后续测试。 + 新官网:http://www.hsltechnology.cn/,还有全新的使用文档的地址:http://www.hsltechnology.cn/Doc/HslCommunication + 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。 + + @@ -39367,51 +40319,6 @@ 类型的单位字节长度信息 - - - 台达PLC的串口通讯类,基于Modbus-Rtu协议开发,按照台达的地址进行实现。
- The serial communication class of Delta PLC is developed based on the Modbus-Rtu protocol and implemented according to Delta's address. -
- - 适用于DVP-ES/EX/EC/SS型号,DVP-SA/SC/SX/EH型号以及AS300型号,地址参考API文档,同时地址可以携带站号信息,举例:[s=2;D100],[s=3;M100],可以动态修改当前报文的站号信息。
- Suitable for DVP-ES/EX/EC/SS models, DVP-SA/SC/SX/EH models and AS300 model, the address refers to the API document, and the address can carry station number information, - for example: [s=2;D100],[s= 3;M100], you can dynamically modify the station number information of the current message. -
-
- - - 实例化一个默认的对象
- Instantiate a default object -
-
- - - 指定客户端自己的站号来初始化
- Specify the client's own station number to initialize -
- 客户端自身的站号 -
- - - - - - - - - - - - - - - - - - - - - 台达PLC的串口通讯类,基于Modbus-Ascii协议开发,按照台达的地址进行实现。
@@ -39500,6 +40407,135 @@ + + + 台达AS300的辅助帮助类信息 + + + + + 根据台达AS300的PLC的地址,解析出转换后的modbus协议信息,适用AS300系列,当前的地址仍然支持站号指定,例如s=2;D100
+ According to the PLC address of Delta AS300, the converted modbus protocol information is parsed, + and it is applicable to AS300 series. The current address still supports station number designation, for example, s=2;D100 +
+ 台达plc的地址信息 + 原始的对应的modbus信息 + 还原后的modbus地址 +
+ + + 台达PLC的相关的帮助类,公共的地址解析的方法。
+ Delta PLC related help classes, public address resolution methods. +
+
+ + + 根据台达PLC的地址,解析出转换后的modbus协议信息,适用DVP系列,当前的地址仍然支持站号指定,例如s=2;D100
+ According to the address of Delta PLC, the converted modbus protocol information is parsed out, applicable to DVP series, + the current address still supports station number designation, such as s=2;D100 +
+ 台达plc的地址信息 + 原始的对应的modbus信息 + 还原后的modbus地址 +
+ + + 读取台达PLC的bool变量,重写了读M地址时,跨区域读1536地址时,将会分割多次读取 + + 底层基础的读取方法 + PLC的地址信息 + 读取的长度信息 + 读取的结果 + + + + 写入台达PLC的bool数据,当发现是M类型的数据,并且地址出现跨1536时,进行切割写入操作 + + 底层的写入操作方法 + PLC的起始地址信息 + 等待写入的数据信息 + 是否写入成功 + + + + 读取台达PLC的原始字节变量,重写了读D地址时,跨区域读4096地址时,将会分割多次读取 + + 底层基础的读取方法 + PLC的地址信息 + 读取的长度信息 + 读取的结果 + + + + 写入台达PLC的原始字节数据,当发现是D类型的数据,并且地址出现跨4096时,进行切割写入操作 + + 底层的写入操作方法 + PLC的起始地址信息 + 等待写入的数据信息 + 是否写入成功 + + + + + + + + + + + + + + + + 台达的想关的辅助类 + + + + + 台达PLC的串口通讯类,基于Modbus-Rtu协议开发,按照台达的地址进行实现。
+ The serial communication class of Delta PLC is developed based on the Modbus-Rtu protocol and implemented according to Delta's address. +
+ + 适用于DVP-ES/EX/EC/SS型号,DVP-SA/SC/SX/EH型号以及AS300型号,地址参考API文档,同时地址可以携带站号信息,举例:[s=2;D100],[s=3;M100],可以动态修改当前报文的站号信息。
+ Suitable for DVP-ES/EX/EC/SS models, DVP-SA/SC/SX/EH models and AS300 model, the address refers to the API document, and the address can carry station number information, + for example: [s=2;D100],[s= 3;M100], you can dynamically modify the station number information of the current message. +
+
+ + + 实例化一个默认的对象
+ Instantiate a default object +
+
+ + + 指定客户端自己的站号来初始化
+ Specify the client's own station number to initialize +
+ 客户端自身的站号 +
+ + + + + + + + + + + + + + + + + + + + + 台达PLC的串口转网口透传类,基于Modbus-Rtu协议开发,但是实际的通信管道使用的是网络,但是实际的地址是台达的地址进行读写操作。
@@ -39551,21 +40587,6 @@ - - - 台达的系列信息 - - - - - 台达的Dvp系列,适用DVP-ES/EX/EC/SS型号,DVP-SA/SC/SX/EH型号 - - - - - 适用于AS300系列 - - 台达PLC的网口通讯类,基于Modbus-Rtu协议开发,按照台达的地址进行实现。
@@ -39642,88 +40663,19 @@ - - - 台达AS300的辅助帮助类信息 - - - - - 根据台达AS300的PLC的地址,解析出转换后的modbus协议信息,适用AS300系列,当前的地址仍然支持站号指定,例如s=2;D100
- According to the PLC address of Delta AS300, the converted modbus protocol information is parsed, - and it is applicable to AS300 series. The current address still supports station number designation, for example, s=2;D100 -
- 台达plc的地址信息 - 原始的对应的modbus信息 - 还原后的modbus地址 -
- - - 台达PLC的相关的帮助类,公共的地址解析的方法。
- Delta PLC related help classes, public address resolution methods. -
-
- - - 根据台达PLC的地址,解析出转换后的modbus协议信息,适用DVP系列,当前的地址仍然支持站号指定,例如s=2;D100
- According to the address of Delta PLC, the converted modbus protocol information is parsed out, applicable to DVP series, - the current address still supports station number designation, such as s=2;D100 -
- 台达plc的地址信息 - 原始的对应的modbus信息 - 还原后的modbus地址 -
- - - 读取台达PLC的bool变量,重写了读M地址时,跨区域读1536地址时,将会分割多次读取 - - 底层基础的读取方法 - PLC的地址信息 - 读取的长度信息 - 读取的结果 - - - - 写入台达PLC的bool数据,当发现是M类型的数据,并且地址出现跨1536时,进行切割写入操作 - - 底层的写入操作方法 - PLC的起始地址信息 - 等待写入的数据信息 - 是否写入成功 - - + - 读取台达PLC的原始字节变量,重写了读D地址时,跨区域读4096地址时,将会分割多次读取 + 台达的系列信息 - 底层基础的读取方法 - PLC的地址信息 - 读取的长度信息 - 读取的结果 - + - 写入台达PLC的原始字节数据,当发现是D类型的数据,并且地址出现跨4096时,进行切割写入操作 + 台达的Dvp系列,适用DVP-ES/EX/EC/SS型号,DVP-SA/SC/SX/EH型号 - 底层的写入操作方法 - PLC的起始地址信息 - 等待写入的数据信息 - 是否写入成功 - - - - - - - - - - - - - + - 台达的想关的辅助类 + 适用于AS300系列 @@ -39789,150 +40741,6 @@ - - - 台湾永宏公司的编程口协议,此处是基于tcp的实现,地址信息请查阅api文档信息,地址可以携带站号信息,例如 s=2;D100
- The programming port protocol of Taiwan Yonghong company, here is the implementation based on TCP, - please refer to the API information for the address information, The address can carry station number information, such as s=2;D100 -
- - 支持位访问:M,X,Y,S,T(触点),C(触点),字访问:RT(当前值),RC(当前值),D,R;具体参照API文档 - -
- - - 实例化默认的构造方法
- Instantiate the default constructor -
-
- - - 使用指定的ip地址和端口来实例化一个对象
- Instantiate an object with the specified IP address and port -
- 设备的Ip地址 - 设备的端口号 -
- - - - - - PLC的站号信息,需要和实际的设置值一致,默认为1
- The station number information of the PLC needs to be consistent with the actual setting value. The default is 1. -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 永宏编程口协议的虚拟PLC,可以用来和类做通信测试,支持简单数据的读写操作。
- The virtual PLC of Yonghong programming port protocol can be used to communicate with and class, - and support simple data read and write operations. -
-
- - - 实例化一个基于Programe协议的虚拟的永宏PLC对象,可以用来和进行通信测试。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FatekProgram相关的辅助方法,例如报文构建,核心读写支持 @@ -40137,6 +40945,150 @@ + + + 台湾永宏公司的编程口协议,此处是基于tcp的实现,地址信息请查阅api文档信息,地址可以携带站号信息,例如 s=2;D100
+ The programming port protocol of Taiwan Yonghong company, here is the implementation based on TCP, + please refer to the API information for the address information, The address can carry station number information, such as s=2;D100 +
+ + 支持位访问:M,X,Y,S,T(触点),C(触点),字访问:RT(当前值),RC(当前值),D,R;具体参照API文档 + +
+ + + 实例化默认的构造方法
+ Instantiate the default constructor +
+
+ + + 使用指定的ip地址和端口来实例化一个对象
+ Instantiate an object with the specified IP address and port +
+ 设备的Ip地址 + 设备的端口号 +
+ + + + + + PLC的站号信息,需要和实际的设置值一致,默认为1
+ The station number information of the PLC needs to be consistent with the actual setting value. The default is 1. +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 永宏编程口协议的虚拟PLC,可以用来和类做通信测试,支持简单数据的读写操作。
+ The virtual PLC of Yonghong programming port protocol can be used to communicate with and class, + and support simple data read and write operations. +
+
+ + + 实例化一个基于Programe协议的虚拟的永宏PLC对象,可以用来和进行通信测试。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 基于串口的自由协议,需要在地址里传入报文信息,也可以传入数据偏移信息,默认为 @@ -40599,117 +41551,6 @@ - - - 富士PLC的SPB协议,详细的地址信息见api文档说明,地址可以携带站号信息,例如:s=2;D100,PLC侧需要配置无BCC计算,包含0D0A结束码
- Fuji PLC's SPB protocol. For detailed address information, see the api documentation, - The address can carry station number information, for example: s=2;D100, PLC side needs to be configured with no BCC calculation, including 0D0A end code -
-
- - - 使用默认的构造方法实例化对象
- Instantiate the object using the default constructor -
-
- - - 使用指定的ip地址和端口来实例化一个对象
- Instantiate an object with the specified IP address and port -
- 设备的Ip地址 - 设备的端口号 -
- - - - - - PLC的站号信息
- PLC station number information -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 富士的SPB虚拟的PLC,线圈支持X,Y,M的读写,其中X只能远程读,寄存器支持D,R,W的读写操作。
- Fuji's SPB virtual PLC, the coil supports X, Y, M read and write, - X can only be read remotely, and the register supports D, R, W read and write operations. -
-
- - - 实例化一个富士SPB的网口和串口服务器,支持数据读写操作 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 富士PLC的SPH通信协议,可以和富士PLC进行通信,默认CPU0,需要根据实际进行调整。
@@ -40928,6 +41769,117 @@ PLC返回的报文信息 是否成功的结果对象 + + + 富士PLC的SPB协议,详细的地址信息见api文档说明,地址可以携带站号信息,例如:s=2;D100,PLC侧需要配置无BCC计算,包含0D0A结束码
+ Fuji PLC's SPB protocol. For detailed address information, see the api documentation, + The address can carry station number information, for example: s=2;D100, PLC side needs to be configured with no BCC calculation, including 0D0A end code +
+
+ + + 使用默认的构造方法实例化对象
+ Instantiate the object using the default constructor +
+
+ + + 使用指定的ip地址和端口来实例化一个对象
+ Instantiate an object with the specified IP address and port +
+ 设备的Ip地址 + 设备的端口号 +
+ + + + + + PLC的站号信息
+ PLC station number information +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 富士的SPB虚拟的PLC,线圈支持X,Y,M的读写,其中X只能远程读,寄存器支持D,R,W的读写操作。
+ Fuji's SPB virtual PLC, the coil supports X, Y, M read and write, + X can only be read remotely, and the register supports D, R, W read and write operations. +
+
+ + + 实例化一个富士SPB的网口和串口服务器,支持数据读写操作 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 富士的SPH虚拟的PLC,支持M1.0,M3.0,M10.0,I0,Q0的位与字的读写操作。
@@ -41950,159 +42902,6 @@ - - - 基恩士SR2000系列扫码设备的通用接口 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Keyence PLC的数据类型,此处包含了几个常用的类型 - - - - - 如果您清楚类型代号,可以根据值进行扩展 - - 数据类型的代号 - 0或1,默认为0 - ASCII格式的类型信息 - 指示地址的多少进制的,10或是16 - - - - 类型的代号值 - - - - - 数据的类型,0代表按字,1代表按位 - - - - - 当以ASCII格式通讯时的类型描述 - - - - - 指示地址是10进制,还是16进制的 - - - - - X输入继电器 - - - - - Y输出继电器 - - - - - 链接继电器 - - - - - 内部辅助继电器 - - - - - 锁存继电器 - - - - - 控制继电器 - - - - - 控制存储器 - - - - - 数据存储器 - - - - - 文件寄存器 - - - - - 文件寄存器 - - - - - 链路寄存器 - - - - - 计时器(当前值) - - - - - 计时器(接点) - - - - - 计数器(当前值) - - - - - 计数器(接点) - - 基恩士的数字传感器的以太网模块,可以同时连接并读取多个传感器模块的功能代码 @@ -42145,6 +42944,159 @@ 设备的返回数据信息 是否成功的结果对象 + + + 基恩士SR2000系列扫码设备的通用接口 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Keyence PLC的数据类型,此处包含了几个常用的类型 + + + + + 如果您清楚类型代号,可以根据值进行扩展 + + 数据类型的代号 + 0或1,默认为0 + ASCII格式的类型信息 + 指示地址的多少进制的,10或是16 + + + + 类型的代号值 + + + + + 数据的类型,0代表按字,1代表按位 + + + + + 当以ASCII格式通讯时的类型描述 + + + + + 指示地址是10进制,还是16进制的 + + + + + X输入继电器 + + + + + Y输出继电器 + + + + + 链接继电器 + + + + + 内部辅助继电器 + + + + + 锁存继电器 + + + + + 控制继电器 + + + + + 控制存储器 + + + + + 数据存储器 + + + + + 文件寄存器 + + + + + 文件寄存器 + + + + + 链路寄存器 + + + + + 计时器(当前值) + + + + + 计时器(接点) + + + + + 计数器(当前值) + + + + + 计数器(接点) + + 基恩士PLC的数据通信类,使用QnA兼容3E帧的通信协议实现,使用ASCII的格式,地址格式需要进行转换成三菱的格式,详细参照备注说明
@@ -43194,15 +44146,6 @@ address, for example: MX100, PX100 - - - build read command. - - station - start address - address length - command - write data to address Type of ReadByte @@ -43230,7 +44173,7 @@ source value command bytes - + 从PLC的指定地址读取原始的字节数据信息,地址示例:MB100, MW100, MD100, 如果输入了M100等同于MB100
Read the original byte data information from the designated address of the PLC. @@ -43240,7 +44183,6 @@ 地址类型支持 P,M,L,K,F,T,C,D,R,I,Q,W, 支持携带站号的形式,例如 s=2;MW100 PLC通信对象 - 站号信息 PLC的地址信息,例如 M100, MB100, MW100, MD100 读取的长度信息 返回是否读取成功的结果对象 @@ -43282,7 +44224,7 @@ PLC的地址信息,例如 MX100, MX10A 返回是否读取成功的结果对象 - + 从PLC的指定地址读取原始的位数据信息,地址示例:MB100.0, MW100.0
Read the original bool data information from the designated address of the PLC. @@ -43292,7 +44234,6 @@ 地址类型支持 P,M,L,K,F,T,C,D,R,I,Q,W, 支持携带站号的形式,例如 s=2;MB100.0 PLC通信对象 - 站号信息 PLC的地址信息,例如 MB100.0, MW100.0 读取的长度信息 返回是否读取成功的结果对象 @@ -43311,8 +44252,8 @@ bool值信息 返回是否读取成功的结果对象 - - + + @@ -43323,8 +44264,8 @@ - - + + @@ -43498,7 +44439,7 @@ - + @@ -43510,7 +44451,7 @@ - + @@ -43543,7 +44484,7 @@ - + @@ -43584,9 +44525,7 @@ Ip port - - PLC Station No. - + @@ -43625,7 +44564,7 @@ - + @@ -43672,7 +44611,7 @@ - + @@ -44409,6 +45348,31 @@ + + + MC协议的类型 + + + + + 基于二进制的MC协议 + + + + + 基于ASCII格式的MC协议 + + + + + 基于R系列的二进制的MC协议 + + + + + 基于R系列的ASCII格式的MC协议 + + 基于MC协议的ASCII格式的辅助类 @@ -44867,31 +45831,6 @@ - - - MC协议的类型 - - - - - 基于二进制的MC协议 - - - - - 基于ASCII格式的MC协议 - - - - - 基于R系列的二进制的MC协议 - - - - - 基于R系列的ASCII格式的MC协议 - - MelsecA3CNet1协议通信的辅助类 @@ -45672,39 +46611,6 @@ 是否位读取 解析后的结果对象 - - - 三菱MC-A1E协议的虚拟服务器,支持M,X,Y,D,W的数据池读写操作,支持二进制及ASCII格式进行读写操作,需要在实例化的时候指定。
- The Mitsubishi MC-A1E protocol virtual server supports M, X, Y, D, W data pool read and write operations, - and supports binary and ASCII format read and write operations, which need to be specified during instantiation. -
- - 本三菱的虚拟PLC仅限商业授权用户使用,感谢支持。 - 如果你没有可以测试的三菱PLC,想要测试自己开发的上位机软件,或是想要在本机实现虚拟PLC,然后进行IO的输入输出练习,都可以使用本类来实现,地址参考DEMO程序 - -
- - - 实例化一个默认参数的mc协议的服务器
- Instantiate a mc protocol server with default parameters -
- 是否是二进制,默认是二进制,否则是ASCII格式 -
- - - - - - - - - - - - - - - 基于Qna 兼容3C帧的格式一的通讯,具体的地址需要参照三菱的基本地址
@@ -46106,67 +47012,6 @@ - - - 三菱的串口通信的对象,适用于读取FX系列的串口数据,支持的类型参考文档说明
- Mitsubishi's serial communication object is suitable for reading serial data of the FX series. Refer to the documentation for the supported types. -
- - 一般老旧的型号,例如FX2N之类的,需要将设置为False,如果是FX3U新的型号,则需要将设置为True - - - - - -
- - - 实例化一个默认的对象 - - - - - - - - - - - - - - - - - 获取或设置是否动态修改PLC的波特率,如果为 True,那么如果本对象设置了波特率 115200,就会自动修改PLC的波特率到 115200,因为三菱PLC再重启后都会使用默认的波特率9600
- Get or set whether to dynamically modify the baud rate of the PLC. If it is True, then if the baud rate of this object is set to 115200, - the baud rate of the PLC will be automatically modified to 115200, because the Mitsubishi PLC is not After restart, the default baud rate of 9600 will be used -
-
- - - - - - - - - - - - - - - - - - - - - - - - 三菱串口协议的网络版,如果使用的是 FX3U编程口(fx2n) -> GOT1000(RS232)(或是GOT2000) -> 上位机(以太网) 的方式,那么就需要把设置为 True
@@ -46317,6 +47162,29 @@ 字节数据 是否成功 + + + 三菱PLC通讯类,采用UDP的协议实现,采用Qna兼容3E帧协议实现,需要在PLC侧先的以太网模块先进行配置,必须为ascii通讯
+ Mitsubishi PLC communication class is implemented using UDP protocol and Qna compatible 3E frame protocol. + The Ethernet module needs to be configured first on the PLC side, and it must be ascii communication. +
+ + + + + + + +
+ + + + + + + + + 三菱PLC通讯类,采用Qna兼容3E帧协议实现,需要在PLC侧先的以太网模块先进行配置,必须为ASCII通讯格式
@@ -46355,29 +47223,6 @@ - - - 三菱PLC通讯类,采用UDP的协议实现,采用Qna兼容3E帧协议实现,需要在PLC侧先的以太网模块先进行配置,必须为ascii通讯
- Mitsubishi PLC communication class is implemented using UDP protocol and Qna compatible 3E frame protocol. - The Ethernet module needs to be configured first on the PLC side, and it must be ascii communication. -
- - - - - - - -
- - - - - - - - - 三菱PLC的数据类型,此处包含了几个常用的类型
@@ -46879,6 +47724,230 @@ 特殊链接存储器
+ + + 三菱的R系列的MC协议,支持的地址类型和 有区别,详细请查看对应的API文档说明 + + + + + 实例化三菱R系列的Qna兼容3E帧协议的通讯对象
+ Instantiate the communication object of Mitsubishi's Qna compatible 3E frame protocol +
+
+ + + 指定ip地址和端口号来实例化一个默认的对象
+ Specify the IP address and port number to instantiate a default object +
+ PLC的Ip地址 + PLC的端口 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 分析三菱R系列的地址,并返回解析后的数据对象 + + 字符串地址 + 是否解析成功 + + + + 从三菱地址,是否位读取进行创建读取的MC的核心报文 + + 地址数据 + 是否进行了位读取操作 + 带有成功标识的报文对象 + + + + 以字为单位,创建数据写入的核心报文 + + 三菱的数据地址 + 实际的原始数据信息 + 带有成功标识的报文对象 + + + + 以位为单位,创建数据写入的核心报文 + + 三菱的地址信息 + 原始的bool数组数据 + 带有成功标识的报文对象 + + + + 三菱MC-A1E协议的虚拟服务器,支持M,X,Y,D,W的数据池读写操作,支持二进制及ASCII格式进行读写操作,需要在实例化的时候指定。
+ The Mitsubishi MC-A1E protocol virtual server supports M, X, Y, D, W data pool read and write operations, + and supports binary and ASCII format read and write operations, which need to be specified during instantiation. +
+ + 本三菱的虚拟PLC仅限商业授权用户使用,感谢支持。 + 如果你没有可以测试的三菱PLC,想要测试自己开发的上位机软件,或是想要在本机实现虚拟PLC,然后进行IO的输入输出练习,都可以使用本类来实现,地址参考DEMO程序 + +
+ + + 实例化一个默认参数的mc协议的服务器
+ Instantiate a mc protocol server with default parameters +
+ 是否是二进制,默认是二进制,否则是ASCII格式 +
+ + + + + + + + + + + + + + + + + + 三菱PLC通讯类,采用UDP的协议实现,采用Qna兼容3E帧协议实现,需要在PLC侧先的以太网模块先进行配置,必须为二进制通讯
+ Mitsubishi PLC communication class is implemented using UDP protocol and Qna compatible 3E frame protocol. + The Ethernet module needs to be configured first on the PLC side, and it must be binary communication. +
+ + + + + + + + + + + +
+ + + + + + + + + 三菱PLC通讯类,采用Qna兼容3E帧协议实现,需要在PLC侧先的以太网模块先进行配置,必须为二进制通讯
@@ -47078,170 +48147,6 @@ - - - 三菱的R系列的MC协议,支持的地址类型和 有区别,详细请查看对应的API文档说明 - - - - - 实例化三菱R系列的Qna兼容3E帧协议的通讯对象
- Instantiate the communication object of Mitsubishi's Qna compatible 3E frame protocol -
-
- - - 指定ip地址和端口号来实例化一个默认的对象
- Specify the IP address and port number to instantiate a default object -
- PLC的Ip地址 - PLC的端口 -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 分析三菱R系列的地址,并返回解析后的数据对象 - - 字符串地址 - 是否解析成功 - - - - 从三菱地址,是否位读取进行创建读取的MC的核心报文 - - 地址数据 - 是否进行了位读取操作 - 带有成功标识的报文对象 - - - - 以字为单位,创建数据写入的核心报文 - - 三菱的数据地址 - 实际的原始数据信息 - 带有成功标识的报文对象 - - - - 以位为单位,创建数据写入的核心报文 - - 三菱的地址信息 - 原始的bool数组数据 - 带有成功标识的报文对象 - 三菱MC协议的虚拟服务器,支持M,X,Y,D,W的数据池读写操作,支持二进制及ASCII格式进行读写操作,需要在实例化的时候指定。
@@ -47324,31 +48229,65 @@ - + - 三菱PLC通讯类,采用UDP的协议实现,采用Qna兼容3E帧协议实现,需要在PLC侧先的以太网模块先进行配置,必须为二进制通讯
- Mitsubishi PLC communication class is implemented using UDP protocol and Qna compatible 3E frame protocol. - The Ethernet module needs to be configured first on the PLC side, and it must be binary communication. + 三菱的串口通信的对象,适用于读取FX系列的串口数据,支持的类型参考文档说明
+ Mitsubishi's serial communication object is suitable for reading serial data of the FX series. Refer to the documentation for the supported types.
- + 一般老旧的型号,例如FX2N之类的,需要将设置为False,如果是FX3U新的型号,则需要将设置为True - - - - - - + +
- - + + + 实例化一个默认的对象 + - - + + - + + + + + + + + + + + + 获取或设置是否动态修改PLC的波特率,如果为 True,那么如果本对象设置了波特率 115200,就会自动修改PLC的波特率到 115200,因为三菱PLC再重启后都会使用默认的波特率9600
+ Get or set whether to dynamically modify the baud rate of the PLC. If it is True, then if the baud rate of this object is set to 115200, + the baud rate of the PLC will be automatically modified to 115200, because the Mitsubishi PLC is not After restart, the default baud rate of 9600 will be used +
+
+ + + + + + + + + + + + + + + + + + + + + + @@ -50892,6 +51831,252 @@ + + + OpenSsl的连接对象,控制当前的 + + + + + 指定收发数据实例化一个对象 + + 发送数据的委托方法 + 接收数据的委托方法 + + + + 获取或设置当前的日志对象 + + + + + 连接 + + + + + 将PDU数据写入到当前的信息中 + + 原始数据信息 + + + + 将PDU数据写入到当前的信息中 + + 等待发送的字节列表 + + + + 收到了加密数据,写入到ssl里进行解密 + + + + + + 初始化方法 + + + + + 运行当前的SSL方法 + + + + + + + + + + + 西门子的数据对象信息 + + + + + RelationId + + + + + 第二个关联的信息 + + + + + ClassId + + + + + ClassFlags + + + + + AttributeId + + + + + 名称信息 + + + + + 数据对象关联的子对象信息 + + + + + 关联的节点信息 + + + + + + + + + + + + + + 写入一个uint类型的数据,使用动态长度表示方式,写入到字节流里去 + + 字节流 + 值信息 + + + + 写入一个ulong类型的数据,使用动态长度表示方式,写入到字节流里去 + + 字节流 + 值信息 + + + + 从缓存中获取动态长度的uint类型数据 + + 缓存值 + 索引信息 + 结果值 + + + + 从缓存中获取动态长度的ulong类型数据 + + 缓存值 + 索引信息 + 结果值 + + + + S7对象信息 + + + + + 将对象写入报文消息的方法 + + 消息报文的数据流 + + + + 获取字段的数量 + + + + + + 节点类对象 + + + + + 数据名称 + + + + + 数据ID信息,第一个为DB块的信息,第二个是数据信息,如果是结构体,则继续往后面拓展 + + + + + 类型代号 + + + + + 数组长度,如果小于0则表示标量的数据 + + + + + 当类型为结构体的时候,关联的其他结构体的ID信息 + + + + + 当类型为结构体的时候,标签的偏移信息 + + + + + 获取类型的文本描述 + + string info + + + + 获取LID的文本信息 + + + + + + + + + + + + 深度克隆一个对象 + + + + + + S7对象的类,表示一个对象信息 + + + + + 类型代号 + + + + + 内存数据 + + + + + 值对象 + + + + + 标记信息 + + + + + 关联的结构体的标识信息 + + Contains the methods to convert between and S7 representation of datetime values. @@ -52083,6 +53268,286 @@ message id informaion 包含结果对象的报文 -> Message containing the result object + + + 测试的基于S7 PLUS的协议,功能还未完成,无法调用 + + + + + 实例化一个西门子的S7协议的通讯对象
+ Instantiate a communication object for a Siemens S7 protocol +
+
+ + + 实例化一个西门子的S7协议的通讯对象并指定Ip地址
+ Instantiate a communication object for a Siemens S7 protocol and specify an IP address +
+ Ip地址 + 端口号信息 +
+ + + + + + 西门子相关的本地TSAP参数信息
+ A parameter information related to Siemens +
+
+ + + 西门子相关的远程TSAP参数信息
+ A parameter information related to Siemens +
+
+ + + 最近一次的PDU类型 + + + + + 获取当前西门子的PDU的长度信息,不同型号PLC的值会不一样。
+ Get the length information of the current Siemens PDU, the value of different types of PLC will be different. +
+
+ + + 获取当前的通信会话ID信息 + + + + + 获取当前的PLC的订货号 + + + + + + + + + + + + + + + + + + + + + + + + + + + 此处写入的数据需要带标志位,类型,数据信息,所以灵活的支持任意的数据写入,如果需要写入 uint8[] 数据本身,使用方法 + + + + + + + + + + + 使用类型代号为 0x0a 写入到指定的地址里,返回是否写入成功的结果对象 + + 地址信息 + 二进制的值 + 是否写入成功 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 浏览当前PLC的DB块列表,并且拿到用户自定义的DB块的关联ID信息
+ Browse the DB block list of the current PLC and get the associated ID information of the user-defined DB block +
+ DB块列表信息 +
+ + + 浏览PLC的点位信息 + + 点位结果列表 + + + + 批量读取多个节点数据信息,需要传入节点数组 + + 节点数组信息 + 成功的结果列表 + + + + + + + + + + + + + 将实际的数据写入到标签中去,支持批量写入的操作。需要传入实际的点位地址,以及封装后的数据内容。 + + 点位信息 + 封装过的数据 + 是否写入成功 + + + + + + + + + + + + + + + + + + + 发送数据信息 + + Pdu 报文信息 + 是否发送成功 + + + + + + + 构建S7完整的通信报文 + + 报文信息 + 报文 + + + + S7-Plus协议专用的数据流 + + + + + 使用指定的对象,是否所属权来实例化一个对象 + + 套接字对象 + 是否所属权 + 当前的PLC对象 + + + + + + + 西门子S7协议的虚拟服务器,支持TCP协议,模拟的是1200的PLC进行通信,在客户端进行操作操作的时候,最好是选择1200的客户端对象进行通信。
@@ -53410,48 +54875,44 @@ - + - 信捷PLC的XC,XD,XL系列的串口通讯类,底层使用ModbusRtu协议实现,每个系列支持的地址类型及范围不一样,详细参考DEMO程序说明
- XC, XD, XL series serial communication of Xinje PLC, the bottom layer is implemented by ModbusRtu protocol, - the address type and range supported by each series are different, please refer to the Demo for details + 信捷内部TCP的虚拟服务器类,基于Modbus的虚拟服务器扩展而来,从服务上只支持modbus地址读写,从客户端额外支持M,D,SD,SM,HD 五个数据区
+ Xinjie's internal TCP virtual server class, based on Modbus virtual server extension, + only supports modbus address reading and writing from the service, and additionally supports M, D, SD, SM, HD five data areas from the client
- - 地址可以携带站号访问,例如 s=2;M100
- 对于XC系列适用于XC1/XC2/XC3/XC5/XCM/XCC系列,线圈支持X,Y,S,M,T,C,寄存器支持D,F,E,T,C
- 对于XD,XL系列适用于XD1/XD2/XD3/XD5/XDM/XDC/XD5E/XDME/XDH/XL1/XL3/XL5/XL5E/XLME, - 线圈支持X,Y,S,M,SM,T,C,ET,SEM,HM,HS,HT,HC,HSC 寄存器支持D,ID,QD,SD,TD,CD,ETD,HD,HSD,HTD,HCD,HSCD,FD,SFD,FS
-
- + - 实例化一个默认的对象 + 实例化一个默认参数的mc协议的服务器
+ Instantiate a mc protocol server with default parameters
- - - 指定客户端自己的站号来初始化
- Specify the client's own station number to initialize -
- 客户端自身的站号 + + - - - 通过指定站号以及PLC的系列来实例化一个新的对象
- Instantiate a new object by specifying the station number and PLC series -
- PLC的系列 - 站号信息 + + - - - 获取或设置当前的信捷PLC的系列,默认XC系列 - + + - + + + + - + + + 将状态码,数据打包成一个完成的回复报文信息 + + 原始的命令数据 + 状态信息 + 数据 + 状态信息 + + @@ -53521,44 +54982,48 @@ XL系列
- + - 信捷内部TCP的虚拟服务器类,基于Modbus的虚拟服务器扩展而来,从服务上只支持modbus地址读写,从客户端额外支持M,D,SD,SM,HD 五个数据区
- Xinjie's internal TCP virtual server class, based on Modbus virtual server extension, - only supports modbus address reading and writing from the service, and additionally supports M, D, SD, SM, HD five data areas from the client + 信捷PLC的XC,XD,XL系列的串口通讯类,底层使用ModbusRtu协议实现,每个系列支持的地址类型及范围不一样,详细参考DEMO程序说明
+ XC, XD, XL series serial communication of Xinje PLC, the bottom layer is implemented by ModbusRtu protocol, + the address type and range supported by each series are different, please refer to the Demo for details
+ + 地址可以携带站号访问,例如 s=2;M100
+ 对于XC系列适用于XC1/XC2/XC3/XC5/XCM/XCC系列,线圈支持X,Y,S,M,T,C,寄存器支持D,F,E,T,C
+ 对于XD,XL系列适用于XD1/XD2/XD3/XD5/XDM/XDC/XD5E/XDME/XDH/XL1/XL3/XL5/XL5E/XLME, + 线圈支持X,Y,S,M,SM,T,C,ET,SEM,HM,HS,HT,HC,HSC 寄存器支持D,ID,QD,SD,TD,CD,ETD,HD,HSD,HTD,HCD,HSCD,FD,SFD,FS
+
- + - 实例化一个默认参数的mc协议的服务器
- Instantiate a mc protocol server with default parameters + 实例化一个默认的对象
- - - - - - - - - - - + + + 指定客户端自己的站号来初始化
+ Specify the client's own station number to initialize +
+ 客户端自身的站号
- - + + + 通过指定站号以及PLC的系列来实例化一个新的对象
+ Instantiate a new object by specifying the station number and PLC series +
+ PLC的系列 + 站号信息
- + - 将状态码,数据打包成一个完成的回复报文信息 + 获取或设置当前的信捷PLC的系列,默认XC系列 - 原始的命令数据 - 状态信息 - 数据 - 状态信息 - + + + + @@ -54666,6 +56131,22 @@ 原始的数据信息 是否解析成功的结果对象 + + + 一个强类型的资源类,用于查找本地化的字符串等。 + + + + + 返回此类使用的缓存的 ResourceManager 实例。 + + + + + 重写当前线程的 CurrentUICulture 属性,对 + 使用此强类型资源类的所有资源查找执行重写。 + + ABB机器人的web api接口的客户端,可以方便快速的获取到abb机器人的一些数据信息
@@ -58725,6 +60206,13 @@ 编码信息 原始字节数据 + + + 获取当前 对象的源代码表示方式,可以直接复制生成同等对象
+ Obtain the source code representation of the current object, and you can directly copy and generate an equivalent object +
+ 对象的源代码表示方式 +
@@ -58983,6 +60471,16 @@ 需要校验的数据,不包含LRC字节 返回带LRC校验码的字节数组,可用于串口发送 + + + 获取对应的数据的LRC校验码
+ Class for LRC validation that provides a standard validation method +
+ 需要校验的数据,不包含LRC字节 + 忽略的左边的字节数量 + 忽略的右边的字节数量 + 返回LRC校验码 +
检查数据是否符合LRC的验证
@@ -59023,6 +60521,15 @@ 尾部的字节数量信息 和校验是否检查通过 + + + 计算数据的异或信息,也称为 FCS,可以指定前面无用的字节数量,以及尾部无用的字节数量 + + 数据源信息 + 前面无用的字节数量 + 后面无用的字节数量 + 返回异或校验后的值 + 系统的字符串资源及多语言管理中心
@@ -59642,6 +61149,41 @@ + + + websocket 协议的 op的枚举信息 + + + + + 连续消息分片 + + + + + 文本消息分片 + + + + + 二进制消息分片 + + + + + 连接关闭 + + + + + 心跳检查 + + + + + 心跳检查 + + diff --git a/Tool/HttpUtil.cs b/Tool/HttpUtil.cs index 483ce0a..e6aaaf0 100644 --- a/Tool/HttpUtil.cs +++ b/Tool/HttpUtil.cs @@ -6,6 +6,7 @@ namespace Tool public class HttpUtil { + /// /// 提交json字符 /// diff --git a/Tool/ILogNetFactory.cs b/Tool/ILogNetFactory.cs index e9cd0e9..597c646 100644 --- a/Tool/ILogNetFactory.cs +++ b/Tool/ILogNetFactory.cs @@ -9,6 +9,7 @@ namespace Tool { public static class ILogNetFactory { - public static ILogNet GetLogNet { get; }=new LogNetFileSize("D:\\Logs", 2 * 1024 * 1024*20); + public static ILogNet GetLogNet { get; }= new LogNetDateTime( System.IO.Path.Combine( AppDomain.CurrentDomain.BaseDirectory, "Logs" ), GenerateMode.ByEveryDay, 30 ); + } }