C#上位机开发步骤(流程)

1.电气工程师连接好所有硬件和控制板卡

2.上位机开发工程师安装相关板卡驱动程序。

2.1 驱动安装

        打开厂家给的资料包,,资料包里有驱动,手册,Motion4.2_beta_20200421 这个是控制软件。用于调试和设置参数的。

打开驱动压缩文件,解压后安装

这时会在设备管理器里看到添加的设备。(雷赛板卡有两个设备,如图)

3.打开板卡程序调试各个轴的参数。

3.1 基本设置

3.1.1脉冲模式:用来设置正方向运动的方式。

3.2 速度很简单就不说了。一开始测试时要慢点。小心发生撞击。

3.2 回零设置

3.2.1 主要有回零模式: 常用的有:一次回零+反找(到了限位再从反方向找0点),如果使用这种方式就一定要把 【回零中遇负限位是否反找】开关要打开。设置为 [是]

3.3 硬限位设置

3.3.1 硬限位启用 是一定要起用的。

正负限位IO映射:这个映射要和轴号对映。

回零设置中的IO映射也是一样的设置。

报警设置中IO映射也是一样的设置。

如下图:3轴的IO映射都选3。1轴的IO映射都选1

3.4 伺服报警设置

3.4.1 报警启用 通常设置为是

3.4.2 有效电平 的设置就要看电气工程师的线是怎么接的了。一般在没有报警的情况下,只要调整的选择后发现上面的报警灯灭了就可以了。

报警清除

选择:单轴参数->伺服报警设置->有效电平->如果报警时显示的【高】就改成【低】,改完后点【下载】将参数应用到板卡上。再切回【单轴运动】看看报警有没有清除。

其他的正负限也是一样的处理方法。

以上就是轴卡的基本设置了。

测试完轴和设置完参数后,将参数导出成文件,再放到上位机程序中使用。

参数设置好后要记得把点【下载】按钮,下载是将设置的参数写入板卡中使用。

4.板卡程序的IO测试

主要用于控制气缸的动作和其他相关设备

        输入是读取状态如 开了还是关了,开了以后才能执行什么逻辑等。这里要注意一点,计算机是很快的,但硬件的动作就没有计算机快了。这里在给了相关的输出信号,如果要读取状态的话要等一下。如Thread.Sleep(500);一定的时间。否则状太很可能是错的。

扩展卡IO,扩展卡IO的操作和主卡操作函数是不一样的这个要注意。一般文档上都有要找一下。

/// <summary>
/// (扩展卡)设置指定控制卡的某个输出端口的电平
/// </summary>
/// <param name="cardId">控制卡卡号</param>
/// <param name="nodeId">节点Id</param>
/// <param name="bit">bitno 输出端口号,取值范围:0~15</param>
/// <param name="nStatus">输出电平,true:低电平,false:高电平</param>
public static void WriteOutBitExtend(ushort cardId, ushort nodeId, ushort bit, bool nStatus)
{
    //设置指定控制卡的某个输出端口的电平
    //bitno 输出端口号,取值范围:0~15
    //on_off 输出电平,0:低电平,1:高电平
    LTDMC.nmc_write_outbit(cardId, nodeId, bit, nStatus ? (ushort)0 : (ushort)1);
}
/// <summary>
/// 设置指定控制卡的某个输出端口的电平
/// </summary>
/// <param name="cardId">控制卡卡号</param>
/// <param name="bit">bitno 输出端口号,取值范围:0~15</param>
/// <param name="nStatus">输出电平,true:低电平,false:高电平</param>
public static void WriteOutBit(ushort cardId, ushort bit, bool nStatus)
{
    //设置指定控制卡的某个输出端口的电平
    //bitno 输出端口号,取值范围:0~15
    //on_off 输出电平,0:低电平,1:高电平
    LTDMC.dmc_write_outbit(cardId, bit, nStatus ? (ushort)0 : (ushort)1);
}

5.导出参数给上位机程序使用

导入就是反过来,把导出的参数文件导入到板卡软件上,进行重新设置。

### 上位机开发流程详解 #### 一、需求分析 在开始任何编程工作之前,理解具体的应用场景和所需的功能至关重要。对于嵌入式系统的上位机而言,通常涉及数据采集、控制指令发送等功能[^1]。 #### 二、环境搭建 选择合适的集成开发环境(IDE),比如Visual Studio用于C#/Win32应用程序开发;Qt Creator适合跨平台GUI应用尤其是采用Qt框架的情况。安装必要的库和支持包,如针对特定硬件接口(USB, COM port)的操作类库或是通信协议栈(MODBUS)[^2][^4]. #### 三、界面设计 根据实际操作习惯及美观度考量来规划用户交互界面(UI)布局。可以利用现成组件快速构建原型,并不断迭代优化直至满足业务逻辑要求为止。对于Windows桌面端产品来说,还可以借助MFC或WPF等技术进一步增强视觉效果[^5]. #### 四、核心功能编码实现 此阶段主要围绕着以下几个方面展开: - **串口/网络连接建立**:初始化并配置好相应的物理层参数以便后续的数据交换能够顺利进行; - **命令解析与响应机制**:定义一套完整的请求-应答模式,确保上下两方之间能有效沟通交流; - **实时数据显示更新**:当接收到新的测量值时及时刷新界面上对应的指示器位置或者数值标签内容; - **异常情况处理策略**:考虑到可能出现的各种意外状况提前准备好应对措施以保障整个系统的稳定性运行. ```csharp // 示例代码片段展示简单的MODBUS RTU读取寄存器函数(C#) public bool ReadHoldingRegisters(int slaveAddress, int startRegister, ushort[] values){ try{ ModbusMaster master = new ModbusMaster("COM3",9600); return master.ReadHoldingRegisters(slaveAddress,startRegister,values.Length,values); }catch(Exception ex){ Console.WriteLine($"Error occurred:{ex.Message}"); return false; } } ``` #### 五、测试调试 完成初步版本之后就要进入严格的内部验证环节了。一方面要检查各个模块是否按照预期那样正常运作;另一方面也要关注整体性能指标能否达到预定标准。如果发现问题则立即定位原因所在并加以修正直到完全合格为止. #### 六、部署发布 最后一步就是打包成品软件准备对外发行啦。这里需要注意的是除了主程序本身之外往往还需要附带一些辅助资源文件(图标、帮助手册之类的),另外别忘了编写详细的安装指南让用户更容易理解和接受新工具带来的便利之处[^3].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

StevenChen85

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值