VT-System VT2710-RS485

VT-System VT2710-RS485通信
使用VT2710板卡进行RS485通信时,不同于以往使用的RS485通信方式,有一下注意事项:
1、无打开串口操作
电脑和第三方设备进行UART、RS485/RS232通信,都通过电脑的通信端口发送数据。发送数据前要选择端口号,设置波特率、数据位、停止位、奇偶校验位,发送数据时要打开串口,常见调试工具是串口调试助手。
使用VT2710板卡进行RS485通信时,使用的是Vector的硬件,无法选择端口号,无法打开串口。此时一般方法不可用,必须要按照Vector操作VT2710板卡的方式进行。
2.、无发送数据函数
电脑的通信端口向第三方设备发送数据时,调用的是串口发送函数,发送时会确认端口号、发送的数据buffer、数据的发送方式等。使用VT2710板卡进行RS485通信时,无上述操作。
3.、无接收数据函数
电脑的通信端口向第三方设备发送数据后,设备会返回数据,通过接收函数可以获取到设备返回的数据。使用VT2710板卡进行RS485通信时,如何获取接收数据,数据返回方式,如何判断是否接收完成,如何处理接收的数据?
在这里插入图片描述
使用VT2710板卡进行RS485通信时,通信回路拓扑:电脑端口—VT2710板卡—仪器。Vector的硬件板卡VT2710功能较多,支持I2C、UART、SPI、FPGA、DI/DO等功能,不是单一的485通信功能,而且Vector的板卡集成在CANoe软件中,在进行通信前必须选择和配置才能使用。
主要从以下方面进行解决:
1、板卡添加和配置
打开CANoe软件,在Hardware→VT System→Configuration中选中VT2710板卡,在VT2710板卡Pin配置中选择Pin4-Pin7为RS-485通信。
在这里插入图片描述
2、Sensors配置
在CANoe软件界面,Hardware→Sensors→Protocol Configuration中进行Rs485通道配置,要进行通道分配,波特率、数据位、停止位、优先级、保留位的配置。
在这里插入图片描述
3、CANoe板卡系统变量
只有在进行了Vector板卡(VT2710)通信配置以及通道配置,CANoe才会生成系统定义的系统变量,用于发送数据、接收数据以及诊断错误。

在这里插入图片描述

4、发送数据
发送数据时要调用系统变量进行发送,提供了两种发送方式:
方式1:发送指定帧数据
// Send a single frame with payload “42”
sysvar::SENSOR:: RS485::IMD.QueueSerialFrame(42);

方式2:发送一个序列数据
dword SetStartOn[8] = {0x03,0x06,0x0B,0xD1,0x00,0x01,0x1B,0xF5}
sysvar::SENSOR:: RS485::IMD.QueueSerialFrames(SetStartOn,strlen(SetStartOn));
dword SetValue[11]={0x01,0x0F,0x00,0x00,0x00,0x0A,0x02,0x01,0x01,0x25,0x68}
sysvar::SENSOR:: RS485::IMD.QueueSerialFrames(SetStartOn,strlen(SetValue));
注意:发送Modbus协议的数据时要加校验码;非Modbus协议的数据要加结束符。
char MeasureCurrenet[50] = “MEASure:CURRent?”;
sysvar::SENSOR::RS485::AuxPower.QueueSerialFrames(MeasureCurrenet, strlen(MeasureCurrenet));
sysvar::SENSOR::RS485::AuxPower.QueueSerialFrames(“\n”,1);
5、接收数据
调用接收函数,每次接收一个byte数据,需要对接收数据进行存储,判断是否接收完成,然后进行数据解析。
接收的数据-byte Rs485Rec_IMD [100] ;数据长度-dowrd Rs485RecLen_IMD;
接收数据使用Sensors系统变量Frame_Rx,方法如下:
on sysvar_update sysvar::SENSOR::RS485::IMD::Frame_Rx
{
Rs485Rec_IMD[Rs485RecLen_IMD]
= @sysvar::SENSOR::RS485::IMD::Frame_Rx.Data
}
判断数据是否接收完成:
发送数据时每帧数据间隔能保证数据接收完成,并且发送数据有发送标志位,判断发送数据标志位发生变化,表示上一帧数据接收完毕。

### 设置静态IP地址于Ubuntu 对于希望在Ubuntu服务器上配置静态IP地址的情况,操作过程依赖于所使用的Ubuntu版本以及网络管理工具。下面提供适用于不同情况下的指导。 #### 对于Ubuntu Server 16.04 LTS 使用netplan 配置文件编辑方式 Netplan是一个声明式的网络配置工具,在较新的Ubuntu发行版中被采用作为默认的网络配置方法。为了给Ubuntu Server 16.04设置静态IP地址,需修改`/etc/netplan/*.yaml`中的相应配置文件[^1]: ```bash network: version: 2 ethernets: ens33: # 这里应替换为实际网卡名称 dhcp4: no addresses: - 192.168.1.100/24 # 替换成想要分配的具体IPv4地址及子网掩码长度 gateway4: 192.168.1.1 # 默认网关地址 nameservers: addresses: [8.8.8.8, 8.8.4.4] # DNS服务器列表 ``` 完成上述更改之后保存退出,并通过命令应用新配置: ```bash sudo netplan apply ``` #### 修改云初始化配置禁用动态获取网络配置(针对某些特定环境) 如果是在基于云端部署的情况下遇到问题,则可能需要进一步调整云初始化行为来确保不会覆盖本地所做的任何改动。这可以通过创建或编辑位于路径`/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg`下的文件实现[^4]: ```yaml network: {config: disabled} ``` 此步骤并非总是必需,具体取决于目标主机的实际运行状况及其所在的工作环境中是否存在类似的自动化机制影响到网络参数设定流程。 #### 更新DNS服务器信息 当指定静态IP的同时也应当考虑更新系统的域名解析服务指向。按照指示将`name server xxx.xxx.xxx.xxx`里的占位符替换成有效的DNS服务器地址即可满足需求[^3]。 以上就是在Ubuntu操作系统内实施固定IP地址的主要途径之一;值得注意的是各版本间可能存在细微差异因此建议参照官方文档获得最准确的操作指南。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蜉蚁撼树

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

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

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

打赏作者

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

抵扣说明:

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

余额充值