- 博客(275)
- 资源 (2)
- 收藏
- 关注
原创 GTS-400 系列运动控制器板(十三)----访问DAC
动态链接库均为 C++编译,只是函数、结构体的声明因具体编译语言而异),它们的动态库文件分 文件夹分别为 VC、VB6.0、C#、VB.NET 和 Delphi,它们的子目录包含 32bit 和 64bit 两个文件夹。//设定的电压值超出允许的范围,请重新设定(-10V~10V),对应的数字量的范围在(-32767~32766)(3) 选择“project”菜单下的“Add existing Item”菜单项,选择函数声明文件,如gts.vb,将其添加。全职写分享不易,如果您觉得我的分享对您有帮助的话;
2025-04-24 10:00:53
32
1
原创 GTS-400 系列运动控制器板(十二)----读取轴编码器和辅助编码器位置值
动态链接库均为 C++编译,只是函数、结构体的声明因具体编译语言而异),它们的动态库文件分 文件夹分别为 VC、VB6.0、C#、VB.NET 和 Delphi,它们的子目录包含 32bit 和 64bit 两个文件夹。其中, 32bit 为使用 32 位编译器生成的动态链接库,64bit 为使用 64 位编译器生成的动态链接库;//板卡上有16路编码器,由于官网给的函数库每次最多只能读取8个编码器的值,所以读取所有编码器的值需要两次读取编码器的值,全职写分享不易,如果您觉得我的分享对您有帮助的话;
2025-04-24 09:50:49
84
原创 GTS-400 系列运动控制器板(十一)----访问数字IO
动态链接库均为 C++编译,只是函数、结构体的声明因具体编译语言而异),它们的动态库文件分 文件夹分别为 VC、VB6.0、C#、VB.NET 和 Delphi,它们的子目录包含 32bit 和 64bit 两个文件夹。gts.mc.MC_LIMIT_POSITIVE, // 指定数字IO类型是正限位。gts.mc.MC_LIMIT_NEGATIVE, // 指定数字IO类型是负限位。gts.mc.MC_LIMIT_POSITIVE, // 指定数字IO类型是正限位。
2025-04-23 11:18:41
105
原创 GTS-400 系列运动控制器板(十)----获取轴的轴状态、运动模式、位置、速度和加速度
动态链接库均为 C++编译,只是函数、结构体的声明因具体编译语言而异),它们的动态库文件分 文件夹分别为 VC、VB6.0、C#、VB.NET 和 Delphi,它们的子目录包含 32bit 和 64bit 两个文件夹。其中, 32bit 为使用 32 位编译器生成的动态链接库,64bit 为使用 64 位编译器生成的动态链接库;(3) 选择“project”菜单下的“Add existing Item”菜单项,选择函数声明文件,如gts.vb,将其添加。
2025-04-23 11:13:38
104
原创 GTS-400 系列运动控制器板(九)----设置轴为闭环控制方式
运动控制器驱动程序、dll 文件、例程、Demo 等相关文件请通过固高科技官网下载,网址为:www.googoltech.com.cn/pro_view-3.html在 Windows 系统下使用运动控制器,首先要安装驱动程序。在安装前需要提前下载运动控制器的驱动程序请通过固高科技官网下载。运动控制器指令函数动态链接库也请通过官网提前下载至本地硬盘中。运动控制器的动态链接库文件名为 gts.dll。在 Windows 系统下,用户可以使用任何能够支持动态链接库的开发工具来开发应用程序。下面。
2025-04-22 15:17:06
99
原创 GTS-400 系列运动控制器板(八)----设置轴为脉冲控制“脉冲+方向“方式
运动控制器驱动程序、dll 文件、例程、Demo 等相关文件请通过固高科技官网下载,网址为:www.googoltech.com.cn/pro_view-3.html在 Windows 系统下使用运动控制器,首先要安装驱动程序。在安装前需要提前下载运动控制器的驱动程序请通过固高科技官网下载。运动控制器指令函数动态链接库也请通过官网提前下载至本地硬盘中。运动控制器的动态链接库文件名为 gts.dll。在 Windows 系统下,用户可以使用任何能够支持动态链接库的开发工具来开发应用程序。下面。
2025-04-22 15:09:03
107
原创 GTS-400 系列运动控制器板(七)----修改限位开关触发电平
运动控制器驱动程序、dll 文件、例程、Demo 等相关文件请通过固高科技官网下载,网址为:www.googoltech.com.cn/pro_view-3.html在 Windows 系统下使用运动控制器,首先要安装驱动程序。在安装前需要提前下载运动控制器的驱动程序请通过固高科技官网下载。运动控制器指令函数动态链接库也请通过官网提前下载至本地硬盘中。运动控制器的动态链接库文件名为 gts.dll。在 Windows 系统下,用户可以使用任何能够支持动态链接库的开发工具来开发应用程序。下面。
2025-04-22 14:12:01
670
原创 GTS-400 系列运动控制器板(六)----修改编码器计数方向
运动控制器驱动程序、dll文件、例程、Demo等相关文件请通过固高科技官网下载,网址为:在Windows系统下使用运动控制器,首先要安装驱动程序。在安装前需要提前下载运动控制器的驱动程序请通过固高科技官网下载。运动控制器指令函数动态链接库也请通过官网提前下载至本地硬盘中。运动控制器的动态链接库文件名为gts.dll。在Windows系统下,用户可以使用任何能够支持动态链接库的开发工具来开发应用程序。下面分别以Visual C++和Delphi。
2025-04-22 14:03:14
368
原创 构建高并发实时系统的终极指南
本文通过实战案例展示了如何在.NET 9中利用响应式编程构建高效、实时的农产品市场分析系统。通过Rx.NET与异步流技术,开发者能够轻松应对高并发场景,打造高性能应用。的实战应用,助你构建高效、可扩展的实时系统。无论你是新手还是专家,都能在此找到构建高响应性应用的完整方案。响应式扩展(Rx.NET)**实现,高效处理异步数据流与实时数据处理。通过C#与.NET 9,释放响应式编程的威力!构建异步事件驱动程序的库,是C#开发响应式系统的核心工具。• 系统及时响应,保障用户体验一致性。
2025-04-17 10:45:22
484
1
原创 GTS-400 系列运动控制器板卡介绍(五)
强烈建议,通用数字输出在控制感性负载时请注意感性负载能量的释放,如图。图 5- 2 数字输出接变频器连接方式。5- 1 模拟量控制变频器接线方法。5- 3 通用输出接继电器。外设名称:海德汉旋转编码器。5- 4 接海德汉旋转编码器。接中间继电器控制方式。
2025-04-17 10:38:52
251
原创 .NET 中如何实现高精度定时器
前言.NET中至少有6种定时器,但精度都不是特别高,一般在15ms~55ms之间。在一些特殊场景,可能需要高精度的定时器,这就需要我们自己实现了。本文将讨论高精度定时器实现的思路。高精度定时器一个定时器至少需要考虑三部分功能:计时、等待、触发模式。计时是进行时间检查,调整等待的时间;等待则是用来跳过指定的时间间隔。触发模式是指定时器每次Tick的时间固定还是每次定时任务时间间隔固定。
2025-04-16 10:31:45
16
原创 GTS-400 系列运动控制器板卡介绍(四)
上图所示),文本框中会显示当前控制器的序列号,将该信息需要反馈给固高科技以获取对应的升。复位以后,一般情况下,由于调试时没有连接限位等传感器,而控制器在出现报警状态下。如果控制电机没有运动,请先调出相应轴的状态面板,确认该轴不存在报警、限位,并且。因此,应将以上信号无效掉,即各编号设置为。强烈建议,在初次调试模拟量控制过程中,不要连接任何负载,以防发生正反馈,导致。选框,则此时,下面的前瞻选项将变为可用,设置对应的前瞻参数。断开端子板上轴信号连接线缆,将万用表选至电压测量档,地线连接端子板轴信号的。
2025-04-16 10:26:46
18
原创 GTS-400 系列运动控制器板卡介绍(三)
在安装连接端子时,务必保证端子两头压实后再拧紧螺钉,否则高低不平的端子可造成。当通用数字输出接感性负载时,应考虑感性负载对数字输出的影响,尽量确保感性负载。当需要进行模拟量方式控制时,用户可以通过系统配置的方式,将该轴的输出设置为模。为复用脚,对无非轴模拟量的端子板,此脚为空;对带非轴模拟量的端子板,此脚为。如果驱动器需要的信号不是差分信号,可将相应信号接于上述差分信号输出的正信号端。提供的是差分接口,所以推荐用户以差分方式接线,且差分信号两端数字。,请在范围内使用,否则可能导致芯片损坏,在使用过。
2025-04-15 15:00:45
116
原创 GTS-400 系列运动控制器板卡介绍(二)
运动控制器的表面是否有机械损坏,如果运动控制器表面有损坏,或产品内容不符合,请不要使用,打开包装前,请先查看外包装标明的产品型号是否与订购的产品一致。在驱动器没有与运动控制器连接之前,连接驱动器与电机。端子板轴信号接口到驱动器轴接口之间的连接线缆(需要您根据驱动器的型号,制作与运。为安全起见,建议用户初次使用板卡时,务必将电机与负载脱离开,在未完成控制系统。屏蔽电缆连接控制器的。机受控后,方可进行系统的机械连接,否则可能造成严重的后果。仔细了解控制器的接口信号和电机驱动器的接口定义,妥善连线并。
2025-04-15 11:33:05
144
原创 GTS-400 系列运动控制器板卡介绍(一)
GTS-400-PV(G)-PCI 系列运动控制器以 IBM-PC 及其兼容机为主机,提供标准的 PCI 总线接口产品。用户能够将这些控制函数与自己控制系统所需的数据处理、界面显示、用户接口等应用程序模块集成在一起,建造符合特定应用需求的控制系统,以适应各种应用领域的要求。固高公司生产的 GTS-400-PV(G)-PCI 系列运动控制器,可以实现高速的点位运动控制。表 1-2 GTS-400-PV(G)-PCI 功能列表。图 1-1 GTS 运动控制器型号说明。表 1-1 GTS 四轴控制器选型列表。
2025-04-12 14:21:35
394
原创 Redis安装步骤及测试
登录网站:https://github.com/microsoftarchive/redis/releases,下载Redis版本Redis-x64-3.0.504.msi;,此版本为windows版本,用户可以根据系统的不同,寻找符合的版本。安装完服务后,需要将其设置为在系统启动时自动启动,这通过Windows的服务管理工具来完成。按下Win + R键,输入services.msc,然后按Enter键打开“服务”窗口。2.重复添加(key,value)键值对,增加20~30组数据,数据会自动合并。
2025-04-12 14:06:51
271
原创 c# 使用NPOI将datatable的数据导出到excel
文件路径(如:C:\data.xlsx)</param>/// <param name="sheetName">工作表名称(默认 Sheet1)</param>/// <param name="dataTable">数据源
2025-04-07 17:06:25
969
原创 c# 将datatable的数据导出到excel
Excel 文件路径(如:C:\data.xlsx)</param>/// <param name="sheetName">工作表名称(默认 Sheet1)</param>/// <param name="dataTable">数据源
2025-04-07 17:05:27
768
原创 c# 找到字符串中,固定字符串的位置
Console.WriteLine($"位置: {match.Index}, 长度: {match.Length}");Console.WriteLine($"所有匹配位置: {string.Join(", ", allIndexes)}");Console.WriteLine($"首次出现位置(忽略大小写): {firstIndexIgnoreCase}");Console.WriteLine($"首次出现位置: {firstIndex}");// 位置: 21, 长度: 5。// 输出: 6, 21。
2025-04-07 09:07:53
98
原创 redis数据库迁移
在 Redis 中进行数据库迁移(如从本地服务器迁移到云环境,或从旧集群迁移到新集群)需要根据数据量、停机时间要求和网络环境选择合适的方案。redis-cli -h [目标IP] -p [目标端口] REPLICAOF [源IP] [源端口]redis-benchmark -h [目标IP] -p [目标端口] -c 50 -n 100000。redis-cli -h [目标IP] -p [目标端口] DBSIZE。redis-cli -h [源IP] -p [源端口] SAVE。
2025-04-03 13:53:36
759
原创 c# 如何删除redis存储中增加的外键
在 Redis 中虽然没有传统数据库的「外键约束」,但开发者通常会手动维护关联数据(如索引、反向引用等)。// 删除邮箱集合中的记录。// 假设外键键名遵循模式 "user:fk:{userId}:*"/// 清理所有关联外键(适用于复杂场景,如动态生成的索引)/// 删除用户及其外键索引(事务保证原子性)当删除用户时,需同步删除所有关联的外键索引。// 执行事务(原子性操作)// 2. 删除外键索引。// 提取外键关联信息。// 1. 删除主数据。// 分页扫描匹配的键。// 获取用户所有订单ID。
2025-04-03 13:44:59
1144
原创 c# 如何利用redis存储对象,并实现快速查询
/ 维护一个有序集合:Key = "users_by_age", Member = 用户ID, Score = 年龄。// 维护一个哈希表:Key = "name_to_id", Field = 用户名, Value = 用户ID。通过合理设计键结构和索引,结合 Redis 的数据类型,可以在 C# 中高效存储和查询对象。在 C# 中使用 Redis 存储对象并实现快速查询,可以通过以下步骤实现。,结合 Redis 的哈希(Hash)和有序集合(Sorted Set)优化查询。// 根据ID查询用户。
2025-04-02 16:47:40
782
原创 c# 获取redis中所有的value
通过上述代码,可安全高效地获取 Redis 中所有键的值,并根据需要扩展对不同数据类型的支持。// 使用 SCAN 分页遍历键(避免 KEYS * 的性能问题)// 仅获取字符串类型的值(按需扩展其他类型)/// 安全获取所有键的值(分页扫描模式,避免阻塞 Redis)/// 高性能批量获取字符串值(Pipeline 优化):全量扫描操作(即使分页)仍可能影响性能,建议在低峰期执行。分页遍历键,减少对 Redis 的阻塞风险。// 方法2:批量获取指定键。// 方法1:安全分页扫描。
2025-03-31 11:19:05
885
原创 利用c#书写调用MVS书写的图片处理文件.sol
如需处理更复杂的图像处理逻辑(如特征提取),建议采用链下处理+链上验证的模式,可结合Oracles实现链下计算结果的验证。C# 客户端程序 → 计算本地哈希 → IPFS网络(存储图片) → 区块链(存储哈希/IPFS地址):实际图片文件应存储在IPFS/Arweave等去中心化存储中,合约仅存储验证哈希。// 注册图片元数据(需配合链下存储如IPFS)// 上传图片到IPFS并注册到合约。// 生成图片哈希(链下处理)// 验证图片存在性。// 获取图片元数据。// 验证图片存在性。
2025-03-28 11:27:08
975
原创 在C#中通过TCP通信调用.sol智能合约的完整流程
要通过TCP通信调用Solidity(.sol)智能合约,我们需要建立一个完整的流程,包括TCP服务器/客户端通信和以太坊智能合约交互。
2025-03-28 11:24:57
623
原创 运动控制卡和plc区别
运动控制卡和PLC各有优势,选择时需根据具体应用需求决定。如果需要高精度、复杂运动控制,运动控制卡是更好的选择;而如果侧重于逻辑控制和稳定性,PLC则更为合适。两者在自动化系统中可以相辅相成,共同实现复杂的控制任务。。
2025-03-25 16:05:07
412
原创 .NET 10 新的 JsonIgnoreCondition
我们的 Api Response 里有一个字段非常的大,不需要在 response 里包含,但是从 json 里反序列化时时需要地所以不能简单地直接忽略,在使用 Newtonsoft.Json 时使用。还是有值的,这一点感觉有点问题,我们设置了反序列化应该忽略,不过它是在构造器上的,不是通过属性 setter 设置的,是不是也是可以接受的呢?的,在序列化的时候被忽略了,只有 Name 和 Description 输出了,在之后的反序列化中,因为。约定方法在序列化的时候忽略,如果有一个。
2025-03-20 08:49:14
780
原创 c# 利用mv-cs200-10gc工业相机,识别液注的高度
Console.WriteLine("登录失败,错误码:" + HikDevice.NET_DVR_GetLastError());if (Math.Abs(line.P1.Y - line.P2.Y) < 2) // 近似水平线。Console.WriteLine($"液柱高度:{height} mm");Console.WriteLine($"液面Y坐标:{liquidSurface.P1.Y}");Console.WriteLine($"液柱高度:{realHeight} mm");
2025-03-14 18:15:53
1116
原创 c#使用redis如何实现数据的分库存储
通过分片算法(如一致性哈希)将数据分布到多个 Redis 实例(物理分库),适合大规模数据和高并发场景。通过上述方案,可灵活实现 Redis 数据分库存储,根据业务需求选择逻辑隔离或物理分片。:跨分片的事务无法保证原子性(Redis Cluster 仅支持同一分片的事务)。"server1:6379", // 分片 0。"server2:6379", // 分片 1。"server3:6379" // 分片 2。// 连接字符串指定数据库索引(示例:db=2)// 根据 Key 选择分片。
2025-03-14 12:06:40
1275
原创 如何在c# 项目中使用redis
Console.WriteLine($"Redis 错误: {ex.Message}");Console.WriteLine($"连接失败: {args.Exception}");ConnectTimeout = 5000, // 连接超时时间(毫秒)Console.WriteLine($"错误消息: {args.Message}");Password = "your_password", // 认证密码。Console.WriteLine($"收到消息: {message}");
2025-03-11 18:27:54
1156
原创 c#如何直接获取json中的某个值
""hobbies"": [""读书"", ""编程""]""hobbies"": [""读书"", ""编程""]""street"": ""中关村""""street"": ""中关村""""city"": ""北京"",""city"": ""北京"",
2025-03-11 17:06:47
263
原创 c#中使用时间戳转换器
在C#中,时间戳转换器通常用于将时间戳(通常是一个表示自某一特定时间点(如1970年1月1日UTC)以来的毫秒数的长整型值)转换为DateTime对象,或者将DateTime对象转换回时间戳。
2025-03-10 11:40:40
297
原创 c# 使用Md5加密字符串
通过上述代码,可快速实现字符串的 MD5 哈希计算,适用于非安全敏感场景(如数据校验、唯一标识生成)。// "x2" 表示两位小写十六进制。// "X2" 表示两位大写十六进制。// 将输入字符串转为字节数组(UTF-8编码)// 注意:需在程序退出时手动调用 _md5.Dispose()// 将哈希字节数组转为十六进制字符串。/// 计算字符串的 MD5 哈希值(32位小写)
2025-03-07 18:25:40
984
原创 c#实现Modbus TCP/IP与RS 485数据交换的实例
/ 地址(1) + 功能码(1) + 字节数(1) + 数据(n) + CRC(2)throw new NotSupportedException($"不支持的功能码: 0x{functionCode:X2}");// 地址(1) + 功能码(1) + 地址(2) + 值(2) + CRC(2)Console.WriteLine($"Modbus TCP网关已启动,监听端口:{TCP_PORT}");
2025-03-06 15:41:23
839
原创 Modbus TCP/IP 与 RS-485 接口的兼容性
---[Modbus TCP/RTU 网关]---[RS-485总线]---[设备1][设备2][设备3]不存在,因为两者分属不同的网络层次(TCP/IP 基于以太网,RS-485 是物理层接口),但通过。:通过硬件网关将 Modbus TCP 报文与 Modbus RTU(RS-485)帧互相转换。:将老式RS-485传感器(Modbus RTU)接入云平台(Modbus TCP)。每个 RS-485 从站地址(1-247)对应 Modbus TCP 的。|---[Modbus TCP设备]
2025-03-06 15:11:39
955
原创 c#实现SSI串行接口通讯
/ 时钟周期微秒数(决定频率,示例:100kHz)Console.WriteLine($"尝试 {retry + 1} 失败: {ex.Message}");// 低4位为CRC。[Start Bit (0)] + [20位数据] + [4位CRC] + [Stop Bit (1)]Console.WriteLine($"位置: {pos}, CRC有效: {valid}");// 示例:4位CRC,多项式x^4 + x + 1(0x3)if (result == 0) // 假设返回0表示成功。
2025-03-05 16:01:21
1331
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人